[SeaBIOS] [RFC] acpi: Do not advertise S3
Gleb Natapov
gleb at redhat.com
Sun Jan 15 12:38:56 CET 2012
On Sun, Jan 15, 2012 at 12:35:07PM +0100, Fred . wrote:
> SeaBIOS is used in more than just QEMU.
The DSDT provided by Seabios is not used by anyone but QEMU (and may be
XEN).
> If QEMU does not support S3, then they should patch (or configure)
> SeaBIOS to not advertise S3 support.
>
> On Sun, Jan 15, 2012 at 10:00 AM, Gleb Natapov <gleb at redhat.com> wrote:
> > On Fri, Jan 13, 2012 at 05:11:27PM -0200, Luiz Capitulino wrote:
> >> S3 is broken in qemu in the following ways:
> >>
> >> 1. 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.
> >
> >> 2. The screen goes black after S3
> > Guest problem.
> >
> >> 3. 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 at 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.
> >
> > _______________________________________________
> > SeaBIOS mailing list
> > SeaBIOS at seabios.org
> > http://www.seabios.org/mailman/listinfo/seabios
--
Gleb.
More information about the SeaBIOS
mailing list