]> git.proxmox.com Git - mirror_edk2.git/commitdiff
OvmfPkg: build PiSmmCpuDxeSmm for -D SMM_REQUIRE
authorLaszlo Ersek <lersek@redhat.com>
Mon, 30 Nov 2015 18:48:46 +0000 (18:48 +0000)
committerlersek <lersek@Edk2>
Mon, 30 Nov 2015 18:48:46 +0000 (18:48 +0000)
At this point we can enable building PiSmmCpuDxeSmm.

CPU specific features, like SMRR detection, and functions that are used to
initialize SMM and process SMIs, are abstracted through the
SmmCpuFeaturesLib class for the PiSmmCpuDxeSmm module. Resolve it to our
own implementation under OvmfPkg -- it allows PiSmmCpuDxeSmm to work with
QEMU's and KVM's 64-bit state save map format, which follows the
definition from AMD's programmer manual.

SmmCpuPlatformHookLib provides platform specific functions that are used
to initialize SMM and process SMIs. Resolve it to the one Null instance
provided by UefiCpuPkg, which is expected to work for most platforms.

Cc: Paolo Bonzini <pbonzini@redhat.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
[pbonzini@redhat.com: resolve the SmmCpuFeaturesLib class to OVMF's own
 instance]

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19061 6f19259b-4bc3-4df7-8a09-765794883524

OvmfPkg/OvmfPkgIa32.dsc
OvmfPkg/OvmfPkgIa32.fdf
OvmfPkg/OvmfPkgIa32X64.dsc
OvmfPkg/OvmfPkgIa32X64.fdf
OvmfPkg/OvmfPkgX64.dsc
OvmfPkg/OvmfPkgX64.fdf

index e67d083e8fc8ea346eb3d345f0441097b7a40fdc..94604653a9b1fdb9905cd5d58988b2392325ac06 100644 (file)
     <LibraryClasses>\r
       LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxSmmLib.inf\r
   }\r
+  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf {\r
+    <LibraryClasses>\r
+      SmmCpuPlatformHookLib|UefiCpuPkg/Library/SmmCpuPlatformHookLibNull/SmmCpuPlatformHookLibNull.inf\r
+      SmmCpuFeaturesLib|OvmfPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf\r
+  }\r
 !endif\r
index 48e6bd65486b45869f9f34fc9f17205623c882bf..9761df21cbee534b31e9cc73f193d1c2abc47b01 100644 (file)
@@ -363,6 +363,7 @@ INF  MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf
 INF  MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf\r
 INF  UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf\r
 INF  MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.inf\r
+INF  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf\r
 !endif\r
 \r
 ################################################################################\r
index 49f9950150b7f26f58f8b4663a610964af6571a5..92aa7459855bacf3f26659e6a426c590da2afa5c 100644 (file)
     <LibraryClasses>\r
       LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxSmmLib.inf\r
   }\r
+  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf {\r
+    <LibraryClasses>\r
+      SmmCpuPlatformHookLib|UefiCpuPkg/Library/SmmCpuPlatformHookLibNull/SmmCpuPlatformHookLibNull.inf\r
+      SmmCpuFeaturesLib|OvmfPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf\r
+  }\r
 !endif\r
index 027d1625ba2672d028e1c0aff504e61bb4b00bf6..3e8ed80ce7d891bfbdd496aa43dbf4f781c917b0 100644 (file)
@@ -363,6 +363,7 @@ INF  MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf
 INF  MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf\r
 INF  UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf\r
 INF  MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.inf\r
+INF  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf\r
 !endif\r
 \r
 ################################################################################\r
index cab4a7f52c3f562ccc16f11efabf9a529c240c5e..c1eeab74574bff7bfb6cf1955e42ee93a1a66a93 100644 (file)
     <LibraryClasses>\r
       LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxSmmLib.inf\r
   }\r
+  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf {\r
+    <LibraryClasses>\r
+      SmmCpuPlatformHookLib|UefiCpuPkg/Library/SmmCpuPlatformHookLibNull/SmmCpuPlatformHookLibNull.inf\r
+      SmmCpuFeaturesLib|OvmfPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf\r
+  }\r
 !endif\r
index 0ec1d1072643b799bcbe5e3f5c78b109c91f5cf0..ad771cafa071f1a622fdf670adfe70d6d29bb8f9 100644 (file)
@@ -363,6 +363,7 @@ INF  MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf
 INF  MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf\r
 INF  UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf\r
 INF  MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.inf\r
+INF  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf\r
 !endif\r
 \r
 ################################################################################\r