qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: qemu-devel@nongnu.org
Cc: Peter Maydell <peter.maydell@linaro.org>,
	Richard Henderson <rth@twiddle.net>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <ehabkost@redhat.com>,
	Igor Mammedov <imammedo@redhat.com>
Subject: [Qemu-devel] [PULL 53/59] pc: acpi: switch to AML API composed DSDT
Date: Fri, 8 Jan 2016 16:21:12 +0200	[thread overview]
Message-ID: <1452262668-31244-54-git-send-email-mst@redhat.com> (raw)
In-Reply-To: <1452262668-31244-1-git-send-email-mst@redhat.com>

From: Igor Mammedov <imammedo@redhat.com>

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
 hw/i386/acpi-build.c | 235 +++++++++++++++++++++++++--------------------------
 1 file changed, 115 insertions(+), 120 deletions(-)

diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index 68e40d9..78758e2 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -54,9 +54,6 @@
 #include "hw/i386/intel_iommu.h"
 #include "hw/timer/hpet.h"
 
-#include "hw/i386/q35-acpi-dsdt.hex"
-#include "hw/i386/acpi-dsdt.hex"
-
 #include "hw/acpi/aml-build.h"
 
 #include "qapi/qmp/qint.h"
@@ -125,24 +122,6 @@ typedef struct AcpiBuildPciBusHotplugState {
     bool pcihp_bridge_en;
 } AcpiBuildPciBusHotplugState;
 
