diff options
author | gibbs <gibbs@FreeBSD.org> | 2013-09-20 22:59:22 +0000 |
---|---|---|
committer | gibbs <gibbs@FreeBSD.org> | 2013-09-20 22:59:22 +0000 |
commit | 7ed30adae7eb0c6e156983ca0c96c04e1e6a8e0d (patch) | |
tree | 301b6e7f4ff8cd017faecbcf64de6922be093a7e /sys/amd64/conf | |
parent | ec391855a94cc7ab44ba6ba5b3d8d27a5a1c224d (diff) | |
download | FreeBSD-src-7ed30adae7eb0c6e156983ca0c96c04e1e6a8e0d.zip FreeBSD-src-7ed30adae7eb0c6e156983ca0c96c04e1e6a8e0d.tar.gz |
Merge Xen PVHVM support into the GENERIC kernel config for both
amd64 and i386.
Submitted by: Roger Pau Monné
Sponsored by: Citrix Systems R&D
Reviewed by: gibbs
Approved by: re (blanket Xen)
MFC after: 2 weeks
sys/amd64/amd64/mp_machdep.c:
sys/amd64/include/cpu.h:
sys/i386/i386/mp_machdep.c:
sys/i386/include/cpu.h:
- Introduce two new CPU hooks for initialization and resume
purposes. This allows us to get rid of the XENHVM ifdefs in
mp_machdep, and also sets some hooks into common code that can be
used by other hypervisor implementations.
sys/amd64/conf/XENHVM:
sys/i386/conf/XENHVM:
- Remove these configs now that GENERIC has builtin support for Xen
HVM.
sys/kern/subr_smp.c:
- Make sure there are no pending IPIs when suspending a system.
sys/x86/xen/hvm.c:
- Add cpu init and resume vectors that are called from mp_machdep
using the new hooks.
- Only clear the vcpu_info mapping data on resume. It is already
clear for the BSP on a cold boot and is set correctly as APs
are started.
- Gate xen_hvm_init_cpu only to systems running under Xen.
sys/x86/xen/xen_intr.c:
- Gate the setup of event channels only to systems running under Xen.
Diffstat (limited to 'sys/amd64/conf')
-rw-r--r-- | sys/amd64/conf/GENERIC | 4 | ||||
-rw-r--r-- | sys/amd64/conf/XENHVM | 22 |
2 files changed, 4 insertions, 22 deletions
diff --git a/sys/amd64/conf/GENERIC b/sys/amd64/conf/GENERIC index 4de94ce..7b2f8ee 100644 --- a/sys/amd64/conf/GENERIC +++ b/sys/amd64/conf/GENERIC @@ -72,6 +72,7 @@ options KDTRACE_FRAME # Ensure frames are compiled in options KDTRACE_HOOKS # Kernel DTrace hooks options DDB_CTF # Kernel ELF linker loads CTF data options INCLUDE_CONFIG_FILE # Include this file in kernel +options XENHVM # Include Xen support # Debugging support. Always need this: options KDB # Enable kernel debugger support. @@ -341,5 +342,8 @@ device virtio_blk # VirtIO Block device device virtio_scsi # VirtIO SCSI device device virtio_balloon # VirtIO Memory Balloon device +# Xen support +device xenpci # Generic Xen bus + # VMware support device vmx # VMware VMXNET3 Ethernet diff --git a/sys/amd64/conf/XENHVM b/sys/amd64/conf/XENHVM deleted file mode 100644 index ee745ec..0000000 --- a/sys/amd64/conf/XENHVM +++ /dev/null @@ -1,22 +0,0 @@ -# -# XENHVM -- Xen HVM kernel configuration file for FreeBSD/amd64 -# -# $FreeBSD$ -# -include GENERIC -ident XENHVM - -# -# Adaptive locks rely on a lock-free pointer read to determine the run state -# of the thread holding a lock when under contention; under a virtualisation -# system, the thread run state may not accurately reflect whether the thread -# (or rather its host VCPU) is actually executing. As such, disable this -# optimisation. -# -options NO_ADAPTIVE_MUTEXES -options NO_ADAPTIVE_RWLOCKS -options NO_ADAPTIVE_SX - -# Xen HVM support -options XENHVM -device xenpci |