QEMU and KVM chose to use the 64-bit state save map format from AMD's
programmer manual, because it documents the exact placement of the
descriptor cache fields. This however requires a custom implementation
of SmmCpuFeaturesLib, which these patches introduce.
Applies on top of Laszlo's smm3_v2 branch.
Paolo
Paolo Bonzini (4):
OvmfPkg: import SmmCpuFeaturesLib from UefiCpuPkg
OvmfPkg: SmmCpuFeaturesLib: remove unnecessary bits
OvmfPkg: SmmCpuFeaturesLib: implement SMRAM state save map access
OvmfPkg: SmmCpuFeaturesLib: customize state save map format
OvmfPkg/Include/Register/QemuSmramSaveStateMap.h | 184 +++++
.../Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.c | 790 +++++++++++++++++++++
.../SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf | 13 +-
.../SmmCpuFeaturesLib/SmmCpuFeaturesLib.uni | Bin
OvmfPkg/OvmfPkgIa32.dsc | 2 +-
OvmfPkg/OvmfPkgIa32X64.dsc | 2 +-
OvmfPkg/OvmfPkgX64.dsc | 2 +-
7 files changed, 983 insertions(+), 10 deletions(-)
create mode 100644 OvmfPkg/Include/Register/QemuSmramSaveStateMap.h
create mode 100644 OvmfPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.c
copy {UefiCpuPkg => OvmfPkg}/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf
(90%)
copy {UefiCpuPkg => OvmfPkg}/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.uni
(100%)
--
2.5.0
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel