x86: use disable_apic in 32bit
PATCH 1/1 x86: use disable_apic in 32bit
change the enable_local_apic to static force_enable_local_apic for 32bit
Signed-off-by Yinghai Lu <[email protected]>
--- arch/x86/kernel/apic_32.c | 15 ++++++++------- arch/x86/kernel/setup.c | 4 ---- include/asm-x86/apic.h | 4 ---- 3 files changed, 8 insertions(+), 15 deletions(-)
arch/x86/kernel/apic_32.c +8 -7
@@ -55,9 +55,10 @@ unsigned long mp_lapic_addr;/* * Knob to control our willingness to enable the local APIC. * -* -1=force-disable, +1=force-enable +* +1=force-enable */ -int enable_local_apic; +static int force_enable_local_apic; +int disable_apic;/* Local APIC timer verification ok */ static int local_apic_timer_verify_ok;
@@ -1099,7 +1100,7 @@ static int __init detect_init_APIC(void)u32 h, l, features;/* Disabled by kernel option? */ -if (enable_local_apic <0 ) +if (disable_apic)return -1 ;switch (boot_cpu_data.x86_vendor) {
@@ -1122,7 +1123,7 @@ static int __init detect_init_APIC(void)* Over-ride BIOS and try to enable the local APIC only if * "lapic" specified. */ -if (enable_local_apic <=0 ) { +if (!force_enable_local_apic) {printk (KERN_INFO "Local APIC disabled by BIOS -- " "you can enable it with \"lapic\"\n" );return -1 ;
@@ -1208,7 +1209,7 @@ int apic_version[MAX_APICS];int __init APIC_init_uniprocessor (void ) { -if (enable_local_apic <0 ) +if (disable_apic)clear_cpu_cap (&boot_cpu_data,X86_FEATURE_APIC );if (!smp_found_config && !cpu_has_apic)
@@ -1682,14 +1683,14 @@ static void apic_pm_activate(void) { }*/ static int __init parse_lapic (char *arg) { - enable_local_apic =1 ; + force_enable_local_apic =1 ;return 0 ; }early_param ("lapic" , parse_lapic);static int __init parse_nolapic (char *arg) { - enable_local_apic =-1 ; + disable_apic =1 ;clear_cpu_cap (&boot_cpu_data,X86_FEATURE_APIC );return 0 ; }
arch/x86/kernel/setup.c +0 -4
@@ -598,12 +598,8 @@ void __init setup_arch(char **cmdline_p)if (acpi_mps_check ()) {#ifdef CONFIG_X86_LOCAL_APIC -#ifdef CONFIG_X86_32 - enable_local_apic =-1 ; -#else disable_apic =1 ;#endif -#endif clear_cpu_cap (&boot_cpu_data,X86_FEATURE_APIC ); }
include/asm-x86/apic.h +0 -4
@@ -40,11 +40,7 @@ extern int local_apic_timer_c2_ok;extern int ioapic_force; -#ifdef CONFIG_X86_64 extern int disable_apic; -#else -extern int enable_local_apic; -#endif /* * Basic functions accessing APICs. */
Ingo Molnar
AppliedQuoted 4 lines · Yinghai Lu
change the
enable_local_apicto staticforce_enable_local_apicfor 32bit3 files changed, 8 insertions(+), 15 deletions(-)
applied, thanks.
Ingo