On Fri, Jan 13, 2012 at 05:11:27PM -0200, Luiz Capitulino wrote:
S3 is broken in qemu in the following ways:
- S3 is immediately followed by a resume (or it doesn't even take place)
The only real problem. I am not aware of "it doesn't even take place" part. If there are such cases they are guest problems. Guest can refuse to do S3 for number of reasons. This has nothing to do with QEMU.
- The screen goes black after S3
Guest problem.
- Some people reported a hang (I couldn't reproduce it myself)
Guest problem.
Chances are we can get these bugs fixed for 1.1, until there let's not advertise S3 to prevent things like qemu-ga from breaking qemu.
I am OK with this, but make it "#if DSDT_S3", so that it can be enabled without changing the source.
Signed-off-by: Luiz Capitulino lcapitulino@redhat.com
src/acpi-dsdt.dsl | 3 +++ src/acpi-dsdt.hex | 16 ++-------------- 2 files changed, 5 insertions(+), 14 deletions(-)
diff --git a/src/acpi-dsdt.dsl b/src/acpi-dsdt.dsl index 7082b65..2bd8d95 100644 --- a/src/acpi-dsdt.dsl +++ b/src/acpi-dsdt.dsl @@ -599,6 +599,8 @@ DefinitionBlock ( * S3 (suspend-to-ram), S4 (suspend-to-disk) and S5 (power-off) type codes: * must match piix4 emulation. */ +#if 0
- S3 is br0ken in qemu, do not advertise it Name (_S3, Package (0x04) { 0x01, /* PM1a_CNT.SLP_TYP */
@@ -606,6 +608,7 @@ DefinitionBlock ( Zero, /* reserved */ Zero /* reserved */ }) +#endif Name (_S4, Package (0x04) { Zero, /* PM1a_CNT.SLP_TYP */ diff --git a/src/acpi-dsdt.hex b/src/acpi-dsdt.hex index 5dc7bb4..9dcef05 100644 --- a/src/acpi-dsdt.hex +++ b/src/acpi-dsdt.hex @@ -3,12 +3,12 @@ static unsigned char AmlCode[] = { 0x53, 0x44, 0x54, -0xd3, +0xc7, 0x10, 0x0, 0x0, 0x1, -0x2d, +0xa3, 0x42, 0x58, 0x50, @@ -3850,18 +3850,6 @@ static unsigned char AmlCode[] = { 0x8, 0x5f, 0x53, -0x33, -0x5f, -0x12, -0x6, -0x4, -0x1, -0x1, -0x0, -0x0, -0x8, -0x5f, -0x53, 0x34, 0x5f, 0x12, -- 1.7.9.rc0.dirty
-- Gleb.