svn commit: r216406 - stable/8/sys/amd64/conf
Robert N. M. Watson
rwatson at FreeBSD.org
Mon Dec 13 15:31:56 UTC 2010
On 13 Dec 2010, at 14:00, Ion-Mihai Tetcu wrote:
>> 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).
>
> What about the same for i386?
We don't currently support combining PV drivers with a non-PV kernel on i386; nor do we support a pure PV kernel on amd64. The former strikes me as more of a problem than the latter. Other than Amazon EC2, it seems most interesting targets will support HVM in practice, and benefit from PV drivers, but not require a pure PV kernel (i.e., Xen-modified VM system).
Your kernel configuration is likely trying to build options XEN on i386 without PAE; we currently require options PAE to build a PV Xen kernel on i386. (It also looks like "options XEN" is spelled "option XEN" in your config file below?)
Robert
>
>
> 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 -> itetcu at FreeBSD.org, PGP Key ID 057E9F8B493A297B
More information about the svn-src-all
mailing list