Re: boot failure at ZFS: unsupported feature: com.delphix:hole_birth

2014-01-02 Thread Julian Elischer

On 1/2/14, 7:18 AM, 乔楚 wrote:

update bootcod:
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i ada0

Now, it can boot ok.


thanks for letting us know.. I know I'll be hitting this soon :-)




2014/1/1 乔楚 honestq...@gmail.com


Today ,I upgrade to
http://svnweb.freebsd.org/base?view=revisionrevision=260157

After svn up, make clean, make buildworld, make buildkernel, make
installkernel, reboot, mergemaster -p, make installworld, mergemaster,
reboot, OS can't boot.

Screen show:
ZFS: unsupported feature: com.delphix:hole_birth
gptzfsboot: No ZFS pool located, can't boot.

I'm use root ZFS.
How to recovery it?

Thanks.



___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org




___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org

[head tinderbox] failure on armv6/arm

2014-01-02 Thread FreeBSD Tinderbox
TB --- 2014-01-02 07:20:17 - tinderbox 2.20 running on freebsd-current.sentex.ca
TB --- 2014-01-02 07:20:17 - FreeBSD freebsd-current.sentex.ca 8.3-PRERELEASE 
FreeBSD 8.3-PRERELEASE #0: Mon Mar 26 13:54:12 EDT 2012 
d...@freebsd-current.sentex.ca:/usr/obj/usr/src/sys/GENERIC  amd64
TB --- 2014-01-02 07:20:17 - starting HEAD tinderbox run for armv6/arm
TB --- 2014-01-02 07:20:17 - cleaning the object tree
TB --- 2014-01-02 07:24:52 - /usr/local/bin/svn stat /src
TB --- 2014-01-02 07:24:56 - At svn revision 260182
TB --- 2014-01-02 07:24:57 - building world
TB --- 2014-01-02 07:24:57 - CROSS_BUILD_TESTING=YES
TB --- 2014-01-02 07:24:57 - MAKEOBJDIRPREFIX=/obj
TB --- 2014-01-02 07:24:57 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2014-01-02 07:24:57 - SRCCONF=/dev/null
TB --- 2014-01-02 07:24:57 - TARGET=arm
TB --- 2014-01-02 07:24:57 - TARGET_ARCH=armv6
TB --- 2014-01-02 07:24:57 - TZ=UTC
TB --- 2014-01-02 07:24:57 - __MAKE_CONF=/dev/null
TB --- 2014-01-02 07:24:57 - cd /src
TB --- 2014-01-02 07:24:57 - /usr/bin/make -B buildworld
 Building an up-to-date make(1)
 World build started on Thu Jan  2 07:25:05 UTC 2014
 Rebuilding the temporary build tree
 stage 1.1: legacy release compatibility shims
 stage 1.2: bootstrap tools
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3: cross tools
 stage 4.1: building includes
 stage 4.2: building libraries
 stage 4.3: make dependencies
 stage 4.4: building everything
 World build completed on Thu Jan  2 10:31:11 UTC 2014
TB --- 2014-01-02 10:31:11 - generating LINT kernel config
TB --- 2014-01-02 10:31:11 - cd /src/sys/arm/conf
TB --- 2014-01-02 10:31:11 - /usr/bin/make -B LINT
TB --- 2014-01-02 10:31:11 - cd /src/sys/arm/conf
TB --- 2014-01-02 10:31:11 - /usr/sbin/config -m LINT
TB --- 2014-01-02 10:31:11 - skipping LINT kernel
TB --- 2014-01-02 10:31:11 - cd /src/sys/arm/conf
TB --- 2014-01-02 10:31:11 - /usr/sbin/config -m AC100
TB --- 2014-01-02 10:31:11 - building AC100 kernel
TB --- 2014-01-02 10:31:11 - CROSS_BUILD_TESTING=YES
TB --- 2014-01-02 10:31:11 - MAKEOBJDIRPREFIX=/obj
TB --- 2014-01-02 10:31:11 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2014-01-02 10:31:11 - SRCCONF=/dev/null
TB --- 2014-01-02 10:31:11 - TARGET=arm
TB --- 2014-01-02 10:31:11 - TARGET_ARCH=armv6
TB --- 2014-01-02 10:31:11 - TZ=UTC
TB --- 2014-01-02 10:31:11 - __MAKE_CONF=/dev/null
TB --- 2014-01-02 10:31:11 - cd /src
TB --- 2014-01-02 10:31:11 - /usr/bin/make -B buildkernel KERNCONF=AC100
 Kernel build for AC100 started on Thu Jan  2 10:31:11 UTC 2014
 stage 1: configuring the kernel
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3.1: making dependencies
[...]
machine - /src/sys/arm/include
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 -Wmissing-include-dirs 
-fdiagnostics-show-option -Wno-error-tautological-compare -Wno-error-empty-body 
-Wno-error-parentheses-equality -nostdinc -I. -I/src/sys 
-I/src/sys/contrib/altq -I/src/sys/contrib/ipfilter -I/src/sys/dev/ath 
-I/src/sys/dev/ath/ath_hal -I/src/sys/contrib/dev/ath/ath_hal 
-I/src/sys/contrib/ngatm -I/src/sys/dev/twa -I/src/sys/dev/cxgb 
-I/src/sys/dev/cxgbe -I/src/sys/contrib/libfdt -D_KERNEL 
-DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -funwind-tables 
-ffreestanding /src/sys/arm/arm/genassym.c
In file included from /src/sys/arm/arm/genassym.c:48:
In file included from ./machine/intr.h:71:
/src/sys/sys/bus.h:585:10: fatal error: 'device_if.h' file not found
#include device_if.h
 ^
1 error generated.
*** Error code 1

Stop.
bmake[1]: stopped in /obj/arm.armv6/src/sys/AC100
*** Error code 1

Stop.
bmake: stopped in /src
*** Error code 1

Stop in /src.
TB --- 2014-01-02 10:31:14 - WARNING: /usr/bin/make returned exit code  1 
TB --- 2014-01-02 10:31:14 - ERROR: failed to build AC100 kernel
TB --- 2014-01-02 10:31:14 - 8698.35 user 1651.17 system 11456.36 real


http://tinderbox.freebsd.org/tinderbox-head-build-HEAD-armv6-arm.full
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


[head tinderbox] failure on arm/arm

2014-01-02 Thread FreeBSD Tinderbox
TB --- 2014-01-02 07:20:17 - tinderbox 2.20 running on freebsd-current.sentex.ca
TB --- 2014-01-02 07:20:17 - FreeBSD freebsd-current.sentex.ca 8.3-PRERELEASE 
FreeBSD 8.3-PRERELEASE #0: Mon Mar 26 13:54:12 EDT 2012 
d...@freebsd-current.sentex.ca:/usr/obj/usr/src/sys/GENERIC  amd64
TB --- 2014-01-02 07:20:17 - starting HEAD tinderbox run for arm/arm
TB --- 2014-01-02 07:20:17 - cleaning the object tree
TB --- 2014-01-02 07:24:53 - /usr/local/bin/svn stat /src
TB --- 2014-01-02 07:24:56 - At svn revision 260182
TB --- 2014-01-02 07:24:57 - building world
TB --- 2014-01-02 07:24:57 - CROSS_BUILD_TESTING=YES
TB --- 2014-01-02 07:24:57 - MAKEOBJDIRPREFIX=/obj
TB --- 2014-01-02 07:24:57 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2014-01-02 07:24:57 - SRCCONF=/dev/null
TB --- 2014-01-02 07:24:57 - TARGET=arm
TB --- 2014-01-02 07:24:57 - TARGET_ARCH=arm
TB --- 2014-01-02 07:24:57 - TZ=UTC
TB --- 2014-01-02 07:24:57 - __MAKE_CONF=/dev/null
TB --- 2014-01-02 07:24:57 - cd /src
TB --- 2014-01-02 07:24:57 - /usr/bin/make -B buildworld
 Building an up-to-date make(1)
 World build started on Thu Jan  2 07:25:05 UTC 2014
 Rebuilding the temporary build tree
 stage 1.1: legacy release compatibility shims
 stage 1.2: bootstrap tools
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3: cross tools
 stage 4.1: building includes
 stage 4.2: building libraries
 stage 4.3: make dependencies
 stage 4.4: building everything
 World build completed on Thu Jan  2 10:31:12 UTC 2014
TB --- 2014-01-02 10:31:12 - generating LINT kernel config
TB --- 2014-01-02 10:31:12 - cd /src/sys/arm/conf
TB --- 2014-01-02 10:31:12 - /usr/bin/make -B LINT
TB --- 2014-01-02 10:31:12 - cd /src/sys/arm/conf
TB --- 2014-01-02 10:31:12 - /usr/sbin/config -m LINT
TB --- 2014-01-02 10:31:12 - building LINT kernel
TB --- 2014-01-02 10:31:12 - CROSS_BUILD_TESTING=YES
TB --- 2014-01-02 10:31:12 - MAKEOBJDIRPREFIX=/obj
TB --- 2014-01-02 10:31:12 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2014-01-02 10:31:12 - SRCCONF=/dev/null
TB --- 2014-01-02 10:31:12 - TARGET=arm
TB --- 2014-01-02 10:31:12 - TARGET_ARCH=arm
TB --- 2014-01-02 10:31:12 - TZ=UTC
TB --- 2014-01-02 10:31:12 - __MAKE_CONF=/dev/null
TB --- 2014-01-02 10:31:12 - cd /src
TB --- 2014-01-02 10:31:12 - /usr/bin/make -B buildkernel KERNCONF=LINT
 Kernel build for LINT started on Thu Jan  2 10:31:12 UTC 2014
 stage 1: configuring the kernel
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3.1: making dependencies
[...]
machine - /src/sys/arm/include
cc  -c -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls 
-Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith 
-Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions 
-Wmissing-include-dirs -fdiagnostics-show-option 
-Wno-error-tautological-compare -Wno-error-empty-body 
-Wno-error-parentheses-equality -nostdinc -I. -I/src/sys 
-I/src/sys/contrib/altq -I/src/sys/contrib/ipfilter -I/src/sys/dev/ath 
-I/src/sys/dev/ath/ath_hal -I/src/sys/contrib/dev/ath/ath_hal 
-I/src/sys/contrib/ngatm -I/src/sys/dev/twa -I/src/sys/dev/cxgb 
-I/src/sys/dev/cxgbe -I/src/sys/contrib/libfdt -D_KERNEL 
-DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-builtin -funwind-tables 
-ffreestanding /src/sys/arm/arm/genassym.c
In file included from /src/sys/arm/arm/genassym.c:48:
In file included from ./machine/intr.h:71:
/src/sys/sys/bus.h:585:10: fatal error: 'device_if.h' file not found
#include device_if.h
 ^
1 error generated.
*** Error code 1

Stop.
bmake[1]: stopped in /obj/arm.arm/src/sys/LINT
*** Error code 1

Stop.
bmake: stopped in /src
*** Error code 1

Stop in /src.
TB --- 2014-01-02 10:31:47 - WARNING: /usr/bin/make returned exit code  1 
TB --- 2014-01-02 10:31:47 - ERROR: failed to build LINT kernel
TB --- 2014-01-02 10:31:47 - 8700.84 user 1663.12 system 11489.74 real


http://tinderbox.freebsd.org/tinderbox-head-build-HEAD-arm-arm.full
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


[head tinderbox] failure on i386/i386

2014-01-02 Thread FreeBSD Tinderbox
TB --- 2014-01-02 07:20:17 - tinderbox 2.20 running on freebsd-current.sentex.ca
TB --- 2014-01-02 07:20:17 - FreeBSD freebsd-current.sentex.ca 8.3-PRERELEASE 
FreeBSD 8.3-PRERELEASE #0: Mon Mar 26 13:54:12 EDT 2012 
d...@freebsd-current.sentex.ca:/usr/obj/usr/src/sys/GENERIC  amd64
TB --- 2014-01-02 07:20:17 - starting HEAD tinderbox run for i386/i386
TB --- 2014-01-02 07:20:17 - cleaning the object tree
TB --- 2014-01-02 07:24:58 - /usr/local/bin/svn stat /src
TB --- 2014-01-02 07:25:01 - At svn revision 260182
TB --- 2014-01-02 07:25:02 - building world
TB --- 2014-01-02 07:25:02 - CROSS_BUILD_TESTING=YES
TB --- 2014-01-02 07:25:02 - MAKEOBJDIRPREFIX=/obj
TB --- 2014-01-02 07:25:02 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2014-01-02 07:25:02 - SRCCONF=/dev/null
TB --- 2014-01-02 07:25:02 - TARGET=i386
TB --- 2014-01-02 07:25:02 - TARGET_ARCH=i386
TB --- 2014-01-02 07:25:02 - TZ=UTC
TB --- 2014-01-02 07:25:02 - __MAKE_CONF=/dev/null
TB --- 2014-01-02 07:25:02 - cd /src
TB --- 2014-01-02 07:25:02 - /usr/bin/make -B buildworld
 Building an up-to-date make(1)
 World build started on Thu Jan  2 07:25:09 UTC 2014
 Rebuilding the temporary build tree
 stage 1.1: legacy release compatibility shims
 stage 1.2: bootstrap tools
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3: cross tools
 stage 4.1: building includes
 stage 4.2: building libraries
 stage 4.3: make dependencies
 stage 4.4: building everything
 World build completed on Thu Jan  2 10:39:52 UTC 2014
TB --- 2014-01-02 10:39:52 - generating LINT kernel config
TB --- 2014-01-02 10:39:52 - cd /src/sys/i386/conf
TB --- 2014-01-02 10:39:52 - /usr/bin/make -B LINT
TB --- 2014-01-02 10:39:52 - cd /src/sys/i386/conf
TB --- 2014-01-02 10:39:52 - /usr/sbin/config -m LINT
TB --- 2014-01-02 10:39:52 - building LINT kernel
TB --- 2014-01-02 10:39:52 - CROSS_BUILD_TESTING=YES
TB --- 2014-01-02 10:39:52 - MAKEOBJDIRPREFIX=/obj
TB --- 2014-01-02 10:39:52 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2014-01-02 10:39:52 - SRCCONF=/dev/null
TB --- 2014-01-02 10:39:52 - TARGET=i386
TB --- 2014-01-02 10:39:52 - TARGET_ARCH=i386
TB --- 2014-01-02 10:39:52 - TZ=UTC
TB --- 2014-01-02 10:39:52 - __MAKE_CONF=/dev/null
TB --- 2014-01-02 10:39:52 - cd /src
TB --- 2014-01-02 10:39:52 - /usr/bin/make -B buildkernel KERNCONF=LINT
 Kernel build for LINT started on Thu Jan  2 10:39:52 UTC 2014
 stage 1: configuring the kernel
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3.1: making dependencies
 stage 3.2: building everything
 Kernel build for LINT completed on Thu Jan  2 11:16:57 UTC 2014
TB --- 2014-01-02 11:16:57 - cd /src/sys/i386/conf
TB --- 2014-01-02 11:16:57 - /usr/sbin/config -m LINT-NOINET
TB --- 2014-01-02 11:16:57 - building LINT-NOINET kernel
TB --- 2014-01-02 11:16:57 - CROSS_BUILD_TESTING=YES
TB --- 2014-01-02 11:16:57 - MAKEOBJDIRPREFIX=/obj
TB --- 2014-01-02 11:16:57 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2014-01-02 11:16:57 - SRCCONF=/dev/null
TB --- 2014-01-02 11:16:57 - TARGET=i386
TB --- 2014-01-02 11:16:57 - TARGET_ARCH=i386
TB --- 2014-01-02 11:16:57 - TZ=UTC
TB --- 2014-01-02 11:16:57 - __MAKE_CONF=/dev/null
TB --- 2014-01-02 11:16:57 - cd /src
TB --- 2014-01-02 11:16:57 - /usr/bin/make -B buildkernel KERNCONF=LINT-NOINET
 Kernel build for LINT-NOINET started on Thu Jan  2 11:16:57 UTC 2014
 stage 1: configuring the kernel
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3.1: making dependencies
 stage 3.2: building everything
 Kernel build for LINT-NOINET completed on Thu Jan  2 11:49:48 UTC 2014
TB --- 2014-01-02 11:49:48 - cd /src/sys/i386/conf
TB --- 2014-01-02 11:49:48 - /usr/sbin/config -m LINT-NOINET6
TB --- 2014-01-02 11:49:48 - building LINT-NOINET6 kernel
TB --- 2014-01-02 11:49:48 - CROSS_BUILD_TESTING=YES
TB --- 2014-01-02 11:49:48 - MAKEOBJDIRPREFIX=/obj
TB --- 2014-01-02 11:49:48 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2014-01-02 11:49:48 - SRCCONF=/dev/null
TB --- 2014-01-02 11:49:48 - TARGET=i386
TB --- 2014-01-02 11:49:48 - TARGET_ARCH=i386
TB --- 2014-01-02 11:49:48 - TZ=UTC
TB --- 2014-01-02 11:49:48 - __MAKE_CONF=/dev/null
TB --- 2014-01-02 11:49:48 - cd /src
TB --- 2014-01-02 11:49:48 - /usr/bin/make -B buildkernel KERNCONF=LINT-NOINET6
 Kernel build for LINT-NOINET6 started on Thu Jan  2 11:49:48 UTC 2014
 stage 1: configuring the kernel
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3.1: making dependencies
 stage 3.2: building everything
