From: Andrew Cooper Date: Thu, 7 Nov 2013 14:15:28 +0000 (+0100) Subject: x86/acpi: Warn about multiple HPET tables X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~6052 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=a8a8953873063435e3c73739874edbdce5c114dc;p=xen.git x86/acpi: Warn about multiple HPET tables Signed-off-by: Andrew Cooper Reviewed-by: Tim Deegan --- diff --git a/xen/arch/x86/acpi/boot.c b/xen/arch/x86/acpi/boot.c index df264233cd..6d7984ffda 100644 --- a/xen/arch/x86/acpi/boot.c +++ b/xen/arch/x86/acpi/boot.c @@ -289,6 +289,22 @@ static int __init acpi_parse_hpet(struct acpi_table_header *table) return -1; } + /* + * Some BIOSes provide multiple HPET tables. Sometimes this is a BIOS + * bug; the intended way of supporting more than 1 HPET is to use AML + * entries. + * + * If someone finds a real system with two genuine HPET tables, perhaps + * they will be kind and implement support. Until then however, warn + * that we will ignore subsequent tables. + */ + if (hpet_address) + { + printk(KERN_WARNING PREFIX + "Found multiple HPET tables. Only using first\n"); + return -1; + } + hpet_address = hpet_tbl->address.address; hpet_blockid = hpet_tbl->sequence; printk(KERN_INFO PREFIX "HPET id: %#x base: %#lx\n",