]> git.proxmox.com Git - mirror_edk2.git/commitdiff
OvmfPkg: S3 Resume: pull in BootScriptExecutorDxe
authorLaszlo Ersek <lersek@redhat.com>
Tue, 4 Mar 2014 08:04:13 +0000 (08:04 +0000)
committerjljusten <jljusten@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 4 Mar 2014 08:04:13 +0000 (08:04 +0000)
This driver (from
"MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf")
is first loaded normally during DXE. When the
EFI_DXE_SMM_READY_TO_LOCK_PROTOCOL is installed by any DXE driver (purely
as a form of notification), the driver reloads itself to reserved memory.

During S3 Resume / PEI, the driver image is executed from there. In order
to access the boot script saved during S3 Suspend, LockBox access is
needed.

The boot script is transferred internal to PiDxeS3BootScriptLib:

Both S3SaveStateDxe and BootScriptExecutorDxe are statically linked
against PiDxeS3BootScriptLib. Whichever is loaded first (during normal
boot, in the DXE phase), allocates the root storage for the script. The
address is then passed between the PiDxeS3BootScriptLib instances living
in the two separate drivers thru the dynamic
PcdS3BootScriptTablePrivateDataPtr PCD.

Dependencies:

  BootScriptExecutorDxe
    gEfiLockBoxProtocolGuid [OvmfPkg/AcpiS3SaveDxe]
    S3BootScriptLib [PiDxeS3BootScriptLib]
      SmbusLib [BaseSmbusLibNull]
      LockBoxLib [OvmfPkg/Library/LockBoxLib]
    LockBoxLib [OvmfPkg/Library/LockBoxLib]

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15307 6f19259b-4bc3-4df7-8a09-765794883524

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

index 40f31c4ba403c23f6d41bffe04d76f93a7d259a1..4441a56b5712d26dbf4380ccc3b12d48b501f602 100644 (file)
   OvmfPkg/AcpiTables/AcpiTables.inf\r
   OvmfPkg/AcpiS3SaveDxe/AcpiS3SaveDxe.inf\r
   MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf\r
+  MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf\r
 \r
   #\r
   # Network Support\r
index 0ec93b51f9f80dd3eed62bb1b6bb44f995ab5d80..00de317a40c92c43c637af2692c30fe2197d6105 100644 (file)
@@ -323,6 +323,7 @@ INF  OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf
 INF  RuleOverride=ACPITABLE OvmfPkg/AcpiTables/AcpiTables.inf\r
 INF  OvmfPkg/AcpiS3SaveDxe/AcpiS3SaveDxe.inf\r
 INF  MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf\r
+INF  MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf\r
 \r
 INF  RuleOverride = BINARY FatBinPkg/EnhancedFatDxe/Fat.inf\r
 \r
index 38454934a9cc1e7573571facf0bc0049313e83b7..f8d00810e409b2ee7d90e501734a3e9f29831d3a 100644 (file)
   OvmfPkg/AcpiTables/AcpiTables.inf\r
   OvmfPkg/AcpiS3SaveDxe/AcpiS3SaveDxe.inf\r
   MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf\r
+  MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf\r
 \r
   #\r
   # Network Support\r
index 42dff856ae2d355daffcd406aa365c47c66dd267..49c2807ced2c110af60edc3c9c12ff27b072ba1a 100644 (file)
@@ -323,6 +323,7 @@ INF  OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf
 INF  RuleOverride=ACPITABLE OvmfPkg/AcpiTables/AcpiTables.inf\r
 INF  OvmfPkg/AcpiS3SaveDxe/AcpiS3SaveDxe.inf\r
 INF  MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf\r
+INF  MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf\r
 \r
 INF  RuleOverride = BINARY USE = X64 FatBinPkg/EnhancedFatDxe/Fat.inf\r
 \r
index 5ceaa324ea9e44bc8cff4df4f108bf518594ea7e..67d79267eb1c5093e6f7eb517fb92185f55824fb 100644 (file)
   OvmfPkg/AcpiTables/AcpiTables.inf\r
   OvmfPkg/AcpiS3SaveDxe/AcpiS3SaveDxe.inf\r
   MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf\r
+  MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf\r
 \r
   #\r
   # Network Support\r
index 2b808dd7442c9ce0591958b655defb835257adb1..592ca912a298f5ad8d28090088da16396189ebb6 100644 (file)
@@ -323,6 +323,7 @@ INF  OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf
 INF  RuleOverride=ACPITABLE OvmfPkg/AcpiTables/AcpiTables.inf\r
 INF  OvmfPkg/AcpiS3SaveDxe/AcpiS3SaveDxe.inf\r
 INF  MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf\r
+INF  MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf\r
 \r
 INF  RuleOverride = BINARY FatBinPkg/EnhancedFatDxe/Fat.inf\r
 \r