[...]
/src/sys/netgraph/netflow/netflow.c:281:43: error: no member named 'zone6' in 
'struct netflow'; did you mean 'zone'?
i-nfinfo_used6 = uma_zone_get_cur(priv-zone6);
 ^
 zone
/src/sys/netgraph/netflow/ng_netflow.h:422:14: note: 

[head tinderbox] failure on amd64/amd64

2014-01-02 Thread FreeBSD Tinderbox
TB --- 2014-01-02 07:20:17 - tinderbox 2.20 running on freebsd-current.sentex.ca
TB --- 2014-01-02 07:20:17 - FreeBSD freebsd-current.sentex.ca 8.3-PRERELEASE 
FreeBSD 8.3-PRERELEASE #0: Mon Mar 26 13:54:12 EDT 2012 
d...@freebsd-current.sentex.ca:/usr/obj/usr/src/sys/GENERIC  amd64
TB --- 2014-01-02 07:20:17 - starting HEAD tinderbox run for amd64/amd64
TB --- 2014-01-02 07:20:17 - cleaning the object tree
TB --- 2014-01-02 07:26:13 - /usr/local/bin/svn stat /src
TB --- 2014-01-02 07:26:17 - At svn revision 260182
TB --- 2014-01-02 07:26:18 - building world
TB --- 2014-01-02 07:26:18 - CROSS_BUILD_TESTING=YES
TB --- 2014-01-02 07:26:18 - MAKEOBJDIRPREFIX=/obj
TB --- 2014-01-02 07:26:18 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2014-01-02 07:26:18 - SRCCONF=/dev/null
TB --- 2014-01-02 07:26:18 - TARGET=amd64
TB --- 2014-01-02 07:26:18 - TARGET_ARCH=amd64
TB --- 2014-01-02 07:26:18 - TZ=UTC
TB --- 2014-01-02 07:26:18 - __MAKE_CONF=/dev/null
TB --- 2014-01-02 07:26:18 - cd /src
TB --- 2014-01-02 07:26:18 - /usr/bin/make -B buildworld
 Building an up-to-date make(1)
 World build started on Thu Jan  2 07:26:24 UTC 2014
 Rebuilding the temporary build tree
 stage 1.1: legacy release compatibility shims
 stage 1.2: bootstrap tools
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3: cross tools
 stage 4.1: building includes
 stage 4.2: building libraries
 stage 4.3: make dependencies
 stage 4.4: building everything
 stage 5.1: building 32 bit shim libraries
 World build completed on Thu Jan  2 11:14:15 UTC 2014
TB --- 2014-01-02 11:14:15 - generating LINT kernel config
TB --- 2014-01-02 11:14:15 - cd /src/sys/amd64/conf
TB --- 2014-01-02 11:14:15 - /usr/bin/make -B LINT
TB --- 2014-01-02 11:14:15 - cd /src/sys/amd64/conf
TB --- 2014-01-02 11:14:15 - /usr/sbin/config -m LINT
TB --- 2014-01-02 11:14:15 - building LINT kernel
TB --- 2014-01-02 11:14:15 - CROSS_BUILD_TESTING=YES
TB --- 2014-01-02 11:14:15 - MAKEOBJDIRPREFIX=/obj
TB --- 2014-01-02 11:14:15 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2014-01-02 11:14:15 - SRCCONF=/dev/null
TB --- 2014-01-02 11:14:15 - TARGET=amd64
TB --- 2014-01-02 11:14:15 - TARGET_ARCH=amd64
TB --- 2014-01-02 11:14:15 - TZ=UTC
TB --- 2014-01-02 11:14:15 - __MAKE_CONF=/dev/null
TB --- 2014-01-02 11:14:15 - cd /src
TB --- 2014-01-02 11:14:15 - /usr/bin/make -B buildkernel KERNCONF=LINT
 Kernel build for LINT started on Thu Jan  2 11:14:15 UTC 2014
 stage 1: configuring the kernel
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3.1: making dependencies
 stage 3.2: building everything
 Kernel build for LINT completed on Thu Jan  2 11:49:04 UTC 2014
TB --- 2014-01-02 11:49:04 - cd /src/sys/amd64/conf
TB --- 2014-01-02 11:49:04 - /usr/sbin/config -m LINT-NOINET
TB --- 2014-01-02 11:49:04 - building LINT-NOINET kernel
TB --- 2014-01-02 11:49:04 - CROSS_BUILD_TESTING=YES
TB --- 2014-01-02 11:49:04 - MAKEOBJDIRPREFIX=/obj
TB --- 2014-01-02 11:49:04 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2014-01-02 11:49:04 - SRCCONF=/dev/null
TB --- 2014-01-02 11:49:04 - TARGET=amd64
TB --- 2014-01-02 11:49:04 - TARGET_ARCH=amd64
TB --- 2014-01-02 11:49:04 - TZ=UTC
TB --- 2014-01-02 11:49:04 - __MAKE_CONF=/dev/null
TB --- 2014-01-02 11:49:04 - cd /src
TB --- 2014-01-02 11:49:04 - /usr/bin/make -B buildkernel KERNCONF=LINT-NOINET
 Kernel build for LINT-NOINET started on Thu Jan  2 11:49:04 UTC 2014
 stage 1: configuring the kernel
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3.1: making dependencies
 stage 3.2: building everything
 Kernel build for LINT-NOINET completed on Thu Jan  2 12:21:50 UTC 2014
TB --- 2014-01-02 12:21:50 - cd /src/sys/amd64/conf
TB --- 2014-01-02 12:21:50 - /usr/sbin/config -m LINT-NOINET6
TB --- 2014-01-02 12:21:50 - building LINT-NOINET6 kernel
TB --- 2014-01-02 12:21:50 - CROSS_BUILD_TESTING=YES
TB --- 2014-01-02 12:21:50 - MAKEOBJDIRPREFIX=/obj
TB --- 2014-01-02 12:21:50 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2014-01-02 12:21:50 - SRCCONF=/dev/null
TB --- 2014-01-02 12:21:50 - TARGET=amd64
TB --- 2014-01-02 12:21:50 - TARGET_ARCH=amd64
TB --- 2014-01-02 12:21:50 - TZ=UTC
TB --- 2014-01-02 12:21:50 - __MAKE_CONF=/dev/null
TB --- 2014-01-02 12:21:50 - cd /src
TB --- 2014-01-02 12:21:50 - /usr/bin/make -B buildkernel KERNCONF=LINT-NOINET6
 Kernel build for LINT-NOINET6 started on Thu Jan  2 12:21:50 UTC 2014
 stage 1: configuring the kernel
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3.1: making dependencies
 stage 3.2: building everything
[...]
/src/sys/netgraph/netflow/netflow.c:281:43: error: no member named 'zone6' in 
'struct netflow'; did you mean 'zone'?
i-nfinfo_used6 = uma_zone_get_cur(priv-zone6);
 ^
 

FreeBSD 10.0-RC4 Now Available

2014-01-02 Thread Glen Barber
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

The fourth RC build of the 10.0-RELEASE release cycle is now available
on the FTP servers for the amd64, i386, ia64, powerpc, powerpc64 and
sparc64 architectures.

This is expected to be the final RC build of the 10.0-RELEASE cycle.

The image checksums follow at the end of this email.

ISO images and, for architectures that support it, the memory stick images
are available here (or any of the FreeBSD mirror sites):

ftp://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/10.0/

If you notice problems you can report them through the normal GNATS PR
system or on the -stable mailing list.

If you would like to use SVN to do a source based update of an existing
system, use the releng/10.0 branch.

Important note to freebsd-update(8) users:  Please be sure to follow the
instructions in the following FreeBSD Errata Notices before upgrading
the system to 10.0-RC4:

  . EN-13:04.freebsd-update:

http://www.freebsd.org/security/advisories/FreeBSD-EN-13:04.freebsd-update.asc

  . EN-13:05.freebsd-update:

http://www.freebsd.org/security/advisories/FreeBSD-EN-13:05.freebsd-update.asc

Pre-installed virtual machine images for 10.0-RC4 are also available
for amd64 and i386 architectures.

The images are located under the 'snapshots' directory on FTP, here:

ftp://ftp.freebsd.org/pub/FreeBSD/snapshots/VM-IMAGES/10.0-RC4/

The disk images are available in both QCOW2, VHD, and VMDK format.  The
image download size is approximately 135 MB, which decompress to a 20GB
sparse image.

The partition layout is:

. 512k - freebsd-boot GPT partition type (bootfs GPT label)
. 1GB  - freebsd-swap GPT partition type (swapfs GPT label)
. ~17GB - freebsd-ufs GPT partition type (rootfs GPT label)

Changes between -RC3 and -RC4 include:

o Tighten default restrictions for ntpd(8) server.
o Fix kernel crash discovered with recent Java port update.

The freebsd-update(8) utility supports binary upgrades of amd64 and i386
systems running earlier FreeBSD releases.  Systems running earlier
FreeBSD releases can upgrade as follows:

# freebsd-update upgrade -r 10.0-RC4

During this process, freebsd-update(8) may ask the user to help by
merging some configuration files or by confirming that the automatically
performed merging was done correctly.

# freebsd-update install

The system must be rebooted with the newly installed kernel before
continuing.

# shutdown -r now

After rebooting, freebsd-update needs to be run again to install the new
userland components:

# freebsd-update install

It is recommended to rebuild and install all applications if possible,
especially if upgrading from an earlier FreeBSD release, for example,
FreeBSD 9.x.  Alternatively, the user can install misc/compat9x and
other compatibility libraries, afterwards the system must be rebooted
into the new userland:

# shutdown -r now

Finally, after rebooting, freebsd-update needs to be run again to remove
stale files:

# freebsd-update install

== ISO CHECKSUMS ==

o 10.0-RC4 amd64:
SHA256 (FreeBSD-10.0-RC4-amd64-bootonly.iso) = 
096c4331431337c74348079cb86a6e4d0a4dc8fb92d54be86d2652b8a9716221
SHA256 (FreeBSD-10.0-RC4-amd64-disc1.iso) = 
5f231601641cabb518d6d3e6c608400bd2d865fe08c79dc6cdfbc9f48c532b94
SHA256 (FreeBSD-10.0-RC4-amd64-dvd1.iso) = 
1a9db13106932851c389aa340d77a7205dd0d5d61489994972697ffb7069b483
SHA256 (FreeBSD-10.0-RC4-amd64-memstick.img) = 
e4d214811dd8ac476161161d086044e3f39b91cc890df46f0bccebf7ca83a4c2

MD5 (FreeBSD-10.0-RC4-amd64-bootonly.iso) = 
b8ecc3d62bf0b4fc8a310223187d4f41
MD5 (FreeBSD-10.0-RC4-amd64-disc1.iso) = 
8f5bb931357e7a64d81506459f809145
MD5 (FreeBSD-10.0-RC4-amd64-dvd1.iso) = b3a5798037d7a81a1345f68dcd0431eb
MD5 (FreeBSD-10.0-RC4-amd64-memstick.img) = 
7a8ac0738ed880a9a12f947e0d5e8f42


o 10.0-RC4 i386:
SHA256 (FreeBSD-10.0-RC4-i386-bootonly.iso) = 
e74743512e6bc189ede94c3cab6a1303ea51b944e79d694b88a3c44e5379b7dc
SHA256 (FreeBSD-10.0-RC4-i386-disc1.iso) = 
0cfebb47d4930b093790a7b488f6ca503032386f9b0716f88404b9640cdd9423
SHA256 (FreeBSD-10.0-RC4-i386-dvd1.iso) = 
6948d8137b2a34af735a91c570b1fa23fa7e24a03569209614f35c54c06c3d77
SHA256 (FreeBSD-10.0-RC4-i386-memstick.img) = 
1024b9eaf88c24c0378e11c97768338eac7a124d687b0a0efe658cda66a56ac6

MD5 (FreeBSD-10.0-RC4-i386-bootonly.iso) = 
13e0a7fe8607d2acb777f48c6709d548
MD5 (FreeBSD-10.0-RC4-i386-disc1.iso) = 1fde5dbbfaea4c2406558ec6bca9d065
MD5 (FreeBSD-10.0-RC4-i386-dvd1.iso) = 69ae420512e36f43463439f9383d7181
MD5 (FreeBSD-10.0-RC4-i386-memstick.img) = 
d3da0299008bae0b7141df05dd12b188


o 10.0-RC4 ia64:
SHA256 (FreeBSD-10.0-RC4-ia64-bootonly.iso) = 
bda2fdaada11b0d4f723dd5a1f82a972b75c794882bccfb8cfc837f3b478
SHA256 (FreeBSD-10.0-RC4-ia64-disc1.iso) = 
83092f732fa1d91af48ed6f1541c700de6e5842aec7f76e29030cad9a2c19a79
SHA256 (FreeBSD-10.0-RC4-ia64-memstick.img) = 

[PATCH v9 00/19] FreeBSD PVH DomU support

2014-01-02 Thread Roger Pau Monne
This series is a split of the previous patch Xen x86 DomU PVH 
support, with the aim to make the review of the code easier.

The series can also be found on my git repo:

git://xenbits.xen.org/people/royger/freebsd.git pvh_v9

or

http://xenbits.xen.org/gitweb/?p=people/royger/freebsd.git;a=shortlog;h=refs/heads/pvh_v9

PVH mode is basically a PV guest inside an HVM container, and shares
a great amount of code with PVHVM. The main difference is the way the
guest is started, PVH uses the PV start sequence, jumping directly
into the kernel entry point in long mode and with page tables set.
The main work of this patch consists in setting the environment as
similar as possible to what native FreeBSD expects, and then adding
hooks to the PV ops when necessary.

This new version of the series (v9) addresses the comments from the 
previous posted version (v7).
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


[PATCH v9 06/19] xen: implement an early timer for Xen PVH

2014-01-02 Thread Roger Pau Monne
When running as a PVH guest, there's no emulated i8254, so we need to
use the Xen PV timer as the early source for DELAY. This change allows
for different implementations of the early DELAY function and
implements a Xen variant for it.
---
 sys/amd64/amd64/machdep.c   |6 ++-
 sys/amd64/include/clock.h   |5 ++
 sys/amd64/include/sysarch.h |2 +
 sys/conf/files.amd64|1 +
 sys/conf/files.i386 |1 +
 sys/dev/xen/timer/timer.c   |   33 +
 sys/i386/include/clock.h|5 ++
 sys/x86/isa/clock.c |   53 +
 sys/x86/x86/delay.c |  112 +++
 sys/x86/xen/pv.c|3 +
 10 files changed, 167 insertions(+), 54 deletions(-)
 create mode 100644 sys/x86/x86/delay.c

diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c
index e073eea..178d8b3 100644
--- a/sys/amd64/amd64/machdep.c
+++ b/sys/amd64/amd64/machdep.c
@@ -172,6 +172,8 @@ static caddr_t native_parse_preload_data(u_int64_t);
 /* Default init_ops implementation. */
 struct init_ops init_ops = {
.parse_preload_data =   native_parse_preload_data,
+   .early_delay_init = i8254_init,
+   .early_delay =  i8254_delay,
 };
 
 /*
@@ -1820,10 +1822,10 @@ hammer_time(u_int64_t modulep, u_int64_t physfree)
lidt(r_idt);
 
/*
-* Initialize the i8254 before the console so that console
+* Initialize the early delay before the console so that console
 * initialization can use DELAY().
 */
-   i8254_init();
+   init_ops.early_delay_init();
 
/*
 * Initialize the console before we print anything out.
diff --git a/sys/amd64/include/clock.h b/sys/amd64/include/clock.h
index d7f7d82..ac8818f 100644
--- a/sys/amd64/include/clock.h
+++ b/sys/amd64/include/clock.h
@@ -25,6 +25,11 @@ extern int   smp_tsc;
 #endif
 
 void   i8254_init(void);
+void   i8254_delay(int);
+#ifdef XENHVM
+void   xen_delay_init(void);
+void   xen_delay(int);
+#endif
 
 /*
  * Driver to clock driver interface.
diff --git a/sys/amd64/include/sysarch.h b/sys/amd64/include/sysarch.h
index 58ac8cd..60fa635 100644
--- a/sys/amd64/include/sysarch.h
+++ b/sys/amd64/include/sysarch.h
@@ -13,6 +13,8 @@
  */
 struct init_ops {
caddr_t (*parse_preload_data)(u_int64_t);
+   void(*early_delay_init)(void);
+   void(*early_delay)(int);
 };
 
 extern struct init_ops init_ops;
