On Mon, 13 Dec 2010 12:34:35 +0000 (UTC) Robert Watson <rwat...@freebsd.org> wrote:
> Author: rwatson > Date: Mon Dec 13 12:34:35 2010 > New Revision: 216406 > URL: http://svn.freebsd.org/changeset/base/216406 > > Log: > Merge r216365 from head to stable/8: > > Derive the XENHVM kernel from GENERIC, adding only the options > required to support PV drivers (such as xenpci), and non-adptive > locking (along with a comment about why). > > This change eliminates the synchronisation problem between > GENERIC and XENHVM, which had become severely rotted in HEAD, and in > 8-STABLE included non-production kernel debugging features such as > WITNESS. > However, it comes at the cost of enabling devices and options > that may not be present under Xen (such as random ethernet cards). > For now, opt for a simpler kernel configuration file rather than > using nooptions/ nodevice to enumerate and eliminate them. This > leads to a somewhat larger XENHVM kernel. > > This is an MFC candidate for 8-STABLE before 8.2, in order to > provide a production-worthy XENHVM kernel configuration for amd64. > > Discussed with: gibbs, cperciva > Reported by: Piete Brooks <Piete.Brooks at cl.cam.ac.uk> > Sponsored by: DARPA, AFRL > > Approved by: re (kib) What about the same for i386? BTW, on a i386R trying to do a make buildworld && make buildkernel KERNCONF=VPS yesterday resulted in: cc -c -O -pipe -std=c99 -g -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/usr/src/sys -I/usr/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -ffreestanding -fstack-protector -Werror /usr/src/sys/i386/xen/xen_machdep.c /usr/src/sys/i386/xen/xen_machdep.c: In function 'initvalues': /usr/src/sys/i386/xen/xen_machdep.c:1077: error: 'IdlePTDnew' undeclared (first use in this function) /usr/src/sys/i386/xen/xen_machdep.c:1077: error: (Each undeclared identifier is reported only once /usr/src/sys/i386/xen/xen_machdep.c:1077: error: for each function it appears in.) /usr/src/sys/i386/xen/xen_machdep.c:1082: error: 'IdlePTDnewma' undeclared (first use in this function) /usr/src/sys/i386/xen/xen_machdep.c:1085: error: 'IdlePDPTnew' undeclared (first use in this function) /usr/src/sys/i386/xen/xen_machdep.c:1124: error: 'IdlePDPT' undeclared (first use in this function) /usr/src/sys/i386/xen/xen_machdep.c:1125: error: 'IdlePDPTma' undeclared (first use in this function) /usr/src/sys/i386/xen/xen_machdep.c:1125: error: 'IdlePDPTnewma' undeclared (first use in this function) cc1: warnings being treated as errors /usr/src/sys/i386/xen/xen_machdep.c:893: warning: unused variable 'pdir_shadow_ma' *** Error code 1 Maybe I have something wrong in the KERNCONF? # cat /root/kernels/ # # XEN -- Kernel configuration for i386 XEN DomU # # $FreeBSD: src/sys/i386/conf/XEN,v 1.9.2.2 2010/11/28 16:25:16 cperciva Exp $ cpu I686_CPU ident XEN makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols #makeoptions MODULES_OVERRIDE="" options SCHED_ULE # ULE scheduler options PREEMPTION # Enable kernel thread preemption options INET # InterNETworking options INET6 # IPv6 communications protocols options SCTP # Stream Control Transmission Protocol options FFS # Berkeley Fast Filesystem options SOFTUPDATES # Enable FFS soft updates support options UFS_ACL # Support for access control lists options UFS_DIRHASH # Improve performance on big directories options GEOM_LABEL # Provides labelization options COMPAT_43TTY # BSD 4.3 TTY compat (sgtty) options COMPAT_FREEBSD7 # Compatible with FreeBSD7 options KTRACE # ktrace(1) support options STACK # stack(9) support options SYSVSHM # SYSV-style shared memory options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores options P1003_1B_SEMAPHORES # POSIX-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions options KBD_INSTALL_CDEV # install a CDEV entry in /dev # Debugging for use in -current options KDB # Enable kernel debugger support. #options DDB # Support DDB. #options GDB # Support remote GDB. #options INVARIANTS # Enable calls of extra sanity checking #options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS # Enable checks to detect deadlocks and cycles #options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed nooption NATIVE option XEN nodevice atpic nodevice isa options MCLSHIFT=12 # To make an SMP kernel, the next two lines are needed options SMP # Symmetric MultiProcessor Kernel device apic # I/O APIC #device atkbdc # AT keyboard controller #device atkbd # AT keyboard #device psm # PS/2 mouse device pci #device kbdmux # keyboard multiplexer device loop # Network loopback device random # Entropy device device ether # Ethernet support device pty # Pseudo-ttys (telnet etc) device bpf # Berkeley packet filter device eisa device ata options ATA_STATIC_ID # Static device numbering device vga # VGA video card driver options VGA_NO_FONT_LOADING options VGA_NO_MODE_CHANGE # syscons is the default console driver, resembling an SCO console device sc options SC_NO_CUTPASTE options SC_NO_FONT_LOADING options SC_NO_HISTORY options SC_NO_MODE_CHANGE options SC_NO_SYSMOUSE device pmtimer -- IOnut - Un^d^dregistered ;) FreeBSD "user" "Intellectual Property" is nowhere near as valuable as "Intellect" FreeBSD committer -> ite...@freebsd.org, PGP Key ID 057E9F8B493A297B
signature.asc
Description: PGP signature