On 2014-11-6 23:57, Paolo Bonzini wrote:
On 06/11/2014 07:53, Hanjun Guo wrote:
So the important question is _why_ the guest needs to see an ACPI environment. What exactly can ACPI provide to the guest that DT does not already provide, and why is that necessary? What infrastrucutre is needed for that use case?
There is important feature called system device dynamic reconfiguration, you know, hot-add/remove, if a gust need more/less memory or CPU, can we add or remove them dynamically with DT? ACPI can do this, but I have no idea if DT can. (Sorry, I don't know much about DT)
Indeed hot-add/remove is the single biggest AML user in x86 QEMU. Whether you really need it, it depends on what you are adding/removing.
For PCI there is no problem. We can use PCIe from the beginning, and use PCIe hotplug support that is already in QEMU.
Memory and CPU are more problematic. For memory we could perhaps use a PCI memory device, though I'm not sure if that would require drivers in the OS or everything just works.
I didn't see some code for hot-adding system memory as PCI device, but people from Fujitsu is working on that in another solution - QEmu memory hot unplug support:
https://www.mail-archive.com/qemu-devel@nongnu.org/msg251355.html
for the guest, ACPI based memory hot-add/remove was already supported.
Thanks Hanjun