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-stable-8 mailing list