diff options
author | Cyrill Gorcunov <gorcunov@gmail.com> | 2008-08-18 12:45:54 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-08-18 20:07:15 -0400 |
commit | c43da2f5e92fe3bcc256f0c0d6cb858368da5bd9 (patch) | |
tree | b58c1716b6758a25d96cfa933cdc5da2369f6c95 /arch/x86/kernel/apic_32.c | |
parent | 36c9d6742897fa414f51c4e9d0f20ab4e6bf942c (diff) |
x86: apic - unify lapic_setup_esr
We use 32bit code former for 64bit
mode since it's much better implementation
and easier to merge.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/apic_32.c')
-rw-r--r-- | arch/x86/kernel/apic_32.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/arch/x86/kernel/apic_32.c b/arch/x86/kernel/apic_32.c index 6d230e9d0a7d..3c1562afa274 100644 --- a/arch/x86/kernel/apic_32.c +++ b/arch/x86/kernel/apic_32.c | |||
@@ -983,6 +983,16 @@ static void __cpuinit lapic_setup_esr(void) | |||
983 | { | 983 | { |
984 | unsigned long oldvalue, value, maxlvt; | 984 | unsigned long oldvalue, value, maxlvt; |
985 | if (lapic_is_integrated() && !esr_disable) { | 985 | if (lapic_is_integrated() && !esr_disable) { |
986 | if (esr_disable) { | ||
987 | /* | ||
988 | * Something untraceable is creating bad interrupts on | ||
989 | * secondary quads ... for the moment, just leave the | ||
990 | * ESR disabled - we can't do anything useful with the | ||
991 | * errors anyway - mbligh | ||
992 | */ | ||
993 | printk(KERN_INFO "Leaving ESR disabled.\n"); | ||
994 | return; | ||
995 | } | ||
986 | /* !82489DX */ | 996 | /* !82489DX */ |
987 | maxlvt = lapic_get_maxlvt(); | 997 | maxlvt = lapic_get_maxlvt(); |
988 | if (maxlvt > 3) /* Due to the Pentium erratum 3AP. */ | 998 | if (maxlvt > 3) /* Due to the Pentium erratum 3AP. */ |
@@ -1003,16 +1013,7 @@ static void __cpuinit lapic_setup_esr(void) | |||
1003 | "vector: 0x%08lx after: 0x%08lx\n", | 1013 | "vector: 0x%08lx after: 0x%08lx\n", |
1004 | oldvalue, value); | 1014 | oldvalue, value); |
1005 | } else { | 1015 | } else { |
1006 | if (esr_disable) | 1016 | printk(KERN_INFO "No ESR for 82489DX.\n"); |
1007 | /* | ||
1008 | * Something untraceable is creating bad interrupts on | ||
1009 | * secondary quads ... for the moment, just leave the | ||
1010 | * ESR disabled - we can't do anything useful with the | ||
1011 | * errors anyway - mbligh | ||
1012 | */ | ||
1013 | printk(KERN_INFO "Leaving ESR disabled.\n"); | ||
1014 | else | ||
1015 | printk(KERN_INFO "No ESR for 82489DX.\n"); | ||
1016 | } | 1017 | } |
1017 | } | 1018 | } |
1018 | 1019 | ||