2000-11-24 19:46:37

by Andreas Jellinghaus

[permalink] [raw]
Subject: [Oops] apic, smp and k6

a dual board (meant for pentium) with one k6 200 and
a 2.4.0-test11 kernel with APIC support enabled does
oops here. removed the APIC support, and now everything is fine.
i read here it?s a known problem ? at least someone
else reported this, and it?s the same problem here.

regards, andreas


2000-11-27 14:41:38

by Torsten Duwe

[permalink] [raw]
Subject: [Oops] apic, smp and k6

>>>>> "Andreas" == Andreas Jellinghaus <[email protected]> writes:

Andreas> a dual board (meant for pentium) with one k6 200 and a
Andreas> 2.4.0-test11 kernel with APIC support enabled does oops
Andreas> here. removed the APIC support, and now everything is fine. i
Andreas> read here it?s a known problem ? at least someone else reported
Andreas> this, and it?s the same problem here.

Yes, a colleague of mine has a similar beast, hence Caldera ships for quite a
while now with an appropriate patch. Now Christoph Hellwig has identified a
simpler solution (updated for -test11 by me):

--- linux/arch/i386/kernel/setup.c~ Fri Jul 7 04:42:06 2000
+++ linux/arch/i386/kernel/setup.c Tue Jul 18 19:22:48 2000
@@ -785,7 +785,8 @@
/*
* get boot-time SMP configuration:
*/
- if (smp_found_config)
+ if (smp_found_config && /* try only if the cpu has a local apic */
+ test_bit(X86_FEATURE_APIC, boot_cpu_data.x86_capability))
get_smp_config();
#endif
#ifdef CONFIG_X86_LOCAL_APIC


I think Alan has a similar thing in his test11-ac* series.

Hope that helps,

Torsten

2000-11-27 15:23:15

by Alan

[permalink] [raw]
Subject: Re: [Oops] apic, smp and k6

> while now with an appropriate patch. Now Christoph Hellwig has identifi=
> ed a
> simpler solution (updated for -test11 by me):
>
> --- linux/arch/i386/kernel/setup.c~ Fri Jul 7 04:42:06 2000
> +++ linux/arch/i386/kernel/setup.c Tue Jul 18 19:22:48 2000
> @@ -785,7 +785,8 @@
> /*
> * get boot-time SMP configuration:
> */
> - if (smp_found_config)
> + if (smp_found_config && /* try only if the cpu has a local apic */
> + test_bit(X86_FEATURE_APIC, boot_cpu_data.x86_capability))
> get_smp_config();

This patch unfortunately does break some real setups, since it is legal to
have non APIC on the CPU but an APIC as an addon chip.

> I think Alan has a similar thing in his test11-ac* series.

Maciej Rozycki provided a much better test, that from reports so far seems
to be working