On Mon, May 04, 2015 at 11:41:54PM +0200, Igor Mammedov wrote:
It's not really split implementation, it's installing an additional
table which is purely SeaBIOS specific since QEMU doesn't care about
PPID data at all nor does it need to do so.
If both SeaBIOS and QEMU provide acpi tables, it can lead to
confusion. For example, if seabios adds tables, what acpi version
should go into the acpi table header, if Windows BSODs what project
should the bug report go to, how do we ensure no namespace collisions
between SSDTs, etc.
So, it's technically not difficult, but the support is painful.
But I'm fine with paravirt implementation if above is considered too
hard to implement. If you go this route look at build_ssdt() in QEMU
and a new aml_*() API that helps to create AML objects dynamically.
I think this approach is simpler all around.