Re: local apic timer ints not working with vmware: nolocalapic

From: Zwane Mwaikambo (zwane@linuxpower.ca)
Date: Mon Jun 09 2003 - 20:17:11 EST


On Mon, 9 Jun 2003, Maciej W. Rozycki wrote:

> Why do you consider the systems broken?

Not necessarily broken, just no reporting of APIC capability. Not that i
should expect better from Intel (c.f. HT bit, SEP on PPro etc)

> > Regardless i'll update the patch.
>
> Great!

How about we only clear smp_found_config when forced.

Index: linux-2.5/arch/i386/kernel/apic.c
===================================================================
RCS file: /home/cvs/linux-2.5/arch/i386/kernel/apic.c,v
retrieving revision 1.42
diff -u -p -B -r1.42 apic.c
--- linux-2.5/arch/i386/kernel/apic.c 26 May 2003 23:59:58 -0000 1.42
+++ linux-2.5/arch/i386/kernel/apic.c 10 Jun 2003 00:14:37 -0000
@@ -602,6 +602,15 @@ static void apic_pm_activate(void) { }
  */
 int dont_enable_local_apic __initdata = 0;
 
+static int __init nolapic_setup(char *str)
+{
+ dont_enable_local_apic = 1;
+ smp_found_config = 0;
+ return 1;
+}
+
+__setup("nolapic", nolapic_setup);
+
 static int __init detect_init_APIC (void)
 {
         u32 h, l, features;
@@ -609,7 +618,7 @@ static int __init detect_init_APIC (void
 
         /* Disabled by DMI scan or kernel option? */
         if (dont_enable_local_apic)
- return -1;
+ goto no_apic;
 
         /* Workaround for us being called before identify_cpu(). */
         get_cpu_vendor(&boot_cpu_data);
@@ -665,6 +674,7 @@ static int __init detect_init_APIC (void
         return 0;
 
 no_apic:
+ clear_bit(X86_FEATURE_APIC, boot_cpu_data.x86_capability);
         printk("No local APIC present or hardware disabled\n");
         return -1;
 }
Index: linux-2.5/Documentation/kernel-parameters.txt
===================================================================
RCS file: /home/cvs/linux-2.5/Documentation/kernel-parameters.txt,v
retrieving revision 1.24
diff -u -p -B -r1.24 kernel-parameters.txt
--- linux-2.5/Documentation/kernel-parameters.txt 6 Jun 2003 15:55:40 -0000 1.24
+++ linux-2.5/Documentation/kernel-parameters.txt 10 Jun 2003 00:14:38 -0000
@@ -625,6 +625,9 @@ running once the system is up.
 
         nointroute [IA-64]
 
+ nolapic [IA-32, APIC]
+ Disable Local APIC.
+
         nomce [IA-32] Machine Check Exception
 
         noresume [SWSUSP] Disables resume and restore original swap space.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Jun 15 2003 - 22:00:22 EST