From: "Michael S. Tsirkin" <mst@redhat.com>
To: Igor Mammedov <imammedo@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v2] target-i386: move generic memory hotplug methods to DSDTs
Date: Wed, 15 Oct 2014 16:34:01 +0300 [thread overview]
Message-ID: <20141015133401.GA28312@redhat.com> (raw)
In-Reply-To: <20141015151900.65180fb9@igors-macbook-pro.local>
On Wed, Oct 15, 2014 at 03:19:00PM +0200, Igor Mammedov wrote:
> On Wed, 15 Oct 2014 09:45:44 +0200
> Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> > This makes it simpler to keep the SSDT byte-for-byte identical for a
> > given machine type, which is a goal we want to have for 2.2 and newer
> > types.
> >
> > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> Moving static code to DSDT is resonable, hence
>
> Reviewed-by: Igor Mammedov <imammedo@redhat.com>
>
> tested with xp3/ws2003 wich were happy with this patch.
>
> ---
> however I'm not sure that SSDT byte-for-byte compatible will make
> things better.
> Since SSDT includes snippets of AML compiled by IASL, hex-templates
> could be different depending on IASL version. Ultimately
> that would make us to keep versioned by machine type binary templates
> so that we could guaranty byte-to-byte identity.
>
> Perhaps we should reconsider and think one more time about
> http://lists.gnu.org/archive/html/qemu-stable/2014-07/msg00205.html
>
> which solves migration size issue and doesn't tie us to maintanance
> nightmare with versioned tables. I'd preffer to keep tables
> un-versioned as long as possible.
Yes, this is more or less what I am saying as well.
I would like to fix it both ways though, migrate
size without thinking about it being bigger
or smaller than previously.
>
> > ---
> > v1->v2: do not define the same Device twice (Igor)
> >
> > hw/i386/acpi-dsdt-mem-hotplug.dsl | 176 ++++++++
> > hw/i386/acpi-dsdt.dsl | 3 +-
> > hw/i386/acpi-dsdt.hex.generated | 795
> > +++++++++++++++++++++++++++++++++-
> > hw/i386/q35-acpi-dsdt.dsl | 3 +-
> > hw/i386/q35-acpi-dsdt.hex.generated | 797
> > +++++++++++++++++++++++++++++++++-
> > hw/i386/ssdt-mem.hex.generated | 8 +-
> > hw/i386/ssdt-misc.dsl | 165 +------
> > hw/i386/ssdt-misc.hex.generated | 834
> > ++----------------------------------
> > tests/acpi-test-data/pc/DSDT | Bin 2807 -> 3592 bytes
> > tests/acpi-test-data/pc/SSDT | Bin 3065 -> 2279 bytes
> > tests/acpi-test-data/q35/DSDT | Bin 7397 -> 8182 bytes
> > tests/acpi-test-data/q35/SSDT | Bin 1346 -> 560 bytes 12 files
> > changed, 1789 insertions(+), 992 deletions(-) create mode 100644
> > hw/i386/acpi-dsdt-mem-hotplug.dsl
> >
> > diff --git a/hw/i386/acpi-dsdt-mem-hotplug.dsl
> > b/hw/i386/acpi-dsdt-mem-hotplug.dsl new file mode 100644
> > index 0000000..2a36c47
> > --- /dev/null
> > +++ b/hw/i386/acpi-dsdt-mem-hotplug.dsl
> > @@ -0,0 +1,176 @@
> > +/*
> > + * This program is free software; you can redistribute it and/or
> > modify
> > + * it under the terms of the GNU General Public License as published
> > by
> > + * the Free Software Foundation; either version 2 of the License, or
> > + * (at your option) any later version.
> > +
> > + * This program is distributed in the hope that it will be useful,
> > + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> > + * GNU General Public License for more details.
> > +
> > + * You should have received a copy of the GNU General Public License
> > along
> > + * with this program; if not, see <http://www.gnu.org/licenses/>.
> > + */
> > +
> > + External(MEMORY_SLOT_NOTIFY_METHOD, MethodObj)
> > +
> > + Scope(\_SB.PCI0) {
> > + Device(MEMORY_HOTPLUG_DEVICE) {
> > + Name(_HID, "PNP0A06")
> > + Name(_UID, "Memory hotplug resources")
> > + External(MEMORY_SLOTS_NUMBER, IntObj)
> > +
> > + /* Memory hotplug IO registers */
> > + OperationRegion(MEMORY_HOTPLUG_IO_REGION, SystemIO,
> > + ACPI_MEMORY_HOTPLUG_BASE,
> > + ACPI_MEMORY_HOTPLUG_IO_LEN)
> > +
> > + Name(_CRS, ResourceTemplate() {
> > + IO(Decode16, ACPI_MEMORY_HOTPLUG_BASE,
> > ACPI_MEMORY_HOTPLUG_BASE,
> > + 0, ACPI_MEMORY_HOTPLUG_IO_LEN, IO)
> > + })
> > +
> > + Method(_STA, 0) {
> > + If (LEqual(MEMORY_SLOTS_NUMBER, Zero)) {
> > + Return(0x0)
> > + }
> > + /* present, functioning, decoding, not shown in UI */
> > + Return(0xB)
> > + }
> > +
> > + Field(MEMORY_HOTPLUG_IO_REGION, DWordAcc, NoLock,
> > Preserve) {
> > + MEMORY_SLOT_ADDR_LOW, 32, // read only
> > + MEMORY_SLOT_ADDR_HIGH, 32, // read only
> > + MEMORY_SLOT_SIZE_LOW, 32, // read only
> > + MEMORY_SLOT_SIZE_HIGH, 32, // read only
> > + MEMORY_SLOT_PROXIMITY, 32, // read only
> > + }
> > + Field(MEMORY_HOTPLUG_IO_REGION, ByteAcc, NoLock,
> > Preserve) {
> > + Offset(20),
> > + MEMORY_SLOT_ENABLED, 1, // 1 if enabled, read only
> > + MEMORY_SLOT_INSERT_EVENT, 1, // (read) 1 if has a
> > insert event. (write) 1 to clear event
> > + }
> > +
> > + Mutex (MEMORY_SLOT_LOCK, 0)
> > + Field (MEMORY_HOTPLUG_IO_REGION, DWordAcc, NoLock,
> > Preserve) {
> > + MEMORY_SLOT_SLECTOR, 32, // DIMM selector, write
> > only
> > + MEMORY_SLOT_OST_EVENT, 32, // _OST event code,
> > write only
> > + MEMORY_SLOT_OST_STATUS, 32, // _OST status code,
> > write only
> > + }
> > +
> > + Method(MEMORY_SLOT_SCAN_METHOD, 0) {
> > + If (LEqual(MEMORY_SLOTS_NUMBER, Zero)) {
> > + Return(Zero)
> > + }
> > +
> > + Store(Zero, Local0) // Mem devs iterrator
> > + Acquire(MEMORY_SLOT_LOCK, 0xFFFF)
> > + while (LLess(Local0, MEMORY_SLOTS_NUMBER)) {
> > + Store(Local0, MEMORY_SLOT_SLECTOR) // select
> > Local0 DIMM
> > + If (LEqual(MEMORY_SLOT_INSERT_EVENT, One)) { //
> > Memory device needs check
> > + MEMORY_SLOT_NOTIFY_METHOD(Local0, 1)
> > + Store(1, MEMORY_SLOT_INSERT_EVENT)
> > + }
> > + // TODO: handle memory eject request
> > + Add(Local0, One, Local0) // goto next DIMM
> > + }
> > + Release(MEMORY_SLOT_LOCK)
> > + Return(One)
> > + }
> > +
> > + Method(MEMORY_SLOT_STATUS_METHOD, 1) {
> > + Store(Zero, Local0)
> > +
> > + Acquire(MEMORY_SLOT_LOCK, 0xFFFF)
> > + Store(ToInteger(Arg0), MEMORY_SLOT_SLECTOR) //
> > select DIMM +
> > + If (LEqual(MEMORY_SLOT_ENABLED, One)) {
> > + Store(0xF, Local0)
> > + }
> > +
> > + Release(MEMORY_SLOT_LOCK)
> > + Return(Local0)
> > + }
> > +
> > + Method(MEMORY_SLOT_CRS_METHOD, 1, Serialized) {
> > + Acquire(MEMORY_SLOT_LOCK, 0xFFFF)
> > + Store(ToInteger(Arg0), MEMORY_SLOT_SLECTOR) //
> > select DIMM +
> > + Name(MR64, ResourceTemplate() {
> > + QWordMemory(ResourceProducer, PosDecode,
> > MinFixed, MaxFixed,
> > + Cacheable, ReadWrite,
> > + 0x0000000000000000, // Address Space
> > Granularity
> > + 0x0000000000000000, // Address Range
> > Minimum
> > + 0xFFFFFFFFFFFFFFFE, // Address Range
> > Maximum
> > + 0x0000000000000000, // Address
> > Translation Offset
> > + 0xFFFFFFFFFFFFFFFF, // Address Length
> > + ,, MW64, AddressRangeMemory, TypeStatic)
> > + })
> > +
> > + CreateDWordField(MR64, 14, MINL)
> > + CreateDWordField(MR64, 18, MINH)
> > + CreateDWordField(MR64, 38, LENL)
> > + CreateDWordField(MR64, 42, LENH)
> > + CreateDWordField(MR64, 22, MAXL)
> > + CreateDWordField(MR64, 26, MAXH)
> > +
> > + Store(MEMORY_SLOT_ADDR_HIGH, MINH)
> > + Store(MEMORY_SLOT_ADDR_LOW, MINL)
> > + Store(MEMORY_SLOT_SIZE_HIGH, LENH)
> > + Store(MEMORY_SLOT_SIZE_LOW, LENL)
> > +
> > + // 64-bit math: MAX = MIN + LEN - 1
> > + Add(MINL, LENL, MAXL)
> > + Add(MINH, LENH, MAXH)
> > + If (LLess(MAXL, MINL)) {
> > + Add(MAXH, One, MAXH)
> > + }
> > + If (LLess(MAXL, One)) {
> > + Subtract(MAXH, One, MAXH)
> > + }
> > + Subtract(MAXL, One, MAXL)
> > +
> > + If (LEqual(MAXH, Zero)){
> > + Name(MR32, ResourceTemplate() {
> > + DWordMemory(ResourceProducer, PosDecode,
> > MinFixed, MaxFixed,
> > + Cacheable, ReadWrite,
> > + 0x00000000, // Address Space
> > Granularity
> > + 0x00000000, // Address Range Minimum
> > + 0xFFFFFFFE, // Address Range Maximum
> > + 0x00000000, // Address Translation
> > Offset
> > + 0xFFFFFFFF, // Address Length
> > + ,, MW32, AddressRangeMemory, TypeStatic)
> > + })
> > + CreateDWordField(MR32, MW32._MIN, MIN)
> > + CreateDWordField(MR32, MW32._MAX, MAX)
> > + CreateDWordField(MR32, MW32._LEN, LEN)
> > + Store(MINL, MIN)
> > + Store(MAXL, MAX)
> > + Store(LENL, LEN)
> > +
> > + Release(MEMORY_SLOT_LOCK)
> > + Return(MR32)
> > + }
> > +
> > + Release(MEMORY_SLOT_LOCK)
> > + Return(MR64)
> > + }
> > +
> > + Method(MEMORY_SLOT_PROXIMITY_METHOD, 1) {
> > + Acquire(MEMORY_SLOT_LOCK, 0xFFFF)
> > + Store(ToInteger(Arg0), MEMORY_SLOT_SLECTOR) //
> > select DIMM
> > + Store(MEMORY_SLOT_PROXIMITY, Local0)
> > + Release(MEMORY_SLOT_LOCK)
> > + Return(Local0)
> > + }
> > +
> > + Method(MEMORY_SLOT_OST_METHOD, 4) {
> > + Acquire(MEMORY_SLOT_LOCK, 0xFFFF)
> > + Store(ToInteger(Arg0), MEMORY_SLOT_SLECTOR) //
> > select DIMM
> > + Store(Arg1, MEMORY_SLOT_OST_EVENT)
> > + Store(Arg2, MEMORY_SLOT_OST_STATUS)
> > + Release(MEMORY_SLOT_LOCK)
> > + }
> > + } // Device()
> > + } // Scope()
> > diff --git a/hw/i386/acpi-dsdt.dsl b/hw/i386/acpi-dsdt.dsl
> > index 559f4b6..a611e07 100644
> > --- a/hw/i386/acpi-dsdt.dsl
> > +++ b/hw/i386/acpi-dsdt.dsl
> > @@ -297,13 +297,12 @@ DefinitionBlock (
> > #include "hw/acpi/pc-hotplug.h"
> > #define CPU_STATUS_BASE PIIX4_CPU_HOTPLUG_IO_BASE
> > #include "acpi-dsdt-cpu-hotplug.dsl"
> > +#include "acpi-dsdt-mem-hotplug.dsl"
> >
> >
> > /****************************************************************
> > * General purpose events
> > ****************************************************************/
> > -
> > External(\_SB.PCI0.MEMORY_HOTPLUG_DEVICE.MEMORY_SLOT_SCAN_METHOD,
> > MethodObj) - Scope(\_GPE) {
> > Name(_HID, "ACPI0006")
> >
> > diff --git a/hw/i386/acpi-dsdt.hex.generated
> > b/hw/i386/acpi-dsdt.hex.generated index a21bf41..875570e 100644
> > --- a/hw/i386/acpi-dsdt.hex.generated
> > +++ b/hw/i386/acpi-dsdt.hex.generated
> > @@ -3,12 +3,12 @@ static unsigned char AcpiDsdtAmlCode[] = {
> > 0x53,
> > 0x44,
> > 0x54,
> > -0xf7,
> > -0xa,
> > +0x8,
> > +0xe,
> > 0x0,
> > 0x0,
> > 0x1,
> > -0x1f,
> > +0xfc,
> > 0x42,
> > 0x58,
> > 0x50,
> > @@ -32,8 +32,8 @@ static unsigned char AcpiDsdtAmlCode[] = {
> > 0x54,
> > 0x4c,
> > 0x28,
> > -0x5,
> > -0x10,
> > +0x8,
> > +0x14,
> > 0x20,
> > 0x10,
> > 0x49,
> > @@ -2593,6 +2593,791 @@ static unsigned char AcpiDsdtAmlCode[] = {
> > 0xa,
> > 0xb,
> > 0x10,
> > +0x40,
> > +0x31,
> > +0x2e,
> > +0x5f,
> > +0x53,
> > +0x42,
> > +0x5f,
> > +0x50,
> > +0x43,
> > +0x49,
> > +0x30,
> > +0x5b,
> > +0x82,
> > +0x43,
> > +0x30,
> > +0x4d,
> > +0x48,
> > +0x50,
> > +0x44,
> > +0x8,
> > +0x5f,
> > +0x48,
> > +0x49,
> > +0x44,
> > +0xd,
> > +0x50,
> > +0x4e,
> > +0x50,
> > +0x30,
> > +0x41,
> > +0x30,
> > +0x36,
> > +0x0,
> > +0x8,
> > +0x5f,
> > +0x55,
> > +0x49,
> > +0x44,
> > +0xd,
> > +0x4d,
> > +0x65,
> > +0x6d,
> > +0x6f,
> > +0x72,
> > +0x79,
> > +0x20,
> > +0x68,
> > +0x6f,
> > +0x74,
> > +0x70,
> > +0x6c,
> > +0x75,
> > +0x67,
> > +0x20,
> > +0x72,
> > +0x65,
> > +0x73,
> > +0x6f,
> > +0x75,
> > +0x72,
> > +0x63,
> > +0x65,
> > +0x73,
> > +0x0,
> > +0x5b,
> > +0x80,
> > +0x48,
> > +0x50,
> > +0x4d,
> > +0x52,
> > +0x1,
> > +0xb,
> > +0x0,
> > +0xa,
> > +0xa,
> > +0x18,
> > +0x8,
> > +0x5f,
> > +0x43,
> > +0x52,
> > +0x53,
> > +0x11,
> > +0xd,
> > +0xa,
> > +0xa,
> > +0x47,
> > +0x1,
> > +0x0,
> > +0xa,
> > +0x0,
> > +0xa,
> > +0x0,
> > +0x18,
> > +0x79,
> > +0x0,
> > +0x14,
> > +0x13,
> > +0x5f,
> > +0x53,
> > +0x54,
> > +0x41,
> > +0x0,
> > +0xa0,
> > +0x9,
> > +0x93,
> > +0x4d,
> > +0x44,
> > +0x4e,
> > +0x52,
> > +0x0,
> > +0xa4,
> > +0x0,
> > +0xa4,
> > +0xa,
> > +0xb,
> > +0x5b,
> > +0x81,
> > +0x1f,
> > +0x48,
> > +0x50,
> > +0x4d,
> > +0x52,
> > +0x3,
> > +0x4d,
> > +0x52,
> > +0x42,
> > +0x4c,
> > +0x20,
> > +0x4d,
> > +0x52,
> > +0x42,
> > +0x48,
> > +0x20,
> > +0x4d,
> > +0x52,
> > +0x4c,
> > +0x4c,
> > +0x20,
> > +0x4d,
> > +0x52,
> > +0x4c,
> > +0x48,
> > +0x20,
> > +0x4d,
> > +0x50,
> > +0x58,
> > +0x5f,
> > +0x20,
> > +0x5b,
> > +0x81,
> > +0x13,
> > +0x48,
> > +0x50,
> > +0x4d,
> > +0x52,
> > +0x1,
> > +0x0,
> > +0x40,
> > +0xa,
> > +0x4d,
> > +0x45,
> > +0x53,
> > +0x5f,
> > +0x1,
> > +0x4d,
> > +0x49,
> > +0x4e,
> > +0x53,
> > +0x1,
> > +0x5b,
> > +0x1,
> > +0x4d,
> > +0x4c,
> > +0x43,
> > +0x4b,
> > +0x0,
> > +0x5b,
> > +0x81,
> > +0x15,
> > +0x48,
> > +0x50,
> > +0x4d,
> > +0x52,
> > +0x3,
> > +0x4d,
> > +0x53,
> > +0x45,
> > +0x4c,
> > +0x20,
> > +0x4d,
> > +0x4f,
> > +0x45,
> > +0x56,
> > +0x20,
> > +0x4d,
> > +0x4f,
> > +0x53,
> > +0x43,
> > +0x20,
> > +0x14,
> > +0x4a,
> > +0x4,
> > +0x4d,
> > +0x53,
> > +0x43,
> > +0x4e,
> > +0x0,
> > +0xa0,
> > +0x9,
> > +0x93,
> > +0x4d,
> > +0x44,
> > +0x4e,
> > +0x52,
> > +0x0,
> > +0xa4,
> > +0x0,
> > +0x70,
> > +0x0,
> > +0x60,
> > +0x5b,
> > +0x23,
> > +0x4d,
> > +0x4c,
> > +0x43,
> > +0x4b,
> > +0xff,
> > +0xff,
> > +0xa2,
> > +0x25,
> > +0x95,
> > +0x60,
> > +0x4d,
> > +0x44,
> > +0x4e,
> > +0x52,
> > +0x70,
> > +0x60,
> > +0x4d,
> > +0x53,
> > +0x45,
> > +0x4c,
> > +0xa0,
> > +0x13,
> > +0x93,
> > +0x4d,
> > +0x49,
> > +0x4e,
> > +0x53,
> > +0x1,
> > +0x4d,
> > +0x54,
> > +0x46,
> > +0x59,
> > +0x60,
> > +0x1,
> > +0x70,
> > +0x1,
> > +0x4d,
> > +0x49,
> > +0x4e,
> > +0x53,
> > +0x72,
> > +0x60,
> > +0x1,
> > +0x60,
> > +0x5b,
> > +0x27,
> > +0x4d,
> > +0x4c,
> > +0x43,
> > +0x4b,
> > +0xa4,
> > +0x1,
> > +0x14,
> > +0x2d,
> > +0x4d,
> > +0x52,
> > +0x53,
> > +0x54,
> > +0x1,
> > +0x70,
> > +0x0,
> > +0x60,
> > +0x5b,
> > +0x23,
> > +0x4d,
> > +0x4c,
> > +0x43,
> > +0x4b,
> > +0xff,
> > +0xff,
> > +0x70,
> > +0x99,
> > +0x68,
> > +0x0,
> > +0x4d,
> > +0x53,
> > +0x45,
> > +0x4c,
> > +0xa0,
> > +0xb,
> > +0x93,
> > +0x4d,
> > +0x45,
> > +0x53,
> > +0x5f,
> > +0x1,
> > +0x70,
> > +0xa,
> > +0xf,
> > +0x60,
> > +0x5b,
> > +0x27,
> > +0x4d,
> > +0x4c,
> > +0x43,
> > +0x4b,
> > +0xa4,
> > +0x60,
> > +0x14,
> > +0x41,
> > +0x18,
> > +0x4d,
> > +0x43,
> > +0x52,
> > +0x53,
> > +0x9,
> > +0x5b,
> > +0x23,
> > +0x4d,
> > +0x4c,
> > +0x43,
> > +0x4b,
> > +0xff,
> > +0xff,
> > +0x70,
> > +0x99,
> > +0x68,
> > +0x0,
> > +0x4d,
> > +0x53,
> > +0x45,
> > +0x4c,
> > +0x8,
> > +0x4d,
> > +0x52,
> > +0x36,
> > +0x34,
> > +0x11,
> > +0x33,
> > +0xa,
> > +0x30,
> > +0x8a,
> > +0x2b,
> > +0x0,
> > +0x0,
> > +0xc,
> > +0x3,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0xfe,
> > +0xff,
> > +0xff,
> > +0xff,
> > +0xff,
> > +0xff,
> > +0xff,
> > +0xff,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0xff,
> > +0xff,
> > +0xff,
> > +0xff,
> > +0xff,
> > +0xff,
> > +0xff,
> > +0xff,
> > +0x79,
> > +0x0,
> > +0x8a,
> > +0x4d,
> > +0x52,
> > +0x36,
> > +0x34,
> > +0xa,
> > +0xe,
> > +0x4d,
> > +0x49,
> > +0x4e,
> > +0x4c,
> > +0x8a,
> > +0x4d,
> > +0x52,
> > +0x36,
> > +0x34,
> > +0xa,
> > +0x12,
> > +0x4d,
> > +0x49,
> > +0x4e,
> > +0x48,
> > +0x8a,
> > +0x4d,
> > +0x52,
> > +0x36,
> > +0x34,
> > +0xa,
> > +0x26,
> > +0x4c,
> > +0x45,
> > +0x4e,
> > +0x4c,
> > +0x8a,
> > +0x4d,
> > +0x52,
> > +0x36,
> > +0x34,
> > +0xa,
> > +0x2a,
> > +0x4c,
> > +0x45,
> > +0x4e,
> > +0x48,
> > +0x8a,
> > +0x4d,
> > +0x52,
> > +0x36,
> > +0x34,
> > +0xa,
> > +0x16,
> > +0x4d,
> > +0x41,
> > +0x58,
> > +0x4c,
> > +0x8a,
> > +0x4d,
> > +0x52,
> > +0x36,
> > +0x34,
> > +0xa,
> > +0x1a,
> > +0x4d,
> > +0x41,
> > +0x58,
> > +0x48,
> > +0x70,
> > +0x4d,
> > +0x52,
> > +0x42,
> > +0x48,
> > +0x4d,
> > +0x49,
> > +0x4e,
> > +0x48,
> > +0x70,
> > +0x4d,
> > +0x52,
> > +0x42,
> > +0x4c,
> > +0x4d,
> > +0x49,
> > +0x4e,
> > +0x4c,
> > +0x70,
> > +0x4d,
> > +0x52,
> > +0x4c,
> > +0x48,
> > +0x4c,
> > +0x45,
> > +0x4e,
> > +0x48,
> > +0x70,
> > +0x4d,
> > +0x52,
> > +0x4c,
> > +0x4c,
> > +0x4c,
> > +0x45,
> > +0x4e,
> > +0x4c,
> > +0x72,
> > +0x4d,
> > +0x49,
> > +0x4e,
> > +0x4c,
> > +0x4c,
> > +0x45,
> > +0x4e,
> > +0x4c,
> > +0x4d,
> > +0x41,
> > +0x58,
> > +0x4c,
> > +0x72,
> > +0x4d,
> > +0x49,
> > +0x4e,
> > +0x48,
> > +0x4c,
> > +0x45,
> > +0x4e,
> > +0x48,
> > +0x4d,
> > +0x41,
> > +0x58,
> > +0x48,
> > +0xa0,
> > +0x14,
> > +0x95,
> > +0x4d,
> > +0x41,
> > +0x58,
> > +0x4c,
> > +0x4d,
> > +0x49,
> > +0x4e,
> > +0x4c,
> > +0x72,
> > +0x4d,
> > +0x41,
> > +0x58,
> > +0x48,
> > +0x1,
> > +0x4d,
> > +0x41,
> > +0x58,
> > +0x48,
> > +0xa0,
> > +0x11,
> > +0x95,
> > +0x4d,
> > +0x41,
> > +0x58,
> > +0x4c,
> > +0x1,
> > +0x74,
> > +0x4d,
> > +0x41,
> > +0x58,
> > +0x48,
> > +0x1,
> > +0x4d,
> > +0x41,
> > +0x58,
> > +0x48,
> > +0x74,
> > +0x4d,
> > +0x41,
> > +0x58,
> > +0x4c,
> > +0x1,
> > +0x4d,
> > +0x41,
> > +0x58,
> > +0x4c,
> > +0xa0,
> > +0x44,
> > +0x7,
> > +0x93,
> > +0x4d,
> > +0x41,
> > +0x58,
> > +0x48,
> > +0x0,
> > +0x8,
> > +0x4d,
> > +0x52,
> > +0x33,
> > +0x32,
> > +0x11,
> > +0x1f,
> > +0xa,
> > +0x1c,
> > +0x87,
> > +0x17,
> > +0x0,
> > +0x0,
> > +0xc,
> > +0x3,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0xfe,
> > +0xff,
> > +0xff,
> > +0xff,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0xff,
> > +0xff,
> > +0xff,
> > +0xff,
> > +0x79,
> > +0x0,
> > +0x8a,
> > +0x4d,
> > +0x52,
> > +0x33,
> > +0x32,
> > +0xa,
> > +0xa,
> > +0x4d,
> > +0x49,
> > +0x4e,
> > +0x5f,
> > +0x8a,
> > +0x4d,
> > +0x52,
> > +0x33,
> > +0x32,
> > +0xa,
> > +0xe,
> > +0x4d,
> > +0x41,
> > +0x58,
> > +0x5f,
> > +0x8a,
> > +0x4d,
> > +0x52,
> > +0x33,
> > +0x32,
> > +0xa,
> > +0x16,
> > +0x4c,
> > +0x45,
> > +0x4e,
> > +0x5f,
> > +0x70,
> > +0x4d,
> > +0x49,
> > +0x4e,
> > +0x4c,
> > +0x4d,
> > +0x49,
> > +0x4e,
> > +0x5f,
> > +0x70,
> > +0x4d,
> > +0x41,
> > +0x58,
> > +0x4c,
> > +0x4d,
> > +0x41,
> > +0x58,
> > +0x5f,
> > +0x70,
> > +0x4c,
> > +0x45,
> > +0x4e,
> > +0x4c,
> > +0x4c,
> > +0x45,
> > +0x4e,
> > +0x5f,
> > +0x5b,
> > +0x27,
> > +0x4d,
> > +0x4c,
> > +0x43,
> > +0x4b,
> > +0xa4,
> > +0x4d,
> > +0x52,
> > +0x33,
> > +0x32,
> > +0x5b,
> > +0x27,
> > +0x4d,
> > +0x4c,
> > +0x43,
> > +0x4b,
> > +0xa4,
> > +0x4d,
> > +0x52,
> > +0x36,
> > +0x34,
> > +0x14,
> > +0x24,
> > +0x4d,
> > +0x50,
> > +0x58,
> > +0x4d,
> > +0x1,
> > +0x5b,
> > +0x23,
> > +0x4d,
> > +0x4c,
> > +0x43,
> > +0x4b,
> > +0xff,
> > +0xff,
> > +0x70,
> > +0x99,
> > +0x68,
> > +0x0,
> > +0x4d,
> > +0x53,
> > +0x45,
> > +0x4c,
> > +0x70,
> > +0x4d,
> > +0x50,
> > +0x58,
> > +0x5f,
> > +0x60,
> > +0x5b,
> > +0x27,
> > +0x4d,
> > +0x4c,
> > +0x43,
> > +0x4b,
> > +0xa4,
> > +0x60,
> > +0x14,
> > +0x28,
> > +0x4d,
> > +0x4f,
> > +0x53,
> > +0x54,
> > +0x4,
> > +0x5b,
> > +0x23,
> > +0x4d,
> > +0x4c,
> > +0x43,
> > +0x4b,
> > +0xff,
> > +0xff,
> > +0x70,
> > +0x99,
> > +0x68,
> > +0x0,
> > +0x4d,
> > +0x53,
> > +0x45,
> > +0x4c,
> > +0x70,
> > +0x69,
> > +0x4d,
> > +0x4f,
> > +0x45,
> > +0x56,
> > +0x70,
> > +0x6a,
> > +0x4d,
> > +0x4f,
> > +0x53,
> > +0x43,
> > +0x5b,
> > +0x27,
> > +0x4d,
> > +0x4c,
> > +0x43,
> > +0x4b,
> > +0x10,
> > 0x45,
> > 0xd,
> > 0x5f,
> > diff --git a/hw/i386/q35-acpi-dsdt.dsl b/hw/i386/q35-acpi-dsdt.dsl
> > index 054b035..e1cee5d 100644
> > --- a/hw/i386/q35-acpi-dsdt.dsl
> > +++ b/hw/i386/q35-acpi-dsdt.dsl
> > @@ -405,13 +405,12 @@ DefinitionBlock (
> > #include "hw/acpi/pc-hotplug.h"
> > #define CPU_STATUS_BASE ICH9_CPU_HOTPLUG_IO_BASE
> > #include "acpi-dsdt-cpu-hotplug.dsl"
> > +#include "acpi-dsdt-mem-hotplug.dsl"
> >
> >
> > /****************************************************************
> > * General purpose events
> > ****************************************************************/
> > -
> > External(\_SB.PCI0.MEMORY_HOTPLUG_DEVICE.MEMORY_SLOT_SCAN_METHOD,
> > MethodObj) - Scope(\_GPE) {
> > Name(_HID, "ACPI0006")
> >
> > diff --git a/hw/i386/q35-acpi-dsdt.hex.generated
> > b/hw/i386/q35-acpi-dsdt.hex.generated index c9eb4ac..4807bdf 100644
> > --- a/hw/i386/q35-acpi-dsdt.hex.generated
> > +++ b/hw/i386/q35-acpi-dsdt.hex.generated
> > @@ -3,12 +3,12 @@ static unsigned char Q35AcpiDsdtAmlCode[] = {
> > 0x53,
> > 0x44,
> > 0x54,
> > -0xe5,
> > -0x1c,
> > +0xf6,
> > +0x1f,
> > 0x0,
> > 0x0,
> > 0x1,
> > -0xb7,
> > +0x91,
> > 0x42,
> > 0x58,
> > 0x50,
> > @@ -31,9 +31,9 @@ static unsigned char Q35AcpiDsdtAmlCode[] = {
> > 0x4e,
> > 0x54,
> > 0x4c,
> > -0x15,
> > -0x11,
> > -0x13,
> > +0x28,
> > +0x8,
> > +0x14,
> > 0x20,
> > 0x10,
> > 0x49,
> > @@ -7234,6 +7234,791 @@ static unsigned char Q35AcpiDsdtAmlCode[] = {
> > 0xa,
> > 0xb,
> > 0x10,
> > +0x40,
> > +0x31,
> > +0x2e,
> > +0x5f,
> > +0x53,
> > +0x42,
> > +0x5f,
> > +0x50,
> > +0x43,
> > +0x49,
> > +0x30,
> > +0x5b,
> > +0x82,
> > +0x43,
> > +0x30,
> > +0x4d,
> > +0x48,
> > +0x50,
> > +0x44,
> > +0x8,
> > +0x5f,
> > +0x48,
> > +0x49,
> > +0x44,
> > +0xd,
> > +0x50,
> > +0x4e,
> > +0x50,
> > +0x30,
> > +0x41,
> > +0x30,
> > +0x36,
> > +0x0,
> > +0x8,
> > +0x5f,
> > +0x55,
> > +0x49,
> > +0x44,
> > +0xd,
> > +0x4d,
> > +0x65,
> > +0x6d,
> > +0x6f,
> > +0x72,
> > +0x79,
> > +0x20,
> > +0x68,
> > +0x6f,
> > +0x74,
> > +0x70,
> > +0x6c,
> > +0x75,
> > +0x67,
> > +0x20,
> > +0x72,
> > +0x65,
> > +0x73,
> > +0x6f,
> > +0x75,
> > +0x72,
> > +0x63,
> > +0x65,
> > +0x73,
> > +0x0,
> > +0x5b,
> > +0x80,
> > +0x48,
> > +0x50,
> > +0x4d,
> > +0x52,
> > +0x1,
> > +0xb,
> > +0x0,
> > +0xa,
> > +0xa,
> > +0x18,
> > +0x8,
> > +0x5f,
> > +0x43,
> > +0x52,
> > +0x53,
> > +0x11,
> > +0xd,
> > +0xa,
> > +0xa,
> > +0x47,
> > +0x1,
> > +0x0,
> > +0xa,
> > +0x0,
> > +0xa,
> > +0x0,
> > +0x18,
> > +0x79,
> > +0x0,
> > +0x14,
> > +0x13,
> > +0x5f,
> > +0x53,
> > +0x54,
> > +0x41,
> > +0x0,
> > +0xa0,
> > +0x9,
> > +0x93,
> > +0x4d,
> > +0x44,
> > +0x4e,
> > +0x52,
> > +0x0,
> > +0xa4,
> > +0x0,
> > +0xa4,
> > +0xa,
> > +0xb,
> > +0x5b,
> > +0x81,
> > +0x1f,
> > +0x48,
> > +0x50,
> > +0x4d,
> > +0x52,
> > +0x3,
> > +0x4d,
> > +0x52,
> > +0x42,
> > +0x4c,
> > +0x20,
> > +0x4d,
> > +0x52,
> > +0x42,
> > +0x48,
> > +0x20,
> > +0x4d,
> > +0x52,
> > +0x4c,
> > +0x4c,
> > +0x20,
> > +0x4d,
> > +0x52,
> > +0x4c,
> > +0x48,
> > +0x20,
> > +0x4d,
> > +0x50,
> > +0x58,
> > +0x5f,
> > +0x20,
> > +0x5b,
> > +0x81,
> > +0x13,
> > +0x48,
> > +0x50,
> > +0x4d,
> > +0x52,
> > +0x1,
> > +0x0,
> > +0x40,
> > +0xa,
> > +0x4d,
> > +0x45,
> > +0x53,
> > +0x5f,
> > +0x1,
> > +0x4d,
> > +0x49,
> > +0x4e,
> > +0x53,
> > +0x1,
> > +0x5b,
> > +0x1,
> > +0x4d,
> > +0x4c,
> > +0x43,
> > +0x4b,
> > +0x0,
> > +0x5b,
> > +0x81,
> > +0x15,
> > +0x48,
> > +0x50,
> > +0x4d,
> > +0x52,
> > +0x3,
> > +0x4d,
> > +0x53,
> > +0x45,
> > +0x4c,
> > +0x20,
> > +0x4d,
> > +0x4f,
> > +0x45,
> > +0x56,
> > +0x20,
> > +0x4d,
> > +0x4f,
> > +0x53,
> > +0x43,
> > +0x20,
> > +0x14,
> > +0x4a,
> > +0x4,
> > +0x4d,
> > +0x53,
> > +0x43,
> > +0x4e,
> > +0x0,
> > +0xa0,
> > +0x9,
> > +0x93,
> > +0x4d,
> > +0x44,
> > +0x4e,
> > +0x52,
> > +0x0,
> > +0xa4,
> > +0x0,
> > +0x70,
> > +0x0,
> > +0x60,
> > +0x5b,
> > +0x23,
> > +0x4d,
> > +0x4c,
> > +0x43,
> > +0x4b,
> > +0xff,
> > +0xff,
> > +0xa2,
> > +0x25,
> > +0x95,
> > +0x60,
> > +0x4d,
> > +0x44,
> > +0x4e,
> > +0x52,
> > +0x70,
> > +0x60,
> > +0x4d,
> > +0x53,
> > +0x45,
> > +0x4c,
> > +0xa0,
> > +0x13,
> > +0x93,
> > +0x4d,
> > +0x49,
> > +0x4e,
> > +0x53,
> > +0x1,
> > +0x4d,
> > +0x54,
> > +0x46,
> > +0x59,
> > +0x60,
> > +0x1,
> > +0x70,
> > +0x1,
> > +0x4d,
> > +0x49,
> > +0x4e,
> > +0x53,
> > +0x72,
> > +0x60,
> > +0x1,
> > +0x60,
> > +0x5b,
> > +0x27,
> > +0x4d,
> > +0x4c,
> > +0x43,
> > +0x4b,
> > +0xa4,
> > +0x1,
> > +0x14,
> > +0x2d,
> > +0x4d,
> > +0x52,
> > +0x53,
> > +0x54,
> > +0x1,
> > +0x70,
> > +0x0,
> > +0x60,
> > +0x5b,
> > +0x23,
> > +0x4d,
> > +0x4c,
> > +0x43,
> > +0x4b,
> > +0xff,
> > +0xff,
> > +0x70,
> > +0x99,
> > +0x68,
> > +0x0,
> > +0x4d,
> > +0x53,
> > +0x45,
> > +0x4c,
> > +0xa0,
> > +0xb,
> > +0x93,
> > +0x4d,
> > +0x45,
> > +0x53,
> > +0x5f,
> > +0x1,
> > +0x70,
> > +0xa,
> > +0xf,
> > +0x60,
> > +0x5b,
> > +0x27,
> > +0x4d,
> > +0x4c,
> > +0x43,
> > +0x4b,
> > +0xa4,
> > +0x60,
> > +0x14,
> > +0x41,
> > +0x18,
> > +0x4d,
> > +0x43,
> > +0x52,
> > +0x53,
> > +0x9,
> > +0x5b,
> > +0x23,
> > +0x4d,
> > +0x4c,
> > +0x43,
> > +0x4b,
> > +0xff,
> > +0xff,
> > +0x70,
> > +0x99,
> > +0x68,
> > +0x0,
> > +0x4d,
> > +0x53,
> > +0x45,
> > +0x4c,
> > +0x8,
> > +0x4d,
> > +0x52,
> > +0x36,
> > +0x34,
> > +0x11,
> > +0x33,
> > +0xa,
> > +0x30,
> > +0x8a,
> > +0x2b,
> > +0x0,
> > +0x0,
> > +0xc,
> > +0x3,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0xfe,
> > +0xff,
> > +0xff,
> > +0xff,
> > +0xff,
> > +0xff,
> > +0xff,
> > +0xff,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0xff,
> > +0xff,
> > +0xff,
> > +0xff,
> > +0xff,
> > +0xff,
> > +0xff,
> > +0xff,
> > +0x79,
> > +0x0,
> > +0x8a,
> > +0x4d,
> > +0x52,
> > +0x36,
> > +0x34,
> > +0xa,
> > +0xe,
> > +0x4d,
> > +0x49,
> > +0x4e,
> > +0x4c,
> > +0x8a,
> > +0x4d,
> > +0x52,
> > +0x36,
> > +0x34,
> > +0xa,
> > +0x12,
> > +0x4d,
> > +0x49,
> > +0x4e,
> > +0x48,
> > +0x8a,
> > +0x4d,
> > +0x52,
> > +0x36,
> > +0x34,
> > +0xa,
> > +0x26,
> > +0x4c,
> > +0x45,
> > +0x4e,
> > +0x4c,
> > +0x8a,
> > +0x4d,
> > +0x52,
> > +0x36,
> > +0x34,
> > +0xa,
> > +0x2a,
> > +0x4c,
> > +0x45,
> > +0x4e,
> > +0x48,
> > +0x8a,
> > +0x4d,
> > +0x52,
> > +0x36,
> > +0x34,
> > +0xa,
> > +0x16,
> > +0x4d,
> > +0x41,
> > +0x58,
> > +0x4c,
> > +0x8a,
> > +0x4d,
> > +0x52,
> > +0x36,
> > +0x34,
> > +0xa,
> > +0x1a,
> > +0x4d,
> > +0x41,
> > +0x58,
> > +0x48,
> > +0x70,
> > +0x4d,
> > +0x52,
> > +0x42,
> > +0x48,
> > +0x4d,
> > +0x49,
> > +0x4e,
> > +0x48,
> > +0x70,
> > +0x4d,
> > +0x52,
> > +0x42,
> > +0x4c,
> > +0x4d,
> > +0x49,
> > +0x4e,
> > +0x4c,
> > +0x70,
> > +0x4d,
> > +0x52,
> > +0x4c,
> > +0x48,
> > +0x4c,
> > +0x45,
> > +0x4e,
> > +0x48,
> > +0x70,
> > +0x4d,
> > +0x52,
> > +0x4c,
> > +0x4c,
> > +0x4c,
> > +0x45,
> > +0x4e,
> > +0x4c,
> > +0x72,
> > +0x4d,
> > +0x49,
> > +0x4e,
> > +0x4c,
> > +0x4c,
> > +0x45,
> > +0x4e,
> > +0x4c,
> > +0x4d,
> > +0x41,
> > +0x58,
> > +0x4c,
> > +0x72,
> > +0x4d,
> > +0x49,
> > +0x4e,
> > +0x48,
> > +0x4c,
> > +0x45,
> > +0x4e,
> > +0x48,
> > +0x4d,
> > +0x41,
> > +0x58,
> > +0x48,
> > +0xa0,
> > +0x14,
> > +0x95,
> > +0x4d,
> > +0x41,
> > +0x58,
> > +0x4c,
> > +0x4d,
> > +0x49,
> > +0x4e,
> > +0x4c,
> > +0x72,
> > +0x4d,
> > +0x41,
> > +0x58,
> > +0x48,
> > +0x1,
> > +0x4d,
> > +0x41,
> > +0x58,
> > +0x48,
> > +0xa0,
> > +0x11,
> > +0x95,
> > +0x4d,
> > +0x41,
> > +0x58,
> > +0x4c,
> > +0x1,
> > +0x74,
> > +0x4d,
> > +0x41,
> > +0x58,
> > +0x48,
> > +0x1,
> > +0x4d,
> > +0x41,
> > +0x58,
> > +0x48,
> > +0x74,
> > +0x4d,
> > +0x41,
> > +0x58,
> > +0x4c,
> > +0x1,
> > +0x4d,
> > +0x41,
> > +0x58,
> > +0x4c,
> > +0xa0,
> > +0x44,
> > +0x7,
> > +0x93,
> > +0x4d,
> > +0x41,
> > +0x58,
> > +0x48,
> > +0x0,
> > +0x8,
> > +0x4d,
> > +0x52,
> > +0x33,
> > +0x32,
> > +0x11,
> > +0x1f,
> > +0xa,
> > +0x1c,
> > +0x87,
> > +0x17,
> > +0x0,
> > +0x0,
> > +0xc,
> > +0x3,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0xfe,
> > +0xff,
> > +0xff,
> > +0xff,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0x0,
> > +0xff,
> > +0xff,
> > +0xff,
> > +0xff,
> > +0x79,
> > +0x0,
> > +0x8a,
> > +0x4d,
> > +0x52,
> > +0x33,
> > +0x32,
> > +0xa,
> > +0xa,
> > +0x4d,
> > +0x49,
> > +0x4e,
> > +0x5f,
> > +0x8a,
> > +0x4d,
> > +0x52,
> > +0x33,
> > +0x32,
> > +0xa,
> > +0xe,
> > +0x4d,
> > +0x41,
> > +0x58,
> > +0x5f,
> > +0x8a,
> > +0x4d,
> > +0x52,
> > +0x33,
> > +0x32,
> > +0xa,
> > +0x16,
> > +0x4c,
> > +0x45,
> > +0x4e,
> > +0x5f,
> > +0x70,
> > +0x4d,
> > +0x49,
> > +0x4e,
> > +0x4c,
> > +0x4d,
> > +0x49,
> > +0x4e,
> > +0x5f,
> > +0x70,
> > +0x4d,
> > +0x41,
> > +0x58,
> > +0x4c,
> > +0x4d,
> > +0x41,
> > +0x58,
> > +0x5f,
> > +0x70,
> > +0x4c,
> > +0x45,
> > +0x4e,
> > +0x4c,
> > +0x4c,
> > +0x45,
> > +0x4e,
> > +0x5f,
> > +0x5b,
> > +0x27,
> > +0x4d,
> > +0x4c,
> > +0x43,
> > +0x4b,
> > +0xa4,
> > +0x4d,
> > +0x52,
> > +0x33,
> > +0x32,
> > +0x5b,
> > +0x27,
> > +0x4d,
> > +0x4c,
> > +0x43,
> > +0x4b,
> > +0xa4,
> > +0x4d,
> > +0x52,
> > +0x36,
> > +0x34,
> > +0x14,
> > +0x24,
> > +0x4d,
> > +0x50,
> > +0x58,
> > +0x4d,
> > +0x1,
> > +0x5b,
> > +0x23,
> > +0x4d,
> > +0x4c,
> > +0x43,
> > +0x4b,
> > +0xff,
> > +0xff,
> > +0x70,
> > +0x99,
> > +0x68,
> > +0x0,
> > +0x4d,
> > +0x53,
> > +0x45,
> > +0x4c,
> > +0x70,
> > +0x4d,
> > +0x50,
> > +0x58,
> > +0x5f,
> > +0x60,
> > +0x5b,
> > +0x27,
> > +0x4d,
> > +0x4c,
> > +0x43,
> > +0x4b,
> > +0xa4,
> > +0x60,
> > +0x14,
> > +0x28,
> > +0x4d,
> > +0x4f,
> > +0x53,
> > +0x54,
> > +0x4,
> > +0x5b,
> > +0x23,
> > +0x4d,
> > +0x4c,
> > +0x43,
> > +0x4b,
> > +0xff,
> > +0xff,
> > +0x70,
> > +0x99,
> > +0x68,
> > +0x0,
> > +0x4d,
> > +0x53,
> > +0x45,
> > +0x4c,
> > +0x70,
> > +0x69,
> > +0x4d,
> > +0x4f,
> > +0x45,
> > +0x56,
> > +0x70,
> > +0x6a,
> > +0x4d,
> > +0x4f,
> > +0x53,
> > +0x43,
> > +0x5b,
> > +0x27,
> > +0x4d,
> > +0x4c,
> > +0x43,
> > +0x4b,
> > +0x10,
> > 0x42,
> > 0xa,
> > 0x5f,
> > diff --git a/hw/i386/ssdt-mem.hex.generated
> > b/hw/i386/ssdt-mem.hex.generated index 00bd34d..b3bfbbd 100644
> > --- a/hw/i386/ssdt-mem.hex.generated
> > +++ b/hw/i386/ssdt-mem.hex.generated
> > @@ -11,7 +11,7 @@ static unsigned char ssdm_mem_aml[] = {
> > 0x0,
> > 0x0,
> > 0x2,
> > -0x71,
> > +0x66,
> > 0x42,
> > 0x58,
> > 0x50,
> > @@ -34,9 +34,9 @@ static unsigned char ssdm_mem_aml[] = {
> > 0x4e,
> > 0x54,
> > 0x4c,
> > -0x15,
> > -0x11,
> > -0x13,
> > +0x28,
> > +0x8,
> > +0x14,
> > 0x20,
> > 0x10,
> > 0x42,
> > diff --git a/hw/i386/ssdt-misc.dsl b/hw/i386/ssdt-misc.dsl
> > index 0fd4480..1e3baae 100644
> > --- a/hw/i386/ssdt-misc.dsl
> > +++ b/hw/i386/ssdt-misc.dsl
> > @@ -36,6 +36,8 @@ DefinitionBlock ("ssdt-misc.aml", "SSDT", 0x01,
> > "BXPC", "BXSSDTSUSP", 0x1) Name(P1E, Buffer() { 0x00, 0x00, 0x00,
> > 0x00, 0x00, 0x00, 0x00, 0x00 }) ACPI_EXTRACT_NAME_BUFFER8
> > acpi_pci64_length Name(P1L, Buffer() { 0x00, 0x00, 0x00, 0x00, 0x00,
> > 0x00, 0x00, 0x00 })
> > + ACPI_EXTRACT_NAME_DWORD_CONST ssdt_mctrl_nr_slots
> > + Name(MEMORY_SLOTS_NUMBER, 0x12345678)
> > }
> >
> >
> > @@ -117,167 +119,4 @@ DefinitionBlock ("ssdt-misc.aml", "SSDT", 0x01,
> > "BXPC", "BXSSDTSUSP", 0x1) }
> > }
> > }
> > -
> > - External(MEMORY_SLOT_NOTIFY_METHOD, MethodObj)
> > - Scope(\_SB.PCI0) {
> > - Device(MEMORY_HOTPLUG_DEVICE) {
> > - Name(_HID, "PNP0A06")
> > - Name(_UID, "Memory hotplug resources")
> > -
> > - ACPI_EXTRACT_NAME_DWORD_CONST ssdt_mctrl_nr_slots
> > - Name(MEMORY_SLOTS_NUMBER, 0x12345678)
> > -
> > - /* Memory hotplug IO registers */
> > - OperationRegion(MEMORY_HOTPLUG_IO_REGION, SystemIO,
> > - ACPI_MEMORY_HOTPLUG_BASE,
> > - ACPI_MEMORY_HOTPLUG_IO_LEN)
> > -
> > - Name(_CRS, ResourceTemplate() {
> > - IO(Decode16, ACPI_MEMORY_HOTPLUG_BASE,
> > ACPI_MEMORY_HOTPLUG_BASE,
> > - 0, ACPI_MEMORY_HOTPLUG_IO_LEN, IO)
> > - })
> > -
> > - Method(_STA, 0) {
> > - If (LEqual(MEMORY_SLOTS_NUMBER, Zero)) {
> > - Return(0x0)
> > - }
> > - /* present, functioning, decoding, not shown in UI */
> > - Return(0xB)
> > - }
> > -
> > - Field(MEMORY_HOTPLUG_IO_REGION, DWordAcc, NoLock,
> > Preserve) {
> > - MEMORY_SLOT_ADDR_LOW, 32, // read only
> > - MEMORY_SLOT_ADDR_HIGH, 32, // read only
> > - MEMORY_SLOT_SIZE_LOW, 32, // read only
> > - MEMORY_SLOT_SIZE_HIGH, 32, // read only
> > - MEMORY_SLOT_PROXIMITY, 32, // read only
> > - }
> > - Field(MEMORY_HOTPLUG_IO_REGION, ByteAcc, NoLock,
> > Preserve) {
> > - Offset(20),
> > - MEMORY_SLOT_ENABLED, 1, // 1 if enabled, read only
> > - MEMORY_SLOT_INSERT_EVENT, 1, // (read) 1 if has a
> > insert event. (write) 1 to clear event
> > - }
> > -
> > - Mutex (MEMORY_SLOT_LOCK, 0)
> > - Field (MEMORY_HOTPLUG_IO_REGION, DWordAcc, NoLock,
> > Preserve) {
> > - MEMORY_SLOT_SLECTOR, 32, // DIMM selector, write
> > only
> > - MEMORY_SLOT_OST_EVENT, 32, // _OST event code,
> > write only
> > - MEMORY_SLOT_OST_STATUS, 32, // _OST status code,
> > write only
> > - }
> > -
> > - Method(MEMORY_SLOT_SCAN_METHOD, 0) {
> > - If (LEqual(MEMORY_SLOTS_NUMBER, Zero)) {
> > - Return(Zero)
> > - }
> > -
> > - Store(Zero, Local0) // Mem devs iterrator
> > - Acquire(MEMORY_SLOT_LOCK, 0xFFFF)
> > - while (LLess(Local0, MEMORY_SLOTS_NUMBER)) {
> > - Store(Local0, MEMORY_SLOT_SLECTOR) // select
> > Local0 DIMM
> > - If (LEqual(MEMORY_SLOT_INSERT_EVENT, One)) { //
> > Memory device needs check
> > - MEMORY_SLOT_NOTIFY_METHOD(Local0, 1)
> > - Store(1, MEMORY_SLOT_INSERT_EVENT)
> > - }
> > - // TODO: handle memory eject request
> > - Add(Local0, One, Local0) // goto next DIMM
> > - }
> > - Release(MEMORY_SLOT_LOCK)
> > - Return(One)
> > - }
> > -
> > - Method(MEMORY_SLOT_STATUS_METHOD, 1) {
> > - Store(Zero, Local0)
> > -
> > - Acquire(MEMORY_SLOT_LOCK, 0xFFFF)
> > - Store(ToInteger(Arg0), MEMORY_SLOT_SLECTOR) //
> > select DIMM -
> > - If (LEqual(MEMORY_SLOT_ENABLED, One)) {
> > - Store(0xF, Local0)
> > - }
> > -
> > - Release(MEMORY_SLOT_LOCK)
> > - Return(Local0)
> > - }
> > -
> > - Method(MEMORY_SLOT_CRS_METHOD, 1, Serialized) {
> > - Acquire(MEMORY_SLOT_LOCK, 0xFFFF)
> > - Store(ToInteger(Arg0), MEMORY_SLOT_SLECTOR) //
> > select DIMM -
> > - Name(MR64, ResourceTemplate() {
> > - QWordMemory(ResourceProducer, PosDecode,
> > MinFixed, MaxFixed,
> > - Cacheable, ReadWrite,
> > - 0x0000000000000000, // Address Space
> > Granularity
> > - 0x0000000000000000, // Address Range
> > Minimum
> > - 0xFFFFFFFFFFFFFFFE, // Address Range
> > Maximum
> > - 0x0000000000000000, // Address
> > Translation Offset
> > - 0xFFFFFFFFFFFFFFFF, // Address Length
> > - ,, MW64, AddressRangeMemory, TypeStatic)
> > - })
> > -
> > - CreateDWordField(MR64, 14, MINL)
> > - CreateDWordField(MR64, 18, MINH)
> > - CreateDWordField(MR64, 38, LENL)
> > - CreateDWordField(MR64, 42, LENH)
> > - CreateDWordField(MR64, 22, MAXL)
> > - CreateDWordField(MR64, 26, MAXH)
> > -
> > - Store(MEMORY_SLOT_ADDR_HIGH, MINH)
> > - Store(MEMORY_SLOT_ADDR_LOW, MINL)
> > - Store(MEMORY_SLOT_SIZE_HIGH, LENH)
> > - Store(MEMORY_SLOT_SIZE_LOW, LENL)
> > -
> > - // 64-bit math: MAX = MIN + LEN - 1
> > - Add(MINL, LENL, MAXL)
> > - Add(MINH, LENH, MAXH)
> > - If (LLess(MAXL, MINL)) {
> > - Add(MAXH, One, MAXH)
> > - }
> > - If (LLess(MAXL, One)) {
> > - Subtract(MAXH, One, MAXH)
> > - }
> > - Subtract(MAXL, One, MAXL)
> > -
> > - If (LEqual(MAXH, Zero)){
> > - Name(MR32, ResourceTemplate() {
> > - DWordMemory(ResourceProducer, PosDecode,
> > MinFixed, MaxFixed,
> > - Cacheable, ReadWrite,
> > - 0x00000000, // Address Space
> > Granularity
> > - 0x00000000, // Address Range Minimum
> > - 0xFFFFFFFE, // Address Range Maximum
> > - 0x00000000, // Address Translation
> > Offset
> > - 0xFFFFFFFF, // Address Length
> > - ,, MW32, AddressRangeMemory, TypeStatic)
> > - })
> > - CreateDWordField(MR32, MW32._MIN, MIN)
> > - CreateDWordField(MR32, MW32._MAX, MAX)
> > - CreateDWordField(MR32, MW32._LEN, LEN)
> > - Store(MINL, MIN)
> > - Store(MAXL, MAX)
> > - Store(LENL, LEN)
> > -
> > - Release(MEMORY_SLOT_LOCK)
> > - Return(MR32)
> > - }
> > -
> > - Release(MEMORY_SLOT_LOCK)
> > - Return(MR64)
> > - }
> > -
> > - Method(MEMORY_SLOT_PROXIMITY_METHOD, 1) {
> > - Acquire(MEMORY_SLOT_LOCK, 0xFFFF)
> > - Store(ToInteger(Arg0), MEMORY_SLOT_SLECTOR) //
> > select DIMM
> > - Store(MEMORY_SLOT_PROXIMITY, Local0)
> > - Release(MEMORY_SLOT_LOCK)
> > - Return(Local0)
> > - }
> > -
> > - Method(MEMORY_SLOT_OST_METHOD, 4) {
> > - Acquire(MEMORY_SLOT_LOCK, 0xFFFF)
> > - Store(ToInteger(Arg0), MEMORY_SLOT_SLECTOR) //
> > select DIMM
> > - Store(Arg1, MEMORY_SLOT_OST_EVENT)
> > - Store(Arg2, MEMORY_SLOT_OST_STATUS)
> > - Release(MEMORY_SLOT_LOCK)
> > - }
> > - } // Device()
> > - } // Scope()
> > }
> > diff --git a/hw/i386/ssdt-misc.hex.generated
> > b/hw/i386/ssdt-misc.hex.generated index ba4268a..cbcf61d 100644
> > --- a/hw/i386/ssdt-misc.hex.generated
> > +++ b/hw/i386/ssdt-misc.hex.generated
> > @@ -2,13 +2,13 @@ static unsigned char acpi_pci64_length[] = {
> > 0x6f
> > };
> > static unsigned char acpi_s4_pkg[] = {
> > -0x8f
> > +0x99
> > };
> > -static unsigned short ssdt_mctrl_nr_slots[] = {
> > -0x1aa
> > +static unsigned char ssdt_mctrl_nr_slots[] = {
> > +0x7d
> > };
> > static unsigned char acpi_s3_name[] = {
> > -0x7c
> > +0x86
> > };
> > static unsigned char acpi_pci32_start[] = {
> > 0x2f
> > @@ -21,12 +21,12 @@ static unsigned char ssdp_misc_aml[] = {
> > 0x53,
> > 0x44,
> > 0x54,
> > -0x7e,
> > -0x4,
> > +0x6c,
> > +0x1,
> > 0x0,
> > 0x0,
> > 0x1,
> > -0x8b,
> > +0x3,
> > 0x42,
> > 0x58,
> > 0x50,
> > @@ -49,12 +49,12 @@ static unsigned char ssdp_misc_aml[] = {
> > 0x4e,
> > 0x54,
> > 0x4c,
> > -0x15,
> > -0x11,
> > -0x13,
> > +0x28,
> > +0x8,
> > +0x14,
> > 0x20,
> > 0x10,
> > -0x42,
> > +0x4c,
> > 0x5,
> > 0x5c,
> > 0x0,
> > @@ -136,6 +136,16 @@ static unsigned char ssdp_misc_aml[] = {
> > 0x0,
> > 0x0,
> > 0x0,
> > +0x8,
> > +0x4d,
> > +0x44,
> > +0x4e,
> > +0x52,
> > +0xc,
> > +0x78,
> > +0x56,
> > +0x34,
> > +0x12,
> > 0x10,
> > 0x29,
> > 0x5c,
> > @@ -370,809 +380,13 @@ static unsigned char ssdp_misc_aml[] = {
> > 0x49,
> > 0x4f,
> > 0x4d,
> > -0x58,
> > -0x10,
> > -0x4b,
> > -0x31,
> > -0x5c,
> > -0x2e,
> > -0x5f,
> > -0x53,
> > -0x42,
> > -0x5f,
> > -0x50,
> > -0x43,
> > -0x49,
> > -0x30,
> > -0x5b,
> > -0x82,
> > -0x4d,
> > -0x30,
> > -0x4d,
> > -0x48,
> > -0x50,
> > -0x44,
> > -0x8,
> > -0x5f,
> > -0x48,
> > -0x49,
> > -0x44,
> > -0xd,
> > -0x50,
> > -0x4e,
> > -0x50,
> > -0x30,
> > -0x41,
> > -0x30,
> > -0x36,
> > -0x0,
> > -0x8,
> > -0x5f,
> > -0x55,
> > -0x49,
> > -0x44,
> > -0xd,
> > -0x4d,
> > -0x65,
> > -0x6d,
> > -0x6f,
> > -0x72,
> > -0x79,
> > -0x20,
> > -0x68,
> > -0x6f,
> > -0x74,
> > -0x70,
> > -0x6c,
> > -0x75,
> > -0x67,
> > -0x20,
> > -0x72,
> > -0x65,
> > -0x73,
> > -0x6f,
> > -0x75,
> > -0x72,
> > -0x63,
> > -0x65,
> > -0x73,
> > -0x0,
> > -0x8,
> > -0x4d,
> > -0x44,
> > -0x4e,
> > -0x52,
> > -0xc,
> > -0x78,
> > -0x56,
> > -0x34,
> > -0x12,
> > -0x5b,
> > -0x80,
> > -0x48,
> > -0x50,
> > -0x4d,
> > -0x52,
> > -0x1,
> > -0xb,
> > -0x0,
> > -0xa,
> > -0xa,
> > -0x18,
> > -0x8,
> > -0x5f,
> > -0x43,
> > -0x52,
> > -0x53,
> > -0x11,
> > -0xd,
> > -0xa,
> > -0xa,
> > -0x47,
> > -0x1,
> > -0x0,
> > -0xa,
> > -0x0,
> > -0xa,
> > -0x0,
> > -0x18,
> > -0x79,
> > -0x0,
> > -0x14,
> > -0x13,
> > -0x5f,
> > -0x53,
> > -0x54,
> > -0x41,
> > -0x0,
> > -0xa0,
> > -0x9,
> > -0x93,
> > -0x4d,
> > -0x44,
> > -0x4e,
> > -0x52,
> > -0x0,
> > -0xa4,
> > -0x0,
> > -0xa4,
> > -0xa,
> > -0xb,
> > -0x5b,
> > -0x81,
> > -0x1f,
> > -0x48,
> > -0x50,
> > -0x4d,
> > -0x52,
> > -0x3,
> > -0x4d,
> > -0x52,
> > -0x42,
> > -0x4c,
> > -0x20,
> > -0x4d,
> > -0x52,
> > -0x42,
> > -0x48,
> > -0x20,
> > -0x4d,
> > -0x52,
> > -0x4c,
> > -0x4c,
> > -0x20,
> > -0x4d,
> > -0x52,
> > -0x4c,
> > -0x48,
> > -0x20,
> > -0x4d,
> > -0x50,
> > -0x58,
> > -0x5f,
> > -0x20,
> > -0x5b,
> > -0x81,
> > -0x13,
> > -0x48,
> > -0x50,
> > -0x4d,
> > -0x52,
> > -0x1,
> > -0x0,
> > -0x40,
> > -0xa,
> > -0x4d,
> > -0x45,
> > -0x53,
> > -0x5f,
> > -0x1,
> > -0x4d,
> > -0x49,
> > -0x4e,
> > -0x53,
> > -0x1,
> > -0x5b,
> > -0x1,
> > -0x4d,
> > -0x4c,
> > -0x43,
> > -0x4b,
> > -0x0,
> > -0x5b,
> > -0x81,
> > -0x15,
> > -0x48,
> > -0x50,
> > -0x4d,
> > -0x52,
> > -0x3,
> > -0x4d,
> > -0x53,
> > -0x45,
> > -0x4c,
> > -0x20,
> > -0x4d,
> > -0x4f,
> > -0x45,
> > -0x56,
> > -0x20,
> > -0x4d,
> > -0x4f,
> > -0x53,
> > -0x43,
> > -0x20,
> > -0x14,
> > -0x4a,
> > -0x4,
> > -0x4d,
> > -0x53,
> > -0x43,
> > -0x4e,
> > -0x0,
> > -0xa0,
> > -0x9,
> > -0x93,
> > -0x4d,
> > -0x44,
> > -0x4e,
> > -0x52,
> > -0x0,
> > -0xa4,
> > -0x0,
> > -0x70,
> > -0x0,
> > -0x60,
> > -0x5b,
> > -0x23,
> > -0x4d,
> > -0x4c,
> > -0x43,
> > -0x4b,
> > -0xff,
> > -0xff,
> > -0xa2,
> > -0x25,
> > -0x95,
> > -0x60,
> > -0x4d,
> > -0x44,
> > -0x4e,
> > -0x52,
> > -0x70,
> > -0x60,
> > -0x4d,
> > -0x53,
> > -0x45,
> > -0x4c,
> > -0xa0,
> > -0x13,
> > -0x93,
> > -0x4d,
> > -0x49,
> > -0x4e,
> > -0x53,
> > -0x1,
> > -0x4d,
> > -0x54,
> > -0x46,
> > -0x59,
> > -0x60,
> > -0x1,
> > -0x70,
> > -0x1,
> > -0x4d,
> > -0x49,
> > -0x4e,
> > -0x53,
> > -0x72,
> > -0x60,
> > -0x1,
> > -0x60,
> > -0x5b,
> > -0x27,
> > -0x4d,
> > -0x4c,
> > -0x43,
> > -0x4b,
> > -0xa4,
> > -0x1,
> > -0x14,
> > -0x2d,
> > -0x4d,
> > -0x52,
> > -0x53,
> > -0x54,
> > -0x1,
> > -0x70,
> > -0x0,
> > -0x60,
> > -0x5b,
> > -0x23,
> > -0x4d,
> > -0x4c,
> > -0x43,
> > -0x4b,
> > -0xff,
> > -0xff,
> > -0x70,
> > -0x99,
> > -0x68,
> > -0x0,
> > -0x4d,
> > -0x53,
> > -0x45,
> > -0x4c,
> > -0xa0,
> > -0xb,
> > -0x93,
> > -0x4d,
> > -0x45,
> > -0x53,
> > -0x5f,
> > -0x1,
> > -0x70,
> > -0xa,
> > -0xf,
> > -0x60,
> > -0x5b,
> > -0x27,
> > -0x4d,
> > -0x4c,
> > -0x43,
> > -0x4b,
> > -0xa4,
> > -0x60,
> > -0x14,
> > -0x41,
> > -0x18,
> > -0x4d,
> > -0x43,
> > -0x52,
> > -0x53,
> > -0x9,
> > -0x5b,
> > -0x23,
> > -0x4d,
> > -0x4c,
> > -0x43,
> > -0x4b,
> > -0xff,
> > -0xff,
> > -0x70,
> > -0x99,
> > -0x68,
> > -0x0,
> > -0x4d,
> > -0x53,
> > -0x45,
> > -0x4c,
> > -0x8,
> > -0x4d,
> > -0x52,
> > -0x36,
> > -0x34,
> > -0x11,
> > -0x33,
> > -0xa,
> > -0x30,
> > -0x8a,
> > -0x2b,
> > -0x0,
> > -0x0,
> > -0xc,
> > -0x3,
> > -0x0,
> > -0x0,
> > -0x0,
> > -0x0,
> > -0x0,
> > -0x0,
> > -0x0,
> > -0x0,
> > -0x0,
> > -0x0,
> > -0x0,
> > -0x0,
> > -0x0,
> > -0x0,
> > -0x0,
> > -0x0,
> > -0xfe,
> > -0xff,
> > -0xff,
> > -0xff,
> > -0xff,
> > -0xff,
> > -0xff,
> > -0xff,
> > -0x0,
> > -0x0,
> > -0x0,
> > -0x0,
> > -0x0,
> > -0x0,
> > -0x0,
> > -0x0,
> > -0xff,
> > -0xff,
> > -0xff,
> > -0xff,
> > -0xff,
> > -0xff,
> > -0xff,
> > -0xff,
> > -0x79,
> > -0x0,
> > -0x8a,
> > -0x4d,
> > -0x52,
> > -0x36,
> > -0x34,
> > -0xa,
> > -0xe,
> > -0x4d,
> > -0x49,
> > -0x4e,
> > -0x4c,
> > -0x8a,
> > -0x4d,
> > -0x52,
> > -0x36,
> > -0x34,
> > -0xa,
> > -0x12,
> > -0x4d,
> > -0x49,
> > -0x4e,
> > -0x48,
> > -0x8a,
> > -0x4d,
> > -0x52,
> > -0x36,
> > -0x34,
> > -0xa,
> > -0x26,
> > -0x4c,
> > -0x45,
> > -0x4e,
> > -0x4c,
> > -0x8a,
> > -0x4d,
> > -0x52,
> > -0x36,
> > -0x34,
> > -0xa,
> > -0x2a,
> > -0x4c,
> > -0x45,
> > -0x4e,
> > -0x48,
> > -0x8a,
> > -0x4d,
> > -0x52,
> > -0x36,
> > -0x34,
> > -0xa,
> > -0x16,
> > -0x4d,
> > -0x41,
> > -0x58,
> > -0x4c,
> > -0x8a,
> > -0x4d,
> > -0x52,
> > -0x36,
> > -0x34,
> > -0xa,
> > -0x1a,
> > -0x4d,
> > -0x41,
> > -0x58,
> > -0x48,
> > -0x70,
> > -0x4d,
> > -0x52,
> > -0x42,
> > -0x48,
> > -0x4d,
> > -0x49,
> > -0x4e,
> > -0x48,
> > -0x70,
> > -0x4d,
> > -0x52,
> > -0x42,
> > -0x4c,
> > -0x4d,
> > -0x49,
> > -0x4e,
> > -0x4c,
> > -0x70,
> > -0x4d,
> > -0x52,
> > -0x4c,
> > -0x48,
> > -0x4c,
> > -0x45,
> > -0x4e,
> > -0x48,
> > -0x70,
> > -0x4d,
> > -0x52,
> > -0x4c,
> > -0x4c,
> > -0x4c,
> > -0x45,
> > -0x4e,
> > -0x4c,
> > -0x72,
> > -0x4d,
> > -0x49,
> > -0x4e,
> > -0x4c,
> > -0x4c,
> > -0x45,
> > -0x4e,
> > -0x4c,
> > -0x4d,
> > -0x41,
> > -0x58,
> > -0x4c,
> > -0x72,
> > -0x4d,
> > -0x49,
> > -0x4e,
> > -0x48,
> > -0x4c,
> > -0x45,
> > -0x4e,
> > -0x48,
> > -0x4d,
> > -0x41,
> > -0x58,
> > -0x48,
> > -0xa0,
> > -0x14,
> > -0x95,
> > -0x4d,
> > -0x41,
> > -0x58,
> > -0x4c,
> > -0x4d,
> > -0x49,
> > -0x4e,
> > -0x4c,
> > -0x72,
> > -0x4d,
> > -0x41,
> > -0x58,
> > -0x48,
> > -0x1,
> > -0x4d,
> > -0x41,
> > -0x58,
> > -0x48,
> > -0xa0,
> > -0x11,
> > -0x95,
> > -0x4d,
> > -0x41,
> > -0x58,
> > -0x4c,
> > -0x1,
> > -0x74,
> > -0x4d,
> > -0x41,
> > -0x58,
> > -0x48,
> > -0x1,
> > -0x4d,
> > -0x41,
> > -0x58,
> > -0x48,
> > -0x74,
> > -0x4d,
> > -0x41,
> > -0x58,
> > -0x4c,
> > -0x1,
> > -0x4d,
> > -0x41,
> > -0x58,
> > -0x4c,
> > -0xa0,
> > -0x44,
> > -0x7,
> > -0x93,
> > -0x4d,
> > -0x41,
> > -0x58,
> > -0x48,
> > -0x0,
> > -0x8,
> > -0x4d,
> > -0x52,
> > -0x33,
> > -0x32,
> > -0x11,
> > -0x1f,
> > -0xa,
> > -0x1c,
> > -0x87,
> > -0x17,
> > -0x0,
> > -0x0,
> > -0xc,
> > -0x3,
> > -0x0,
> > -0x0,
> > -0x0,
> > -0x0,
> > -0x0,
> > -0x0,
> > -0x0,
> > -0x0,
> > -0xfe,
> > -0xff,
> > -0xff,
> > -0xff,
> > -0x0,
> > -0x0,
> > -0x0,
> > -0x0,
> > -0xff,
> > -0xff,
> > -0xff,
> > -0xff,
> > -0x79,
> > -0x0,
> > -0x8a,
> > -0x4d,
> > -0x52,
> > -0x33,
> > -0x32,
> > -0xa,
> > -0xa,
> > -0x4d,
> > -0x49,
> > -0x4e,
> > -0x5f,
> > -0x8a,
> > -0x4d,
> > -0x52,
> > -0x33,
> > -0x32,
> > -0xa,
> > -0xe,
> > -0x4d,
> > -0x41,
> > -0x58,
> > -0x5f,
> > -0x8a,
> > -0x4d,
> > -0x52,
> > -0x33,
> > -0x32,
> > -0xa,
> > -0x16,
> > -0x4c,
> > -0x45,
> > -0x4e,
> > -0x5f,
> > -0x70,
> > -0x4d,
> > -0x49,
> > -0x4e,
> > -0x4c,
> > -0x4d,
> > -0x49,
> > -0x4e,
> > -0x5f,
> > -0x70,
> > -0x4d,
> > -0x41,
> > -0x58,
> > -0x4c,
> > -0x4d,
> > -0x41,
> > -0x58,
> > -0x5f,
> > -0x70,
> > -0x4c,
> > -0x45,
> > -0x4e,
> > -0x4c,
> > -0x4c,
> > -0x45,
> > -0x4e,
> > -0x5f,
> > -0x5b,
> > -0x27,
> > -0x4d,
> > -0x4c,
> > -0x43,
> > -0x4b,
> > -0xa4,
> > -0x4d,
> > -0x52,
> > -0x33,
> > -0x32,
> > -0x5b,
> > -0x27,
> > -0x4d,
> > -0x4c,
> > -0x43,
> > -0x4b,
> > -0xa4,
> > -0x4d,
> > -0x52,
> > -0x36,
> > -0x34,
> > -0x14,
> > -0x24,
> > -0x4d,
> > -0x50,
> > -0x58,
> > -0x4d,
> > -0x1,
> > -0x5b,
> > -0x23,
> > -0x4d,
> > -0x4c,
> > -0x43,
> > -0x4b,
> > -0xff,
> > -0xff,
> > -0x70,
> > -0x99,
> > -0x68,
> > -0x0,
> > -0x4d,
> > -0x53,
> > -0x45,
> > -0x4c,
> > -0x70,
> > -0x4d,
> > -0x50,
> > -0x58,
> > -0x5f,
> > -0x60,
> > -0x5b,
> > -0x27,
> > -0x4d,
> > -0x4c,
> > -0x43,
> > -0x4b,
> > -0xa4,
> > -0x60,
> > -0x14,
> > -0x28,
> > -0x4d,
> > -0x4f,
> > -0x53,
> > -0x54,
> > -0x4,
> > -0x5b,
> > -0x23,
> > -0x4d,
> > -0x4c,
> > -0x43,
> > -0x4b,
> > -0xff,
> > -0xff,
> > -0x70,
> > -0x99,
> > -0x68,
> > -0x0,
> > -0x4d,
> > -0x53,
> > -0x45,
> > -0x4c,
> > -0x70,
> > -0x69,
> > -0x4d,
> > -0x4f,
> > -0x45,
> > -0x56,
> > -0x70,
> > -0x6a,
> > -0x4d,
> > -0x4f,
> > -0x53,
> > -0x43,
> > -0x5b,
> > -0x27,
> > -0x4d,
> > -0x4c,
> > -0x43,
> > -0x4b
> > +0x58
> > };
> > static unsigned char ssdt_isa_pest[] = {
> > -0xd0
> > +0xda
> > };
> > static unsigned char acpi_s4_name[] = {
> > -0x88
> > +0x92
> > };
> > static unsigned char acpi_pci64_start[] = {
> > 0x4d
> > diff --git a/tests/acpi-test-data/pc/DSDT
> > b/tests/acpi-test-data/pc/DSDT index
> > d37ec34454e6f3db5e91b777f94e03be67a5f583..ee9cc6781cea3a9515b9a176eea3459f8e4d8655
> > 100644 GIT binary patch delta 814
> > zcmZ8fO>fgc5ZzTP;cjS9h#MkQsYZMX1TsyPb5lFuz;3W?Qx*BJmfDDdKv}u%Atw_q
> > zpkA#WxJ4*`fIq`u;f9%6$0h1o8ohlp@9mCv{%m~TWNzq2Mx79P^ozAww)^~<4ELn(
> > z4D9%;V++rB4e1Tsb${sFJ-bT``4)C!^m&|4tmE;i`gHc*N=GN-v-EIuLgFu;F9KR4
> > zjI|Bv1Yu*Hv6qxE_}UX<Hf0#~$ZRba?l2&8GH11Tx`mn*5$y5Ig6Kiu90MT#Kw9y%
> > zsa?q~6a7$9F&Kt4rh+@KNj%*s)nOkbZ~FTXLdP;+t%}eYE}f)E65mBhQT)7rk>L3%
> > z5ulnib8RT17w@u!Ds7)8G>IQ#`J9?hMG!`G$w2)$CR$p{^@S9>QB@~quPvbOwd$~{
> > z)(}B=r_o{d`4d8}uaGP2Z-FZ-ii+2J2orLSN>+zU@)F(z=#}sR?^o<&fD5)IdIyWz
> > z+W<X<e-%XtI2r-q9tsd}G)a-p5TO`%I*;<1d4U`jq`0S=Y-p06UNVR{=J?FLmLpA|
> > z>CSdzi*0_pwcIo|i+y5`y1&jgV_+{c=n8Nh#Il4fxRF$NH0Bk$V^ZNoF|~LklwHE^
> > pj(HCTN6@Qppm3c2ztkfbm1uRjsD-bpKHwawk2pxBXMTtM{s%^7?%e<Y
> >
> > delta 23
> > ecmeB>`7X-k66_N4or{5iv0)>Z1lMF^-m3sr#Rl;J
> >
> > diff --git a/tests/acpi-test-data/pc/SSDT
> > b/tests/acpi-test-data/pc/SSDT index
> > eb2d8b698ce6a3a910a05244a3b6cf80bf818fb9..558e4c85b031ec081045aec6cc382a680e9c6009
> > 100644 GIT binary patch delta 38
> > ucmew<{#=kNIM^lRIR^s+Bi}?WX-1!kYJqGVzAk=2JQIsQY_4aiVg~@)a|=)a
> >
> > delta 833
> > zcmZ8fO>fgc5ZzTP)!np3CZ>%5sYXCSR3Ot-Ig{7{hwcXBHK@pyYzajaRFsw59wH7V
> > zT#(8sihAG{q5K1W6c_$LFN7I?l!&#oe*0$M+nt^HrC)3?DV^Y=LJ0jfVmD}OwDoc{
> > z{GIMSK6n(#R^-_oEBqoX;d+i1xgBTK>v~qxY7i}Y1uN0}*iQ!LVgE!OoxU@Z-f{ml
> > zdD}ZCnsB=Q3V{)Rc0J+K3Sq3KMYb>XRmPrC!r-e7h*6DX&?J-PF)GNEOj#vNhnpx`
> > z5PplBFu5>sL>!Q}ADQ8>nz@oEOtfW0MW-uiNCmg|NI1Nfi)9-mFWRqRlD26)Ulh{r
> > z&Yh%49NtFBZ1&^sd5q_)Sb%DhR>zs62%f%)smkn=n8x8f+&-noL*dJS&Kaohha{6$
> > z#@U4wyHf6sjb=?i-pl1-<z7wrja|LYtg~%GRu=HFijijjKeK$4Y_XgT$Qdfx8r+fR
> > z@G3wzhg-Z|vJU_j?7C>~7kjS*bQQiTiV$!#0>E7q07yAUmjrnPD8@w=NBP7!M-Jl&
> > zu4zW<8A(qr8AKdoeBvyPk%q?b>pS`;yZLovK55Jq^TZqnB!yJ!JB)#Ul*2U;7jPYJ
> > z6e&C!!wTIosPLi~DvE>-m$0#G+=0ds^#2+tY^Q&fx(}@qEQYs=wkRv5-eVuB57<b#
> > K=g%YhY3VN!sP#$!
> >
> > diff --git a/tests/acpi-test-data/q35/DSDT
> > b/tests/acpi-test-data/q35/DSDT index
> > 2d2bc4adaf54666fe7864e7f39203411b7c308f7..ef0c75f4236de3e6f727e21991533f2bf8279dee
> > 100644 GIT binary patch delta 793
> > zcmZ8f&1(}u6rZ65w-Z~5S!<L)7U~y*614<+vdM0Aqcd^YS*0?<EJ(15l408(a$4g>
> > z@VfNiEolA$|0u5>d+=a<Z$D~r7KY#Z`2F5{JMZVt$wTHzFFI)xLVy2YJFRs0-d!#G
> > zI&g;_^~voBKkzK=554tZ6m)u>F0u4;u*CSoB$+z<lSA|V=#7(%4<<*+>+u0mAN@dt
> > zv_=?fTG|a|eVwt#lrZ?3Q(`x?jCy3gmI-eZk_B0?nwqtdvm(MiPaU{@xH!iPP_U;R
> > zHEZOmWS5D7)Km;dk}4{=`;@5JrGhO7KzTNJ0he?g`^l=1?&wS<Lt?dsl;!f<_2U@p
> > zn^*vA-pF!65j}eODyAlvPhuLYo0z_!_8k$*h@KHJU-wB)tz~&bhFz$#W4qTBF!x$j
> > ztje`S_KRLg37kL6;vmLTn#(EqBEs%A+kk#}0WSjd3wVPMD(`K8rFT>G_R8F=0DXf$
> > z5J?C)3IX6g5)h;uRTA_gKr$M69O-lW7=0K|(5AVwo;&H`sRt3q7@vFRGISG5gb(i5
> > z+pP8ZG9l+ziph#us~KUw6tfrueGO9q+yHV3H=!eKur!7Zs$<Y#qZlgR18JwQyKP^C
> > o9TD{Z-)(Sn{yoYq*otUXZ8^mTRF7ib;>wtJxHE-j)^C0P3owxI%m4rY
> >
> > delta 23
> > ecmexn|J0JpCD<k8sSE=Hqv%F1OPR?b@{0gro(Eh2
> >
> > diff --git a/tests/acpi-test-data/q35/SSDT
> > b/tests/acpi-test-data/q35/SSDT index
> > 778b79bf428b5d7602b7b80c9434e38c79718bb2..4e45510181c4038505ae1815b76799a2cd0e8808
> > 100644 GIT binary patch delta 37
> > tcmX@awSk2zIM^k`fQf;D@!~`-X-1!kYJqGVzAk=2JQIsQOs;1+3;?*r3h)2`
> >
> > literal 1346
> > zcmZWp-%r#)5Z;vo%iaNZM@3>xxWwNWwZ|d)NUyD4q1#)#1u-SrCWd$z4b1@$ya^<l
> > z;Nyh{-%fM?hyG=pGwmH9_M!deoBd{Ic4sQ39o9z)p?<w-HDsl}AuI_TC4?ZxZ?QhQ
> > zNi<<dRRHS`AV(GY{oiMrsIDspuBud}Jk!9NK0r8E3GW}G_y{5@SySb)9ECjqFRHSZ
> > zV}wBju%4p_gB6zxo6km+tSe!;hAT}K9dRa{^-xm{*PeLe@HN9Qs*r^v!#p9;7vVGm
> > ziWZFy^8-VKnm(&!Xp#gyad)f}lOFk*>#-?)GO$I64iUz^STDQ{L`ahs+M2QgS(;$%
> > zHJ${a^niRvid}P?+|OVR;08o@eK(7au5=r86j!U8Plx$K?gnoNJIh`8!Z3{`sCNx2
> > z;ai_~+6R@^&R+6q|3js{wY#(5e!sO#G;aF=9zE375ImrH!r1KP%<$M|4~RaUR@fcy
> > zpaRP4v3ztmhnf){)V&J48u0QEd4R-*szis=X;8AvxFZ$it}kgsxo54C=<r4+mJUdo
> > z&N{rLRnb>+Tv|T4*eD@!bO$B<{;zwdF>as498}%uP8yJhuinKpNu#%88b=Rsb&u*#
> > zcmNl5NuT^^kyM%Qr1>OlYPdSq%~=kIKR(=RxK`uA(qgH`jFZQN6h`o<E<b1e>=|+c
> > zvwuKNP{<}BMK6P8fQ<~^_naX+4{*TFaC2j@_7=cKf@g{%1Re$g;5ATyz{4PIq!FMN
> > zjns|mu6~Lf`rByJlq{tr-8*LxdFb=H_Vo_Z&=f&!p)|*Cf4h0PWGofS#1hl;Y72}(
> > zcm*{9oCNIv&Okyc!JW~aU~qIMm?ydhH-xftxU{I>g{I;3>IEd&N*CAk5ZWZn{kLcv
> > zTPXR6J(Ptk9v29XMs!>swS-}07o@qi!rw|d-=-y8nC}-vpHkcmNzW48#06mEID;+2
> > zf$gjq)Dq4Lnk~KTL(g67<~uD$zGC!k%@R$&Y{L{6S916}iH@eEVJJ<R_F%w{=B4rS
> > YoS;O9e^J$jQ9`gV1ho{53Cj=3Um|f`5C8xG
> >
next prev parent reply other threads:[~2014-10-15 13:30 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-15 7:45 [Qemu-devel] [PATCH v2] target-i386: move generic memory hotplug methods to DSDTs Paolo Bonzini
2014-10-15 13:19 ` Igor Mammedov
2014-10-15 13:34 ` Michael S. Tsirkin [this message]
2014-10-16 7:43 ` Paolo Bonzini
2014-11-11 17:13 ` Paolo Bonzini
2014-11-20 6:05 ` Paolo Bonzini
2014-11-20 6:57 ` Michael S. Tsirkin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20141015133401.GA28312@redhat.com \
--to=mst@redhat.com \
--cc=imammedo@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.