xen: SMP guest support
authorJeremy Fitzhardinge <jeremy@xensource.com>
Wed, 18 Jul 2007 01:37:06 +0000 (18:37 -0700)
committerJeremy Fitzhardinge <jeremy@goop.org>
Wed, 18 Jul 2007 15:47:44 +0000 (08:47 -0700)
commitf87e4cac4f4e940b328d3deb5b53e642e3881f43
tree7409f86561e5f97459378abd2ae21e9a5c82bfea
parentab55028886dd1dd54585f22bf19a00eb23869340
xen: SMP guest support

This is a fairly straightforward Xen implementation of smp_ops.

Xen has its own IPI mechanisms, and has no dependency on any
APIC-based IPI.  The smp_ops hooks and the flush_tlb_others pv_op
allow a Xen guest to avoid all APIC code in arch/i386 (the only apic
operation is a single apic_read for the apic version number).

One subtle point which needs to be addressed is unpinning pagetables
when another cpu may have a lazy tlb reference to the pagetable. Xen
will not allow an in-use pagetable to be unpinned, so we must find any
other cpus with a reference to the pagetable and get them to shoot
down their references.

Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Cc: Benjamin LaHaise <bcrl@kvack.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Andi Kleen <ak@suse.de>
arch/i386/xen/Kconfig
arch/i386/xen/Makefile
arch/i386/xen/enlighten.c
arch/i386/xen/events.c
arch/i386/xen/mmu.c
arch/i386/xen/mmu.h
arch/i386/xen/setup.c
arch/i386/xen/smp.c [new file with mode: 0644]
arch/i386/xen/time.c
arch/i386/xen/xen-ops.h
include/xen/events.h