[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 01/47] acpi: introduce AML composer aml_appen

From: Marcel Apfelbaum
Subject: Re: [Qemu-devel] [PATCH v2 01/47] acpi: introduce AML composer aml_append()
Date: Thu, 05 Feb 2015 16:30:58 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0

On 01/28/2015 09:56 AM, Michael S. Tsirkin wrote:
I've tried redo series with passing alloc list as first argument,
looks ugly as hell

I tried too. Not too bad at all. See below:

diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index f66da5d..820504a 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -491,14 +491,14 @@ static void acpi_set_pci_info(void)

-static void build_append_pcihp_notify_entry(AcpiAml *method, int slot)
+static void build_append_pcihp_notify_entry(AmlPool *p, AcpiAml *method, int 
-    AcpiAml if_ctx;
+    AcpiAml *if_ctx;
      int32_t devfn = PCI_DEVFN(slot, 0);

-    if_ctx = acpi_if(acpi_and(acpi_arg0(), acpi_int(0x1U << slot)));
-    aml_append(&if_ctx, acpi_notify(acpi_name("S%.02X", devfn), acpi_arg1()));
-    aml_append(method, if_ctx);
+    if_ctx = acpi_if(p, acpi_and(p, acpi_arg0(), acpi_int(p, 0x1U << slot)));
+    aml_append(p, if_ctx, acpi_notify(p, acpi_name(p, "S%.02X", devfn), 
+    aml_append(p, method, if_ctx);

  static void build_append_pci_bus_devices(AcpiAml *parent_scope, PCIBus *bus,

What exactly is the problem?  A tiny bit more verbose but the lifetime
of all objects is now explicit.
A matter of taste, but I personally don't like this p everywhere,
it makes everything hard to read.

I am still wondering about the static variable that will hold
all of the instances and will be explicitly freed at the end.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]