the bug got introduced by .112 and will only occur on P5 SMP machines.
By changing the order of smp_init() and check_bugs(), the idt got locked
down read only on P5 systems to workaround the F00F bug. But this
gives an oops, when smp_init() initializes the io-apic interrupt table.
Below a probably wrongm, but working fix.
Thomas.
Index: main.c
===================================================================
RCS file: /usr/src/cvs/linux/init/main.c,v
retrieving revision 1.1.1.68
diff -u -r1.1.1.68 main.c
--- main.c 1998/08/02 10:01:49 1.1.1.68
+++ main.c 1998/08/02 13:28:54
@@ -1123,11 +1123,11 @@
dquot_init_hash();
#endif
printk("POSIX conformance testing by UNIFIX\n");
- check_bugs();
#ifdef __SMP__
smp_init();
#endif
+ check_bugs();
#if defined(CONFIG_MTRR) /* Do this after SMP initialization */
/*
--
See, you not only have to be a good coder to create a system like Linux,
you have to be a sneaky bastard too ;-)
[Linus Torvalds in <4rikft$7g5@linux.cs.Helsinki.FI>]
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html