diff options
Diffstat (limited to 'arch/i386')
-rw-r--r-- | arch/i386/kernel/acpi/boot.c | 7 | ||||
-rw-r--r-- | arch/i386/kernel/io_apic.c | 4 | ||||
-rw-r--r-- | arch/i386/kernel/reboot.c | 8 |
3 files changed, 17 insertions, 2 deletions
diff --git a/arch/i386/kernel/acpi/boot.c b/arch/i386/kernel/acpi/boot.c index 76b1135d401a..447fa9e33ffb 100644 --- a/arch/i386/kernel/acpi/boot.c +++ b/arch/i386/kernel/acpi/boot.c | |||
@@ -638,6 +638,13 @@ static int __init acpi_parse_fadt(unsigned long phys, unsigned long size) | |||
638 | return 0; | 638 | return 0; |
639 | 639 | ||
640 | pmtmr_ioport = fadt->xpm_tmr_blk.address; | 640 | pmtmr_ioport = fadt->xpm_tmr_blk.address; |
641 | /* | ||
642 | * "X" fields are optional extensions to the original V1.0 | ||
643 | * fields, so we must selectively expand V1.0 fields if the | ||
644 | * corresponding X field is zero. | ||
645 | */ | ||
646 | if (!pmtmr_ioport) | ||
647 | pmtmr_ioport = fadt->V1_pm_tmr_blk; | ||
641 | } else { | 648 | } else { |
642 | /* FADT rev. 1 */ | 649 | /* FADT rev. 1 */ |
643 | pmtmr_ioport = fadt->V1_pm_tmr_blk; | 650 | pmtmr_ioport = fadt->V1_pm_tmr_blk; |
diff --git a/arch/i386/kernel/io_apic.c b/arch/i386/kernel/io_apic.c index cc5d7ac5b2e7..22c8675c79f4 100644 --- a/arch/i386/kernel/io_apic.c +++ b/arch/i386/kernel/io_apic.c | |||
@@ -2009,7 +2009,7 @@ static void ack_edge_ioapic_vector(unsigned int vector) | |||
2009 | { | 2009 | { |
2010 | int irq = vector_to_irq(vector); | 2010 | int irq = vector_to_irq(vector); |
2011 | 2011 | ||
2012 | move_irq(vector); | 2012 | move_native_irq(vector); |
2013 | ack_edge_ioapic_irq(irq); | 2013 | ack_edge_ioapic_irq(irq); |
2014 | } | 2014 | } |
2015 | 2015 | ||
@@ -2024,7 +2024,7 @@ static void end_level_ioapic_vector (unsigned int vector) | |||
2024 | { | 2024 | { |
2025 | int irq = vector_to_irq(vector); | 2025 | int irq = vector_to_irq(vector); |
2026 | 2026 | ||
2027 | move_irq(vector); | 2027 | move_native_irq(vector); |
2028 | end_level_ioapic_irq(irq); | 2028 | end_level_ioapic_irq(irq); |
2029 | } | 2029 | } |
2030 | 2030 | ||
diff --git a/arch/i386/kernel/reboot.c b/arch/i386/kernel/reboot.c index 350ea6680f63..2afe0f8d555a 100644 --- a/arch/i386/kernel/reboot.c +++ b/arch/i386/kernel/reboot.c | |||
@@ -111,6 +111,14 @@ static struct dmi_system_id __initdata reboot_dmi_table[] = { | |||
111 | DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge 2400"), | 111 | DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge 2400"), |
112 | }, | 112 | }, |
113 | }, | 113 | }, |
114 | { /* Handle problems with rebooting on HP nc6120 */ | ||
115 | .callback = set_bios_reboot, | ||
116 | .ident = "HP Compaq nc6120", | ||
117 | .matches = { | ||
118 | DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), | ||
119 | DMI_MATCH(DMI_PRODUCT_NAME, "HP Compaq nc6120"), | ||
120 | }, | ||
121 | }, | ||
114 | { } | 122 | { } |
115 | }; | 123 | }; |
116 | 124 | ||