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

Reply via email to