Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Dec 2010 15:31:48 +0000
From:      "Robert N. M. Watson" <rwatson@FreeBSD.org>
To:        Ion-Mihai Tetcu <itetcu@FreeBSD.org>
Cc:        svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-8@freebsd.org
Subject:   Re: svn commit: r216406 - stable/8/sys/amd64/conf
Message-ID:  <B7ED1E1F-5797-448E-A1A7-D905E7EE5FD5@FreeBSD.org>
In-Reply-To: <20101213160021.60401b79@it.buh.tecnik93.com>
References:  <201012131234.oBDCYZvl082510@svn.freebsd.org> <20101213160021.60401b79@it.buh.tecnik93.com>

next in thread | previous in thread | raw e-mail | index | archive | help

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).
>=20
> 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

>=20
>=20
> BTW, on a i386R trying to do a
> make buildworld && make buildkernel KERNCONF=3DVPS
> yesterday resulted in:
>=20
> cc -c -O -pipe  -std=3Dc99 -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=3D8000 --param inline-unit-growth=3D100 --param =
large-function-growth=3D1000  -mno-align-long-strings =
-mpreferred-stack-boundary=3D2  -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
>=20
>=20
> Maybe I have something wrong in the KERNCONF?
>=20
> # 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 $
>=20
> cpu             I686_CPU
> ident           XEN
>=20
> makeoptions     DEBUG=3D-g                # Build kernel with gdb(1) =
debug symbols
> #makeoptions    MODULES_OVERRIDE=3D""
>=20
> options         SCHED_ULE               # ULE scheduler
> options         PREEMPTION              # Enable kernel thread =
preemption
>=20
> 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
>=20
> # 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
>=20
> nooption        NATIVE
> option          XEN
> nodevice        atpic
> nodevice        isa
> options         MCLSHIFT=3D12
>=20
> # To make an SMP kernel, the next two lines are needed
> options         SMP                     # Symmetric MultiProcessor =
Kernel
> device          apic                    # I/O APIC
>=20
>=20
> #device         atkbdc          # AT keyboard controller
> #device         atkbd           # AT keyboard
> #device         psm             # PS/2 mouse
> device          pci
>=20
> #device         kbdmux          # keyboard multiplexer
>=20
> device          loop            # Network loopback
> device          random          # Entropy device
> device          ether           # Ethernet support
> device          pty             # Pseudo-ttys (telnet etc)
> device          bpf             # Berkeley packet filter
>=20
> device          eisa
> device          ata
> options         ATA_STATIC_ID   # Static device numbering
>=20
> device          vga             # VGA video card driver
> options         VGA_NO_FONT_LOADING
> options         VGA_NO_MODE_CHANGE
>=20
> # 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
>=20
> device          pmtimer
>=20
>=20
>=20
> --=20
> IOnut - Un^d^dregistered ;) FreeBSD "user"
>  "Intellectual Property" is   nowhere near as valuable   as =
"Intellect"
> FreeBSD committer -> itetcu@FreeBSD.org, PGP Key ID 057E9F8B493A297B




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B7ED1E1F-5797-448E-A1A7-D905E7EE5FD5>