From: "Michael S. Tsirkin" <mst@redhat.com>
To: qemu-devel@nongnu.org
Cc: Peter Maydell <peter.maydell@linaro.org>,
Eduardo Habkost <ehabkost@redhat.com>,
Gerd Hoffmann <kraxel@redhat.com>,
Igor Mammedov <imammedo@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Richard Henderson <rth@twiddle.net>
Subject: [PULL 07/29] acpi: add ISADeviceClass->build_aml()
Date: Mon, 4 May 2020 10:29:29 -0400 [thread overview]
Message-ID: <20200504142814.157589-8-mst@redhat.com> (raw)
In-Reply-To: <20200504142814.157589-1-mst@redhat.com>
From: Gerd Hoffmann <kraxel@redhat.com>
Also add isa_aml_build() function which walks all isa devices.
This allows to move aml builder code to isa devices.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20200429140003.7336-6-kraxel@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
include/hw/isa/isa.h | 2 ++
hw/i386/acpi-build.c | 1 +
hw/isa/isa-bus.c | 15 +++++++++++++++
3 files changed, 18 insertions(+)
diff --git a/include/hw/isa/isa.h b/include/hw/isa/isa.h
index 59a4d4b50a..02c2350274 100644
--- a/include/hw/isa/isa.h
+++ b/include/hw/isa/isa.h
@@ -69,6 +69,7 @@ typedef struct IsaDmaClass {
typedef struct ISADeviceClass {
DeviceClass parent_class;
+ void (*build_aml)(ISADevice *dev, Aml *scope);
} ISADeviceClass;
struct ISABus {
@@ -107,6 +108,7 @@ ISADevice *isa_try_create(ISABus *bus, const char *name);
ISADevice *isa_create_simple(ISABus *bus, const char *name);
ISADevice *isa_vga_init(ISABus *bus);
+void isa_build_aml(ISABus *bus, Aml *scope);
/**
* isa_register_ioport: Install an I/O port region on the ISA bus.
diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index 3a046b03e4..97f3c75cd9 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -1288,6 +1288,7 @@ static void build_isa_devices_aml(Aml *table)
error_report("No ISA bus, unable to define IPMI ACPI data");
} else {
build_acpi_ipmi_devices(scope, BUS(obj), "\\_SB.PCI0.ISA");
+ isa_build_aml(ISA_BUS(obj), scope);
}
aml_append(table, scope);
diff --git a/hw/isa/isa-bus.c b/hw/isa/isa-bus.c
index 798dd9194e..1f2189f4d5 100644
--- a/hw/isa/isa-bus.c
+++ b/hw/isa/isa-bus.c
@@ -207,6 +207,21 @@ ISADevice *isa_vga_init(ISABus *bus)
}
}
+void isa_build_aml(ISABus *bus, Aml *scope)
+{
+ BusChild *kid;
+ ISADevice *dev;
+ ISADeviceClass *dc;
+
+ QTAILQ_FOREACH(kid, &bus->parent_obj.children, sibling) {
+ dev = ISA_DEVICE(kid->child);
+ dc = ISA_DEVICE_GET_CLASS(dev);
+ if (dc->build_aml) {
+ dc->build_aml(dev, scope);
+ }
+ }
+}
+
static void isabus_dev_print(Monitor *mon, DeviceState *dev, int indent)
{
ISADevice *d = ISA_DEVICE(dev);
--
MST
next prev parent reply other threads:[~2020-05-04 14:37 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-04 14:29 [PULL 00/29] virtio,acpi,pci,pc: backlog from pre-5.0 Michael S. Tsirkin
2020-05-04 14:29 ` [PULL 01/29] hw/pci/pcie: Forbid hot-plug if it's disabled on the slot Michael S. Tsirkin
2020-05-04 14:29 ` [PULL 02/29] hw/pci/pcie: Replace PCI_DEVICE() casts with existing variable Michael S. Tsirkin
2020-05-04 14:29 ` [PULL 03/29] move 'typedef Aml' to qemu/types.h Michael S. Tsirkin
2020-05-04 14:29 ` [PULL 04/29] acpi: add aml builder stubs Michael S. Tsirkin
2020-05-04 14:29 ` [PULL 05/29] qtest: allow DSDT acpi table changes Michael S. Tsirkin
2020-05-04 14:29 ` [PULL 06/29] acpi: drop pointless _STA method Michael S. Tsirkin
2020-05-04 14:29 ` Michael S. Tsirkin [this message]
2020-05-04 14:29 ` [PULL 08/29] rtc: add RTC_ISA_BASE Michael S. Tsirkin
2020-05-04 14:29 ` [PULL 09/29] virtio-vga: fix virtio-vga bar ordering Michael S. Tsirkin
2020-05-04 14:29 ` [PULL 10/29] virtio-pci: update virtio pci bar layout documentation Michael S. Tsirkin
2020-05-04 14:29 ` [PULL 11/29] vhost-user-blk: fix invalid memory access Michael S. Tsirkin
2020-05-04 14:29 ` [PULL 12/29] checkpatch: fix acpi check with multiple file name Michael S. Tsirkin
2020-05-04 14:29 ` [PULL 13/29] checkpatch: ignore allowed diff list Michael S. Tsirkin
2020-05-04 14:29 ` [PULL 14/29] acpi: DSDT without _STA Michael S. Tsirkin
2020-05-04 14:29 ` [PULL 15/29] hw/acpi/nvdimm: Fix for NVDIMM incorrect DSM output buffer length Michael S. Tsirkin
2020-05-04 14:29 ` [PULL 16/29] nvdimm: Use configurable ACPI IO base and size Michael S. Tsirkin
2020-05-04 14:29 ` [PULL 17/29] hw/arm/virt: Add nvdimm hot-plug infrastructure Michael S. Tsirkin
2020-05-04 14:29 ` [PULL 18/29] hw/arm/virt: Add nvdimm hotplug support Michael S. Tsirkin
2020-05-04 14:29 ` [PULL 19/29] tests: Update ACPI tables list for upcoming arm/virt test changes Michael S. Tsirkin
2020-05-04 14:30 ` [PULL 20/29] bios-tables-test: test pc-dimm and nvdimm coldplug for arm/virt Michael S. Tsirkin
2020-05-04 14:30 ` [PULL 21/29] tests/acpi: add expected tables for bios-tables-test Michael S. Tsirkin
2020-05-04 14:30 ` [PULL 22/29] Refactor vhost_user_set_mem_table functions Michael S. Tsirkin
2020-05-04 14:30 ` [PULL 23/29] acpi: unit-test: Ignore diff in WAET ACPI table Michael S. Tsirkin
2020-05-04 14:30 ` [PULL 24/29] acpi: Add Windows ACPI Emulated Device Table (WAET) Michael S. Tsirkin
2020-05-04 14:30 ` [PULL 25/29] acpi: unit-test: Update WAET ACPI Table expected binaries Michael S. Tsirkin
2020-05-04 14:30 ` [PULL 26/29] hw/i386/pc: Create 'vmport' device in place Michael S. Tsirkin
2020-05-04 14:30 ` [PULL 27/29] hw/i386/vmport: Remove unused 'hw/input/i8042.h' include Michael S. Tsirkin
2020-05-04 14:30 ` [PULL 28/29] hw/i386: Add 'vmport.h' local header Michael S. Tsirkin
2020-05-04 14:30 ` [PULL 29/29] hw/i386: Make vmmouse helpers static Michael S. Tsirkin
2020-05-04 19:35 ` [PULL 00/29] virtio,acpi,pci,pc: backlog from pre-5.0 Peter Maydell
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=20200504142814.157589-8-mst@redhat.com \
--to=mst@redhat.com \
--cc=ehabkost@redhat.com \
--cc=imammedo@redhat.com \
--cc=kraxel@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).