On 12/11/2014 14:08, Arnd Bergmann wrote:
Putting an interrupt in DT is trivial. The hard part is the rest of the interface, which so far there is no specification for.
Have you looked at docs/specs/acpi_{cpu,mem}_hotplug.txt? Writing a DT binding for it is trivial too. Or are we talking about two different things?
Interesting. I agree that doing a DT binding for these will be trivial, and the implementation in Linux should also be straightforward, thanks for pointing these out.
However, it seems that the implementation that qemu uses is incompatible with ARM64, since GPE is not part of the ACPI hardware reduced mode.
That makes it even simpler because you do not have to use SCI.
-M virt currently doesn't have a GPIO controller, but it's easy to add a PL061 and specify a random GPIO pin in the DT bindings. Then you can use GPIO-signaled ACPI events in the AML, just move _Lxx methods move from _GPE to _SB.GPIO under the GPIO controller.
Paolo