svn commit: r244899 - head/sys/mips/beri

Robert N. M. Watson rwatson at freebsd.org
Tue Jan 1 19:44:49 UTC 2013


Hi Garrett:

Thanks for the report -- I didn't realise tinderbox was now building all kernels, or I would have merged my fix from P4 more quickly.

The patch you've attached isn't quite the right one -- BERI supports both FDT and non-FDT kernels, so we shouldn't build the Openfirmware headers in the non-FDT case. Instead, I've ifdef'd inclusion of the headers. However, as is probably clear from my breaking the non-FDT kernel configuration, I have been working only with FDT kernels. :-)

Thanks,

Robert

On 1 Jan 2013, at 18:34, Garrett Cooper wrote:

> On Mon, Dec 31, 2012 at 3:06 AM, Robert Watson <rwatson at freebsd.org> wrote:
>> Author: rwatson
>> Date: Mon Dec 31 11:06:37 2012
>> New Revision: 244899
>> URL: http://svnweb.freebsd.org/changeset/base/244899
>> 
>> Log:
>>  If FDT is compiled into a FreeBSD/beri kernel, initialise OpenFirmware.
>> 
>>  Sponsored by: DARPA, AFRL
> 
>    This broke the mips:mips64 tinderbox:
> 
> /obj/src/make.amd64/make -V CFILES_NOZFS -V SYSTEM_CFILES -V
> GEN_CFILES |  MKDEP_CPP="cc -E" CC="cc" xargs mkdep -a -f .newdep -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   -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/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-common -finline-limit=8000 --param
> inline-unit-growth=10000 --param large-function-growth=100000 --param
> max-inline-insns-single=10000  -fno-pic -mno-abicalls -G0
> -DKERNLOADADDR=0xffffffff80100000 -march=mips64 -mabi=64 -msoft-float
> -ffreestanding
> In file included from /src/sys/dev/fdt/fdt_common.h:37,
>                 from /src/sys/mips/beri/beri_machdep.c:58:
> /src/sys/dev/ofw/ofw_bus.h:36:24: error: ofw_bus_if.h: No such file or directory
> mkdep: compile failed
> *** [.depend] Error code 1
> 
>    The patch I committed to my git repo fixes that by adding
> ofw_bus_if.m to files.beri (
> https://github.com/yaneurabeya/freebsd/commit/ac9221dc567c67822b6f61cadbfac3fc1e32df04
> ).
> Thanks!
> -Garrett
> 
> 
> [gcooper at bayonetta /scratch/git/github/yaneurabeya-freebsd-head]$ make
> KERNCONF=BERI_DE4_MDROOT TARGET=mips TARGET_ARCH=mips64 buildkernel
> ...
> cc -shared -fno-pic -mno-abicalls -G0
> -DKERNLOADADDR=0xffffffff80100000 -march=mips64 -mabi=64 -nostdlib
> hack.c -o hack.So
> rm -f hack.c
> sed s/KERNLOADADDR/0xffffffff80100000/g
> /scratch/git/github/yaneurabeya-freebsd-head/sys/conf/ldscript.mips  >
> ldscript.mips
> MAKE=make sh /scratch/git/github/yaneurabeya-freebsd-head/sys/conf/newvers.sh
> BERI_DE4_MDROOT
> 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   -nostdinc  -I.
> -I/scratch/git/github/yaneurabeya-freebsd-head/sys
> -I/scratch/git/github/yaneurabeya-freebsd-head/sys/contrib/altq
> -I/scratch/git/github/yaneurabeya-freebsd-head/sys/contrib/libfdt
> -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h
> -fno-common -finline-limit=8000 --param inline-unit-growth=10000
> --param large-function-growth=100000 --param
> max-inline-insns-single=10000  -fno-pic -mno-abicalls -G0
> -DKERNLOADADDR=0xffffffff80100000 -march=mips64 -mabi=64 -msoft-float
> -ffreestanding -Werror  vers.c
> linking kernel.debug
>   text    data     bss     dec     hex filename
> 4108957 8653440  283024 13045421         c70ead kernel.debug
> objcopy --only-keep-debug kernel.debug kernel.symbols
> objcopy --strip-debug --add-gnu-debuglink=kernel.symbols kernel.debug kernel
> objcopy --strip-symbol '$d' --strip-symbol '$a'  -g --strip-symbol
> '$t' kernel.debug kernel.tmp
> sed -e s/0xffffffff80100000/0x807963c0/ -e s/" + SIZEOF_HEADERS"//
> ldscript.mips > ldscript.mips.tramp.noheader
> cc -O -nostdlib -I. -I/scratch/git/github/yaneurabeya-freebsd-head/sys
> -fno-pic -mno-abicalls -G0 -DKERNLOADADDR=0xffffffff80100000
> -march=mips64 -mabi=64  -Xlinker  -T -Xlinker
> ldscript.mips.tramp.noheader  -DKERNNAME="\"kernel.tmp\"" -DELFSIZE=64
> /scratch/git/github/yaneurabeya-freebsd-head/sys/mips/mips/elf_trampoline.c
> /scratch/git/github/yaneurabeya-freebsd-head/sys/mips/mips/inckern.S
> -o kernel.tramp.elf
> objcopy -S -O binary kernel.tramp.elf  kernel.tramp.bin
> cd /scratch/git/github/yaneurabeya-freebsd-head/sys/modules;
> MAKEOBJDIRPREFIX=/usr/obj/mips.mips64/scratch/git/github/yaneurabeya-freebsd-head/sys/BERI_DE4_MDROOT/modules
> KMODDIR=/boot/kernel MACHINE_CPUARCH=mips MODULES_OVERRIDE=""""
> DEBUG_FLAGS="-g" MACHINE=mips MACHINE_ARCH=mips64
> KERNBUILDDIR="/usr/obj/mips.mips64/scratch/git/github/yaneurabeya-freebsd-head/sys/BERI_DE4_MDROOT"
> SYSDIR="/scratch/git/github/yaneurabeya-freebsd-head/sys" make  all
> --------------------------------------------------------------
>>>> Kernel build for BERI_DE4_MDROOT completed on Tue Jan  1 10:31:25 PST 2013
> --------------------------------------------------------------



More information about the svn-src-all mailing list