Skip to content

Commit

Permalink
hvmloader: always include HPET table
Browse files Browse the repository at this point in the history
Windows SVVP tests require an HPET table even if the HPET is disabled.
This makes sense since the HPET _is_ in the DSDT and, while the OS
does not know that, in principle it's status may change.

(For what it's worth SeaBIOS, in addition to doing this, totally
ignores QEMU's -no-hpet flag and always reports 0x0f for the HPET's
_STA method).

Signed-off-by: Paolo Bonzini <[email protected]>
Signed-off-by: Keir Fraser <[email protected]>
  • Loading branch information
bonzini committed May 20, 2011
1 parent 8b6d448 commit e4fd047
Showing 1 changed file with 5 additions and 7 deletions.
12 changes: 5 additions & 7 deletions tools/firmware/hvmloader/acpi/build.c
Original file line number Diff line number Diff line change
Expand Up @@ -189,13 +189,11 @@ static int construct_secondary_tables(uint8_t *buf, unsigned long *table_ptrs)
table_ptrs[nr_tables++] = (unsigned long)madt;
}

/* HPET. */
if ( hpet_exists(ACPI_HPET_ADDRESS) )
{
hpet = (struct acpi_20_hpet *)&buf[offset];
offset += construct_hpet(hpet);
table_ptrs[nr_tables++] = (unsigned long)hpet;
}
/* HPET. Always included in DSDT, so always include it here too. */
/* (And it's unconditionally required by Windows SVVP tests.) */
hpet = (struct acpi_20_hpet *)&buf[offset];
offset += construct_hpet(hpet);
table_ptrs[nr_tables++] = (unsigned long)hpet;

if ( battery_port_exists() )
{
Expand Down

0 comments on commit e4fd047

Please sign in to comment.