-static void acpi_get_dsdt(AcpiMiscInfo *info)
-{
-    Object *piix = piix4_pm_find();
-    Object *lpc = ich9_lpc_find();
-    assert(!!piix != !!lpc);
-
-    if (piix) {
-        info->is_piix4 = true;
-        info->dsdt_code = AcpiDsdtAmlCode;
-        info->dsdt_size = sizeof AcpiDsdtAmlCode;
-    }
-    if (lpc) {
-        info->is_piix4 = false;
-        info->dsdt_code = Q35AcpiDsdtAmlCode;
-        info->dsdt_size = sizeof Q35AcpiDsdtAmlCode;
-    }
-}
-
 static
 int acpi_add_cpu_info(Object *o, void *opaque)
 {
@@ -241,6 +220,17 @@ static void acpi_get_pm_info(AcpiPmInfo *pm)
 
 static void acpi_get_misc_info(AcpiMiscInfo *info)
 {
+    Object *piix = piix4_pm_find();
+    Object *lpc = ich9_lpc_find();
+    assert(!!piix != !!lpc);
+
+    if (piix) {
+        info->is_piix4 = true;
+    }
+    if (lpc) {
+        info->is_piix4 = false;
+    }
+
     info->has_hpet = hpet_find();
     info->tpm_version = tpm_get_version();
     info->pvpanic_port = pvpanic_port();
@@ -1965,95 +1955,6 @@ build_ssdt(GArray *table_data, GArray *linker,
     /* Reserve space for header */
     acpi_data_push(ssdt->buf, sizeof(AcpiTableHeader));
 
-    build_dbg_aml(ssdt);
-    if (misc->is_piix4) {
-        sb_scope = aml_scope("_SB");
-        dev = aml_device("PCI0");
-        aml_append(dev, aml_name_decl("_HID", aml_eisaid("PNP0A03")));
-        aml_append(dev, aml_name_decl("_ADR", aml_int(0)));
-        aml_append(dev, aml_name_decl("_UID", aml_int(1)));
-        aml_append(sb_scope, dev);
-        aml_append(ssdt, sb_scope);
-
-        build_hpet_aml(ssdt);
-        build_piix4_pm(ssdt);
-        build_piix4_isa_bridge(ssdt);
-        build_isa_devices_aml(ssdt);
-        build_piix4_pci_hotplug(ssdt);
-        build_piix4_pci0_int(ssdt);
-    } else {
-        sb_scope = aml_scope("_SB");
-        aml_append(sb_scope,
-            aml_operation_region("PCST", AML_SYSTEM_IO, 0xae00, 0x0c));
-        aml_append(sb_scope,
-            aml_operation_region("PCSB", AML_SYSTEM_IO, 0xae0c, 0x01));
-        field = aml_field("PCSB", AML_ANY_ACC, AML_NOLOCK, AML_WRITE_AS_ZEROS);
-        aml_append(field, aml_named_field("PCIB", 8));
-        aml_append(sb_scope, field);
-        aml_append(ssdt, sb_scope);
-
-        sb_scope = aml_scope("_SB");
-        dev = aml_device("PCI0");
-        aml_append(dev, aml_name_decl("_HID", aml_eisaid("PNP0A08")));
-        aml_append(dev, aml_name_decl("_CID", aml_eisaid("PNP0A03")));
-        aml_append(dev, aml_name_decl("_ADR", aml_int(0)));
-        aml_append(dev, aml_name_decl("_UID", aml_int(1)));
-        aml_append(dev, aml_name_decl("SUPP", aml_int(0)));
-        aml_append(dev, aml_name_decl("CTRL", aml_int(0)));
-        aml_append(dev, build_q35_osc_method());
-        aml_append(sb_scope, dev);
-        aml_append(ssdt, sb_scope);
-
-        build_hpet_aml(ssdt);
-        build_q35_isa_bridge(ssdt);
-        build_isa_devices_aml(ssdt);
-        build_q35_pci0_int(ssdt);
-    }
-
-    build_cpu_hotplug_aml(ssdt);
-    build_memory_hotplug_aml(ssdt, nr_mem, pm->mem_hp_io_base,
-                             pm->mem_hp_io_len);
-
-    scope =  aml_scope("_GPE");
-    {
-        aml_append(scope, aml_name_decl("_HID", aml_string("ACPI0006")));
-
-        aml_append(scope, aml_method("_L00", 0, AML_NOTSERIALIZED));
-
-        if (misc->is_piix4) {
-            method = aml_method("_E01", 0, AML_NOTSERIALIZED);
-            aml_append(method,
-                aml_acquire(aml_name("\\_SB.PCI0.BLCK"), 0xFFFF));
-            aml_append(method, aml_call0("\\_SB.PCI0.PCNT"));
-            aml_append(method, aml_release(aml_name("\\_SB.PCI0.BLCK")));
-            aml_append(scope, method);
-        } else {
-            aml_append(scope, aml_method("_L01", 0, AML_NOTSERIALIZED));
-        }
-
-        method = aml_method("_E02", 0, AML_NOTSERIALIZED);
-        aml_append(method, aml_call0("\\_SB." CPU_SCAN_METHOD));
-        aml_append(scope, method);
-
-        method = aml_method("_E03", 0, AML_NOTSERIALIZED);
-        aml_append(method, aml_call0(MEMORY_HOTPLUG_HANDLER_PATH));
-        aml_append(scope, method);
-
-        aml_append(scope, aml_method("_L04", 0, AML_NOTSERIALIZED));
-        aml_append(scope, aml_method("_L05", 0, AML_NOTSERIALIZED));
-        aml_append(scope, aml_method("_L06", 0, AML_NOTSERIALIZED));
-        aml_append(scope, aml_method("_L07", 0, AML_NOTSERIALIZED));
-        aml_append(scope, aml_method("_L08", 0, AML_NOTSERIALIZED));
-        aml_append(scope, aml_method("_L09", 0, AML_NOTSERIALIZED));
-        aml_append(scope, aml_method("_L0A", 0, AML_NOTSERIALIZED));
-        aml_append(scope, aml_method("_L0B", 0, AML_NOTSERIALIZED));
-        aml_append(scope, aml_method("_L0C", 0, AML_NOTSERIALIZED));
-        aml_append(scope, aml_method("_L0D", 0, AML_NOTSERIALIZED));
-        aml_append(scope, aml_method("_L0E", 0, AML_NOTSERIALIZED));
-        aml_append(scope, aml_method("_L0F", 0, AML_NOTSERIALIZED));
-    }
-    aml_append(ssdt, scope);
-
     bus = PC_MACHINE(machine)->bus;
     if (bus) {
         QLIST_FOREACH(bus, &bus->child, sibling) {
@@ -2523,18 +2424,113 @@ build_dmar_q35(GArray *table_data, GArray *linker)
 }
 
 static void
-build_dsdt(GArray *table_data, GArray *linker, AcpiMiscInfo *misc)
+build_dsdt(GArray *table_data, GArray *linker,
+           AcpiPmInfo *pm, AcpiMiscInfo *misc)
 {
-    AcpiTableHeader *dsdt;
+    Aml *dsdt, *sb_scope, *scope, *dev, *method, *field;
+    MachineState *machine = MACHINE(qdev_get_machine());
+    uint32_t nr_mem = machine->ram_slots;
+
+    dsdt = init_aml_allocator();
 
-    assert(misc->dsdt_code && misc->dsdt_size);
+    /* Reserve space for header */
+    acpi_data_push(dsdt->buf, sizeof(AcpiTableHeader));
 
-    dsdt = acpi_data_push(table_data, misc->dsdt_size);
-    memcpy(dsdt, misc->dsdt_code, misc->dsdt_size);
+    build_dbg_aml(dsdt);
+    if (misc->is_piix4) {
+        sb_scope = aml_scope("_SB");
+        dev = aml_device("PCI0");
+        aml_append(dev, aml_name_decl("_HID", aml_eisaid("PNP0A03")));
+        aml_append(dev, aml_name_decl("_ADR", aml_int(0)));
+        aml_append(dev, aml_name_decl("_UID", aml_int(1)));
+        aml_append(sb_scope, dev);
+        aml_append(dsdt, sb_scope);
+
+        build_hpet_aml(dsdt);
+        build_piix4_pm(dsdt);
+        build_piix4_isa_bridge(dsdt);
+        build_isa_devices_aml(dsdt);
+        build_piix4_pci_hotplug(dsdt);
+        build_piix4_pci0_int(dsdt);
+    } else {
+        sb_scope = aml_scope("_SB");
+        aml_append(sb_scope,
+            aml_operation_region("PCST", AML_SYSTEM_IO, 0xae00, 0x0c));
+        aml_append(sb_scope,
+            aml_operation_region("PCSB", AML_SYSTEM_IO, 0xae0c, 0x01));
+        field = aml_field("PCSB", AML_ANY_ACC, AML_NOLOCK, AML_WRITE_AS_ZEROS);
+        aml_append(field, aml_named_field("PCIB", 8));
+        aml_append(sb_scope, field);
+        aml_append(dsdt, sb_scope);
+
+        sb_scope = aml_scope("_SB");
+        dev = aml_device("PCI0");
+        aml_append(dev, aml_name_decl("_HID", aml_eisaid("PNP0A08")));
+        aml_append(dev, aml_name_decl("_CID", aml_eisaid("PNP0A03")));
+        aml_append(dev, aml_name_decl("_ADR", aml_int(0)));
+        aml_append(dev, aml_name_decl("_UID", aml_int(1)));
+        aml_append(dev, aml_name_decl("SUPP", aml_int(0)));
+        aml_append(dev, aml_name_decl("CTRL", aml_int(0)));
+        aml_append(dev, build_q35_osc_method());
+        aml_append(sb_scope, dev);
+        aml_append(dsdt, sb_scope);
+
+        build_hpet_aml(dsdt);
+        build_q35_isa_bridge(dsdt);
+        build_isa_devices_aml(dsdt);
+        build_q35_pci0_int(dsdt);
+    }
 
-    memset(dsdt, 0, sizeof *dsdt);
-    build_header(linker, table_data, dsdt, "DSDT",
-                 misc->dsdt_size, 1, NULL);
+    build_cpu_hotplug_aml(dsdt);
+    build_memory_hotplug_aml(dsdt, nr_mem, pm->mem_hp_io_base,
+                             pm->mem_hp_io_len);
+
+    scope =  aml_scope("_GPE");
+    {
+        aml_append(scope, aml_name_decl("_HID", aml_string("ACPI0006")));
+
+        aml_append(scope, aml_method("_L00", 0, AML_NOTSERIALIZED));
+
+        if (misc->is_piix4) {
+            method = aml_method("_E01", 0, AML_NOTSERIALIZED);
+            aml_append(method,
+                aml_acquire(aml_name("\\_SB.PCI0.BLCK"), 0xFFFF));
+            aml_append(method, aml_call0("\\_SB.PCI0.PCNT"));
+            aml_append(method, aml_release(aml_name("\\_SB.PCI0.BLCK")));
+            aml_append(scope, method);
+        } else {
+            aml_append(scope, aml_method("_L01", 0, AML_NOTSERIALIZED));
+        }
+
+        method = aml_method("_E02", 0, AML_NOTSERIALIZED);
+        aml_append(method, aml_call0("\\_SB." CPU_SCAN_METHOD));
+        aml_append(scope, method);
+
+        method = aml_method("_E03", 0, AML_NOTSERIALIZED);
+        aml_append(method, aml_call0(MEMORY_HOTPLUG_HANDLER_PATH));
+        aml_append(scope, method);
+
+        aml_append(scope, aml_method("_L04", 0, AML_NOTSERIALIZED));
+        aml_append(scope, aml_method("_L05", 0, AML_NOTSERIALIZED));
+        aml_append(scope, aml_method("_L06", 0, AML_NOTSERIALIZED));
+        aml_append(scope, aml_method("_L07", 0, AML_NOTSERIALIZED));
+        aml_append(scope, aml_method("_L08", 0, AML_NOTSERIALIZED));
+        aml_append(scope, aml_method("_L09", 0, AML_NOTSERIALIZED));
+        aml_append(scope, aml_method("_L0A", 0, AML_NOTSERIALIZED));
+        aml_append(scope, aml_method("_L0B", 0, AML_NOTSERIALIZED));
+        aml_append(scope, aml_method("_L0C", 0, AML_NOTSERIALIZED));
+        aml_append(scope, aml_method("_L0D", 0, AML_NOTSERIALIZED));
+        aml_append(scope, aml_method("_L0E", 0, AML_NOTSERIALIZED));
+        aml_append(scope, aml_method("_L0F", 0, AML_NOTSERIALIZED));
+    }
+    aml_append(dsdt, scope);
+
+    /* copy AML table into ACPI tables blob and patch header there */
+    g_array_append_vals(table_data, dsdt->buf->data, dsdt->buf->len);
+    build_header(linker, table_data,
+        (void *)(table_data->data + table_data->len - dsdt->buf->len),
+        "DSDT", dsdt->buf->len, 1, NULL);
+    free_aml_allocator();
 }
 
 static GArray *
@@ -2628,7 +2624,6 @@ void acpi_build(PcGuestInfo *guest_info, AcpiBuildTables *tables)
 
     acpi_get_cpu_info(&cpu);
     acpi_get_pm_info(&pm);
-    acpi_get_dsdt(&misc);
     acpi_get_misc_info(&misc);
     acpi_get_pci_info(&pci);
 
@@ -2650,7 +2645,7 @@ void acpi_build(PcGuestInfo *guest_info, AcpiBuildTables *tables)
 
     /* DSDT is pointed to by FADT */
     dsdt = tables_blob->len;
-    build_dsdt(tables_blob, tables->linker, &misc);
+    build_dsdt(tables_blob, tables->linker, &pm, &misc);
 
     /* Count the size of the DSDT and SSDT, we will need it for legacy
      * sizing of ACPI tables.
-- 
MST

  parent reply	other threads:[~2016-01-08 14:21 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-08 15:08 [Qemu-devel] [PULL 00/59] acpi dsdt rework, misc fixes Michael S. Tsirkin
2016-01-08 14:18 ` [Qemu-devel] [PULL 04/59] tests: acpi: print ASL diff in verbose mode Michael S. Tsirkin
2016-01-08 14:18 ` [Qemu-devel] [PULL 05/59] pc: acpi: memhp: prepare context in SSDT for moving memhp DSDT code Michael S. Tsirkin
2016-01-08 14:18 ` [Qemu-devel] [PULL 06/59] pc: acpi: memhp: move MHPD._STA method into SSDT Michael S. Tsirkin
2016-01-08 14:18 ` [Qemu-devel] [PULL 07/59] pc: acpi: memhp: move MHPD.MLCK mutex " Michael S. Tsirkin
2016-01-08 14:18 ` [Qemu-devel] [PULL 08/59] pc: acpi: memhp: move MHPD.MSCN method " Michael S. Tsirkin
2016-01-08 14:18 ` [Qemu-devel] [PULL 09/59] pc: acpi: memhp: move MHPD.MRST " Michael S. Tsirkin
2016-01-08 14:19 ` [Qemu-devel] [PULL 10/59] pc: acpi: memhp: move MHPD.MPXM " Michael S. Tsirkin
2016-01-08 14:19 ` [Qemu-devel] [PULL 11/59] pc: acpi: memhp: move MHPD.MOST " Michael S. Tsirkin
2016-01-08 14:19 ` [Qemu-devel] [PULL 12/59] pc: acpi: memhp: move MHPD.MEJ0 " Michael S. Tsirkin
2016-01-08 14:19 ` [Qemu-devel] [PULL 13/59] pc: acpi: memhp: move MHPD.MCRS " Michael S. Tsirkin
2016-01-08 14:19 ` [Qemu-devel] [PULL 14/59] pc: acpi: memhp: move MHPD Device " Michael S. Tsirkin
2016-01-08 14:19 ` [Qemu-devel] [PULL 15/59] pc: acpi: factor out memhp code from build_ssdt() into separate function Michael S. Tsirkin
2016-01-08 14:19 ` [Qemu-devel] [PULL 16/59] pc: acpi: memhp: move \_GPE._E03 into SSDT Michael S. Tsirkin
2016-01-08 14:19 ` [Qemu-devel] [PULL 17/59] pc: acpi: memhp: drop not needed stringify(MEMORY_foo) usage Michael S. Tsirkin
2016-01-08 14:19 ` [Qemu-devel] [PULL 18/59] pc: acpi: drop unused CPU_STATUS_LEN from DSDT Michael S. Tsirkin
2016-01-08 14:19 ` [Qemu-devel] [PULL 19/59] pc: acpi: cpuhp: move CPEJ() method to SSDT Michael S. Tsirkin
2016-01-08 14:19 ` [Qemu-devel] [PULL 20/59] pc: acpi: cpuhp: move CPMA() method into SSDT Michael S. Tsirkin
2016-01-08 14:19 ` [Qemu-devel] [PULL 21/59] pc: acpi: cpuhp: move CPST() " Michael S. Tsirkin
2016-01-08 14:19 ` [Qemu-devel] [PULL 22/59] pc: acpi: cpuhp: move PRSC() " Michael S. Tsirkin
2016-01-08 14:19 ` [Qemu-devel] [PULL 23/59] pc: acpi: cpuhp: move \_GPE._E02() " Michael S. Tsirkin
2016-01-08 14:19 ` [Qemu-devel] [PULL 24/59] pc: acpi: factor out cpu hotplug code from build_ssdt() into separate function Michael S. Tsirkin
2016-01-08 14:19 ` [Qemu-devel] [PULL 25/59] pc: acpi: move HPET from DSDT to SSDT Michael S. Tsirkin
2016-01-08 14:19 ` [Qemu-devel] [PULL 26/59] pc: acpi: move DBUG() " Michael S. Tsirkin
2016-01-08 14:19 ` [Qemu-devel] [PULL 27/59] pc: acpi: move RTC device " Michael S. Tsirkin
2016-01-08 14:19 ` [Qemu-devel] [PULL 28/59] pc: acpi: move KBD " Michael S. Tsirkin
2016-01-08 14:19 ` [Qemu-devel] [PULL 29/59] pc: acpi: move MOU " Michael S. Tsirkin
2016-01-08 14:20 ` [Qemu-devel] [PULL 30/59] pc: acpi: move FDC0 " Michael S. Tsirkin
2016-01-08 14:20 ` [Qemu-devel] [PULL 31/59] pc: acpi: move LPT " Michael S. Tsirkin
2016-01-08 14:20 ` [Qemu-devel] [PULL 32/59] pc: acpi: move COM devices " Michael S. Tsirkin
2016-01-08 14:20 ` [Qemu-devel] [PULL 33/59] pc: acpi: move PIIX4 isa-bridge and pm devices into SSDT Michael S. Tsirkin
2016-01-08 14:20 ` [Qemu-devel] [PULL 34/59] pc: acpi: move remaining GPE handlers " Michael S. Tsirkin
2016-01-08 14:20 ` [Qemu-devel] [PULL 35/59] pc: acpi: pci: move link devices " Michael S. Tsirkin
2016-01-08 14:20 ` [Qemu-devel] [PULL 36/59] pc: acpi: piix4: move IQCR() " Michael S. Tsirkin
2016-01-08 14:20 ` [Qemu-devel] [PULL 37/59] pc: acpi: piix4: move IQST() " Michael S. Tsirkin
2016-01-08 14:20 ` [Qemu-devel] [PULL 38/59] pc: acpi: piix4: move PCI0._PRT() " Michael S. Tsirkin
2016-01-08 14:20 ` [Qemu-devel] [PULL 39/59] pc: acpi: piix4: move remaining PCI hotplug bits " Michael S. Tsirkin
2016-01-08 14:20 ` [Qemu-devel] [PULL 40/59] pc: acpi: piix4: acpi move PCI0 device to SSDT Michael S. Tsirkin
2016-01-08 14:20 ` [Qemu-devel] [PULL 41/59] pc: acpi: q35: move GSI links " Michael S. Tsirkin
2016-01-08 14:20 ` [Qemu-devel] [PULL 42/59] pc: acpi: q35: move link devices " Michael S. Tsirkin
2016-01-08 14:20 ` [Qemu-devel] [PULL 43/59] pc: acpi: q35: move IQCR() into SSDT Michael S. Tsirkin
2016-01-08 14:20 ` [Qemu-devel] [PULL 44/59] pc: acpi: q35: move IQST() " Michael S. Tsirkin
2016-01-08 14:20 ` [Qemu-devel] [PULL 45/59] pc: acpi: q35: move ISA bridge " Michael S. Tsirkin
2016-01-08 14:20 ` [Qemu-devel] [PULL 46/59] pc: acpi: q35: move _PRT() " Michael S. Tsirkin
2016-01-08 14:20 ` [Qemu-devel] [PULL 47/59] pc: acpi: q35: move PRTA routing table " Michael S. Tsirkin
2016-01-08 14:20 ` [Qemu-devel] [PULL 48/59] pc: acpi: q35: move PRTP " Michael S. Tsirkin
2016-01-08 14:20 ` [Qemu-devel] [PULL 49/59] pc: acpi: q35: move _PIC() method " Michael S. Tsirkin
2016-01-08 14:21 ` [Qemu-devel] [PULL 50/59] pc: acpi: q35: move PCI0._OSC() " Michael S. Tsirkin
2016-01-08 14:21 ` [Qemu-devel] [PULL 51/59] pc: acpi: q35: move PCI0 device definition " Michael S. Tsirkin
2016-01-08 14:21 ` [Qemu-devel] [PULL 52/59] pc: acpi: q35: PCST, PCSB opregions and PCIB field " Michael S. Tsirkin
2016-01-08 14:21 ` Michael S. Tsirkin [this message]
2016-01-08 14:21 ` [Qemu-devel] [PULL 54/59] pc: acpi: remove unused ASL templates and related blobs/utils Michael S. Tsirkin
2016-01-08 14:21 ` [Qemu-devel] [PULL 55/59] i386/pc: expose identifying the floppy controller Michael S. Tsirkin
2016-01-08 14:21 ` [Qemu-devel] [PULL 56/59] Add VMSTATE_STRUCT_VARRAY_KNOWN Michael S. Tsirkin
2016-01-08 14:21 ` [Qemu-devel] [PULL 57/59] migration/virtio: Remove simple .get/.put use Michael S. Tsirkin
2016-01-08 14:21 ` [Qemu-devel] [PULL 58/59] ivshmem: Store file descriptor for vhost-user negotiation Michael S. Tsirkin
2016-01-08 14:21 ` [Qemu-devel] [PULL 59/59] virtio: fix error message for number of queues Michael S. Tsirkin
2016-01-08 15:08 ` [Qemu-devel] [PULL 01/59] nvdimm: fix header pointer in nvdimm_build_nfit() Michael S. Tsirkin
2016-01-08 15:08 ` [Qemu-devel] [PULL 02/59] igd-passthrough: fix use of host_pci_config_read Michael S. Tsirkin
2016-01-08 15:08 ` [Qemu-devel] [PULL 03/59] hw/i386: fill in the CENTURY field of the FADT (FACP) ACPI table Michael S. Tsirkin
2016-01-08 16:21 ` [Qemu-devel] [PULL 00/59] acpi dsdt rework, misc fixes Peter Maydell
2016-01-08 17:34   ` [Qemu-devel] [PATCH] pc: acpi: fix build fail on w32 Igor Mammedov
2016-01-09 21:18     ` 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=1452262668-31244-54-git-send-email-mst@redhat.com \
    --to=mst@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=imammedo@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=rth@twiddle.net \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).