On Mon, Jun 14, 2010 at 09:54:25AM -0400, Kevin O'Connor wrote:
On Mon, Jun 14, 2010 at 11:30:53AM +0300, Gleb Natapov wrote:
Load hpet info for HPET ACPI table from qemu instead of using hardcoded values. Use hardcoded values anyway if old qemu is detected.
The current code does a lot of mixing of qemu provided and seabios provided data to build the acpi tables. This patch extends that.
That is the point of ACPI/MP/SMBIOS tables. Those tables describe HW, so if HW may vary we need a way to tell seabios about HW configuration if hardware itself is un-discoverable by any other means.
Unfortunately, I find it confusing because someone then needs to look through both the seabios and qemu code to understand how the acpi tables are generated.
What is hard to understand? Seabios itself does not have enough information to generate ACPI tables. On real HW you rebuild bios image for each board. Seabios + qemu can be better then that.
Could we just have qemu build the hpet tables and pass them through to seabios? Perhaps using the qemu_cfg_acpi_additional_tables() method.
Possible, and I considered that. I personally prefer to pass minimum information required for seabios to discover underlying HW and leave ACPI table creation to seabios. That is how things done for HW that seabios can actually detect. If we will go your way pretty soon we will move creation of ACPI/SMBIOS/MP tables into qemu and IMHO this will be step backworkds.
-- Gleb.