On Wed, Nov 12, 2014 at 11:48:27AM +0000, Paolo Bonzini wrote:
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.
Huh? SCI + AML is the method, and that's defined by the spec.
The registers the AML pokes are an implementation detail abstracted by the AML, and as such are irrelevant to the spec.
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.
Putting an interrupt in DT is trivial. The hard part is the rest of the interface, which so far there is no specification for.
Thanks, Mark.