On Mon, Apr 28, 2014 at 01:07:08PM +0800, TeLeMan wrote: > > + build_madt(tables->table_data, tables->linker, &cpu, guest_info); > > + acpi_add_table(table_offsets, tables->table_data); > > + if (misc.has_hpet) { > > + build_hpet(tables->table_data, tables->linker); > > + } > > If no hpet, the acpi table is corrupt. The following is the corrected code: > > build_madt(tables->table_data, tables->linker, &cpu, guest_info); > if (misc.has_hpet) { > acpi_add_table(table_offsets, tables->table_data); > build_hpet(tables->table_data, tables->linker); > }
Yes, rsdt will have two identical pointers which might confuse some guests. Thanks a lot for the report, I've applied a fix. -- MST