Initial import of xen MP sources, with kernel and userspace tests.
 - this is a source priview.
 - boots to single user.
 - spurious interrupt and pmap related panics are normal
Catchup with rmind-uvmplock merge.
Unbreak uniprocessor build
Conditionally compile xen_ipi.c
Add xpq locking around xpq_queue_tlb_flush()
Introduce a per-cpu "shadow" for pmap_kernel()'s L4 page
Remove the bogus TLB ipi wrapper code. We don't use it in xen anyway.
This syncs back, with -current.
Do not register the same callback more than once.
grow MP support for i386. boots to single user
Oops. remove spurious "#undef MULTIPROCESSOR"
first cut at per-cpu event handling
Send an ipi at IPL_HIGH to remote cpu, in order to get it to run spllower()
pmap_enter() test needs an address that work for both i386 and amd64
gdtgrow() must extend the gdt size on all cpus, not just the primary
Update cpu local GDT entries for TLS registers %gs and %fs
constify
add rcsid
revert the previous (wrong branch)
comments.  some ascii arts to explain memory consumption.