[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH 1/3] x86/acpi: Warn about multiple HPET tables



Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
CC: Keir Fraser <keir@xxxxxxx>
CC: Jan Beulich <JBeulich@xxxxxxxx>
---
 xen/arch/x86/acpi/boot.c |   16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/xen/arch/x86/acpi/boot.c b/xen/arch/x86/acpi/boot.c
index df26423..ccbe918 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",
-- 
1.7.10.4


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.