audk/OvmfPkg/Library
Jiaxin Wu 3dfd64305b OvmfPkg/SmmRelocationLib: Add library instance for OVMF
There are below 2 differences between AMD & OVMF according
existing implementation:
1.The mode of the CPU check is different between the AMD & OVMF.
OVMF:
CpuSaveState->x86.SMMRevId & 0Xffff

AMD:
 LMAValue = (UINT32)AsmReadMsr64 (EFER_ADDRESS) & LMA

2.Existing SmBase configuration is different between the
AMD & OVMF.
OVMF:
 if ((CpuSaveState->x86.SMMRevId & 0xFFFF) == 0) {
   CpuSaveState->x86.SMBASE = mSmBaseForAllCpus[CpuIndex];
 } else {
   CpuSaveState->x64.SMBASE = mSmBaseForAllCpus[CpuIndex];
 }

AMD:
 AmdCpuState->x64.SMBASE = mSmBaseForAllCpus[CpuIndex];

This patch provides the SmmRelocationLib library instance
for OVMF to handle the logic difference, and it won't change
the existing implementation code logic.

Cc: Ray Ni <ray.ni@intel.com>
Cc: Zeng Star <star.zeng@intel.com>
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
Tested-by: Gerd Hoffmann <kraxel@redhat.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Acked-by: Jiewen Yao <Jiewen.yao@intel.com>
2024-05-08 01:53:58 +00:00
..
AcpiPlatformLib OvmfPkg: move QemuFwCfgAcpi into AcpiPlatformLib 2023-06-23 17:26:37 +00:00
AcpiTimerLib OvmfPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
AmdSvsmLib OvmfPkg/AmdSvsmLib: Add support for the SVSM create/delete vCPU calls 2024-04-17 20:04:41 +00:00
BaseCachingPciExpressLib OvmfPkg/BaseCachingPciExpressLib: Migrate BaseCachingPciExpressLib 2022-01-29 17:36:59 +00:00
BaseMemEncryptSevLib OvmfPkg/BaseMemEncryptLib: Check for presence of an SVSM when not at VMPL0 2024-04-17 20:04:41 +00:00
BaseMemEncryptTdxLib OvmfPkg/BaseMemEncryptTdxLib: Handle retry result of MapGPA 2023-11-09 17:15:39 +00:00
BasePciCapLib OvmfPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
BasePciCapPciSegmentLib OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
BhyveFwCtlLib OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
BlobVerifierLibNull OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
CcExitLib OvmfPkg/CcExitLib: Drop special handling for Encrypted MMIO to APIC 2024-05-02 12:43:50 +00:00
CcProbeLib OvmfPkg: Update CcProbeLib to DxeCcProbeLib 2022-09-06 06:03:45 +00:00
DxePciLibI440FxQ35 OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
EmuVariableFvbLib OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
FdtSerialPortAddressLib ArmVirtPkg: Move the FdtSerialPortAddressLib to OvmfPkg 2024-02-06 23:51:47 +08:00
GenericQemuLoadImageLib OvmfPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
HardwareInfoLib OvmfPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
HashLibTdx OmvfPkg/HashLibTdx: Add HashLibTdx 2024-04-17 03:04:13 +00:00
LoadLinuxLib OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
LockBoxLib OvmfPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
MpInitLibDepLib OvmfPkg: Add MpInitLibDepLib 2022-05-11 08:40:53 +00:00
NestedInterruptTplLib OvmfPkg: Relax assertion that interrupts do not occur at TPL_HIGH_LEVEL 2023-05-09 22:09:50 +00:00
NvVarsFileLib OvmfPkg/NvVarsFileLib: disable in case PcdBootRestrictToFirmware is set 2023-05-10 13:39:41 +00:00
PciHostBridgeLib OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
PciHostBridgeLibScan OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
PciHostBridgeUtilityLib OvmfPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
PeilessStartupLib OvmfPkg/PeilessStartupLib: Updated with PcdSecureBootSupported 2023-07-17 04:59:35 +00:00
PlatformBmPrintScLib OvmfPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
PlatformBootManagerLib OvmfPkg/PlatformBootManagerLib: refer to virtio console subsys symbolically 2023-09-12 15:50:30 +00:00
PlatformBootManagerLibBhyve OvmfPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
PlatformBootManagerLibLight ArmVirtPkg: Move PlatformBootManagerLib to OvmfPkg 2024-02-06 23:51:47 +08:00
PlatformDebugLibIoPort OvmfPkg/DebugLibIoPort: use Rom version for PEI 2022-12-14 17:45:41 +00:00
PlatformFvbLibNull OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
PlatformHasIoMmuLib OvmfPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:19 -07:00
PlatformInitLib OvmfPkg/PlatformInitLib: add 5-level paging support 2024-02-29 09:56:38 +00:00
PlatformSecureLib OvmfPkg: strip trailing whitespace 2019-10-04 11:18:32 +01:00
PxeBcPcdProducerLib OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
QemuBootOrderLib OvmfPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
QemuFwCfgLib OvmfPkg: Remove QemuFwCfgLibMmio.inf 2024-04-30 11:10:10 +00:00
QemuFwCfgS3Lib OvmfPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
QemuFwCfgSimpleParserLib OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
ResetSystemLib OvmfPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
SerializeVariablesLib OvmfPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
SmbiosVersionLib OvmfPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
SmmCpuFeaturesLib OvmfPkg/Include: remove QemuSmramSaveStateMap.h 2023-09-07 15:47:58 +00:00
SmmCpuPlatformHookLibQemu OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
SmmRelocationLib OvmfPkg/SmmRelocationLib: Add library instance for OVMF 2024-05-08 01:53:58 +00:00
Tcg2PhysicalPresenceLibNull OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Tcg2PhysicalPresenceLibQemu OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
TdxMailboxLib OvmfPkg: Remove UefiCpuLib from module INFs. 2023-03-10 08:23:56 +00:00
TlsAuthConfigLib OvmfPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
UefiDriverEntryPointFwCfgOverrideLib OvmfPkg: Introduce alternate UefiDriverEntrypoint to inhibit driver load 2022-09-10 08:23:27 +00:00
UefiPciCapPciIoLib OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
VirtioLib OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
VirtioMmioDeviceLib OvmfPkg/VirtioMmioDeviceLib: virtio 1.0: Fix SetQueueAlignment. 2023-04-12 12:41:17 +00:00
X86QemuLoadImageLib OvmfPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
XenConsoleSerialPortLib OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
XenHypercallLib OvmfPkg/XenHypercallLib: Fix naming of AArch64 2022-07-28 01:22:13 +00:00
XenIoMmioLib OvmfPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
XenPlatformLib OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
XenRealTimeClockLib OvmfPkg: Align XenRealTimeClockLib function headers with return values 2024-02-09 22:16:32 +00:00