]> git.proxmox.com Git - mirror_edk2.git/commitdiff
OvmfPkg: fix PIIX4 SUS_TYP value in \_S4 package
authorjljusten <jljusten@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 17 Dec 2012 02:12:44 +0000 (02:12 +0000)
committerjljusten <jljusten@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 17 Dec 2012 02:12:44 +0000 (02:12 +0000)
The ACPI 5.0 specification says:

  7.3.4.5 System \_S4 State

  [...]
  * DRAM context is not maintained.
  [...]

This corresponds to the following in the PIIX4 spec:

  PMCNTRL -- POWER MANAGEMENT CONTROL REGISTER (IO)
  [...]
  Bits[12:10]  Suspend Type
  [...]
          010  POSCL (Powered On Suspend, Context Lost)

Also, this (ie. decimal 2) is the default suspend type value that qemu
recognizes as an S4 (suspend to disk) request.

Only the value for PM1a_CNT.SLP_TYP is corrected (PM1b_CNT.SLP_TYP is left
at zero), since in OVMF we don't report the optional PM1b_EVT_BLK register
block to OSPM. (PM1b_EVT_BLK is defined as 0 in "Platform.h"; see "4.8.1.1
PM1 Event Registers" in the ACPI 5.0 specification.)

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://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14001 6f19259b-4bc3-4df7-8a09-765794883524

OvmfPkg/AcpiTables/Dsdt.asl

index 814adbe88644db681dd255cfc90273b11e5007b6..605766c09d56c13a8b7a8c6448871cc05794e281 100644 (file)
@@ -17,7 +17,7 @@ DefinitionBlock ("Dsdt.aml", "DSDT", 1, "INTEL ", "OVMF    ", 4) {
   // System Sleep States\r
   //\r
   Name (\_S0, Package () {5, 0, 0, 0}) // Working\r
-  Name (\_S4, Package () {1, 0, 0, 0}) // Suspend to Disk\r
+  Name (\_S4, Package () {2, 0, 0, 0}) // Suspend to Disk (PIIX4: POSCL)\r
   Name (\_S5, Package () {0, 0, 0, 0}) // Soft Off\r
 \r
   //\r