DragonFly kernel List (threaded) for 2007-03
DragonFly BSD
DragonFly kernel List (threaded) for 2007-03
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: SMP/UP kernel S01E02


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Sun, 25 Mar 2007 09:48:57 -0700 (PDT)

: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@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@backplane.com>



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]