Bring in all of Joe Talbott's SMP virtual kernel work to date, which makes
authorMatthew Dillon <dillon@dragonflybsd.org>
Sun, 1 Jul 2007 02:51:45 +0000 (02:51 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Sun, 1 Jul 2007 02:51:45 +0000 (02:51 +0000)
commit24eb47e054b150944d54923f1822282b2da8a3bb
tree9505d69af6c2c866ed4adc6cd36b071f10aaf983
parent39005e16533b5bbaf36d95836bb87c3b20463a0b
Bring in all of Joe Talbott's SMP virtual kernel work to date, which makes
virtual kernel builds with SMP almost get through a full boot.  This work
includes:

    * Creation of 'cpu' threads via libthread_xu
    * Globaldata initialization
    * AP synchronization
    * Bootstrapping to the idle thread
    * SMP pmap (mmu) functions
    * IPI handling

My part of this commit:

    * Bring all the signal interrupts under DragonFly's machine independant
      interrupt handler API.  This will properly deal with the MP lock
      and critical section handling.

    * Some additional pmap bits to handle SMP invalidation issues.

Submitted-by: Joe Talbott <josepht@cstone.net>
Additional-bits-by: Matt Dillon
16 files changed:
sys/platform/vkernel/conf/Makefile
sys/platform/vkernel/conf/files
sys/platform/vkernel/i386/cpu_regs.c
sys/platform/vkernel/i386/exception.c
sys/platform/vkernel/i386/mp.c
sys/platform/vkernel/i386/mplock.s
sys/platform/vkernel/i386/swtch.s
sys/platform/vkernel/i386/trap.c
sys/platform/vkernel/include/globaldata.h
sys/platform/vkernel/include/md_var.h
sys/platform/vkernel/include/pmap.h
sys/platform/vkernel/platform/globaldata.c
sys/platform/vkernel/platform/kqueue.c
sys/platform/vkernel/platform/machintr.c
sys/platform/vkernel/platform/pmap.c
sys/platform/vkernel/platform/shutdown.c [copied from sys/platform/vkernel/i386/mp.c with 56% similarity]