Loading arch/x86/kernel/apic_32.c +12 −5 Original line number Diff line number Diff line Loading @@ -63,7 +63,7 @@ int disable_apic; /* Local APIC timer verification ok */ static int local_apic_timer_verify_ok; /* Disable local APIC timer from the kernel commandline or via dmi quirk */ static int local_apic_timer_disabled; static int disable_apic_timer __cpuinitdata; /* Local APIC timer works in C2 */ int local_apic_timer_c2_ok; EXPORT_SYMBOL_GPL(local_apic_timer_c2_ok); Loading Loading @@ -574,7 +574,7 @@ void __init setup_boot_APIC_clock(void) * timer as a dummy clock event source on SMP systems, so the * broadcast mechanism is used. On UP systems simply ignore it. */ if (local_apic_timer_disabled) { if (disable_apic_timer) { /* No broadcast on UP ! */ if (num_possible_cpus() > 1) { lapic_clockevent.mult = 1; Loading Loading @@ -1699,12 +1699,19 @@ static int __init parse_nolapic(char *arg) } early_param("nolapic", parse_nolapic); static int __init parse_disable_lapic_timer(char *arg) static int __init parse_disable_apic_timer(char *arg) { local_apic_timer_disabled = 1; disable_apic_timer = 1; return 0; } early_param("nolapic_timer", parse_disable_lapic_timer); early_param("noapictimer", parse_disable_apic_timer); static int __init parse_nolapic_timer(char *arg) { disable_apic_timer = 1; return 0; } early_param("nolapic_timer", parse_nolapic_timer); static int __init parse_lapic_timer_c2_ok(char *arg) { Loading arch/x86/kernel/apic_64.c +11 −5 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ #include <mach_ipi.h> #include <mach_apic.h> /* Disable local APIC timer from the kernel commandline or via dmi quirk */ static int disable_apic_timer __cpuinitdata; static int apic_calibrate_pmtmr __initdata; int disable_apic; Loading Loading @@ -1583,14 +1584,19 @@ static int __init parse_lapic_timer_c2_ok(char *arg) } early_param("lapic_timer_c2_ok", parse_lapic_timer_c2_ok); static __init int setup_noapictimer(char *str) static int __init parse_disable_apic_timer(char *arg) { if (str[0] != ' ' && str[0] != 0) disable_apic_timer = 1; return 0; } early_param("noapictimer", parse_disable_apic_timer); static int __init parse_nolapic_timer(char *arg) { disable_apic_timer = 1; return 1; return 0; } __setup("noapictimer", setup_noapictimer); early_param("nolapic_timer", parse_nolapic_timer); static __init int setup_apicpmtimer(char *s) { Loading Loading
arch/x86/kernel/apic_32.c +12 −5 Original line number Diff line number Diff line Loading @@ -63,7 +63,7 @@ int disable_apic; /* Local APIC timer verification ok */ static int local_apic_timer_verify_ok; /* Disable local APIC timer from the kernel commandline or via dmi quirk */ static int local_apic_timer_disabled; static int disable_apic_timer __cpuinitdata; /* Local APIC timer works in C2 */ int local_apic_timer_c2_ok; EXPORT_SYMBOL_GPL(local_apic_timer_c2_ok); Loading Loading @@ -574,7 +574,7 @@ void __init setup_boot_APIC_clock(void) * timer as a dummy clock event source on SMP systems, so the * broadcast mechanism is used. On UP systems simply ignore it. */ if (local_apic_timer_disabled) { if (disable_apic_timer) { /* No broadcast on UP ! */ if (num_possible_cpus() > 1) { lapic_clockevent.mult = 1; Loading Loading @@ -1699,12 +1699,19 @@ static int __init parse_nolapic(char *arg) } early_param("nolapic", parse_nolapic); static int __init parse_disable_lapic_timer(char *arg) static int __init parse_disable_apic_timer(char *arg) { local_apic_timer_disabled = 1; disable_apic_timer = 1; return 0; } early_param("nolapic_timer", parse_disable_lapic_timer); early_param("noapictimer", parse_disable_apic_timer); static int __init parse_nolapic_timer(char *arg) { disable_apic_timer = 1; return 0; } early_param("nolapic_timer", parse_nolapic_timer); static int __init parse_lapic_timer_c2_ok(char *arg) { Loading
arch/x86/kernel/apic_64.c +11 −5 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ #include <mach_ipi.h> #include <mach_apic.h> /* Disable local APIC timer from the kernel commandline or via dmi quirk */ static int disable_apic_timer __cpuinitdata; static int apic_calibrate_pmtmr __initdata; int disable_apic; Loading Loading @@ -1583,14 +1584,19 @@ static int __init parse_lapic_timer_c2_ok(char *arg) } early_param("lapic_timer_c2_ok", parse_lapic_timer_c2_ok); static __init int setup_noapictimer(char *str) static int __init parse_disable_apic_timer(char *arg) { if (str[0] != ' ' && str[0] != 0) disable_apic_timer = 1; return 0; } early_param("noapictimer", parse_disable_apic_timer); static int __init parse_nolapic_timer(char *arg) { disable_apic_timer = 1; return 1; return 0; } __setup("noapictimer", setup_noapictimer); early_param("nolapic_timer", parse_nolapic_timer); static __init int setup_apicpmtimer(char *s) { Loading