Commit 2e7c2838 authored by Linus Torvalds's avatar Linus Torvalds

x86-64: add "local_apic_timer_c2_ok" here too

Needed for any architecture that claims ARCH_APICTIMER_STOPS_ON_C3,
not just i386.

I'm hoping Thomas will clean this up a bit later..
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent cad6a84a
...@@ -780,7 +780,7 @@ and is between 256 and 4096 characters. It is defined in the file ...@@ -780,7 +780,7 @@ and is between 256 and 4096 characters. It is defined in the file
lapic [IA-32,APIC] Enable the local APIC even if BIOS lapic [IA-32,APIC] Enable the local APIC even if BIOS
disabled it. disabled it.
lapic_timer_c2_ok [IA-32,APIC] trust the local apic timer in lapic_timer_c2_ok [IA-32,x86-64,APIC] trust the local apic timer in
C2 power state. C2 power state.
lasi= [HW,SCSI] PARISC LASI driver for the 53c700 chip lasi= [HW,SCSI] PARISC LASI driver for the 53c700 chip
......
...@@ -47,6 +47,10 @@ int apic_calibrate_pmtmr __initdata; ...@@ -47,6 +47,10 @@ int apic_calibrate_pmtmr __initdata;
int disable_apic_timer __initdata; int disable_apic_timer __initdata;
/* Local APIC timer works in C2? */
int local_apic_timer_c2_ok;
EXPORT_SYMBOL_GPL(local_apic_timer_c2_ok);
static struct resource *ioapic_resources; static struct resource *ioapic_resources;
static struct resource lapic_resource = { static struct resource lapic_resource = {
.name = "Local APIC", .name = "Local APIC",
...@@ -1192,6 +1196,13 @@ static __init int setup_nolapic(char *str) ...@@ -1192,6 +1196,13 @@ static __init int setup_nolapic(char *str)
} }
early_param("nolapic", setup_nolapic); early_param("nolapic", setup_nolapic);
static int __init parse_lapic_timer_c2_ok(char *arg)
{
local_apic_timer_c2_ok = 1;
return 0;
}
early_param("lapic_timer_c2_ok", parse_lapic_timer_c2_ok);
static __init int setup_noapictimer(char *str) static __init int setup_noapictimer(char *str)
{ {
if (str[0] != ' ' && str[0] != 0) if (str[0] != ' ' && str[0] != 0)
......
...@@ -102,5 +102,6 @@ void switch_ipi_to_APIC_timer(void *cpumask); ...@@ -102,5 +102,6 @@ void switch_ipi_to_APIC_timer(void *cpumask);
#define ARCH_APICTIMER_STOPS_ON_C3 1 #define ARCH_APICTIMER_STOPS_ON_C3 1
extern unsigned boot_cpu_id; extern unsigned boot_cpu_id;
extern int local_apic_timer_c2_ok;
#endif /* __ASM_APIC_H */ #endif /* __ASM_APIC_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment