On 12/11/2014 14:27, Peter Maydell wrote:
If somebody with more x86/ACPI knowledge could clarify what the dynamically-constructed parts of the tables are and whether they're likely to apply to use that would be good. I think they involved PCI in some way, but I don't have access to my irc logs right now to check. (I could imagine that ARM UEFI might not need to prod and configure a PCI bus and devices in the way that an x86 BIOS expects it has to, but that's speculation on my part, and I dunno that I'd care to bake that assumption into the design anyway.)
Yes, IIUC it's just for ACPI hotplug on devices behind a PCI-to-PCI bridge. On Linux/x86 we can use the PCI standard hotplug controller (SHPC), but not on Windows. So if it's just PCI, I tend to agree with you. ARM should really just use PCIe and SHPC hotplug and call it a day.
To me that actually goes in favor of putting blobs in the DT. :)
That said, if you really really want to write kernel drivers for stuff that x86 puts in the AML, there's little point in building the ACPI tables in QEMU. You already have a DT interface to talk to non-ACPI devices, Tiano Core can use the same bits to build ACPI tables.
Paolo