You absolutely want to run the witness checks; freebsd/xen is still in development.
I'll commit the netfront fix though. Thanks! Adrian 2009/6/7 Edwin Shao <pole...@gmail.com>: > Hi all, > > I am running Adrian's Xen image on a pygrub domU and am building the > kernel targeted towards production use. With that in mind, commenting > out the lines: > #options WITNESS # Enable checks to detect > deadlocks and cycles > #options WITNESS_SKIPSPIN # Don't run witness on > spinlocks for speed > > Yields the error: > In file included from /usr/src/sys/dev/xen/netfront/netfront.c:33: > /usr/src/sys/sys/sx.h:211:2: error: #error "LOCK_DEBUG not defined, > include <sys/lock.h> before <sys/sx.h>" > mkdep: compile failed > > This is reproducible, at the very least, between 20090520 and 20090606. > > A very simple fix is: > diff netfront.c netfront.old.c > 33d32 > < #include <sys/lock.h> > > Let me know if I am doing something stupidly wrong (as I've only been > running FreeBSD since yesterday) or if you need any more information. > > Thanks, > Edwin > > PS. If there is any interest, I can provide weekly or so kernel > builds. My config file is aimed towards use in a production > environment with jails use, and thus has debugging options off and > pf/vlan/NULLFS/FDESCFS enabled. > > > ---------- Error Log ---------- > > > -------------------------------------------------------------- >>>> Kernel build for XENNEKO started on Sat Jun 6 20:55:49 EDT 2009 > -------------------------------------------------------------- > ===> XENNEKO > mkdir -p /usr/obj/usr/src/sys > > -------------------------------------------------------------- >>>> stage 1: configuring the kernel > -------------------------------------------------------------- > cd /usr/src/sys/i386/conf; > PATH=/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/usr/games:/sbin:/bin:/usr/sbin:/usr/bin > config -d /usr/obj/usr/src/sys/XENNEKO > /usr/src/sys/i386/conf/XENNEKO > Kernel build directory is /usr/obj/usr/src/sys/XENNEKO > Don't forget to do ``make cleandepend && make depend'' > > -------------------------------------------------------------- >>>> stage 2.1: cleaning up the object tree > -------------------------------------------------------------- > cd /usr/obj/usr/src/sys/XENNEKO; MAKEOBJDIRPREFIX=/usr/obj > MACHINE_ARCH=i386 MACHINE=i386 CPUTYPE=pentiumpro > GROFF_BIN_PATH=/usr/obj/usr/src/tmp/legacy/usr/bin > GROFF_FONT_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/groff_font > GROFF_TMAC_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/tmac > _SHLIBDIRPREFIX=/usr/obj/usr/src/tmp VERSION="FreeBSD 8.0-CURRENT > i386 800095" INSTALL="sh /usr/src/tools/install.sh" > PATH=/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/usr/games:/sbin:/bin:/usr/sbin:/usr/bin > NO_CTF=1 make KERNEL=kernel cleandir > rm -f *.o *.so *.So *.ko *.s eddep errs kernel.debug kernel > kernel.symbols linterrs makelinks tags vers.c vnode_if.c vnode_if.h > vnode_if_newproto.h vnode_if_typedef.h eisa_if.c mmcbr_if.c > mmcbus_if.c card_if.c power_if.c pci_if.c pcib_if.c g_part_if.c > isa_if.c bus_if.c clock_if.c cpufreq_if.c device_if.c linker_if.c > serdev_if.c xenbus_if.c acpi_if.c eisa_if.h mmcbr_if.h mmcbus_if.h > card_if.h power_if.h pci_if.h pcib_if.h g_part_if.h isa_if.h bus_if.h > clock_if.h cpufreq_if.h device_if.h linker_if.h serdev_if.h > xenbus_if.h acpi_if.h pccarddevs.h > rm -f .depend machine > cd /usr/src/sys/modules; > MAKEOBJDIRPREFIX=/usr/obj/usr/src/sys/XENNEKO/modules > KMODDIR=/boot/kernel MODULES_OVERRIDE="""" DEBUG_FLAGS="-g" > MACHINE=i386 KERNBUILDDIR="/usr/obj/usr/src/sys/XENNEKO" > SYSDIR="/usr/src/sys" make cleandir > > -------------------------------------------------------------- >>>> stage 2.2: rebuilding the object tree > -------------------------------------------------------------- > cd /usr/obj/usr/src/sys/XENNEKO; MAKEOBJDIRPREFIX=/usr/obj > MACHINE_ARCH=i386 MACHINE=i386 CPUTYPE=pentiumpro > GROFF_BIN_PATH=/usr/obj/usr/src/tmp/legacy/usr/bin > GROFF_FONT_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/groff_font > GROFF_TMAC_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/tmac > _SHLIBDIRPREFIX=/usr/obj/usr/src/tmp VERSION="FreeBSD 8.0-CURRENT > i386 800095" INSTALL="sh /usr/src/tools/install.sh" > PATH=/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/usr/games:/sbin:/bin:/usr/sbin:/usr/bin > NO_CTF=1 make KERNEL=kernel obj > cd /usr/src/sys/modules; > MAKEOBJDIRPREFIX=/usr/obj/usr/src/sys/XENNEKO/modules > KMODDIR=/boot/kernel MODULES_OVERRIDE="""" DEBUG_FLAGS="-g" > MACHINE=i386 KERNBUILDDIR="/usr/obj/usr/src/sys/XENNEKO" > SYSDIR="/usr/src/sys" make obj > > -------------------------------------------------------------- >>>> stage 2.3: build tools > -------------------------------------------------------------- > cd /usr/obj/usr/src/sys/XENNEKO; > MAKESRCPATH=/usr/src/sys/dev/aic7xxx/aicasm make SSP_CFLAGS= > -DNO_CPU_CFLAGS -DNO_CTF -f /usr/src/sys/dev/aic7xxx/aicasm/Makefile > Warning: Object directory not changed from original > /usr/obj/usr/src/sys/XENNEKO > cc -O2 -fno-strict-aliasing -pipe -nostdinc -I/usr/include -I. > -I/usr/src/sys/dev/aic7xxx/aicasm -std=gnu99 -Wsystem-headers -Werror > -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes > -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual > -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter > -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls > -Wno-pointer-sign -c /usr/src/sys/dev/aic7xxx/aicasm/aicasm.c > cc -O2 -fno-strict-aliasing -pipe -nostdinc -I/usr/include -I. > -I/usr/src/sys/dev/aic7xxx/aicasm -std=gnu99 -Wsystem-headers -Werror > -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes > -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual > -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter > -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls > -Wno-pointer-sign -c /usr/src/sys/dev/aic7xxx/aicasm/aicasm_symbol.c > cc -O2 -fno-strict-aliasing -pipe -nostdinc -I/usr/include -I. > -I/usr/src/sys/dev/aic7xxx/aicasm -std=gnu99 -Wsystem-headers -Werror > -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes > -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual > -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter > -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls > -Wno-pointer-sign -c aicasm_gram.c > cc -O2 -fno-strict-aliasing -pipe -nostdinc -I/usr/include -I. > -I/usr/src/sys/dev/aic7xxx/aicasm -std=gnu99 -Wsystem-headers -Werror > -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes > -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual > -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter > -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls > -Wno-pointer-sign -c aicasm_macro_gram.c > cc -O2 -fno-strict-aliasing -pipe -nostdinc -I/usr/include -I. > -I/usr/src/sys/dev/aic7xxx/aicasm -std=gnu99 -Wsystem-headers -Werror > -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes > -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual > -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter > -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls > -Wno-pointer-sign -c aicasm_scan.c > cc -O2 -fno-strict-aliasing -pipe -nostdinc -I/usr/include -I. > -I/usr/src/sys/dev/aic7xxx/aicasm -std=gnu99 -Wsystem-headers -Werror > -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes > -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual > -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter > -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls > -Wno-pointer-sign -c aicasm_macro_scan.c > cc -O2 -fno-strict-aliasing -pipe -nostdinc -I/usr/include -I. > -I/usr/src/sys/dev/aic7xxx/aicasm -std=gnu99 -Wsystem-headers -Werror > -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes > -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual > -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter > -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls > -Wno-pointer-sign -o aicasm aicasm.o aicasm_symbol.o aicasm_gram.o > aicasm_macro_gram.o aicasm_scan.o aicasm_macro_scan.o -ll > cd /usr/src/sys/modules/aic7xxx/aicasm; > MAKEOBJDIRPREFIX=/usr/obj/usr/src/sys/XENNEKO/modules make > SSP_CFLAGS= -DNO_CPU_CFLAGS -DNO_CTF obj > cd /usr/src/sys/modules/aic7xxx/aicasm; > MAKEOBJDIRPREFIX=/usr/obj/usr/src/sys/XENNEKO/modules make > SSP_CFLAGS= -DNO_CPU_CFLAGS -DNO_CTF depend > cd /usr/src/sys/modules/aic7xxx/aicasm; > MAKEOBJDIRPREFIX=/usr/obj/usr/src/sys/XENNEKO/modules make > SSP_CFLAGS= -DNO_CPU_CFLAGS -DNO_CTF all > > -------------------------------------------------------------- >>>> stage 3.1: making dependencies > -------------------------------------------------------------- > cd /usr/obj/usr/src/sys/XENNEKO; MAKEOBJDIRPREFIX=/usr/obj > MACHINE_ARCH=i386 MACHINE=i386 CPUTYPE=pentiumpro > GROFF_BIN_PATH=/usr/obj/usr/src/tmp/legacy/usr/bin > GROFF_FONT_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/groff_font > GROFF_TMAC_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/tmac > _SHLIBDIRPREFIX=/usr/obj/usr/src/tmp VERSION="FreeBSD 8.0-CURRENT > i386 800095" INSTALL="sh /usr/src/tools/install.sh" > PATH=/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/usr/games:/sbin:/bin:/usr/sbin:/usr/bin > NO_CTF=1 make KERNEL=kernel depend -DNO_MODULES_OBJ > machine -> /usr/src/sys/i386/include > cc -c -O -pipe -march=pentiumpro -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 -I/usr/src/sys/contrib/ipfilter > -I/usr/src/sys/contrib/pf -I/usr/src/sys/dev/ath > -I/usr/src/sys/dev/ath/ath_hal -I/usr/src/sys/contrib/ngatm > -I/usr/src/sys/dev/twa -I/usr/src/sys/gnu/fs/xfs/FreeBSD > -I/usr/src/sys/gnu/fs/xfs/FreeBSD/support -I/usr/src/sys/gnu/fs/xfs > -I/usr/src/sys/contrib/opensolaris/compat -I/usr/src/sys/dev/cxgb > -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h > -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 > /usr/src/sys/i386/i386/genassym.c > NM='nm' sh /usr/src/sys/kern/genassym.sh genassym.o > assym.s > awk -f /usr/src/sys/tools/vnode_if.awk /usr/src/sys/kern/vnode_if.src -p > awk -f /usr/src/sys/tools/vnode_if.awk /usr/src/sys/kern/vnode_if.src -q > awk -f /usr/src/sys/tools/vnode_if.awk /usr/src/sys/kern/vnode_if.src -h > awk -f /usr/src/sys/tools/pccarddevs2h.awk /usr/src/sys/dev/pccard/pccarddevs > awk -f /usr/src/sys/tools/vnode_if.awk /usr/src/sys/kern/vnode_if.src -c > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/eisa/eisa_if.m -c > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/mmc/mmcbr_if.m -c > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/mmc/mmcbus_if.m -c > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pccard/card_if.m -c > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pccard/power_if.m -c > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pci/pci_if.m -c > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pci/pcib_if.m -c > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/geom/part/g_part_if.m -c > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/isa/isa_if.m -c > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/bus_if.m -c > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/clock_if.m -c > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/cpufreq_if.m -c > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/device_if.m -c > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/linker_if.m -c > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/serdev_if.m -c > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/xen/xenbus/xenbus_if.m > -c > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/acpica/acpi_if.m -c > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/eisa/eisa_if.m -h > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/mmc/mmcbr_if.m -h > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/mmc/mmcbus_if.m -h > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pccard/card_if.m -h > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pccard/power_if.m -h > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pci/pci_if.m -h > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pci/pcib_if.m -h > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/geom/part/g_part_if.m -h > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/isa/isa_if.m -h > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/bus_if.m -h > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/clock_if.m -h > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/cpufreq_if.m -h > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/device_if.m -h > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/linker_if.m -h > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/serdev_if.m -h > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/xen/xenbus/xenbus_if.m > -h > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/acpica/acpi_if.m -h > rm -f .newdep > make -V CFILES -V SYSTEM_CFILES -V GEN_CFILES | MKDEP_CPP="cc -E" > CC="cc" xargs mkdep -a -f .newdep -O -pipe -march=pentiumpro -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 -I/usr/src/sys/contrib/ipfilter > -I/usr/src/sys/contrib/pf -I/usr/src/sys/dev/ath > -I/usr/src/sys/dev/ath/ath_hal -I/usr/src/sys/contrib/ngatm > -I/usr/src/sys/dev/twa -I/usr/src/sys/gnu/fs/xfs/FreeBSD > -I/usr/src/sys/gnu/fs/xfs/FreeBSD/support -I/usr/src/sys/gnu/fs/xfs > -I/usr/src/sys/contrib/opensolaris/compat -I/usr/src/sys/dev/cxgb > -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-protec! > tor > *** Error code 1 > > Stop in /usr/obj/usr/src/sys/XENNEKO. > *** Error code 1 > > Stop in /usr/src. > *** Error code 1 > > Stop in /usr/src. > > In file included from /usr/src/sys/dev/xen/netfront/netfront.c:33: > /usr/src/sys/sys/sx.h:211:2: error: #error "LOCK_DEBUG not defined, > include <sys/lock.h> before <sys/sx.h>" > mkdep: compile failed > _______________________________________________ > freebsd-xen@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-xen > To unsubscribe, send any mail to "freebsd-xen-unsubscr...@freebsd.org" > _______________________________________________ freebsd-xen@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-xen To unsubscribe, send any mail to "freebsd-xen-unsubscr...@freebsd.org"