diff --git a/sys/conf/files.amd64 b/sys/conf/files.amd64
index 16029d8..109a796 100644
--- a/sys/conf/files.amd64
+++ b/sys/conf/files.amd64
@@ -565,6 +565,7 @@ x86/x86/mptable_pci.c   optionalmptable 
pci
 x86/x86/msi.c  optionalpci
 x86/x86/nexus.cstandard
 x86/x86/tsc.c  standard
+x86/x86/delay.cstandard
 x86/xen/hvm.c  optionalxenhvm
 x86/xen/xen_intr.c optionalxen | xenhvm
 x86/xen/pv.c   optionalxenhvm
diff --git a/sys/conf/files.i386 b/sys/conf/files.i386
index eb8697c..790296d 100644
--- a/sys/conf/files.i386
+++ b/sys/conf/files.i386
@@ -600,5 +600,6 @@ x86/x86/mptable_pci.c   optional apic native pci
 x86/x86/msi.c  optional apic pci
 x86/x86/nexus.cstandard
 x86/x86/tsc.c  standard
+x86/x86/delay.cstandard
 x86/xen/hvm.c  optional xenhvm
 x86/xen/xen_intr.c optional xen | xenhvm
diff --git a/sys/dev/xen/timer/timer.c b/sys/dev/xen/timer/timer.c
index b2f6bcd..96372ab 100644
--- a/sys/dev/xen/timer/timer.c
+++ b/sys/dev/xen/timer/timer.c
@@ -59,6 +59,9 @@ __FBSDID($FreeBSD$);
 #include machine/_inttypes.h
 #include machine/smp.h
 
+/* For the declaration of clock_lock */
+#include isa/rtc.h
+
 #include clock_if.h
 
 static devclass_t xentimer_devclass;
@@ -584,6 +587,36 @@ xentimer_suspend(device_t dev)
return (0);
 }
 
+/*
+ * Xen delay early init
+ */
+void xen_delay_init(void)
+{
+   /* Init the clock lock */
+   mtx_init(clock_lock, clk, NULL, MTX_SPIN | MTX_NOPROFILE);
+}
+/*
+ * Xen PV DELAY function
+ *
+ * When running on PVH mode we don't have an emulated i8524, so
+ * make use of the Xen time info in order to code a simple DELAY
+ * function that can be used during early boot.
+ */
+void xen_delay(int n)
+{
+   uint64_t end_ns;
+   uint64_t current;
+
+   end_ns = xen_fetch_vcpu_time(HYPERVISOR_shared_info-vcpu_info[0]);
+   end_ns += n * NSEC_IN_USEC;
+
+   for (;;) {
+   current = 
xen_fetch_vcpu_time(HYPERVISOR_shared_info-vcpu_info[0]);
+   if (current = end_ns)
+   break;
+   }
+}
+
 static device_method_t xentimer_methods[] = {
DEVMETHOD(device_identify, xentimer_identify),
DEVMETHOD(device_probe, xentimer_probe),
diff --git a/sys/i386/include/clock.h b/sys/i386/include/clock.h

[PATCH v9 04/19] amd64: introduce hook for custom preload metadata parsers

2014-01-02 Thread Roger Pau Monne
---
 sys/amd64/amd64/machdep.c   |   41 --
 sys/amd64/include/sysarch.h |   12 ++
 sys/x86/xen/pv.c|   82 +++
 3 files changed, 124 insertions(+), 11 deletions(-)

diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c
index eae657b..e073eea 100644
--- a/sys/amd64/amd64/machdep.c
+++ b/sys/amd64/amd64/machdep.c
@@ -126,6 +126,7 @@ __FBSDID($FreeBSD$);
 #include machine/reg.h
 #include machine/sigframe.h
 #include machine/specialreg.h
+#include machine/sysarch.h
 #ifdef PERFMON
 #include machine/perfmon.h
 #endif
@@ -165,6 +166,14 @@ static int  set_fpcontext(struct thread *td, const 
mcontext_t *mcp,
 char *xfpustate, size_t xfpustate_len);
 SYSINIT(cpu, SI_SUB_CPU, SI_ORDER_FIRST, cpu_startup, NULL);
 
+/* Preload data parse function */
+static caddr_t native_parse_preload_data(u_int64_t);
+
+/* Default init_ops implementation. */
+struct init_ops init_ops = {
+   .parse_preload_data =   native_parse_preload_data,
+};
+
 /*
  * The file conf/ldscript.amd64 defines the symbol kernphys.  Its value is
  * the physical address at which the kernel is loaded.
@@ -1683,6 +1692,26 @@ do_next:
msgbufp = (struct msgbuf *)PHYS_TO_DMAP(phys_avail[pa_indx]);
 }
 
+static caddr_t
+native_parse_preload_data(u_int64_t modulep)
+{
+   caddr_t kmdp;
+
+   preload_metadata = (caddr_t)(uintptr_t)(modulep + KERNBASE);
+   preload_bootstrap_relocate(KERNBASE);
+   kmdp = preload_search_by_type(elf kernel);
+   if (kmdp == NULL)
+   kmdp = preload_search_by_type(elf64 kernel);
+   boothowto = MD_FETCH(kmdp, MODINFOMD_HOWTO, int);
+   kern_envp = MD_FETCH(kmdp, MODINFOMD_ENVP, char *) + KERNBASE;
+#ifdef DDB
+   ksym_start = MD_FETCH(kmdp, MODINFOMD_SSYM, uintptr_t);
+   ksym_end = MD_FETCH(kmdp, MODINFOMD_ESYM, uintptr_t);
+#endif
+
+   return (kmdp);
+}
+
 u_int64_t
 hammer_time(u_int64_t modulep, u_int64_t physfree)
 {
@@ -1707,17 +1736,7 @@ hammer_time(u_int64_t modulep, u_int64_t physfree)
 */
proc_linkup0(proc0, thread0);
 
-   preload_metadata = (caddr_t)(uintptr_t)(modulep + KERNBASE);
-   preload_bootstrap_relocate(KERNBASE);
-   kmdp = preload_search_by_type(elf kernel);
-   if (kmdp == NULL)
-   kmdp = preload_search_by_type(elf64 kernel);
-   boothowto = MD_FETCH(kmdp, MODINFOMD_HOWTO, int);
-   kern_envp = MD_FETCH(kmdp, MODINFOMD_ENVP, char *) + KERNBASE;
-#ifdef DDB
-   ksym_start = MD_FETCH(kmdp, MODINFOMD_SSYM, uintptr_t);
-   ksym_end = MD_FETCH(kmdp, MODINFOMD_ESYM, uintptr_t);
-#endif
+   kmdp = init_ops.parse_preload_data(modulep);
 
/* Init basic tunables, hz etc */
init_param1();
diff --git a/sys/amd64/include/sysarch.h b/sys/amd64/include/sysarch.h
index cd380d4..58ac8cd 100644
--- a/sys/amd64/include/sysarch.h
+++ b/sys/amd64/include/sysarch.h
@@ -4,3 +4,15 @@
 /* $FreeBSD$ */
 
 #include x86/sysarch.h
+
+/*
+ * Struct containing pointers to init functions whose
+ * implementation is run time selectable.  Selection can be made,
+ * for example, based on detection of a BIOS variant or
+ * hypervisor environment.
+ */
+struct init_ops {
+   caddr_t (*parse_preload_data)(u_int64_t);
+};
+
+extern struct init_ops init_ops;
diff --git a/sys/x86/xen/pv.c b/sys/x86/xen/pv.c
index db3b7a3..908b50b 100644
--- a/sys/x86/xen/pv.c
+++ b/sys/x86/xen/pv.c
@@ -46,6 +46,8 @@ __FBSDID($FreeBSD$);
 #include vm/vm_pager.h
 #include vm/vm_param.h
 
+#include machine/sysarch.h
+
 #include xen/xen-os.h
 #include xen/hypervisor.h
 
@@ -54,6 +56,36 @@ extern u_int64_t hammer_time(u_int64_t, u_int64_t);
 /* Xen initial function */
 extern u_int64_t hammer_time_xen(start_info_t *, u_int64_t);
 
+/*--- Forward Declarations 
---*/
+static caddr_t xen_pv_parse_preload_data(u_int64_t);
+
+static void xen_pv_set_init_ops(void);
+
+/* Global Data 
---*/
+/* Xen init_ops implementation. */
+struct init_ops xen_init_ops = {
+   .parse_preload_data =   xen_pv_parse_preload_data,
+};
+
+static struct
+{
+   const char  *ev;
+   int mask;
+} howto_names[] = {
+   {boot_askname,RB_ASKNAME},
+   {boot_single, RB_SINGLE},
+   {boot_nosync, RB_NOSYNC},
+   {boot_halt,   RB_ASKNAME},
+   {boot_serial, RB_SERIAL},
+   {boot_cdrom,  RB_CDROM},
+   {boot_gdb,RB_GDB},
+   {boot_gdb_pause,  RB_RESERVED1},
+   {boot_verbose,RB_VERBOSE},
+   {boot_multicons,  RB_MULTIPLE},
+   {NULL,  0}
+};
+
+/* Xen PV init 
---*/
 /*
  * First function called by the Xen PVH boot sequence.
  *
@@ -118,6 +150,56 @@ hammer_time_xen(start_info_t *si, u_int64_t xenstack)
}
load_cr3(((u_int64_t)PT4[0]) - 

[PATCH v9 05/19] xen: rework xen timer so it can be used early in boot process

2014-01-02 Thread Roger Pau Monne
This should not introduce any functional change, and makes the
functions suitable to be called before we have actually mapped the
vcpu_info struct on a per-cpu basis.
---
 sys/dev/xen/timer/timer.c |   29 -
 1 files changed, 20 insertions(+), 9 deletions(-)

diff --git a/sys/dev/xen/timer/timer.c b/sys/dev/xen/timer/timer.c
index 354085b..b2f6bcd 100644
--- a/sys/dev/xen/timer/timer.c
+++ b/sys/dev/xen/timer/timer.c
@@ -230,22 +230,22 @@ xen_fetch_vcpu_tinfo(struct vcpu_time_info *dst, struct 
vcpu_time_info *src)
 /**
  * \brief Get the current time, in nanoseconds, since the hypervisor booted.
  *
+ * \param vcpu vcpu_info structure to fetch the time from.
+ *
  * \note This function returns the current CPU's idea of this value, unless
  *   it happens to be less than another CPU's previously determined value.
  */
 static uint64_t
-xen_fetch_vcpu_time(void)
+xen_fetch_vcpu_time(struct vcpu_info *vcpu)
 {
struct vcpu_time_info dst;
struct vcpu_time_info *src;
uint32_t pre_version;
uint64_t now;
volatile uint64_t last;
-   struct vcpu_info *vcpu = DPCPU_GET(vcpu_info);
 
src = vcpu-time;
 
-   critical_enter();
do {
pre_version = xen_fetch_vcpu_tinfo(dst, src);
barrier();
@@ -266,16 +266,19 @@ xen_fetch_vcpu_time(void)
}
} while (!atomic_cmpset_64(xen_timer_last_time, last, now));
 
-   critical_exit();
-
return (now);
 }
 
 static uint32_t
 xentimer_get_timecount(struct timecounter *tc)
 {
+   uint32_t xen_time;
 
-   return ((uint32_t)xen_fetch_vcpu_time()  UINT_MAX);
+   critical_enter();
+   xen_time = (uint32_t)xen_fetch_vcpu_time(DPCPU_GET(vcpu_info))  
UINT_MAX;
+   critical_exit();
+
+   return (xen_time);
 }
 
 /**
@@ -305,7 +308,12 @@ xen_fetch_wallclock(struct timespec *ts)
 static void
 xen_fetch_uptime(struct timespec *ts)
 {
-   uint64_t uptime = xen_fetch_vcpu_time();
+   uint64_t uptime;
+
+   critical_enter();
+   uptime = xen_fetch_vcpu_time(DPCPU_GET(vcpu_info));
+   critical_exit();
+
ts-tv_sec = uptime / NSEC_IN_SEC;
ts-tv_nsec = uptime % NSEC_IN_SEC;
 }
@@ -354,7 +362,7 @@ xentimer_intr(void *arg)
struct xentimer_softc *sc = (struct xentimer_softc *)arg;
struct xentimer_pcpu_data *pcpu = DPCPU_PTR(xentimer_pcpu);
 
-   pcpu-last_processed = xen_fetch_vcpu_time();
+   pcpu-last_processed = xen_fetch_vcpu_time(DPCPU_GET(vcpu_info));
if (pcpu-timer != 0  sc-et.et_active)
sc-et.et_event_cb(sc-et, sc-et.et_arg);
 
@@ -415,7 +423,10 @@ xentimer_et_start(struct eventtimer *et,
do {
if (++i == 60)
panic(can't schedule timer);
-   next_time = xen_fetch_vcpu_time() + first_in_ns;
+   critical_enter();
+   next_time = xen_fetch_vcpu_time(DPCPU_GET(vcpu_info)) +
+   first_in_ns;
+   critical_exit();
error = xentimer_vcpu_start_timer(cpu, next_time);
} while (error == -ETIME);
 
-- 
1.7.7.5 (Apple Git-26)

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


[PATCH v9 03/19] xen: add and enable Xen console for PVH guests

2014-01-02 Thread Roger Pau Monne
This adds and enables the console used on XEN kernels.
---
 sys/conf/files |4 +-
 sys/dev/xen/console/console.c  |   37 +--
 sys/dev/xen/console/xencons_ring.c |   15 +
 sys/i386/include/xen/xen-os.h  |1 -
 sys/i386/xen/xen_machdep.c |   17 
 sys/x86/xen/pv.c   |4 +++
 sys/xen/xen-os.h   |4 +++
 7 files changed, 50 insertions(+), 32 deletions(-)

diff --git a/sys/conf/files b/sys/conf/files
index a73d31e..f55479d 100644
--- a/sys/conf/files
+++ b/sys/conf/files
@@ -2523,8 +2523,8 @@ dev/xe/if_xe_pccard.c optional xe pccard
 dev/xen/balloon/balloon.c  optional xen | xenhvm
 dev/xen/blkfront/blkfront.coptional xen | xenhvm
 dev/xen/blkback/blkback.c  optional xen | xenhvm
-dev/xen/console/console.c  optional xen
-dev/xen/console/xencons_ring.c optional xen
+dev/xen/console/console.c  optional xen | xenhvm
+dev/xen/console/xencons_ring.c optional xen | xenhvm
 dev/xen/control/control.c  optional xen | xenhvm
 dev/xen/netback/netback.c  optional xen | xenhvm
 dev/xen/netfront/netfront.coptional xen | xenhvm
diff --git a/sys/dev/xen/console/console.c b/sys/dev/xen/console/console.c
index 23eaee2..899dffc 100644
--- a/sys/dev/xen/console/console.c
+++ b/sys/dev/xen/console/console.c
@@ -69,11 +69,14 @@ struct mtx  cn_mtx;
 static char wbuf[WBUF_SIZE];
 static char rbuf[RBUF_SIZE];
 static int rc, rp;
-static unsigned int cnsl_evt_reg;
+unsigned int cnsl_evt_reg;
 static unsigned int wc, wp; /* write_cons, write_prod */
 xen_intr_handle_t xen_intr_handle;
 device_t xencons_dev;
 
+/* Virtual address of the shared console page */
+char *console_page;
+
 #ifdef KDB
 static int xc_altbrk;
 #endif
@@ -110,9 +113,26 @@ static struct ttydevsw xc_ttydevsw = {
 .tsw_outwakeup = xcoutwakeup,
 };
 
+/*- Debug function 
---*/
+#define XC_PRINTF_BUFSIZE 1024
+void
+xc_printf(const char *fmt, ...)
+{
+   static char buf[XC_PRINTF_BUFSIZE];
+   __va_list ap;
+
+   va_start(ap, fmt);
+   vsnprintf(buf, sizeof(buf), fmt, ap);
+   va_end(ap);
+   HYPERVISOR_console_write(buf, strlen(buf));
+}
+
 static void
 xc_cnprobe(struct consdev *cp)
 {
+   if (!xen_pv_domain())
+   return;
+
cp-cn_pri = CN_REMOTE;
sprintf(cp-cn_name, %s0, driver_name);
 }
@@ -175,7 +195,7 @@ static void
 xc_cnputc(struct consdev *dev, int c)
 {
 
-   if (xen_start_info-flags  SIF_INITDOMAIN)
+   if (xen_initial_domain())
xc_cnputc_dom0(dev, c);
else
xc_cnputc_domu(dev, c);
@@ -206,8 +226,7 @@ xcons_putc(int c)
xcons_force_flush();
 #endif 
}
-   if (cnsl_evt_reg)
-   __xencons_tx_flush();
+   __xencons_tx_flush();

