[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 15/19] pc: acpi: bump DSDT revision compliance t
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] [PATCH 15/19] pc: acpi: bump DSDT revision compliance to v2 |
Date: |
Mon, 26 Oct 2015 12:07:50 +0200 |
On Mon, Oct 26, 2015 at 11:03:01AM +0100, Igor Mammedov wrote:
> On Sat, 24 Oct 2015 22:40:59 +0300
> "Michael S. Tsirkin" <address@hidden> wrote:
>
> > On Fri, Oct 23, 2015 at 04:57:18PM +0200, Igor Mammedov wrote:
> > > it turns on 64-bit integer handling in OSPM, which we could use
> > > for writing simpler/smaller AML code.
> > > Tested with Windows XP and Windows Server 2008, Linux:
> > > * XP doesn't care about revision and continues to use 32 integers
> > > and boots just fine with this change.
> > > * WS 2008 and Linux - support rev2 and use 64-bit integers
> > >
> > > Signed-off-by: Igor Mammedov <address@hidden>
> >
> > This is still planned, right? IIUC you didn't post any code
> > that needs the 64 bit math.
> nope, the next patch 16/19 uses 64-bit math,
>
> it greatly simplifies _CRS as we don't have to do
> 64-bit math manually using 32-bit integers.
>
> And even if we put new MHPD.MCRS() that uses 64-bit math in SSDT,
> it won't crash XP unless someone would try to do memory hotplug
>
> and even it could be 'fixed' if we check _REV on every
> hotplug event, it's a bit ugly but should work.
Aha. That's exactly what I said. All that patch commit log
says is
pc: acpi: memhp: move MHPD.MCRS method into MHPT table
when in fact you also rework it all to use 64 bit math.
So pls don't do this. Pls start by rewriting ASL in C
while keeping AML code identical. Cleanups - next.
> >
> > > ---
> > > hw/i386/acpi-build.c | 2 +-
> > > hw/i386/acpi-dsdt.dsl | 2 +-
> > > hw/i386/q35-acpi-dsdt.dsl | 2 +-
> > > 3 files changed, 3 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
> > > index 8add4d9..c929540 100644
> > > --- a/hw/i386/acpi-build.c
> > > +++ b/hw/i386/acpi-build.c
> > > @@ -1484,7 +1484,7 @@ build_dsdt(GArray *table_data, GArray *linker,
> > > AcpiMiscInfo *misc)
> > >
> > > memset(dsdt, 0, sizeof *dsdt);
> > > build_header(linker, table_data, dsdt, "DSDT",
> > > - misc->dsdt_size, 1);
> > > + misc->dsdt_size, 2);
> > > }
> > >
> > > static GArray *
> > > diff --git a/hw/i386/acpi-dsdt.dsl b/hw/i386/acpi-dsdt.dsl
> > > index 8dba096..6d46b36 100644
> > > --- a/hw/i386/acpi-dsdt.dsl
> > > +++ b/hw/i386/acpi-dsdt.dsl
> > > @@ -22,7 +22,7 @@ ACPI_EXTRACT_ALL_CODE AcpiDsdtAmlCode
> > > DefinitionBlock (
> > > "acpi-dsdt.aml", // Output Filename
> > > "DSDT", // Signature
> > > - 0x01, // DSDT Compliance Revision
> > > + 0x02, // DSDT Compliance Revision
> > > "BXPC", // OEMID
> > > "BXDSDT", // TABLE ID
> > > 0x1 // OEM Revision
> > > diff --git a/hw/i386/q35-acpi-dsdt.dsl b/hw/i386/q35-acpi-dsdt.dsl
> > > index 7be7b37..ecefdec 100644
> > > --- a/hw/i386/q35-acpi-dsdt.dsl
> > > +++ b/hw/i386/q35-acpi-dsdt.dsl
> > > @@ -28,7 +28,7 @@ ACPI_EXTRACT_ALL_CODE Q35AcpiDsdtAmlCode
> > > DefinitionBlock (
> > > "q35-acpi-dsdt.aml",// Output Filename
> > > "DSDT", // Signature
> > > - 0x01, // DSDT Compliance Revision
> > > + 0x02, // DSDT Compliance Revision
> > > "BXPC", // OEMID
> > > "BXDSDT", // TABLE ID
> > > 0x2 // OEM Revision
> > > --
> > > 1.8.3.1
- [Qemu-devel] [PATCH 11/19] pc: acpi: memhp: move MHPD.MRST method into MHPT table, (continued)
- [Qemu-devel] [PATCH 11/19] pc: acpi: memhp: move MHPD.MRST method into MHPT table, Igor Mammedov, 2015/10/23
- [Qemu-devel] [PATCH 08/19] pc: acpi: memhp: move MHPD.MLCK mutex into NHPT table, Igor Mammedov, 2015/10/23
- [Qemu-devel] [PATCH 10/19] pc: acpi: make memory device's _UID integer, Igor Mammedov, 2015/10/23
- [Qemu-devel] [PATCH 09/19] pc: acpi: memhp: move MHPD.MSCN method into MHPT table, Igor Mammedov, 2015/10/23
- [Qemu-devel] [PATCH 12/19] pc: acpi: memhp: move MHPD.MPXM method into MHPT table, Igor Mammedov, 2015/10/23
- [Qemu-devel] [PATCH 13/19] pc: acpi: memhp: move MHPD.MOST method into MHPT table, Igor Mammedov, 2015/10/23
- [Qemu-devel] [PATCH 16/19] pc: acpi: memhp: move MHPD.MCRS method into MHPT table, Igor Mammedov, 2015/10/23
- [Qemu-devel] [PATCH 15/19] pc: acpi: bump DSDT revision compliance to v2, Igor Mammedov, 2015/10/23
[Qemu-devel] [PATCH 18/19] pc: acpi: memhp: remove acpi-dsdt-mem-hotplug.dsl and move \_GPE._E03 into SSDT, Igor Mammedov, 2015/10/23
[Qemu-devel] [PATCH 03/19] acpi: aml: add aml_create_qword_field(), Igor Mammedov, 2015/10/23
[Qemu-devel] [PATCH 14/19] pc: acpi: memhp: move MHPD.MEJ0 method into MHPT table, Igor Mammedov, 2015/10/23
[Qemu-devel] [PATCH 17/19] pc: acpi: memhp: move MHPD Device along with _UID/_HID into MHPT table, Igor Mammedov, 2015/10/23
[Qemu-devel] [PATCH 19/19] pc: acpi: memhp: cleanup MEMORY_HOTPLUG_IO_REGION usage, Igor Mammedov, 2015/10/23
Re: [Qemu-devel] [PATCH 00/19] pc: acpi: move memory hotplug out of DSDT/SSDT into custom table, Laszlo Ersek, 2015/10/23
Re: [Qemu-devel] [PATCH 00/19] pc: acpi: move memory hotplug out of DSDT/SSDT into custom table, Michael S. Tsirkin, 2015/10/24