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

[Xen-changelog] [xen master] x86/acpi: Warn about multiple HPET tables



commit a8a8953873063435e3c73739874edbdce5c114dc
Author:     Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
AuthorDate: Thu Nov 7 15:15:28 2013 +0100
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Thu Nov 7 15:15:28 2013 +0100

    x86/acpi: Warn about multiple HPET tables
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
    Reviewed-by: Tim Deegan <tim@xxxxxxx>
---
 xen/arch/x86/acpi/boot.c |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/acpi/boot.c b/xen/arch/x86/acpi/boot.c
index df26423..6d7984f 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",
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

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