]> git.proxmox.com Git - mirror_edk2.git/commitdiff
OvmfPkg: report S3 state in DSDT
authorjljusten <jljusten@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 17 Dec 2012 02:13:00 +0000 (02:13 +0000)
committerjljusten <jljusten@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 17 Dec 2012 02:13:00 +0000 (02:13 +0000)
The ACPI 5.0 specification says:

  7.3.4.4 System \_S3 State

  [...]
  * Dynamic RAM context is maintained.
  [...]

This corresponds to the following in the PIIX4 spec:

  PMCNTRL -- POWER MANAGEMENT CONTROL REGISTER (IO)
  [...]
  Bits[12:10]  Suspend Type
  [...]
          001  STR (Suspend To RAM)

Also, this (ie. decimal 1) is the suspend type value that qemu recognizes
as an S3 (suspend to ram) request.

Only the value for PM1a_CNT.SLP_TYP is set (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@14002 6f19259b-4bc3-4df7-8a09-765794883524

OvmfPkg/AcpiTables/Dsdt.asl

index 605766c09d56c13a8b7a8c6448871cc05794e281..326942dd448bf610f3ce690bea6f3c06644923c8 100644 (file)
@@ -17,6 +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 (\_S3, Package () {1, 0, 0, 0}) // Suspend to Ram  (PIIX4: STR)\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