x86-64: add "local_apic_timer_c2_ok" here too
authorLinus Torvalds <torvalds@woody.linux-foundation.org>
Fri, 23 Mar 2007 18:32:31 +0000 (11:32 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Fri, 23 Mar 2007 18:32:31 +0000 (11:32 -0700)
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: Linus Torvalds <torvalds@linux-foundation.org>
Documentation/kernel-parameters.txt
arch/x86_64/kernel/apic.c
include/asm-x86_64/apic.h

index 09640a8f7cebfe6010937d781c751d688e856a97..ef2ffded13928ebbe95e01d7c44496d4c4546384 100644 (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
                        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.
 
        lasi=           [HW,SCSI] PARISC LASI driver for the 53c700 chip
index 723417d924c09717c9c6659fbf5fe7361b0caafb..46acf4f2f1ec9e14e5fb2ad7f752213367d2ca10 100644 (file)
@@ -47,6 +47,10 @@ int apic_calibrate_pmtmr __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 lapic_resource = {
        .name = "Local APIC",
@@ -1192,6 +1196,13 @@ static __init int setup_nolapic(char *str)
 } 
 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) 
 { 
        if (str[0] != ' ' && str[0] != 0)
index e81d0f289f0b06df8fab258197251de7caa45572..7cfb39cbd91854ab952420b02eb311d0cd7277c1 100644 (file)
@@ -102,5 +102,6 @@ void switch_ipi_to_APIC_timer(void *cpumask);
 #define ARCH_APICTIMER_STOPS_ON_C3     1
 
 extern unsigned boot_cpu_id;
+extern int local_apic_timer_c2_ok;
 
 #endif /* __ASM_APIC_H */