Generation of ACPI tables for guest BIOS in the hypervisor



Once implemented, QEMU will be able to extend information passed to Guest OS through ACPI tables without need for bios code changes. This is widely desired as a way to avoid the churn and proliferation of QEMU-specific interfaces associated with ACPI tables in bios code.

After QEMU 1.6

  • When started with -M 1.6, QEMU generates all ACPI tables and passes them to the BIOS
  • When started with -M 1.5 and earlier, QEMU does not expose ACPI tables to BIOS (compatiblity mode)
  • BIOS includes generic code to load ACPI tables from QEMU and pass them to guest


Patchset implementing this functionality in QEMU has been posted. Parts of the QEMU patchset have been merged: in particular, QEMU already exposes PCI window information to bios, such that QEMU knows what the values are upfront and can expose them in the ACPI tables correctly. Addressing review comments on the rest of the QEMU patchset.

seabios patchset seems acceptable - all comments have been addressed. Merge pending acceptance of QEMU patches.

Future plans

It might (or might not) be interesting to use a similar mechanism to pass in other tables, not just ACPI. This is TBD.