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