On 12/11/2014 12:34, Christoffer Dall wrote:
AFAIU ACPI already has a method for doing this
It's not defined in the spec. QEMU defines a bunch of registers to do that, and provides AML that works with those registers.
While these registers can be separated from the ACPI code in QEMU...
and I speculate that there is some IRQ assigned to an ACPI event that causes some AML code to be interpreted by your OS.
... QEMU does exactly this, it uses the "general purpose event" (GPE) mechanism to trigger the parsing of the AML. When you hot-plug/unplug a CPU or memory, an SCI (system control interrupt - the ACPI IRQ) is triggered in the guest and that's not entirely disconnected from ACPI.
Perhaps you could treat it as a shared level-triggered interrupt in DT? I don't know.
Wouldn't it be a matter of QEMU putting the right AML table fragments in place to wire this up then?
Yes.
Paolo