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

[Xen-changelog] [xen master] x86: Use ACPI reboot method for Dell OptiPlex 9020



commit 6a6bbedd39e39f6c45001ce468c5e53a3a2b3ba6
Author:     Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>
AuthorDate: Wed Dec 14 11:12:01 2016 +0000
Commit:     Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
CommitDate: Wed Dec 14 18:23:51 2016 +0000

    x86: Use ACPI reboot method for Dell OptiPlex 9020
    
    When EFI booting the Dell OptiPlex 9020, it sometimes GP faults in the
    EFI runtime instead of rebooting. Quirk this hardware to use the ACPI
    reboot method instead.
    
    dmidecode info:
    
    BIOS Information
        Vendor: Dell Inc.
        Version: A15
        Release Date: 11/08/2015
    System Information
        Manufacturer: Dell Inc.
        Product Name: OptiPlex 9020
        Version: 00
    
    Signed-off-by: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>
    Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
---
 xen/arch/x86/shutdown.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/xen/arch/x86/shutdown.c b/xen/arch/x86/shutdown.c
index 55f6840..3d669d1 100644
--- a/xen/arch/x86/shutdown.c
+++ b/xen/arch/x86/shutdown.c
@@ -128,11 +128,15 @@ static int __init override_reboot(struct dmi_system_id *d)
 {
     enum reboot_type type = (long)d->driver_data;
 
+    if ( type == BOOT_ACPI && acpi_disabled )
+        type = BOOT_KBD;
+
     if ( reboot_type != type )
     {
         static const char *__initdata msg[] =
         {
             [BOOT_KBD]  = "keyboard controller",
+            [BOOT_ACPI] = "ACPI",
             [BOOT_CF9]  = "PCI",
         };
 
@@ -438,6 +442,15 @@ static struct dmi_system_id __initdata reboot_dmi_table[] 
= {
             DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 390"),
         },
     },
+    {    /* Handle problems with rebooting on Dell OptiPlex 9020. */
+        .callback = override_reboot,
+        .driver_data = (void *)(long)BOOT_ACPI,
+        .ident = "Dell OptiPlex 9020",
+        .matches = {
+            DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
+            DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 9020"),
+        },
+    },
     {    /* Handle problems with rebooting on the Latitude E6320. */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_CF9,
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog

 


Rackspace

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