2001-07-29 02:44:15

by John Levon

[permalink] [raw]
Subject: Detecting x86 SMP on a UP kernel


Hi, I need to be able to detect underlying x86 SMP hardware
when running a UP kernel, from a module.

This is to avoid trashing the APIC setup on SMP hardware (normally
I have to enable the APIC, re-do the fixmap etc. so I can use the local
APIC with a stock kernel).

I don't want to require a kernel patch if possible (I suppose just
EXPORT_SYMBOL(smp_found_config) would do ...).

So can someone give me a hint on how I can detect underlying SMP hardware ?

I wouldn't need to do this if the ac tree APIC patches were in the kernel btw

thanks
john

--
"I'd rather be rudely informed than politely left in the dark."


2001-07-29 09:45:56

by Paul Menage

[permalink] [raw]
Subject: Re: Detecting x86 SMP on a UP kernel

>
>Hi, I need to be able to detect underlying x86 SMP hardware
>when running a UP kernel, from a module.
>

A simple and AFAIK reasonably reliable user-space approach is to use
the mptable program, and grep the output for the string "AP,"
(additional processor). If you're looking for SMP support in the
motherboard, rather than the existence of the additional processor(s),
then you might want to parse the output in other ways.

You could probably do this more directly from within the kernel, but
mptable may provide a useful starting point.

You can find mptable at http://www.ima.umn.edu/~klee/linux/mptable.c

Paul