/* inform start path that we're pretty full */
return ((wp - wc) = WBUF_SIZE - 100) ? TRUE : FALSE;
@@ -217,6 +236,10 @@ static void
 xc_identify(driver_t *driver, device_t parent)
 {
device_t child;
+
+   if (!xen_pv_domain())
+   return;
+
child = BUS_ADD_CHILD(parent, 0, driver_name, 0);
device_set_driver(child, driver);
device_set_desc(child, Xen Console);
@@ -245,7 +268,7 @@ xc_attach(device_t dev)
cnsl_evt_reg = 1;
callout_reset(xc_callout, XC_POLLTIME, xc_timeout, xccons);
 
-   if (xen_start_info-flags  SIF_INITDOMAIN) {
+   if (xen_initial_domain()) {
error = xen_intr_bind_virq(dev, VIRQ_CONSOLE, 0, NULL,
   xencons_priv_interrupt, NULL,
   INTR_TYPE_TTY, xen_intr_handle);
@@ -309,7 +332,7 @@ __xencons_tx_flush(void)
sz = wp - wc;
if (sz  (WBUF_SIZE - WBUF_MASK(wc)))
sz = WBUF_SIZE - WBUF_MASK(wc);
-   if (xen_start_info-flags  SIF_INITDOMAIN) {
+   if (xen_initial_domain()) {
HYPERVISOR_console_io(CONSOLEIO_write, sz, 
wbuf[WBUF_MASK(wc)]);
wc += sz;
} else {
@@ -424,7 +447,7 @@ xcons_force_flush(void)
 {
intsz;
 
-   if (xen_start_info-flags  SIF_INITDOMAIN)
+   if (xen_initial_domain())
return;
 
/* Spin until console data is flushed through to the domain controller. 
*/
diff --git a/sys/dev/xen/console/xencons_ring.c 
b/sys/dev/xen/console/xencons_ring.c
index 3701551..d826363 100644
--- a/sys/dev/xen/console/xencons_ring.c
+++ b/sys/dev/xen/console/xencons_ring.c
@@ -32,9 +32,9 @@ __FBSDID($FreeBSD$);
 
 #define console_evtchn console.domU.evtchn
 xen_intr_handle_t console_handle;
-extern char *console_page;
 extern struct mtx  cn_mtx;
 extern device_t xencons_dev;
+extern int cnsl_evt_reg;
 
 static inline struct 

[head tinderbox] failure on sparc64/sparc64

2014-01-02 Thread FreeBSD Tinderbox
TB --- 2014-01-02 14:43:29 - tinderbox 2.20 running on freebsd-current.sentex.ca
TB --- 2014-01-02 14:43:29 - FreeBSD freebsd-current.sentex.ca 8.3-PRERELEASE 
FreeBSD 8.3-PRERELEASE #0: Mon Mar 26 13:54:12 EDT 2012 
d...@freebsd-current.sentex.ca:/usr/obj/usr/src/sys/GENERIC  amd64
TB --- 2014-01-02 14:43:29 - starting HEAD tinderbox run for sparc64/sparc64
TB --- 2014-01-02 14:43:29 - cleaning the object tree
TB --- 2014-01-02 14:44:27 - /usr/local/bin/svn stat /src
TB --- 2014-01-02 14:44:31 - At svn revision 260182
TB --- 2014-01-02 14:44:32 - building world
TB --- 2014-01-02 14:44:32 - CROSS_BUILD_TESTING=YES
TB --- 2014-01-02 14:44:32 - MAKEOBJDIRPREFIX=/obj
TB --- 2014-01-02 14:44:32 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2014-01-02 14:44:32 - SRCCONF=/dev/null
TB --- 2014-01-02 14:44:32 - TARGET=sparc64
TB --- 2014-01-02 14:44:32 - TARGET_ARCH=sparc64
TB --- 2014-01-02 14:44:32 - TZ=UTC
TB --- 2014-01-02 14:44:32 - __MAKE_CONF=/dev/null
TB --- 2014-01-02 14:44:32 - cd /src
TB --- 2014-01-02 14:44:32 - /usr/bin/make -B buildworld
 Building an up-to-date make(1)
 World build started on Thu Jan  2 14:44:39 UTC 2014
 Rebuilding the temporary build tree
 stage 1.1: legacy release compatibility shims
 stage 1.2: bootstrap tools
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3: cross tools
 stage 4.1: building includes
 stage 4.2: building libraries
 stage 4.3: make dependencies
 stage 4.4: building everything
 World build completed on Thu Jan  2 15:47:46 UTC 2014
TB --- 2014-01-02 15:47:46 - generating LINT kernel config
TB --- 2014-01-02 15:47:46 - cd /src/sys/sparc64/conf
TB --- 2014-01-02 15:47:46 - /usr/bin/make -B LINT
TB --- 2014-01-02 15:47:46 - cd /src/sys/sparc64/conf
TB --- 2014-01-02 15:47:46 - /usr/sbin/config -m LINT
TB --- 2014-01-02 15:47:46 - building LINT kernel
TB --- 2014-01-02 15:47:46 - CROSS_BUILD_TESTING=YES
TB --- 2014-01-02 15:47:46 - MAKEOBJDIRPREFIX=/obj
TB --- 2014-01-02 15:47:46 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2014-01-02 15:47:46 - SRCCONF=/dev/null
TB --- 2014-01-02 15:47:46 - TARGET=sparc64
TB --- 2014-01-02 15:47:46 - TARGET_ARCH=sparc64
TB --- 2014-01-02 15:47:46 - TZ=UTC
TB --- 2014-01-02 15:47:46 - __MAKE_CONF=/dev/null
TB --- 2014-01-02 15:47:46 - cd /src
TB --- 2014-01-02 15:47:46 - /usr/bin/make -B buildkernel KERNCONF=LINT
 Kernel build for LINT started on Thu Jan  2 15:47:46 UTC 2014
 stage 1: configuring the kernel
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3.1: making dependencies
 stage 3.2: building everything
[...]
cc  -c -O2 -pipe -fno-strict-aliasing  -std=c99  -Wall -Wredundant-decls 
-Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith 
-Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions  
-Wmissing-include-dirs -fdiagnostics-show-option   -nostdinc  -I. -I/src/sys 
-I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 
--param large-function-growth=1000 -fno-builtin -mcmodel=medany -msoft-float 
-ffreestanding -fstack-protector -Werror  /src/sys/dev/ti/if_ti.c
cc  -c -O2 -pipe -fno-strict-aliasing  -std=c99  -Wall -Wredundant-decls 
-Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith 
-Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions  
-Wmissing-include-dirs -fdiagnostics-show-option   -nostdinc  -I. -I/src/sys 
-I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 
--param large-function-growth=1000 -fno-builtin -mcmodel=medany -msoft-float 
-ffreestanding -fstack-protector -Werror  /src/sys/dev/tl/if_tl.c
cc  -c -O2 -pipe -fno-strict-aliasing  -std=c99  -Wall -Wredundant-decls 
-Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith 
-Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions  
-Wmissing-include-dirs -fdiagnostics-show-option   -nostdinc  -I. -I/src/sys 
-I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 
--param large-function-growth=1000 -fno-builtin -mcmodel=medany -msoft-float 
-ffreestanding -fstack-protector -Werror  /src/sys/dev/trm/trm.c
/src/sys/dev/trm/trm.c: In function 'trm_attach':
/src/sys/dev/trm/trm.c:3522: internal compiler error: in create_mem_ref, at 
tree-ssa-address.c:606
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://www.freebsd.org/send-pr.html for instructions.
*** Error code 1

Stop.
bmake[1]: stopped in /obj/sparc64.sparc64/src/sys/LINT
*** Error code 1

Stop.
bmake: stopped in /src
*** Error code 1

Stop in /src.
TB --- 2014-01-02 15:54:44 - WARNING: /usr/bin/make returned exit code  1 
TB --- 2014-01-02 15:54:44 - ERROR: failed 

[head tinderbox] failure on powerpc/powerpc

2014-01-02 Thread FreeBSD Tinderbox
TB --- 2014-01-02 13:09:55 - tinderbox 2.20 running on freebsd-current.sentex.ca
TB --- 2014-01-02 13:09:55 - FreeBSD freebsd-current.sentex.ca 8.3-PRERELEASE 
FreeBSD 8.3-PRERELEASE #0: Mon Mar 26 13:54:12 EDT 2012 
d...@freebsd-current.sentex.ca:/usr/obj/usr/src/sys/GENERIC  amd64
TB --- 2014-01-02 13:09:55 - starting HEAD tinderbox run for powerpc/powerpc
TB --- 2014-01-02 13:09:55 - cleaning the object tree
TB --- 2014-01-02 13:10:49 - /usr/local/bin/svn stat /src
TB --- 2014-01-02 13:10:52 - At svn revision 260182
TB --- 2014-01-02 13:10:53 - building world
TB --- 2014-01-02 13:10:53 - CROSS_BUILD_TESTING=YES
TB --- 2014-01-02 13:10:53 - MAKEOBJDIRPREFIX=/obj
TB --- 2014-01-02 13:10:53 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2014-01-02 13:10:53 - SRCCONF=/dev/null
TB --- 2014-01-02 13:10:53 - TARGET=powerpc
TB --- 2014-01-02 13:10:53 - TARGET_ARCH=powerpc
TB --- 2014-01-02 13:10:53 - TZ=UTC
TB --- 2014-01-02 13:10:53 - __MAKE_CONF=/dev/null
TB --- 2014-01-02 13:10:53 - cd /src
TB --- 2014-01-02 13:10:53 - /usr/bin/make -B buildworld
 Building an up-to-date make(1)
 World build started on Thu Jan  2 13:11:01 UTC 2014
 Rebuilding the temporary build tree
 stage 1.1: legacy release compatibility shims
 stage 1.2: bootstrap tools
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3: cross tools
 stage 4.1: building includes
 stage 4.2: building libraries
 stage 4.3: make dependencies
 stage 4.4: building everything
 World build completed on Thu Jan  2 15:49:29 UTC 2014
TB --- 2014-01-02 15:49:29 - generating LINT kernel config
TB --- 2014-01-02 15:49:29 - cd /src/sys/powerpc/conf
TB --- 2014-01-02 15:49:29 - /usr/bin/make -B LINT
TB --- 2014-01-02 15:49:29 - cd /src/sys/powerpc/conf
TB --- 2014-01-02 15:49:29 - /usr/sbin/config -m LINT
TB --- 2014-01-02 15:49:29 - building LINT kernel
TB --- 2014-01-02 15:49:29 - CROSS_BUILD_TESTING=YES
TB --- 2014-01-02 15:49:29 - MAKEOBJDIRPREFIX=/obj
TB --- 2014-01-02 15:49:29 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2014-01-02 15:49:29 - SRCCONF=/dev/null
TB --- 2014-01-02 15:49:29 - TARGET=powerpc
TB --- 2014-01-02 15:49:29 - TARGET_ARCH=powerpc
TB --- 2014-01-02 15:49:29 - TZ=UTC
TB --- 2014-01-02 15:49:29 - __MAKE_CONF=/dev/null
TB --- 2014-01-02 15:49:29 - cd /src
TB --- 2014-01-02 15:49:29 - /usr/bin/make -B buildkernel KERNCONF=LINT
 Kernel build for LINT started on Thu Jan  2 15:49:29 UTC 2014
 stage 1: configuring the kernel
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3.1: making dependencies
 stage 3.2: building everything
[...]
cc  -c -O -pipe  -std=c99  -Wall -Wredundant-decls -Wnested-externs 
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  
-Wundef -Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs 
-fdiagnostics-show-option   -nostdinc  -I. -I/src/sys -I/src/sys/contrib/altq 
-I/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 
--param large-function-growth=1000 -fno-builtin -msoft-float -Wa,-many 
-fno-omit-frame-pointer -msoft-float -mno-altivec -ffreestanding 
-fstack-protector -Werror  /src/sys/dev/ti/if_ti.c
cc  -c -O -pipe  -std=c99  -Wall -Wredundant-decls -Wnested-externs 
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  
-Wundef -Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs 
-fdiagnostics-show-option   -nostdinc  -I. -I/src/sys -I/src/sys/contrib/altq 
-I/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 
--param large-function-growth=1000 -fno-builtin -msoft-float -Wa,-many 
-fno-omit-frame-pointer -msoft-float -mno-altivec -ffreestanding 
-fstack-protector -Werror  /src/sys/dev/tl/if_tl.c
cc  -c -O -pipe  -std=c99  -Wall -Wredundant-decls -Wnested-externs 
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  
-Wundef -Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs 
-fdiagnostics-show-option   -nostdinc  -I. -I/src/sys -I/src/sys/contrib/altq 
-I/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 
--param large-function-growth=1000 -fno-builtin -msoft-float -Wa,-many 
-fno-omit-frame-pointer -msoft-float -mno-altivec -ffreestanding 
-fstack-protector -Werror  /src/sys/dev/trm/trm.c
/src/sys/dev/trm/trm.c: In function 'trm_attach':
/src/sys/dev/trm/trm.c:3522: internal compiler error: in create_mem_ref, at 
tree-ssa-address.c:606
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://www.freebsd.org/send-pr.html for instructions.
*** Error code 1

Stop.
bmake[1]: stopped in /obj/powerpc.powerpc/src/sys/LINT
*** Error code 1

Stop.
bmake: stopped in /src
*** 

[PATCH v9 16/19] xen: add shutdown hook for PVH

2014-01-02 Thread Roger Pau Monne
Add the PV shutdown hook to PVH.
---
 sys/dev/xen/control/control.c |   37 ++---
 1 files changed, 18 insertions(+), 19 deletions(-)

diff --git a/sys/dev/xen/control/control.c b/sys/dev/xen/control/control.c
index bc0609d..78894ba 100644
--- a/sys/dev/xen/control/control.c
+++ b/sys/dev/xen/control/control.c
@@ -316,21 +316,6 @@ xctrl_suspend()
EVENTHANDLER_INVOKE(power_resume);
 }
 
-static void
-xen_pv_shutdown_final(void *arg, int howto)
-{
-   /*
-* Inform the hypervisor that shutdown is complete.
-* This is not necessary in HVM domains since Xen
-* emulates ACPI in that mode and FreeBSD's ACPI
-* support will request this transition.
-*/
-   if (howto  (RB_HALT | RB_POWEROFF))
-   HYPERVISOR_shutdown(SHUTDOWN_poweroff);
-   else
-   HYPERVISOR_shutdown(SHUTDOWN_reboot);
-}
-
 #else
 
 /* HVM mode suspension. */
@@ -440,6 +425,21 @@ xctrl_crash()
panic(Xen directed crash);
 }
 
+static void
+xen_pv_shutdown_final(void *arg, int howto)
+{
+   /*
+* Inform the hypervisor that shutdown is complete.
+* This is not necessary in HVM domains since Xen
+* emulates ACPI in that mode and FreeBSD's ACPI
+* support will request this transition.
+*/
+   if (howto  (RB_HALT | RB_POWEROFF))
+   HYPERVISOR_shutdown(SHUTDOWN_poweroff);
+   else
+   HYPERVISOR_shutdown(SHUTDOWN_reboot);
+}
+
 /*-- Event Reception 
-*/
 static void
 xctrl_on_watch_event(struct xs_watch *watch, const char **vec, unsigned int 
len)
@@ -522,10 +522,9 @@ xctrl_attach(device_t dev)
xctrl-xctrl_watch.callback_data = (uintptr_t)xctrl;
xs_register_watch(xctrl-xctrl_watch);
 
-#ifndef XENHVM
-   EVENTHANDLER_REGISTER(shutdown_final, xen_pv_shutdown_final, NULL,
- SHUTDOWN_PRI_LAST);
-#endif
+   if (xen_pv_domain())
+   EVENTHANDLER_REGISTER(shutdown_final, xen_pv_shutdown_final, 
NULL,
+ SHUTDOWN_PRI_LAST);
 
return (0);
 }
-- 
1.7.7.5 (Apple Git-26)

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


[PATCH v9 10/19] xen: add hook for AP bootstrap memory reservation

2014-01-02 Thread Roger Pau Monne
This hook will only be implemented for bare metal, Xen doesn't require
any bootstrap code since APs are started in long mode with paging
enabled.
---
 sys/amd64/amd64/machdep.c   |6 +-
 sys/amd64/include/sysarch.h |1 +
 2 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c
index f6eef50..babf16d 100644
--- a/sys/amd64/amd64/machdep.c
+++ b/sys/amd64/amd64/machdep.c
@@ -178,6 +178,9 @@ struct init_ops init_ops = {
.early_delay_init = i8254_init,
.early_delay =  i8254_delay,
.parse_memmap = native_parse_memmap,
+#ifdef SMP
+   .mp_bootaddress =   mp_bootaddress,
+#endif
 };
 
 /*
@@ -1490,7 +1493,8 @@ getmemsize(caddr_t kmdp, u_int64_t first)
 
 #ifdef SMP
/* make hole for AP bootstrap code */
-   physmap[1] = mp_bootaddress(physmap[1] / 1024);
+   if (init_ops.mp_bootaddress)
+   physmap[1] = init_ops.mp_bootaddress(physmap[1] / 1024);
 #endif
 
/*
diff --git a/sys/amd64/include/sysarch.h b/sys/amd64/include/sysarch.h
index 084223e..7696064 100644
--- a/sys/amd64/include/sysarch.h
+++ b/sys/amd64/include/sysarch.h
@@ -16,6 +16,7 @@ struct init_ops {
void(*early_delay_init)(void);
void(*early_delay)(int);
void(*parse_memmap)(caddr_t, vm_paddr_t *, int *);
+   u_int   (*mp_bootaddress)(u_int);
 };
 
 extern struct init_ops init_ops;
-- 
1.7.7.5 (Apple Git-26)

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


[PATCH v9 17/19] xen: xenstore changes to support PVH

2014-01-02 Thread Roger Pau Monne
---
 sys/xen/xenstore/xenstore.c |   18 +-
 1 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/sys/xen/xenstore/xenstore.c b/sys/xen/xenstore/xenstore.c
index b5cf413..7fa08cc 100644
--- a/sys/xen/xenstore/xenstore.c
+++ b/sys/xen/xenstore/xenstore.c
@@ -229,13 +229,11 @@ struct xs_softc {
 */
struct sx xenwatch_mutex;
 
-#ifdef XENHVM
/**
 * The HVM guest pseudo-physical frame number.  This is Xen's mapping
 * of the true machine frame number into our physical address space.
 */
unsigned long gpfn;
-#endif
 
/**
 * The event channel for communicating with the
@@ -1147,13 +1145,15 @@ xs_attach(device_t dev)
/* Initialize the interface to xenstore. */
struct proc *p;
 
-#ifdef XENHVM
-   xs.evtchn = hvm_get_parameter(HVM_PARAM_STORE_EVTCHN);
-   xs.gpfn = hvm_get_parameter(HVM_PARAM_STORE_PFN);
-   xen_store = pmap_mapdev(xs.gpfn * PAGE_SIZE, PAGE_SIZE);
-#else
-   xs.evtchn = xen_start_info-store_evtchn;
-#endif
+   if (xen_hvm_domain()) {
+   xs.evtchn = hvm_get_parameter(HVM_PARAM_STORE_EVTCHN);
+   xs.gpfn = hvm_get_parameter(HVM_PARAM_STORE_PFN);
+   xen_store = pmap_mapdev(xs.gpfn * PAGE_SIZE, PAGE_SIZE);
+   } else if (xen_pv_domain()) {
+   xs.evtchn = HYPERVISOR_start_info-store_evtchn;
+   } else {
+   panic(Unknown domain type, cannot initialize xenstore\n);
+   }
 
TAILQ_INIT(xs.reply_list);
TAILQ_INIT(xs.watch_events);
-- 
1.7.7.5 (Apple Git-26)

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


[PATCH v9 15/19] xen: create a Xen nexus to use in PV/PVH

2014-01-02 Thread Roger Pau Monne
Introduce a Xen specific nexus that is going to be in charge for
attaching Xen specific devices.
---
 sys/conf/files.amd64  |1 +
 sys/conf/files.i386   |1 +
 sys/dev/xen/console/console.c |2 +-
 sys/dev/xen/timer/timer.c |4 +-
 sys/dev/xen/xenpci/xenpci.c   |4 ++
 sys/x86/xen/xen_nexus.c   |   82 +
 sys/x86/xen/xenpv.c   |1 +
 sys/xen/xenstore/xenstore.c   |6 +--
 8 files changed, 93 insertions(+), 8 deletions(-)
 create mode 100644 sys/x86/xen/xen_nexus.c

diff --git a/sys/conf/files.amd64 b/sys/conf/files.amd64
index d7c98cc..f378983 100644
--- a/sys/conf/files.amd64
+++ b/sys/conf/files.amd64
@@ -571,3 +571,4 @@ x86/xen/xen_intr.c  optionalxen | xenhvm
 x86/xen/pv.c   optionalxenhvm
 x86/xen/pvcpu_enum.c   optionalxenhvm
 x86/xen/xenpv.coptionalxenhvm
+x86/xen/xen_nexus.coptionalxenhvm
diff --git a/sys/conf/files.i386 b/sys/conf/files.i386
index 81142e3..02887a33 100644
--- a/sys/conf/files.i386
+++ b/sys/conf/files.i386
@@ -604,3 +604,4 @@ x86/x86/delay.c standard
 x86/xen/hvm.c  optional xenhvm
 x86/xen/xen_intr.c optional xen | xenhvm
 x86/xen/xenpv.coptional xen | xenhvm
+x86/xen/xen_nexus.coptional xen | xenhvm
diff --git a/sys/dev/xen/console/console.c b/sys/dev/xen/console/console.c
index 899dffc..91538fe 100644
--- a/sys/dev/xen/console/console.c
+++ b/sys/dev/xen/console/console.c
@@ -462,4 +462,4 @@ xcons_force_flush(void)
}
 }
 
-DRIVER_MODULE(xc, nexus, xc_driver, xc_devclass, 0, 0);
+DRIVER_MODULE(xc, xenpv, xc_driver, xc_devclass, 0, 0);
diff --git a/sys/dev/xen/timer/timer.c b/sys/dev/xen/timer/timer.c
index 96372ab..f16f5a5 100644
--- a/sys/dev/xen/timer/timer.c
+++ b/sys/dev/xen/timer/timer.c
@@ -636,5 +636,5 @@ static driver_t xentimer_driver = {
sizeof(struct xentimer_softc),
 };
 
-DRIVER_MODULE(xentimer, nexus, xentimer_driver, xentimer_devclass, 0, 0);
-MODULE_DEPEND(xentimer, nexus, 1, 1, 1);
+DRIVER_MODULE(xentimer, xenpv, xentimer_driver, xentimer_devclass, 0, 0);
+MODULE_DEPEND(xentimer, xenpv, 1, 1, 1);
diff --git a/sys/dev/xen/xenpci/xenpci.c b/sys/dev/xen/xenpci/xenpci.c
index dd2ad92..a27b54f 100644
--- a/sys/dev/xen/xenpci/xenpci.c
+++ b/sys/dev/xen/xenpci/xenpci.c
@@ -270,6 +270,10 @@ xenpci_attach(device_t dev)
goto errexit;
}
 
