From ffc7768db990f0587b84e08e06095ed26f095fde Mon Sep 17 00:00:00 2001
Message-Id: <ffc7768db990f0587b84e08e06095ed26f095fde.1357660440.git.minovotn@redhat.com>
From: Amit Shah <amit.shah@redhat.com>
Date: Thu, 20 Dec 2012 05:38:29 +0100
Subject: [PATCH 1/4] pc: rhel6-compat: enable S3, S4 for 6.1 and lower
 machine types

RH-Author: Amit Shah <amit.shah@redhat.com>
Message-id: <9948c723b60e3e136b1ebc2f4d472ece37575c72.1355981671.git.amit.shah@redhat.com>
Patchwork-id: 45247
O-Subject: [RHEL6.4 qemu PATCH v3 1/1] pc: rhel6-compat: enable S3, S4 for 6.1 and lower machine types
Bugzilla: 886798
RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
RH-Acked-by: Paolo Bonzini <pbonzini@redhat.com>
RH-Acked-by: Markus Armbruster <armbru@redhat.com>

We don't advertise S3/S4 support by default since RHEL6.2:

RHEL6.4 has S3/S4 advertisement disabled by default (can be overriden by
    the disable_s3 and disable_s4 properties of the PIIX4).
RHEL6.3 and 6.2 had S3/S4 advertisement disabled by default (can be
    overriden by using the alternative bios-pm.bin SeaBIOS image).
RHEL6.1 and 6.0 had S3/S4 advertisement enabled by default.

We need to ensure we keep that behaviour, so adjust the 6.1 and 6.0
machine types to allow S3/S4.

As a side note, migrating a RHEL6.0 or RHEL6.1 VM to a RHEL6.2 or 6.3
host would have caused a guest-visible change, but we can do better
starting with 6.4, so let's do the right thing now.  This, however, has
the potential to cause two guest-visible changes if a VM is migrated
like this:

RHEL6.1 host --1--> RHEL6.3 host --2--> RHEL6.4 host

After (1) above, guest will stop seeing S3/S4 advertised.  After (2),
S3/S4 will be advertised again.

Signed-off-by: Amit Shah <amit.shah@redhat.com>
---
 hw/pc.c | 8 ++++++++
 1 file changed, 8 insertions(+)

Signed-off-by: Michal Novotny <minovotn@redhat.com>
---
 hw/pc.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/hw/pc.c b/hw/pc.c
index 2fe44b2..bf090ae 100644
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -1665,6 +1665,14 @@ static void rhel_common_init(const char *type1_version,
 #define PC_RHEL6_1_COMPAT \
         PC_RHEL6_2_COMPAT \
         ,{\
+            .driver   = "PIIX4_PM",\
+            .property = "disable_s3",\
+            .value    = "0",\
+        },{\
+            .driver   = "PIIX4_PM",\
+            .property = "disable_s4",\
+            .value    = "0",\
+        },{\
             .driver   = "usb-tablet",\
             .property = "migrate",\
             .value    = stringify(0),\
-- 
1.7.11.7

