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.lagerw...@citrix.com> --- 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, -- 2.7.4 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel