audk/OvmfPkg/Library
Gerd Hoffmann 2069a63a8e OvmfPkg/PlatformInitLib: allow switching to 4-level paging
There are a number of mostly older guests such as RHEL-7 which do not
support 5-level paging.  This patch adds support for switching from
5-level paging mode back to 4-level paging mode.  This is done in PEI,
after inspecting the address space needed (installed memory and
reservations configured via fw_cfg).

By default small guests (which need less than 1 TB) will use 4-level
paging mode.  There is a fw_cfg override though, so it is possible to
force the one or the other this way:

qemu-system-x86_64 -fw_cfg name=opt/org.tianocode/PagingLevel,string=5

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2024-08-30 22:13:44 +00:00
..
AcpiPlatformLib
AcpiTimerLib
AmdSvsmLib OvmfPkg/AmdSvsmLib: Add support for the SVSM create/delete vCPU calls 2024-04-17 20:04:41 +00:00
BaseCachingPciExpressLib
BaseMemEncryptSevLib OvmfPkg: Enable AMD SEV-ES DebugVirtualization 2024-07-04 20:39:26 +00:00
BaseMemEncryptTdxLib
BasePciCapLib
BasePciCapPciSegmentLib
BhyveFwCtlLib
BlobVerifierLibNull AmdSev: Halt on failed blob allocation 2024-06-25 15:27:42 +00:00
CcExitLib OvmfPkg: Add AMD SEV-ES DebugVirtualization feature support 2024-07-04 20:39:26 +00:00
CcProbeLib
DxePciLibI440FxQ35
EmuVariableFvbLib
FdtNorFlashQemuLib OvmfPkg: Add no hardcode version of FdtNorFlashQemuLib 2024-06-04 22:51:09 +00:00
FdtSerialPortAddressLib ArmVirtPkg: Move the FdtSerialPortAddressLib to OvmfPkg 2024-02-06 23:51:47 +08:00
GenericQemuLoadImageLib
HardwareInfoLib OvmfPkg: remove last instances of EFI_D_ 2024-07-31 08:59:21 +00:00
HashLibTdx OmvfPkg/HashLibTdx: Add HashLibTdx 2024-04-17 03:04:13 +00:00
LoadLinuxLib
LockBoxLib
MpInitLibDepLib
NestedInterruptTplLib
NvVarsFileLib
PciHostBridgeLib
PciHostBridgeLibScan
PciHostBridgeUtilityLib
PeilessStartupLib OvmfPkg: Refactor PcdSetNxForStack usage in TDVF 2024-08-30 15:45:40 +00:00
PlatformBmPrintScLib
PlatformBootManagerLib
PlatformBootManagerLibBhyve OvmfPkg/BhyvePkg: honor FwCfg when setting the bootorder 2024-06-18 19:18:07 +00:00
PlatformBootManagerLibLight ArmVirtPkg: Move PlatformBootManagerLib to OvmfPkg 2024-02-06 23:51:47 +08:00
PlatformDebugLibIoPort
PlatformFvbLibNull
PlatformHasIoMmuLib
PlatformInitLib OvmfPkg/PlatformInitLib: allow switching to 4-level paging 2024-08-30 22:13:44 +00:00
PlatformSecureLib
PxeBcPcdProducerLib
QemuBootOrderLib
QemuFwCfgLib OvmfPkg: Remove QemuFwCfgLibMmio.inf 2024-04-30 11:10:10 +00:00
QemuFwCfgS3Lib
QemuFwCfgSimpleParserLib
ResetSystemLib OvmfPkg/OvmfXen: Introduce Xen's ResetSystemLib, to use xen hypercall 2024-08-30 16:55:41 +00:00
SerializeVariablesLib
SmbiosVersionLib
SmmCpuFeaturesLib OvmfPkg/SmmCpuFeaturesLib: Check Smbase Relocation is done or not 2024-05-08 01:53:58 +00:00
SmmCpuPlatformHookLibQemu
SmmRelocationLib OvmfPkg/SmmRelocationLib: Add library instance for OVMF 2024-05-08 01:53:58 +00:00
Tcg2PhysicalPresenceLibNull
Tcg2PhysicalPresenceLibQemu
TdxMailboxLib
TlsAuthConfigLib
UefiDriverEntryPointFwCfgOverrideLib
UefiPciCapPciIoLib
VirtioLib
VirtioMmioDeviceLib
X86QemuLoadImageLib
XenConsoleSerialPortLib
XenHypercallLib OvmfPkg/XenHypercallLib: Add SchedOp hypercall 2024-08-30 16:55:41 +00:00
XenIoMmioLib
XenPlatformLib
XenRealTimeClockLib OvmfPkg: Align XenRealTimeClockLib function headers with return values 2024-02-09 22:16:32 +00:00