+   /* Add the xenpv device so top level Xen devices can attach */
+   if (BUS_ADD_CHILD(dev, 0, xenpv, 0) == NULL)
+   panic(xenpci: unable to add xenpv device);
+
return (bus_generic_attach(dev));
 
 errexit:
diff --git a/sys/x86/xen/xen_nexus.c b/sys/x86/xen/xen_nexus.c
new file mode 100644
index 000..d34e333
--- /dev/null
+++ b/sys/x86/xen/xen_nexus.c
@@ -0,0 +1,82 @@
+/*
+ * Copyright (c) 2013 Roger Pau Monné roger@citrix.com
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *notice, this list of conditions and the following disclaimer in the
+ *documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include sys/cdefs.h
+__FBSDID($FreeBSD$);
+
+#include sys/param.h
+#include sys/bus.h
+#include sys/kernel.h
+#include sys/module.h
+#include sys/sysctl.h
+#include sys/systm.h
+#include sys/smp.h
+
+#include machine/nexusvar.h
+
+#include xen/xen-os.h
+
+/*
+ * Xen nexus(4) driver.
+ */
+static int
+nexus_xen_probe(device_t dev)
+{
+   if (!xen_pv_domain())
+   return (ENXIO);
+
+   return (BUS_PROBE_DEFAULT);
+}
+
+static int
+nexus_xen_attach(device_t dev)
+{
+
+   nexus_init_resources();
+   bus_generic_probe(dev);
+
+   /*
+* Explicitly add the xenpv device here. Other top level
+* Xen 

[PATCH v9 11/19] xen: changes to hvm code in order to support PVH guests

2014-01-02 Thread Roger Pau Monne
On PVH we don't need to init the shared info page, or disable emulated
devices. Also, make sure PV IPIs are set before starting the APs.
---
 sys/x86/xen/hvm.c |   17 -
 1 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/sys/x86/xen/hvm.c b/sys/x86/xen/hvm.c
index 9a0411e..fb1ed79 100644
--- a/sys/x86/xen/hvm.c
+++ b/sys/x86/xen/hvm.c
@@ -523,7 +523,7 @@ xen_setup_cpus(void)
 {
int i;
 
-   if (!xen_hvm_domain() || !xen_vector_callback_enabled)
+   if (!xen_vector_callback_enabled)
return;
 
 #ifdef __amd64__
@@ -712,10 +712,13 @@ xen_hvm_init(enum xen_hvm_init_type init_type)
}
 
xen_vector_callback_enabled = 0;
-   xen_domain_type = XEN_HVM_DOMAIN;
-   xen_hvm_init_shared_info_page();
xen_hvm_set_callback(NULL);
-   xen_hvm_disable_emulated_devices();
+
+   if (!xen_pv_domain()) {
+   xen_domain_type = XEN_HVM_DOMAIN;
+   xen_hvm_init_shared_info_page();
+   xen_hvm_disable_emulated_devices();
+   }
 } 
 
 void
@@ -746,6 +749,9 @@ xen_set_vcpu_id(void)
struct pcpu *pc;
int i;
 
+   if (!xen_hvm_domain())
+   return;
+
/* Set vcpu_id to acpi_id */
CPU_FOREACH(i) {
pc = pcpu_find(i);
@@ -789,7 +795,8 @@ xen_hvm_cpu_init(void)
 
 SYSINIT(xen_hvm_init, SI_SUB_HYPERVISOR, SI_ORDER_FIRST, xen_hvm_sysinit, 
NULL);
 #ifdef SMP
-SYSINIT(xen_setup_cpus, SI_SUB_SMP, SI_ORDER_FIRST, xen_setup_cpus, NULL);
+/* We need to setup IPIs before APs are started */
+SYSINIT(xen_setup_cpus, SI_SUB_SMP-1, SI_ORDER_FIRST, xen_setup_cpus, NULL);
 #endif
 SYSINIT(xen_hvm_cpu_init, SI_SUB_INTR, SI_ORDER_FIRST, xen_hvm_cpu_init, NULL);
 SYSINIT(xen_set_vcpu_id, SI_SUB_CPU, SI_ORDER_ANY, xen_set_vcpu_id, NULL);
-- 
1.7.7.5 (Apple Git-26)

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


[PATCH v9 19/19] isa: allow ISA bus to attach to xenpv device

2014-01-02 Thread Roger Pau Monne
---
 sys/x86/isa/isa.c |3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/sys/x86/isa/isa.c b/sys/x86/isa/isa.c
index 1a57137..9287ff2 100644
--- a/sys/x86/isa/isa.c
+++ b/sys/x86/isa/isa.c
@@ -241,3 +241,6 @@ isa_release_resource(device_t bus, device_t child, int 
type, int rid,
  * On this platform, isa can also attach to the legacy bus.
  */
 DRIVER_MODULE(isa, legacy, isa_driver, isa_devclass, 0, 0);
+#ifdef XENHVM
+DRIVER_MODULE(isa, xenpv, isa_driver, isa_devclass, 0, 0);
+#endif
-- 
1.7.7.5 (Apple Git-26)

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


[PATCH v9 12/19] xen: add a hook to perform AP startup

2014-01-02 Thread Roger Pau Monne
AP startup on PVH follows the PV method, so we need to add a hook in
order to diverge from bare metal.
---
 sys/amd64/amd64/mp_machdep.c |   14 +++---
 sys/amd64/include/cpu.h  |1 +
 sys/amd64/include/smp.h  |1 +
 sys/x86/xen/hvm.c|   12 +-
 sys/x86/xen/pv.c |   85 ++
 sys/xen/pv.h |   32 
 6 files changed, 137 insertions(+), 8 deletions(-)
 create mode 100644 sys/xen/pv.h

diff --git a/sys/amd64/amd64/mp_machdep.c b/sys/amd64/amd64/mp_machdep.c
index 4ef4b3d..0738a37 100644
--- a/sys/amd64/amd64/mp_machdep.c
+++ b/sys/amd64/amd64/mp_machdep.c
@@ -90,7 +90,7 @@ extern  struct pcpu __pcpu[];
 
 /* AP uses this during bootstrap.  Do not staticize.  */
 char *bootSTK;
-static int bootAP;
+int bootAP;
 
 /* Free these after use */
 void *bootstacks[MAXCPU];
@@ -124,7 +124,8 @@ static u_long *ipi_hardclock_counts[MAXCPU];
 
 /* Default cpu_ops implementation. */
 struct cpu_ops cpu_ops = {
-   .ipi_vectored = lapic_ipi_vectored
+   .ipi_vectored = lapic_ipi_vectored,
+   .start_all_aps = native_start_all_aps,
 };
 
 extern inthand_t IDTVEC(fast_syscall), IDTVEC(fast_syscall32);
@@ -138,7 +139,7 @@ extern int pmap_pcid_enabled;
 static volatile cpuset_t ipi_nmi_pending;
 
 /* used to hold the AP's until we are ready to release them */
-static struct mtx ap_boot_mtx;
+struct mtx ap_boot_mtx;
 
 /* Set to 1 once we're ready to let the APs out of the pen. */
 static volatile int aps_ready = 0;
@@ -165,7 +166,6 @@ static int cpu_cores;   /* cores per 
package */
 
 static voidassign_cpu_ids(void);
 static voidset_interrupt_apic_ids(void);
-static int start_all_aps(void);
 static int start_ap(int apic_id);
 static voidrelease_aps(void *dummy);
 
@@ -569,7 +569,7 @@ cpu_mp_start(void)
assign_cpu_ids();
 
/* Start each Application Processor */
-   start_all_aps();
+   cpu_ops.start_all_aps();
 
set_interrupt_apic_ids();
 }
@@ -908,8 +908,8 @@ assign_cpu_ids(void)
 /*
  * start each AP in our list
  */
-static int
-start_all_aps(void)
+int
+native_start_all_aps(void)
 {
vm_offset_t va = boot_address + KERNBASE;
u_int64_t *pt4, *pt3, *pt2;
diff --git a/sys/amd64/include/cpu.h b/sys/amd64/include/cpu.h
index 3d9ff531..ed9f1db 100644
--- a/sys/amd64/include/cpu.h
+++ b/sys/amd64/include/cpu.h
@@ -64,6 +64,7 @@ struct cpu_ops {
void (*cpu_init)(void);
void (*cpu_resume)(void);
void (*ipi_vectored)(u_int, int);
+   int  (*start_all_aps)(void);
 };
 
 extern struct  cpu_ops cpu_ops;
diff --git a/sys/amd64/include/smp.h b/sys/amd64/include/smp.h
index d1b366b..15bc823 100644
--- a/sys/amd64/include/smp.h
+++ b/sys/amd64/include/smp.h
@@ -79,6 +79,7 @@ void  smp_masked_invlpg_range(cpuset_t mask, struct pmap 
*pmap,
vm_offset_t startva, vm_offset_t endva);
 void   smp_invltlb(struct pmap *pmap);
 void   smp_masked_invltlb(cpuset_t mask, struct pmap *pmap);
+intnative_start_all_aps(void);
 
 #endif /* !LOCORE */
 #endif /* SMP */
diff --git a/sys/x86/xen/hvm.c b/sys/x86/xen/hvm.c
index fb1ed79..49caacf 100644
--- a/sys/x86/xen/hvm.c
+++ b/sys/x86/xen/hvm.c
@@ -53,6 +53,9 @@ __FBSDID($FreeBSD$);
 #include xen/hypervisor.h
 #include xen/hvm.h
 #include xen/xen_intr.h
+#ifdef __amd64__
+#include xen/pv.h
+#endif
 
 #include xen/interface/hvm/params.h
 #include xen/interface/vcpu.h
@@ -119,7 +122,10 @@ enum xen_domain_type xen_domain_type = XEN_NATIVE;
 struct cpu_ops xen_hvm_cpu_ops = {
.ipi_vectored   = lapic_ipi_vectored,
.cpu_init   = xen_hvm_cpu_init,
-   .cpu_resume = xen_hvm_cpu_resume
+   .cpu_resume = xen_hvm_cpu_resume,
+#ifdef __amd64__
+   .start_all_aps = native_start_all_aps,
+#endif
 };
 
 static MALLOC_DEFINE(M_XENHVM, xen_hvm, Xen HVM PV Support);
@@ -698,6 +704,10 @@ xen_hvm_init(enum xen_hvm_init_type init_type)
setup_xen_features();
cpu_ops = xen_hvm_cpu_ops;
vm_guest = VM_GUEST_XEN;
+#ifdef __amd64__
+   if (xen_pv_domain())
+   cpu_ops.start_all_aps = xen_pv_start_all_aps;
+#endif
break;
case XEN_HVM_INIT_RESUME:
if (error != 0)
diff --git a/sys/x86/xen/pv.c b/sys/x86/xen/pv.c
index d11bc1a..22fd6a6 100644
--- a/sys/x86/xen/pv.c
+++ b/sys/x86/xen/pv.c
@@ -34,8 +34,11 @@ __FBSDID($FreeBSD$);
 #include sys/kernel.h
 #include sys/reboot.h
 #include sys/systm.h
+#include sys/malloc.h
 #include sys/lock.h
 #include sys/rwlock.h
+#include sys/mutex.h
+#include sys/smp.h
 
 #include vm/vm.h
 #include vm/vm_extern.h
@@ -49,9 +52,13 @@ __FBSDID($FreeBSD$);
 #include machine/sysarch.h
 #include machine/clock.h
 #include machine/pc/bios.h
+#include machine/smp.h
 
 #include xen/xen-os.h
 #include xen/hypervisor.h
+#include xen/pv.h
+
+#include xen/interface/vcpu.h
 
 /* Native initial function */
 extern 

[PATCH v9 14/19] xen: introduce xenpv bus and a dummy pvcpu device

2014-01-02 Thread Roger Pau Monne
Since Xen PVH guests doesn't have ACPI, we need to create a dummy
bus so top level Xen devices can attach to it (instead of
attaching directly to the nexus) and a pvcpu device that will be used
to fill the pcpu-pc_device field.
---
 sys/conf/files.amd64 |1 +
 sys/conf/files.i386  |1 +
 sys/x86/xen/xenpv.c  |  155 ++
 3 files changed, 157 insertions(+), 0 deletions(-)
 create mode 100644 sys/x86/xen/xenpv.c

diff --git a/sys/conf/files.amd64 b/sys/conf/files.amd64
index a3491da..d7c98cc 100644
--- a/sys/conf/files.amd64
+++ b/sys/conf/files.amd64
@@ -570,3 +570,4 @@ x86/xen/hvm.c   optionalxenhvm
 x86/xen/xen_intr.c optionalxen | xenhvm
 x86/xen/pv.c   optionalxenhvm
 x86/xen/pvcpu_enum.c   optionalxenhvm
+x86/xen/xenpv.coptionalxenhvm
diff --git a/sys/conf/files.i386 b/sys/conf/files.i386
index 790296d..81142e3 100644
--- a/sys/conf/files.i386
+++ b/sys/conf/files.i386
@@ -603,3 +603,4 @@ x86/x86/tsc.c   standard
 x86/x86/delay.cstandard
 x86/xen/hvm.c  optional xenhvm
 x86/xen/xen_intr.c optional xen | xenhvm
+x86/xen/xenpv.coptional xen | xenhvm
diff --git a/sys/x86/xen/xenpv.c b/sys/x86/xen/xenpv.c
new file mode 100644
index 000..41d674f
--- /dev/null
+++ b/sys/x86/xen/xenpv.c
@@ -0,0 +1,155 @@
+/*
+ * Copyright (c) 2013 Roger Pau Monné roger@citrix.com
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *notice, this list of conditions and the following disclaimer in the
+ *documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include sys/cdefs.h
+__FBSDID($FreeBSD$);
+
+#include sys/param.h
+#include sys/systm.h
+#include sys/bus.h
+#include sys/kernel.h
+#include sys/module.h
+#include sys/pcpu.h
+#include sys/smp.h
+
+#include xen/xen-os.h
+
+static int
+xenpv_probe(device_t dev)
+{
+
+   device_set_desc(dev, Xen PV bus);
+   device_quiet(dev);
+   return (0);
+}
+
+static int
+xenpv_attach(device_t dev)
+{
+   device_t child;
+
+   /*
+* Let our child drivers identify any child devices that they
+* can find.  Once that is done attach any devices that we
+* found.
+*/
+   bus_generic_probe(dev);
+   bus_generic_attach(dev);
+
+   if (!devclass_get_device(devclass_find(isa), 0)) {
+   child = BUS_ADD_CHILD(dev, 0, isa, 0);
+   if (child == NULL)
+   panic(xenpv_attach isa);
+   device_probe_and_attach(child);
+   }
+
+   return 0;
+}
+
+static device_method_t xenpv_methods[] = {
+   /* Device interface */
+   DEVMETHOD(device_probe, xenpv_probe),
+   DEVMETHOD(device_attach,xenpv_attach),
+   DEVMETHOD(device_suspend,   bus_generic_suspend),
+   DEVMETHOD(device_resume,bus_generic_resume),
+
+   /* Bus interface */
+   DEVMETHOD(bus_add_child,bus_generic_add_child),
+
+   DEVMETHOD_END
+};
+
+static driver_t xenpv_driver = {
+   xenpv,
+   xenpv_methods,
+   1,  /* no softc */
+};
+static devclass_t xenpv_devclass;
+
+DRIVER_MODULE(xenpv, nexus, xenpv_driver, xenpv_devclass, 0, 0);
+
+/*
+ * Dummy Xen cpu device
+ *
+ * Since there's no ACPI on PVH guests, we need to create a dummy
+ * CPU device in order to fill the pcpu-pc_device field.
+ */
+
+static void
+xenpvcpu_identify(driver_t *driver, device_t parent)
+{
+   device_t child;
+   int i;
+
+   /* Only attach to PV guests, HVM guests use the ACPI CPU devices */
+   if (!xen_pv_domain())
+   return;
+
+   CPU_FOREACH(i) {
+   child = BUS_ADD_CHILD(parent, 0, 

[PATCH v9 13/19] xen: introduce flag to disable the local apic

2014-01-02 Thread Roger Pau Monne
PVH guests don't have an emulated lapic.
---
 sys/amd64/amd64/mp_machdep.c |   10 ++
 sys/amd64/include/apicvar.h  |1 +
 sys/i386/include/apicvar.h   |1 +
 sys/i386/xen/xen_machdep.c   |2 ++
 sys/x86/x86/local_apic.c |8 +---
 sys/x86/xen/pv.c |3 +++
 6 files changed, 18 insertions(+), 7 deletions(-)

diff --git a/sys/amd64/amd64/mp_machdep.c b/sys/amd64/amd64/mp_machdep.c
index 0738a37..fd6eace 100644
--- a/sys/amd64/amd64/mp_machdep.c
+++ b/sys/amd64/amd64/mp_machdep.c
@@ -707,7 +707,8 @@ init_secondary(void)
wrmsr(MSR_SF_MASK, PSL_NT|PSL_T|PSL_I|PSL_C|PSL_D);
 
/* Disable local APIC just to be sure. */
-   lapic_disable();
+   if (lapic_valid)
+   lapic_disable();
 
/* signal our startup to the BSP. */
mp_naps++;
@@ -733,7 +734,7 @@ init_secondary(void)
 
/* A quick check from sanity claus */
cpuid = PCPU_GET(cpuid);
-   if (PCPU_GET(apic_id) != lapic_id()) {
+   if (lapic_valid  (PCPU_GET(apic_id) != lapic_id())) {
printf(SMP: cpuid = %d\n, cpuid);
printf(SMP: actual apic_id = %d\n, lapic_id());
printf(SMP: correct apic_id = %d\n, PCPU_GET(apic_id));
@@ -749,7 +750,8 @@ init_secondary(void)
mtx_lock_spin(ap_boot_mtx);
 
/* Init local apic for irq's */
-   lapic_setup(1);
+   if (lapic_valid)
+   lapic_setup(1);
 
/* Set memory range attributes for this CPU to match the BSP */
mem_range_AP_init();
@@ -764,7 +766,7 @@ init_secondary(void)
if (cpu_logical  1  PCPU_GET(apic_id) % cpu_logical != 0)
CPU_SET(cpuid, logical_cpus_mask);
 
-   if (bootverbose)
+   if (lapic_valid  bootverbose)
lapic_dump(AP);
 
if (smp_cpus == mp_ncpus) {
diff --git a/sys/amd64/include/apicvar.h b/sys/amd64/include/apicvar.h
index e7423a3..c04a238 100644
--- a/sys/amd64/include/apicvar.h
+++ b/sys/amd64/include/apicvar.h
@@ -169,6 +169,7 @@ inthand_t
 
 extern vm_paddr_t lapic_paddr;
 extern int apic_cpuids[];
+extern bool lapic_valid;
 
 u_int  apic_alloc_vector(u_int apic_id, u_int irq);
 u_int  apic_alloc_vectors(u_int apic_id, u_int *irqs, u_int count,
diff --git a/sys/i386/include/apicvar.h b/sys/i386/include/apicvar.h
index df99ebe..ea8a3c3 100644
--- a/sys/i386/include/apicvar.h
+++ b/sys/i386/include/apicvar.h
@@ -168,6 +168,7 @@ inthand_t
 
 extern vm_paddr_t lapic_paddr;
 extern int apic_cpuids[];
+extern bool lapic_valid;
 
 u_int  apic_alloc_vector(u_int apic_id, u_int irq);
 u_int  apic_alloc_vectors(u_int apic_id, u_int *irqs, u_int count,
diff --git a/sys/i386/xen/xen_machdep.c b/sys/i386/xen/xen_machdep.c
index 09c01f1..25b9cfc 100644
--- a/sys/i386/xen/xen_machdep.c
+++ b/sys/i386/xen/xen_machdep.c
@@ -59,6 +59,7 @@ __FBSDID($FreeBSD$);
 #include machine/intr_machdep.h
 #include machine/md_var.h
 #include machine/asmacros.h
+#include machine/apicvar.h
 
 
 
@@ -912,6 +913,7 @@ initvalues(start_info_t *startinfo)
 #endif 
xen_start_info = startinfo;
HYPERVISOR_start_info = startinfo;
+   lapic_valid = false;
xen_phys_machine = (xen_pfn_t *)startinfo-mfn_list;
 
IdlePTD = (pd_entry_t *)((uint8_t *)startinfo-pt_base + PAGE_SIZE);
diff --git a/sys/x86/x86/local_apic.c b/sys/x86/x86/local_apic.c
index 41bd602..fddf1fb 100644
--- a/sys/x86/x86/local_apic.c
+++ b/sys/x86/x86/local_apic.c
@@ -156,6 +156,7 @@ extern inthand_t IDTVEC(rsvd);
 
 volatile lapic_t *lapic;
 vm_paddr_t lapic_paddr;
+bool lapic_valid = true;
 static u_long lapic_timer_divisor;
 static struct eventtimer lapic_et;
 
@@ -1367,9 +1368,10 @@ apic_setup_io(void *dummy __unused)
if (retval != 0)
printf(%s: Failed to setup I/O APICs: returned %d\n,
best_enum-apic_name, retval);
-#ifdef XEN
-   return;
-#endif
+
+   if (!lapic_valid)
+   return;
+
/*
 * Finish setting up the local APIC on the BSP once we know how to
 * properly program the LINT pins.
diff --git a/sys/x86/xen/pv.c b/sys/x86/xen/pv.c
index 22fd6a6..6ea1e2a 100644
--- a/sys/x86/xen/pv.c
+++ b/sys/x86/xen/pv.c
@@ -53,6 +53,7 @@ __FBSDID($FreeBSD$);
 #include machine/clock.h
 #include machine/pc/bios.h
 #include machine/smp.h
+#include machine/apicvar.h
 
 #include xen/xen-os.h
 #include xen/hypervisor.h
@@ -315,4 +316,6 @@ xen_pv_set_init_ops(void)
 {
/* Init ops for Xen PV */
init_ops = xen_init_ops;
+   /* Disable lapic */
+   lapic_valid = false;
 }
-- 
1.7.7.5 (Apple Git-26)

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


[PATCH v9 18/19] xen: changes to gnttab for PVH

2014-01-02 Thread Roger Pau Monne
---
 sys/xen/gnttab.c |   26 +-
 1 files changed, 21 insertions(+), 5 deletions(-)

diff --git a/sys/xen/gnttab.c b/sys/xen/gnttab.c
index 03c32b7..6949be5 100644
--- a/sys/xen/gnttab.c
+++ b/sys/xen/gnttab.c
@@ -25,6 +25,7 @@ __FBSDID($FreeBSD$);
 #include sys/lock.h
 #include sys/malloc.h
 #include sys/mman.h
+#include sys/limits.h
 
 #include xen/xen-os.h
 #include xen/hypervisor.h
@@ -607,6 +608,7 @@ gnttab_resume(void)
 {
int error;
unsigned int max_nr_gframes, nr_gframes;
+   void *alloc_mem;
 
nr_gframes = nr_grant_frames;
max_nr_gframes = max_nr_grant_frames();
@@ -614,11 +616,25 @@ gnttab_resume(void)
return (ENOSYS);
 
if (!resume_frames) {
-   error = xenpci_alloc_space(PAGE_SIZE * max_nr_gframes,
-   resume_frames);
-   if (error) {
-   printf(error mapping gnttab share frames\n);
-   return (error);
+   if (xen_pv_domain()) {
+   /*
+* This is a waste of physical memory,
+* we should use ballooned pages instead,
+* but it will do for now.
+*/
+   alloc_mem = contigmalloc(max_nr_gframes * PAGE_SIZE,
+M_DEVBUF, M_NOWAIT, 0,
+ULONG_MAX, PAGE_SIZE, 0);
+   KASSERT((alloc_mem != NULL),
+   (unable to alloc memory for gnttab));
+   resume_frames = vtophys(alloc_mem);
+   } else {
+   error = xenpci_alloc_space(PAGE_SIZE * max_nr_gframes,
+   resume_frames);
+   if (error) {
+   printf(error mapping gnttab share frames\n);
+   return (error);
+   }
}
}
 
-- 
1.7.7.5 (Apple Git-26)

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


[head tinderbox] failure on powerpc64/powerpc

2014-01-02 Thread FreeBSD Tinderbox
TB --- 2014-01-02 14:23:39 - tinderbox 2.20 running on freebsd-current.sentex.ca
TB --- 2014-01-02 14:23:39 - FreeBSD freebsd-current.sentex.ca 8.3-PRERELEASE 
FreeBSD 8.3-PRERELEASE #0: Mon Mar 26 13:54:12 EDT 2012 
d...@freebsd-current.sentex.ca:/usr/obj/usr/src/sys/GENERIC  amd64
TB --- 2014-01-02 14:23:39 - starting HEAD tinderbox run for powerpc64/powerpc
TB --- 2014-01-02 14:23:39 - cleaning the object tree
TB --- 2014-01-02 14:24:31 - /usr/local/bin/svn stat /src
TB --- 2014-01-02 14:24:50 - At svn revision 260182
TB --- 2014-01-02 14:24:51 - building world
TB --- 2014-01-02 14:24:51 - CROSS_BUILD_TESTING=YES
TB --- 2014-01-02 14:24:51 - MAKEOBJDIRPREFIX=/obj
TB --- 2014-01-02 14:24:51 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2014-01-02 14:24:51 - SRCCONF=/dev/null
TB --- 2014-01-02 14:24:51 - TARGET=powerpc
TB --- 2014-01-02 14:24:51 - TARGET_ARCH=powerpc64
TB --- 2014-01-02 14:24:51 - TZ=UTC
TB --- 2014-01-02 14:24:51 - __MAKE_CONF=/dev/null
TB --- 2014-01-02 14:24:51 - cd /src
TB --- 2014-01-02 14:24:51 - /usr/bin/make -B buildworld
 Building an up-to-date make(1)
 World build started on Thu Jan  2 14:24:59 UTC 2014
 Rebuilding the temporary build tree
 stage 1.1: legacy release compatibility shims
 stage 1.2: bootstrap tools
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3: cross tools
 stage 4.1: building includes
 stage 4.2: building libraries
 stage 4.3: make dependencies
 stage 4.4: building everything
 stage 5.1: building 32 bit shim libraries
 World build completed on Thu Jan  2 17:26:20 UTC 2014
TB --- 2014-01-02 17:26:20 - generating LINT kernel config
TB --- 2014-01-02 17:26:20 - cd /src/sys/powerpc/conf
TB --- 2014-01-02 17:26:20 - /usr/bin/make -B LINT
TB --- 2014-01-02 17:26:20 - cd /src/sys/powerpc/conf
TB --- 2014-01-02 17:26:20 - /usr/sbin/config -m LINT
TB --- 2014-01-02 17:26:20 - skipping LINT kernel
TB --- 2014-01-02 17:26:20 - cd /src/sys/powerpc/conf
TB --- 2014-01-02 17:26:20 - /usr/sbin/config -m GENERIC
TB --- 2014-01-02 17:26:20 - skipping GENERIC kernel
TB --- 2014-01-02 17:26:20 - cd /src/sys/powerpc/conf
TB --- 2014-01-02 17:26:20 - /usr/sbin/config -m GENERIC64
TB --- 2014-01-02 17:26:20 - building GENERIC64 kernel
TB --- 2014-01-02 17:26:20 - CROSS_BUILD_TESTING=YES
TB --- 2014-01-02 17:26:20 - MAKEOBJDIRPREFIX=/obj
TB --- 2014-01-02 17:26:20 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2014-01-02 17:26:20 - SRCCONF=/dev/null
TB --- 2014-01-02 17:26:20 - TARGET=powerpc
TB --- 2014-01-02 17:26:20 - TARGET_ARCH=powerpc64
TB --- 2014-01-02 17:26:20 - TZ=UTC
TB --- 2014-01-02 17:26:20 - __MAKE_CONF=/dev/null
TB --- 2014-01-02 17:26:20 - cd /src
TB --- 2014-01-02 17:26:20 - /usr/bin/make -B buildkernel KERNCONF=GENERIC64
 Kernel build for GENERIC64 started on Thu Jan  2 17:26:21 UTC 2014
 stage 1: configuring the kernel
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3.1: making dependencies
 stage 3.2: building everything
[...]
objcopy --strip-debug --add-gnu-debuglink=toecore.ko.symbols toecore.ko.debug 
toecore.ko
=== trm (all)
cc  -O2 -pipe -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE -nostdinc   
-DHAVE_KERNEL_OPTION_HEADERS -include 
/obj/powerpc.powerpc64/src/sys/GENERIC64/opt_global.h -I. -I@ -I@/contrib/altq 
-finline-limit=15000 --param inline-unit-growth=100 --param 
large-function-growth=1000 -fno-common -g -mlongcall -fno-omit-frame-pointer 
-I/obj/powerpc.powerpc64/src/sys/GENERIC64  -msoft-float -mno-altivec 
-mcall-aixdesc -ffreestanding -fstack-protector -std=iso9899:1999  
-fstack-protector -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes  
-Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef 
-Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs 
-fdiagnostics-show-option   -c /src/sys/modules/trm/../../dev/trm/trm.c
/src/sys/modules/trm/../../dev/trm/trm.c: In function 'trm_attach':
/src/sys/modules/trm/../../dev/trm/trm.c:3522: internal compiler error: in 
create_mem_ref, at tree-ssa-address.c:606
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://www.freebsd.org/send-pr.html for instructions.
*** Error code 1

Stop.
bmake[3]: stopped in /src/sys/modules/trm
*** Error code 1

Stop.
bmake[2]: stopped in /src/sys/modules
*** Error code 1

Stop.
bmake[1]: stopped in /obj/powerpc.powerpc64/src/sys/GENERIC64
*** Error code 1

Stop.
bmake: stopped in /src
*** Error code 1

Stop in /src.
TB --- 2014-01-02 17:43:35 - WARNING: /usr/bin/make returned exit code  1 
TB --- 2014-01-02 17:43:35 - ERROR: failed to build GENERIC64 kernel
TB --- 2014-01-02 17:43:35 - 10511.48 user 1254.07 system 11996.75 real


http://tinderbox.freebsd.org/tinderbox-head-build-HEAD-powerpc64-powerpc.full
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any 

[head tinderbox] failure on armv6/arm

2014-01-02 Thread FreeBSD Tinderbox
TB --- 2014-01-02 17:50:19 - tinderbox 2.20 running on freebsd-current.sentex.ca
TB --- 2014-01-02 17:50:19 - FreeBSD freebsd-current.sentex.ca 8.3-PRERELEASE 
FreeBSD 8.3-PRERELEASE #0: Mon Mar 26 13:54:12 EDT 2012 
d...@freebsd-current.sentex.ca:/usr/obj/usr/src/sys/GENERIC  amd64
TB --- 2014-01-02 17:50:19 - starting HEAD tinderbox run for armv6/arm
TB --- 2014-01-02 17:50:19 - cleaning the object tree
TB --- 2014-01-02 17:56:19 - /usr/local/bin/svn stat /src
TB --- 2014-01-02 17:56:22 - At svn revision 260202
TB --- 2014-01-02 17:56:23 - building world
TB --- 2014-01-02 17:56:23 - CROSS_BUILD_TESTING=YES
TB --- 2014-01-02 17:56:23 - MAKEOBJDIRPREFIX=/obj
TB --- 2014-01-02 17:56:23 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2014-01-02 17:56:23 - SRCCONF=/dev/null
TB --- 2014-01-02 17:56:23 - TARGET=arm
TB --- 2014-01-02 17:56:23 - TARGET_ARCH=armv6
TB --- 2014-01-02 17:56:23 - TZ=UTC
TB --- 2014-01-02 17:56:23 - __MAKE_CONF=/dev/null
TB --- 2014-01-02 17:56:23 - cd /src
TB --- 2014-01-02 17:56:23 - /usr/bin/make -B buildworld
 Building an up-to-date make(1)
 World build started on Thu Jan  2 17:56:30 UTC 2014
 Rebuilding the temporary build tree
 stage 1.1: legacy release compatibility shims
 stage 1.2: bootstrap tools
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3: cross tools
 stage 4.1: building includes
 stage 4.2: building libraries
 stage 4.3: make dependencies
 stage 4.4: building everything
 World build completed on Thu Jan  2 21:00:53 UTC 2014
TB --- 2014-01-02 21:00:53 - generating LINT kernel config
TB --- 2014-01-02 21:00:53 - cd /src/sys/arm/conf
TB --- 2014-01-02 21:00:53 - /usr/bin/make -B LINT
TB --- 2014-01-02 21:00:53 - cd /src/sys/arm/conf
TB --- 2014-01-02 21:00:53 - /usr/sbin/config -m LINT
TB --- 2014-01-02 21:00:53 - skipping LINT kernel
TB --- 2014-01-02 21:00:53 - cd /src/sys/arm/conf
TB --- 2014-01-02 21:00:53 - /usr/sbin/config -m AC100
TB --- 2014-01-02 21:00:53 - building AC100 kernel
TB --- 2014-01-02 21:00:53 - CROSS_BUILD_TESTING=YES
TB --- 2014-01-02 21:00:53 - MAKEOBJDIRPREFIX=/obj
TB --- 2014-01-02 21:00:53 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2014-01-02 21:00:53 - SRCCONF=/dev/null
TB --- 2014-01-02 21:00:53 - TARGET=arm
TB --- 2014-01-02 21:00:53 - TARGET_ARCH=armv6
TB --- 2014-01-02 21:00:53 - TZ=UTC
TB --- 2014-01-02 21:00:53 - __MAKE_CONF=/dev/null
TB --- 2014-01-02 21:00:53 - cd /src
TB --- 2014-01-02 21:00:53 - /usr/bin/make -B buildkernel KERNCONF=AC100
 Kernel build for AC100 started on Thu Jan  2 21:00:53 UTC 2014
 stage 1: configuring the kernel
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3.1: making dependencies
[...]
machine - /src/sys/arm/include
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 -Wmissing-include-dirs 
-fdiagnostics-show-option -Wno-error-tautological-compare -Wno-error-empty-body 
-Wno-error-parentheses-equality -nostdinc -I. -I/src/sys 
-I/src/sys/contrib/altq -I/src/sys/contrib/ipfilter -I/src/sys/dev/ath 
-I/src/sys/dev/ath/ath_hal -I/src/sys/contrib/dev/ath/ath_hal 
-I/src/sys/contrib/ngatm -I/src/sys/dev/twa -I/src/sys/dev/cxgb 
-I/src/sys/dev/cxgbe -I/src/sys/contrib/libfdt -D_KERNEL 
-DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -funwind-tables 
-ffreestanding /src/sys/arm/arm/genassym.c
In file included from /src/sys/arm/arm/genassym.c:48:
In file included from ./machine/intr.h:71:
/src/sys/sys/bus.h:585:10: fatal error: 'device_if.h' file not found
#include device_if.h
 ^
1 error generated.
*** Error code 1

Stop.
bmake[1]: stopped in /obj/arm.armv6/src/sys/AC100
*** Error code 1

Stop.
bmake: stopped in /src
*** Error code 1

Stop in /src.
TB --- 2014-01-02 21:00:57 - WARNING: /usr/bin/make returned exit code  1 
TB --- 2014-01-02 21:00:57 - ERROR: failed to build AC100 kernel
TB --- 2014-01-02 21:00:57 - 8684.15 user 1645.03 system 11437.73 real


http://tinderbox.freebsd.org/tinderbox-head-build-HEAD-armv6-arm.full
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


[head tinderbox] failure on arm/arm

2014-01-02 Thread FreeBSD Tinderbox
TB --- 2014-01-02 17:50:19 - tinderbox 2.20 running on freebsd-current.sentex.ca
TB --- 2014-01-02 17:50:19 - FreeBSD freebsd-current.sentex.ca 8.3-PRERELEASE 
FreeBSD 8.3-PRERELEASE #0: Mon Mar 26 13:54:12 EDT 2012 
d...@freebsd-current.sentex.ca:/usr/obj/usr/src/sys/GENERIC  amd64
TB --- 2014-01-02 17:50:19 - starting HEAD tinderbox run for arm/arm
TB --- 2014-01-02 17:50:19 - cleaning the object tree
TB --- 2014-01-02 17:56:25 - /usr/local/bin/svn stat /src
TB --- 2014-01-02 17:56:28 - At svn revision 260202
TB --- 2014-01-02 17:56:29 - building world
TB --- 2014-01-02 17:56:29 - CROSS_BUILD_TESTING=YES
TB --- 2014-01-02 17:56:29 - MAKEOBJDIRPREFIX=/obj
TB --- 2014-01-02 17:56:29 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2014-01-02 17:56:29 - SRCCONF=/dev/null
TB --- 2014-01-02 17:56:29 - TARGET=arm
TB --- 2014-01-02 17:56:29 - TARGET_ARCH=arm
TB --- 2014-01-02 17:56:29 - TZ=UTC
TB --- 2014-01-02 17:56:29 - __MAKE_CONF=/dev/null
TB --- 2014-01-02 17:56:29 - cd /src
TB --- 2014-01-02 17:56:29 - /usr/bin/make -B buildworld
 Building an up-to-date make(1)
 World build started on Thu Jan  2 17:56:36 UTC 2014
 Rebuilding the temporary build tree
 stage 1.1: legacy release compatibility shims
 stage 1.2: bootstrap tools
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3: cross tools
 stage 4.1: building includes
 stage 4.2: building libraries
 stage 4.3: make dependencies
 stage 4.4: building everything
 World build completed on Thu Jan  2 21:00:53 UTC 2014
TB --- 2014-01-02 21:00:53 - generating LINT kernel config
TB --- 2014-01-02 21:00:53 - cd /src/sys/arm/conf
TB --- 2014-01-02 21:00:53 - /usr/bin/make -B LINT
TB --- 2014-01-02 21:00:53 - cd /src/sys/arm/conf
TB --- 2014-01-02 21:00:53 - /usr/sbin/config -m LINT
TB --- 2014-01-02 21:00:53 - building LINT kernel
TB --- 2014-01-02 21:00:53 - CROSS_BUILD_TESTING=YES
TB --- 2014-01-02 21:00:53 - MAKEOBJDIRPREFIX=/obj
TB --- 2014-01-02 21:00:53 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2014-01-02 21:00:53 - SRCCONF=/dev/null
TB --- 2014-01-02 21:00:53 - TARGET=arm
TB --- 2014-01-02 21:00:53 - TARGET_ARCH=arm
TB --- 2014-01-02 21:00:53 - TZ=UTC
TB --- 2014-01-02 21:00:53 - __MAKE_CONF=/dev/null
TB --- 2014-01-02 21:00:53 - cd /src
TB --- 2014-01-02 21:00:53 - /usr/bin/make -B buildkernel KERNCONF=LINT
 Kernel build for LINT started on Thu Jan  2 21:00:53 UTC 2014
 stage 1: configuring the kernel
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3.1: making dependencies
[...]
machine - /src/sys/arm/include
cc  -c -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls 
-Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith 
-Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions 
-Wmissing-include-dirs -fdiagnostics-show-option 
-Wno-error-tautological-compare -Wno-error-empty-body 
-Wno-error-parentheses-equality -nostdinc -I. -I/src/sys 
-I/src/sys/contrib/altq -I/src/sys/contrib/ipfilter -I/src/sys/dev/ath 
-I/src/sys/dev/ath/ath_hal -I/src/sys/contrib/dev/ath/ath_hal 
-I/src/sys/contrib/ngatm -I/src/sys/dev/twa -I/src/sys/dev/cxgb 
-I/src/sys/dev/cxgbe -I/src/sys/contrib/libfdt -D_KERNEL 
-DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-builtin -funwind-tables 
-ffreestanding /src/sys/arm/arm/genassym.c
In file included from /src/sys/arm/arm/genassym.c:48:
In file included from ./machine/intr.h:71:
/src/sys/sys/bus.h:585:10: fatal error: 'device_if.h' file not found
#include device_if.h
 ^
1 error generated.
*** Error code 1

Stop.
bmake[1]: stopped in /obj/arm.arm/src/sys/LINT
*** Error code 1

Stop.
bmake: stopped in /src
*** Error code 1

Stop in /src.
TB --- 2014-01-02 21:01:27 - WARNING: /usr/bin/make returned exit code  1 
TB --- 2014-01-02 21:01:27 - ERROR: failed to build LINT kernel
TB --- 2014-01-02 21:01:27 - 8689.23 user 1649.62 system 11467.94 real


http://tinderbox.freebsd.org/tinderbox-head-build-HEAD-arm-arm.full
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: [PATCH v9 19/19] isa: allow ISA bus to attach to xenpv device

2014-01-02 Thread Julian Elischer

On 1/2/14, 4:43 PM, Roger Pau Monne wrote:

---
  sys/x86/isa/isa.c |3 +++
  1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/sys/x86/isa/isa.c b/sys/x86/isa/isa.c
index 1a57137..9287ff2 100644
--- a/sys/x86/isa/isa.c
+++ b/sys/x86/isa/isa.c
@@ -241,3 +241,6 @@ isa_release_resource(device_t bus, device_t child, int 
type, int rid,
   * On this platform, isa can also attach to the legacy bus.
   */
  DRIVER_MODULE(isa, legacy, isa_driver, isa_devclass, 0, 0);
+#ifdef XENHVM
+DRIVER_MODULE(isa, xenpv, isa_driver, isa_devclass, 0, 0);
+#endif
read all 19 patches. I'm glad you split them up.. makes it 
understandable.. even by me :-)
no real negative comments except a question as to whether there is any 
noticable performance impact on real hardware?


___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


RTL8111/8168B not negotiating 1GB

2014-01-02 Thread Sam Fourman Jr.
Hello list,

I have a Asus Sabertooth 990FXv2 motherboard,  and a run of the mill
NetGear DGS2205 desktop gig switch

with linux my Ethernet can negotiate at 1GB but with FreeBSD it can not
if I force the device to 1000baseT  with ifconfig it does not work.


uname -a
FreeBSD NewBSD 11.0-CURRENT FreeBSD 11.0-CURRENT #1 r260188M: Thu Jan  2
04:27:49 CST 2014 sfourman@NewBSD:/usr/obj/usr/src/sys/GENERIC  amd64



re0@pci0:10:0:0: class=0x02 card=0x85051043 chip=0x816810ec rev=0x09
hdr=0x00
vendor = 'Realtek Semiconductor Co., Ltd.'
device = 'RTL8111/8168B PCI Express Gigabit Ethernet controller'
class  = network
subclass   = ethernet



root@NewBSD:/usr/home/sfourman/Desktop # ifconfig
re0: flags=8843UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST metric 0 mtu 1500
options=8209bRXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKSTATE
ether 60:a4:4c:60:d5:a7
inet 192.168.1.31 netmask 0xff00 broadcast 192.168.1.255
inet6 fe80::62a4:4cff:fe60:d5a7%re0 prefixlen 64 scopeid 0x1
nd6 options=29PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL
media: Ethernet autoselect (100baseTX full-duplex)
status: active



-- 

Sam Fourman Jr.
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: RTL8111/8168B not negotiating 1GB

2014-01-02 Thread Adam Vande More
On Thu, Jan 2, 2014 at 7:39 PM, Sam Fourman Jr. sfour...@gmail.com wrote:

 Hello list,

 I have a Asus Sabertooth 990FXv2 motherboard,  and a run of the mill
 NetGear DGS2205 desktop gig switch

 with linux my Ethernet can negotiate at 1GB but with FreeBSD it can not
 if I force the device to 1000baseT  with ifconfig it does not work.


 uname -a
 FreeBSD NewBSD 11.0-CURRENT FreeBSD 11.0-CURRENT #1 r260188M: Thu Jan  2
 04:27:49 CST 2014 sfourman@NewBSD:/usr/obj/usr/src/sys/GENERIC  amd64



 re0@pci0:10:0:0: class=0x02 card=0x85051043 chip=0x816810ec rev=0x09
 hdr=0x00
 vendor = 'Realtek Semiconductor Co., Ltd.'
 device = 'RTL8111/8168B PCI Express Gigabit Ethernet controller'
 class  = network
 subclass   = ethernet



 root@NewBSD:/usr/home/sfourman/Desktop # ifconfig
 re0: flags=8843UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST metric 0 mtu 1500

 options=8209bRXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKSTATE
 ether 60:a4:4c:60:d5:a7
 inet 192.168.1.31 netmask 0xff00 broadcast 192.168.1.255
 inet6 fe80::62a4:4cff:fe60:d5a7%re0 prefixlen 64 scopeid 0x1
 nd6 options=29PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL
 media: Ethernet autoselect (100baseTX full-duplex)
 status: active


/etc/rc.conf is important here as well as the complete steps and output
which provoked this response:

but with FreeBSD it can not
if I force the device to 1000baseT  with ifconfig it does not work.

In the given output, autoselect clearly selects 100Mb connection, the
question is why.



-- 
Adam
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: RTL8111/8168B not negotiating 1GB

2014-01-02 Thread Sam Fourman Jr.
On Thu, Jan 2, 2014 at 9:06 PM, Adam Vande More amvandem...@gmail.comwrote:

 On Thu, Jan 2, 2014 at 7:39 PM, Sam Fourman Jr. sfour...@gmail.comwrote:

 Hello list,

 I have a Asus Sabertooth 990FXv2 motherboard,  and a run of the mill
 NetGear DGS2205 desktop gig switch

 with linux my Ethernet can negotiate at 1GB but with FreeBSD it can not
 if I force the device to 1000baseT  with ifconfig it does not work.


 uname -a
 FreeBSD NewBSD 11.0-CURRENT FreeBSD 11.0-CURRENT #1 r260188M: Thu Jan  2
 04:27:49 CST 2014 sfourman@NewBSD:/usr/obj/usr/src/sys/GENERIC  amd64



 re0@pci0:10:0:0: class=0x02 card=0x85051043 chip=0x816810ec rev=0x09
 hdr=0x00
 vendor = 'Realtek Semiconductor Co., Ltd.'
 device = 'RTL8111/8168B PCI Express Gigabit Ethernet controller'
 class  = network
 subclass   = ethernet



 root@NewBSD:/usr/home/sfourman/Desktop # ifconfig
 re0: flags=8843UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST metric 0 mtu 1500

 options=8209bRXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKSTATE
 ether 60:a4:4c:60:d5:a7
 inet 192.168.1.31 netmask 0xff00 broadcast 192.168.1.255
 inet6 fe80::62a4:4cff:fe60:d5a7%re0 prefixlen 64 scopeid 0x1
 nd6 options=29PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL
 media: Ethernet autoselect (100baseTX full-duplex)
 status: active


 /etc/rc.conf is important here as well as the complete steps and output
 which provoked this response:

 but with FreeBSD it can not
 if I force the device to 1000baseT  with ifconfig it does not work.

 In the given output, autoselect clearly selects 100Mb connection, the
 question is why.


 rc.conf is this:

defaultrouter=192.168.1.1
ifconfig_re0=inet 192.168.1.31 netmask 0xff00


but the problem is we need to patch the re driver somehow because
I have many motherboards where this exact nic does not work correctly.


 --
 Adam




-- 

Sam Fourman Jr.
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: RTL8111/8168B not negotiating 1GB

2014-01-02 Thread Mark Felder
On Thu, Jan 2, 2014, at 19:39, Sam Fourman Jr. wrote:
 Hello list,
 
 I have a Asus Sabertooth 990FXv2 motherboard,  and a run of the mill
 NetGear DGS2205 desktop gig switch
 
 with linux my Ethernet can negotiate at 1GB but with FreeBSD it can not
 if I force the device to 1000baseT  with ifconfig it does not work.
 
 
 uname -a
 FreeBSD NewBSD 11.0-CURRENT FreeBSD 11.0-CURRENT #1 r260188M: Thu Jan  2
 04:27:49 CST 2014 sfourman@NewBSD:/usr/obj/usr/src/sys/GENERIC  amd64
 
 

This is probably flying too far off-topic so feel free to ignore me, but
this just popped in my head because I ran into this with a pair of Cisco
devices recently:

On some Cisco gear with certain GBICs / SFPs you can run into a
situation where you have a physical link that claims to be up/up but is
completely non-functional (no traffic, no mac addresses/arp). The
solution is a command that is only available on these interfaces called
speed nonegotiate which forces the link to work, bypassing negotiation
(simply MDI/MDIX?). I don't know how the low level gigabit auto
negotiation magic works or what it fully entails, but I'm wondering if
it is something that could be replicated in the FreeBSD drivers/stack. 

I have a feeling that if it existed and he tried something like
ifconfig re0 speed nonegotiate it would not work because he'd need to
set that on his switch port as well, but I just thought I'd throw this
out there.

Here's a link mentioning the feature: 

http://www.cisco.com/en/US/docs/security/asa/asa70/configuration/guide/intrface.html

I'm not sure where to find any true technical details of it, though.
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: RTL8111/8168B not negotiating 1GB

2014-01-02 Thread Thomas Mueller
 but the problem is we need to patch the re driver somehow because
 I have many motherboards where this exact nic does not work correctly.

 Sam Fourman Jr.

Misery loves company!

My new MSI Z77 MPOWER motherboard with onboard Realtek 8111E NIC is affected by 
this re(4) bug.

Ethernet is recognized, but re(4) fails to connect, and memory becomes 
destabilized.

Only Internet access in FreeBSD is with Hiro H50191 USB-stick wi-fi adapter, 
chipset RTL8191SU, device rsu.

Similar problems with OpenBSD and DragonFlyBSD latest releases on live USB, but 
OK with NetBSD and Linux.

Ability to run OpenBSD or DragonFlyBSD is very limited because of not being 
able to read my hard drive.

OpenBSD lacks GPT support, while DragonFlyBSD recognizes my hard-drive 
partitions but can't mount any.

Tom

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


[head tinderbox] failure on armv6/arm

2014-01-02 Thread FreeBSD Tinderbox
TB --- 2014-01-03 04:50:21 - tinderbox 2.20 running on freebsd-current.sentex.ca
TB --- 2014-01-03 04:50:21 - FreeBSD freebsd-current.sentex.ca 8.3-PRERELEASE 
FreeBSD 8.3-PRERELEASE #0: Mon Mar 26 13:54:12 EDT 2012 
d...@freebsd-current.sentex.ca:/usr/obj/usr/src/sys/GENERIC  amd64
TB --- 2014-01-03 04:50:21 - starting HEAD tinderbox run for armv6/arm
TB --- 2014-01-03 04:50:21 - cleaning the object tree
TB --- 2014-01-03 04:53:07 - /usr/local/bin/svn stat /src
TB --- 2014-01-03 04:53:10 - At svn revision 260218
TB --- 2014-01-03 04:53:11 - building world
TB --- 2014-01-03 04:53:11 - CROSS_BUILD_TESTING=YES
TB --- 2014-01-03 04:53:11 - MAKEOBJDIRPREFIX=/obj
TB --- 2014-01-03 04:53:11 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2014-01-03 04:53:11 - SRCCONF=/dev/null
TB --- 2014-01-03 04:53:11 - TARGET=arm
TB --- 2014-01-03 04:53:11 - TARGET_ARCH=armv6
TB --- 2014-01-03 04:53:11 - TZ=UTC
TB --- 2014-01-03 04:53:11 - __MAKE_CONF=/dev/null
TB --- 2014-01-03 04:53:11 - cd /src
TB --- 2014-01-03 04:53:11 - /usr/bin/make -B buildworld
 Building an up-to-date make(1)
 World build started on Fri Jan  3 04:53:18 UTC 2014
 Rebuilding the temporary build tree
 stage 1.1: legacy release compatibility shims
 stage 1.2: bootstrap tools
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3: cross tools
 stage 4.1: building includes
 stage 4.2: building libraries
 stage 4.3: make dependencies
 stage 4.4: building everything
 World build completed on Fri Jan  3 07:55:46 UTC 2014
TB --- 2014-01-03 07:55:46 - generating LINT kernel config
TB --- 2014-01-03 07:55:46 - cd /src/sys/arm/conf
TB --- 2014-01-03 07:55:46 - /usr/bin/make -B LINT
TB --- 2014-01-03 07:55:46 - cd /src/sys/arm/conf
TB --- 2014-01-03 07:55:46 - /usr/sbin/config -m LINT
TB --- 2014-01-03 07:55:46 - skipping LINT kernel
TB --- 2014-01-03 07:55:46 - cd /src/sys/arm/conf
TB --- 2014-01-03 07:55:46 - /usr/sbin/config -m AC100
TB --- 2014-01-03 07:55:46 - building AC100 kernel
TB --- 2014-01-03 07:55:46 - CROSS_BUILD_TESTING=YES
TB --- 2014-01-03 07:55:46 - MAKEOBJDIRPREFIX=/obj
TB --- 2014-01-03 07:55:46 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2014-01-03 07:55:46 - SRCCONF=/dev/null
TB --- 2014-01-03 07:55:46 - TARGET=arm
TB --- 2014-01-03 07:55:46 - TARGET_ARCH=armv6
TB --- 2014-01-03 07:55:46 - TZ=UTC
TB --- 2014-01-03 07:55:46 - __MAKE_CONF=/dev/null
TB --- 2014-01-03 07:55:46 - cd /src
TB --- 2014-01-03 07:55:46 - /usr/bin/make -B buildkernel KERNCONF=AC100
 Kernel build for AC100 started on Fri Jan  3 07:55:46 UTC 2014
 stage 1: configuring the kernel
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3.1: making dependencies
[...]
machine - /src/sys/arm/include
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 -Wmissing-include-dirs 
-fdiagnostics-show-option -Wno-error-tautological-compare -Wno-error-empty-body 
-Wno-error-parentheses-equality -nostdinc -I. -I/src/sys 
-I/src/sys/contrib/altq -I/src/sys/contrib/ipfilter -I/src/sys/dev/ath 
-I/src/sys/dev/ath/ath_hal -I/src/sys/contrib/dev/ath/ath_hal 
-I/src/sys/contrib/ngatm -I/src/sys/dev/twa -I/src/sys/dev/cxgb 
-I/src/sys/dev/cxgbe -I/src/sys/contrib/libfdt -D_KERNEL 
-DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -funwind-tables 
-ffreestanding /src/sys/arm/arm/genassym.c
In file included from /src/sys/arm/arm/genassym.c:48:
In file included from ./machine/intr.h:71:
/src/sys/sys/bus.h:585:10: fatal error: 'device_if.h' file not found
#include device_if.h
 ^
1 error generated.
*** Error code 1

Stop.
bmake[1]: stopped in /obj/arm.armv6/src/sys/AC100
*** Error code 1

Stop.
bmake: stopped in /src
*** Error code 1

Stop in /src.
TB --- 2014-01-03 07:55:47 - WARNING: /usr/bin/make returned exit code  1 
TB --- 2014-01-03 07:55:47 - ERROR: failed to build AC100 kernel
TB --- 2014-01-03 07:55:47 - 8690.59 user 1616.98 system 11125.82 real


http://tinderbox.freebsd.org/tinderbox-head-build-HEAD-armv6-arm.full
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


[head tinderbox] failure on arm/arm

2014-01-02 Thread FreeBSD Tinderbox
TB --- 2014-01-03 04:50:21 - tinderbox 2.20 running on freebsd-current.sentex.ca
TB --- 2014-01-03 04:50:21 - FreeBSD freebsd-current.sentex.ca 8.3-PRERELEASE 
FreeBSD 8.3-PRERELEASE #0: Mon Mar 26 13:54:12 EDT 2012 
d...@freebsd-current.sentex.ca:/usr/obj/usr/src/sys/GENERIC  amd64
TB --- 2014-01-03 04:50:21 - starting HEAD tinderbox run for arm/arm
TB --- 2014-01-03 04:50:21 - cleaning the object tree
TB --- 2014-01-03 04:53:08 - /usr/local/bin/svn stat /src
TB --- 2014-01-03 04:53:11 - At svn revision 260218
TB --- 2014-01-03 04:53:12 - building world
TB --- 2014-01-03 04:53:12 - CROSS_BUILD_TESTING=YES
TB --- 2014-01-03 04:53:12 - MAKEOBJDIRPREFIX=/obj
TB --- 2014-01-03 04:53:12 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2014-01-03 04:53:12 - SRCCONF=/dev/null
TB --- 2014-01-03 04:53:12 - TARGET=arm
TB --- 2014-01-03 04:53:12 - TARGET_ARCH=arm
TB --- 2014-01-03 04:53:12 - TZ=UTC
TB --- 2014-01-03 04:53:12 - __MAKE_CONF=/dev/null
TB --- 2014-01-03 04:53:12 - cd /src
TB --- 2014-01-03 04:53:12 - /usr/bin/make -B buildworld
 Building an up-to-date make(1)
 World build started on Fri Jan  3 04:53:19 UTC 2014
 Rebuilding the temporary build tree
 stage 1.1: legacy release compatibility shims
 stage 1.2: bootstrap tools
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3: cross tools
 stage 4.1: building includes
 stage 4.2: building libraries
 stage 4.3: make dependencies
 stage 4.4: building everything
 World build completed on Fri Jan  3 07:55:46 UTC 2014
TB --- 2014-01-03 07:55:46 - generating LINT kernel config
TB --- 2014-01-03 07:55:46 - cd /src/sys/arm/conf
TB --- 2014-01-03 07:55:46 - /usr/bin/make -B LINT
TB --- 2014-01-03 07:55:46 - cd /src/sys/arm/conf
TB --- 2014-01-03 07:55:46 - /usr/sbin/config -m LINT
TB --- 2014-01-03 07:55:46 - building LINT kernel
TB --- 2014-01-03 07:55:46 - CROSS_BUILD_TESTING=YES
TB --- 2014-01-03 07:55:46 - MAKEOBJDIRPREFIX=/obj
TB --- 2014-01-03 07:55:46 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2014-01-03 07:55:46 - SRCCONF=/dev/null
TB --- 2014-01-03 07:55:46 - TARGET=arm
TB --- 2014-01-03 07:55:46 - TARGET_ARCH=arm
TB --- 2014-01-03 07:55:46 - TZ=UTC
TB --- 2014-01-03 07:55:46 - __MAKE_CONF=/dev/null
TB --- 2014-01-03 07:55:46 - cd /src
TB --- 2014-01-03 07:55:46 - /usr/bin/make -B buildkernel KERNCONF=LINT
 Kernel build for LINT started on Fri Jan  3 07:55:46 UTC 2014
 stage 1: configuring the kernel
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3.1: making dependencies
[...]
machine - /src/sys/arm/include
cc  -c -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls 
-Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith 
-Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions 
-Wmissing-include-dirs -fdiagnostics-show-option 
-Wno-error-tautological-compare -Wno-error-empty-body 
-Wno-error-parentheses-equality -nostdinc -I. -I/src/sys 
-I/src/sys/contrib/altq -I/src/sys/contrib/ipfilter -I/src/sys/dev/ath 
-I/src/sys/dev/ath/ath_hal -I/src/sys/contrib/dev/ath/ath_hal 
-I/src/sys/contrib/ngatm -I/src/sys/dev/twa -I/src/sys/dev/cxgb 
-I/src/sys/dev/cxgbe -I/src/sys/contrib/libfdt -D_KERNEL 
-DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-builtin -funwind-tables 
-ffreestanding /src/sys/arm/arm/genassym.c
In file included from /src/sys/arm/arm/genassym.c:48:
In file included from ./machine/intr.h:71:
/src/sys/sys/bus.h:585:10: fatal error: 'device_if.h' file not found
#include device_if.h
 ^
1 error generated.
*** Error code 1

Stop.
bmake[1]: stopped in /obj/arm.arm/src/sys/LINT
*** Error code 1

Stop.
bmake: stopped in /src
*** Error code 1

Stop in /src.
TB --- 2014-01-03 07:56:17 - WARNING: /usr/bin/make returned exit code  1 
TB --- 2014-01-03 07:56:17 - ERROR: failed to build LINT kernel
TB --- 2014-01-03 07:56:17 - 8690.95 user 1636.95 system 11155.65 real


http://tinderbox.freebsd.org/tinderbox-head-build-HEAD-arm-arm.full
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org