From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37660) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a9DMn-0000M6-Dt for qemu-devel@nongnu.org; Wed, 16 Dec 2015 09:47:46 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a9DMj-0000Eq-7c for qemu-devel@nongnu.org; Wed, 16 Dec 2015 09:47:45 -0500 Received: from mx1.redhat.com ([209.132.183.28]:40456) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a9DMj-0000Ei-2C for qemu-devel@nongnu.org; Wed, 16 Dec 2015 09:47:41 -0500 From: Igor Mammedov Date: Wed, 16 Dec 2015 15:47:35 +0100 Message-Id: <1450277255-69201-1-git-send-email-imammedo@redhat.com> In-Reply-To: <1449704528-289297-27-git-send-email-imammedo@redhat.com> References: <1449704528-289297-27-git-send-email-imammedo@redhat.com> Subject: [Qemu-devel] [PATCH v2 26/74] pc: acpi: memhp: move MHPD._STA method into SSDT List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: marcel.apfelbaum@gmail.com, mst@redhat.com Signed-off-by: Igor Mammedov --- v2: - add parentheses around ifctx block Suggested-by: Marcel Apfelbaum --- hw/acpi/memory_hotplug_acpi_table.c | 14 ++++++++++++++ hw/i386/acpi-dsdt-mem-hotplug.dsl | 8 -------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/hw/acpi/memory_hotplug_acpi_table.c b/hw/acpi/memory_hotplug_acpi_table.c index 9b61b1c..e1a6551 100644 --- a/hw/acpi/memory_hotplug_acpi_table.c +++ b/hw/acpi/memory_hotplug_acpi_table.c @@ -29,11 +29,25 @@ void build_memory_hotplug_aml(Aml *ctx, uint32_t nr_mem, { Aml *pci_scope; Aml *ctrl_dev; + Aml *method; + Aml *ifctx; + Aml *a_zero = aml_int(0); + Aml *a_slots_nr = aml_name(stringify(MEMORY_SLOTS_NUMBER)); /* scope for memory hotplug controller device node */ pci_scope = aml_scope("_SB.PCI0"); ctrl_dev = aml_scope(stringify(MEMORY_HOTPLUG_DEVICE)); { + /* MHPD._STA() method */ + method = aml_method("_STA", 0, AML_NOTSERIALIZED); + ifctx = aml_if(aml_equal(a_slots_nr, a_zero)); + { + aml_append(ifctx, aml_return(a_zero)); + } + aml_append(method, ifctx); + /* present, functioning, decoding, not shown in UI */ + aml_append(method, aml_return(aml_int(0xB))); + aml_append(ctrl_dev, method); } aml_append(pci_scope, ctrl_dev); aml_append(ctx, pci_scope); diff --git a/hw/i386/acpi-dsdt-mem-hotplug.dsl b/hw/i386/acpi-dsdt-mem-hotplug.dsl index c2bb6a1..b4eacc9 100644 --- a/hw/i386/acpi-dsdt-mem-hotplug.dsl +++ b/hw/i386/acpi-dsdt-mem-hotplug.dsl @@ -35,14 +35,6 @@ External(MEMORY_SLOT_OST_EVENT, FieldUnitObj) // _OST event code, write only External(MEMORY_SLOT_OST_STATUS, FieldUnitObj) // _OST status code, write only - Method(_STA, 0) { - If (LEqual(MEMORY_SLOTS_NUMBER, Zero)) { - Return(0x0) - } - /* present, functioning, decoding, not shown in UI */ - Return(0xB) - } - Mutex (MEMORY_SLOT_LOCK, 0) Method(MEMORY_SLOT_SCAN_METHOD, 0) { -- 1.8.3.1