Bring in all of Joe Talbott's SMP virtual kernel work to date, which makes
commit146986fdec1cce493a1ec81edbe3f76b3cdf89f7
authordillon <dillon>
Sun, 1 Jul 2007 02:51:45 +0000 (1 02:51 +0000)
committerdillon <dillon>
Sun, 1 Jul 2007 02:51:45 +0000 (1 02:51 +0000)
tree5ed0f86cffe80bb4f5f395efb9718f7ed11ca39f
parent6306997ce211adbc7239fe7a85d323e4d0ed5a20
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]