EFI sync + unaccepted memory support for SNP and TDX
Merge Request Required Information
Summary of Changes
UEFI Specification version 2.9 introduces the concept of memory acceptance. Some Virtual Machine platforms, such as Intel TDX or AMD SEV-SNP, require memory to be accepted before it can be used by the guest. Accepting happens via a protocol specific to the Virtual Machine platform.
The series was included in upstream kernel 6.5.
This work includes two dependent pieces other than the main unaccepted memory work:
- because of the dependency on changes to efi/libstub, the drivers/firmware/efi subsystem is synced to version 6.3. This part is extracted out of RHEL-3222 and cleaned up. It will be in common with the merge request of RHEL-3222, and whoever comes second will just have to rebase
- because someone had to do it first, I include the switch of MAX_ORDER from exclusive to inclusive. I verified the occurrences of MAX_ORDER in RHEL and upstream, and checked that there is just one difference and it's okay (the code in RHEL is not compiled, but even if it were it is actually buggy and fixed by the switch)
Approved Development Ticket
JIRA: https://issues.redhat.com/browse/RHEL-10059
Omitted-fix: 5d092b66119d774853cc9308522620299048a662 (very minor issue related to speculative execution concerns; can be fixed later to get the treewide changes out)
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Edited by Paolo Bonzini