[PATCH] x86-64: Enable Nvidia timer override workaround for SMP kernels too
Linux Kernel Mailing List <[email protected]> Thu, 30 Jun 2005 22:45:32 -0700
| Newsgroups | gmane.linux.kernel.commits.2-4 |
|---|---|
| Message-ID | <[email protected]> |
tree 75c2d007bd5a499dfc036a0a8b8f5c4c3e30eb9f parent 478fa857d1b94e9af904ee86be15fe5592c972d6 author Andi Kleen <[email protected]> Thu, 30 Jun 2005 15:49:15 +0200 committer Marcelo Tosatti <[email protected]> Fri, 01 Jul 2005 02:02:17 -0300 [PATCH] x86-64: Enable Nvidia timer override workaround for SMP kernels too >From Tymm Twillman In the 2.4.30/31 kernels there is now a backport from the 2.6 kernels of a workaround for buggy timer overrides in the ACPI tables for many nvidia chipset based motherboards. Unfortunately the code for this on x86-64 based systems is conditionally compiled in only for non-SMP kernels. This is a patch to remove the conditional and allow the code to be compiled in for SMP kernels as well (we've seen a number of SMP motherboards which intermittently lock up during boot, and otherwise sometimes seem unstable without the workaround). Patch so far has been tested across numerous reboots and several hours uptime. Signed-off-by: Andi Kleen <[email protected]> arch/x86_64/kernel/io_apic.c | 2 -- arch/x86_64/kernel/setup.c | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/arch/x86_64/kernel/io_apic.c b/arch/x86_64/kernel/io_apic.c --- a/arch/x86_64/kernel/io_apic.c +++ b/arch/x86_64/kernel/io_apic.c @@ -222,7 +222,6 @@ static int __init ioapic_setup(char *str __setup("apic", ioapic_setup); -#ifndef CONFIG_SMP #include <asm/pci-direct.h> #include <linux/pci_ids.h> #include <linux/pci.h> @@ -279,7 +278,6 @@ void __init check_ioapic(void) } } } -#endif static int __init ioapic_pirq_setup(char *str) { diff --git a/arch/x86_64/kernel/setup.c b/arch/x86_64/kernel/setup.c --- a/arch/x86_64/kernel/setup.c +++ b/arch/x86_64/kernel/setup.c @@ -304,7 +304,7 @@ void __init setup_arch(char **cmdline_p) #endif paging_init(); -#if !defined(CONFIG_SMP) && defined(CONFIG_X86_IO_APIC) +#if defined(CONFIG_X86_IO_APIC) extern void check_ioapic(void); check_ioapic(); #endif