SMP/UP kernel S01E02
Matthew Dillon
dillon at apollo.backplane.com
Sun Mar 25 09:52:00 PDT 2007
:Well, I've been thinking of the SMP/UP issue many times, and the best solution would be if SMP kernels could boot on UP machines. I have plenty UP boxes and a few SMP boxes to test on. I am not claiming anyhing, this is just 'food for thought'.
:
:--
:Gergo Szakal <bastyaelvtars at gmail.com>
:University Of Szeged, HU
:Faculty Of General Medicine
It's actually fairly easy to do this. I did some of the code separation
work months ago but didn't go all the way to allowing the ICU vs APIC
selection to occur dynamically.
The main issue is determining whether the ICU or the APIC should be used
to route interrupts.
/usr/src/sys/platform/pc32/apic
/usr/src/sys/platform/pc32/icu
At the moment only one or the other can be included. It would not
take a whole lot of work to allow both to be included, then figure out
which one to use at run time during early boot.
To do this, the MachIntrABI structure needs to be declared generically
and then loaded with either the icu or the apic ABI. Right now the
structure is declared in the icu and the apic code (so only one can be
included).
I've done most of the other namespace separation already. I think
the MachIntrABI structure is the last big piece.
The SMP code for handling IPI messages and other places where we have
#ifdef SMP would also need some work to make the SMP code operate in
a UP environment.
-Matt
Matthew Dillon
<dillon at backplane.com>
More information about the Kernel
mailing list