Index: head/sys/arm/arm/inckern.S =================================================================== --- head/sys/arm/arm/inckern.S (revision 350376) +++ head/sys/arm/arm/inckern.S (nonexistent) @@ -1,42 +0,0 @@ -/*- - * Copyright (c) 2005 Olivier Houchard. 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 ``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 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 "opt_kernname.h" - -#include -__FBSDID("$FreeBSD$") -ENTRY(do_call) - mov r6, r0 - mov r0, r1 - ldr r1, =0xfff00000 - and r1, pc, r1 - mov sp, r3 - mov r3, #1 - mov pc, r6 -.section ".real_kernel","aw" -.globl kernel_start; -kernel_start: -.incbin KERNNAME -.globl kernel_end; -kernel_end: Property changes on: head/sys/arm/arm/inckern.S ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: head/sys/arm/conf/NOTES.armv5 =================================================================== --- head/sys/arm/conf/NOTES.armv5 (revision 350376) +++ head/sys/arm/conf/NOTES.armv5 (revision 350377) @@ -1,33 +1,32 @@ # armv5-specific changes for doing a LINT build. # # The contents of sys/conf/NOTES, sys/arm/conf/NOTES, and this file are # concatenated (in that order) to create the LINT-V5 kernel config file. # # $FreeBSD$ #NO_UNIVERSE machine arm arm cpu CPU_ARM9E files "../mv/files.mv" files "../mv/discovery/files.db78xxx" files "../mv/kirkwood/files.kirkwood" files "../mv/orion/files.db88f5xxx" files "../mv/orion/files.ts7800" makeoptions CONF_CFLAGS+="-march=armv5te" makeoptions LDFLAGS="-zmuldefs" -makeoptions KERNPHYSADDR=0x00000000 # Undo options from sys/conf/NOTES that we do not want... nooptions SMP # All armv5 are single-core # Add options for armv5 that are not in sys/conf/NOTES... options ARM_MANY_BOARD options SOC_MV_DISCOVERY options SOC_MV_KIRKWOOD options SOC_MV_ORION Index: head/sys/arm/mv/discovery/std.db78xxx =================================================================== --- head/sys/arm/mv/discovery/std.db78xxx (revision 350376) +++ head/sys/arm/mv/discovery/std.db78xxx (revision 350377) @@ -1,8 +1,7 @@ # $FreeBSD$ include "../mv/std.mv" files "../mv/discovery/files.db78xxx" -makeoptions KERNPHYSADDR=0x00900000 makeoptions KERNVIRTADDR=0xc0900000 options KERNVIRTADDR=0xc0900000 Index: head/sys/arm/mv/orion/std.db88f5xxx =================================================================== --- head/sys/arm/mv/orion/std.db88f5xxx (revision 350376) +++ head/sys/arm/mv/orion/std.db88f5xxx (revision 350377) @@ -1,8 +1,7 @@ # $FreeBSD$ include "../mv/std.mv" files "../mv/orion/files.db88f5xxx" -makeoptions KERNPHYSADDR=0x00900000 makeoptions KERNVIRTADDR=0xc0900000 options KERNVIRTADDR=0xc0900000 Index: head/sys/arm/mv/orion/std.ts7800 =================================================================== --- head/sys/arm/mv/orion/std.ts7800 (revision 350376) +++ head/sys/arm/mv/orion/std.ts7800 (revision 350377) @@ -1,12 +1,11 @@ # $FreeBSD$ include "../mv/std.mv" files "../mv/orion/files.ts7800" -makeoptions KERNPHYSADDR=0x00900000 makeoptions KERNVIRTADDR=0xc0900000 options KERNVIRTADDR=0xc0900000 options PHYSADDR=0x00000000 options LOADERRAMADDR=0x00000000 options FLASHADDR=0x00008000 Index: head/sys/arm/ralink/std.ralink =================================================================== --- head/sys/arm/ralink/std.ralink (revision 350376) +++ head/sys/arm/ralink/std.ralink (revision 350377) @@ -1,10 +1,9 @@ # $FreeBSD$ files "../ralink/files.ralink" cpu CPU_ARM9E machine arm makeoptions CONF_CFLAGS="-march=armv5te" options INTRNG -makeoptions KERNPHYSADDR=0x40000000 makeoptions KERNVIRTADDR=0xc0000000 options KERNVIRTADDR=0xc0000000 Index: head/sys/conf/Makefile.arm =================================================================== --- head/sys/conf/Makefile.arm (revision 350376) +++ head/sys/conf/Makefile.arm (revision 350377) @@ -1,171 +1,94 @@ # Makefile.arm -- with config changes. # Copyright 1990 W. Jolitz # from: @(#)Makefile.i386 7.1 5/10/91 # $FreeBSD$ # # Makefile for FreeBSD # # This makefile is constructed from a machine description: # config machineid # Most changes should be made in the machine description # /sys/arm/conf/``machineid'' # after which you should do # config machineid # Generic makefile changes should be made in # /sys/conf/Makefile.arm # after which config should be rerun for all machines. # # Which version of config(8) is required. %VERSREQ= 600013 STD8X16FONT?= iso .if !defined(S) .if exists(./@/.) S= ./@ .else S= ../../.. .endif .endif .include "$S/conf/kern.pre.mk" INCLUDES+= -I$S/contrib/libfdt -I$S/gnu/dts/include SYSTEM_LD:= ${SYSTEM_LD:$S/conf/ldscript.$M=ldscript.$M} SYSTEM_DEP:= ${SYSTEM_DEP:$S/conf/ldscript.$M=ldscript.$M} .if !defined(DEBUG) && !defined(PROFLEVEL) STRIP_FLAGS = -S .endif # We don't support gcc's thump interwork stuff, so disable it CFLAGS.gcc += -mno-thumb-interwork # We generally don't want fpu instructions in the kernel. CFLAGS.clang += -mfpu=none .if !empty(DDB_ENABLED) CFLAGS += -funwind-tables .if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} < 30500 # clang < 3.5.0 requires us to tell it to emit assembly with unwind information CFLAGS += -mllvm -arm-enable-ehabi .endif .endif # "makeoptions KERNVIRTADDR=" is now optional, supply the default value. .if empty(KERNVIRTADDR) KERNVIRTADDR= 0xc0000000 .endif # hack because genassym.c includes sys/bus.h which includes these. genassym.o: bus_if.h device_if.h SYSTEM_LD_ = ${LD} -m ${LD_EMULATION} -Bdynamic -T ldscript.$M.noheader \ ${_LDFLAGS} --no-warn-mismatch --warn-common --export-dynamic \ --dynamic-linker /red/herring \ -o ${FULLKERNEL}.noheader -X ${SYSTEM_OBJS} vers.o -SYSTEM_LD_TAIL +=;sed s/" + SIZEOF_HEADERS"// ldscript.$M\ +SYSTEM_LD_TAIL +=;sed s/" + SIZEOF_HEADERS"// ldscript.$M \ >ldscript.$M.noheader; \ ${SYSTEM_LD_}; \ ${OBJCOPY} -S -O binary ${FULLKERNEL}.noheader \ ${KERNEL_KO}.bin; \ rm ${FULLKERNEL}.noheader -FILES_CPU_FUNC = \ - $S/$M/$M/cpufunc_asm_armv5_ec.S \ - $S/$M/$M/cpufunc_asm_sheeva.S - -.if ${MACHINE_ARCH:Marmv[67]*} == "" && defined(KERNPHYSADDR) -KERNEL_EXTRA=trampoline -KERNEL_EXTRA_INSTALL=kernel.gz.tramp -trampoline: ${KERNEL_KO}.tramp -${KERNEL_KO}.tramp: ${KERNEL_KO} $S/$M/$M/inckern.S $S/$M/$M/elf_trampoline.c - echo "#define KERNNAME \"${KERNEL_KO}.tmp\"" >opt_kernname.h - sed s/${KERNVIRTADDR}/${KERNPHYSADDR}/ ldscript.$M > ldscript.$M.tramp - sed s/" + SIZEOF_HEADERS"// ldscript.$M.tramp > \ - ldscript.$M.tramp.noheader - echo "#include " >tmphack.S - echo "ENTRY(_start)" >>tmphack.S - echo "bl _startC" >>tmphack.S - ${OBJCOPY} --strip-symbol '$$d' --strip-symbol '$$a' \ - -g --strip-symbol '$$t' ${FULLKERNEL} ${KERNEL_KO}.tmp - eval $$(stat -s ${KERNEL_KO}.tmp) && \ - echo "#define KERNSIZE $$st_size" >>opt_kernname.h - ${CC} -O -nostdlib -I. -I$S \ - -Xlinker -T -Xlinker ldscript.$M.tramp \ - -DELF_TRAMPOLINE \ - tmphack.S \ - $S/$M/$M/elf_trampoline.c \ - $S/$M/$M/inckern.S \ - ${FILES_CPU_FUNC} \ - -o ${KERNEL_KO}.tramp - ${CC} -O -nostdlib -I. -I$S \ - -Xlinker -T -Xlinker ldscript.$M.tramp.noheader \ - -DELF_TRAMPOLINE \ - tmphack.S \ - $S/$M/$M/elf_trampoline.c \ - $S/$M/$M/inckern.S \ - ${FILES_CPU_FUNC} \ - -o ${KERNEL_KO}.tramp.noheader - ${OBJCOPY} -S -O binary ${KERNEL_KO}.tramp.noheader \ - ${KERNEL_KO}.tramp.bin - ${OBJCOPY} ${STRIP_FLAGS} ${KERNEL_KO}.tmp - echo "#define KERNNAME \"${KERNEL_KO}.tmp.gz\"" >opt_kernname.h - eval $$(stat -s ${KERNEL_KO}.tmp) && \ - echo "#define KERNSIZE $$st_size" >>opt_kernname.h - gzip -f9 ${KERNEL_KO}.tmp - eval $$(stat -s ${KERNEL_KO}.tmp.gz) && \ - echo "#define KERNCOMPSIZE $$st_size" >>opt_kernname.h - ${CC} -O2 -ffreestanding -I. -I$S -c \ - -DKZIP -DELF_TRAMPOLINE \ - $S/kern/subr_inflate.c \ - -o inflate-tramp.o - ${CC} -O -nostdlib -I. -I$S \ - -Xlinker -T -Xlinker ldscript.$M.tramp \ - -DKZIP -DELF_TRAMPOLINE \ - tmphack.S \ - $S/$M/$M/elf_trampoline.c \ - inflate-tramp.o \ - $S/$M/$M/inckern.S \ - ${FILES_CPU_FUNC} \ - -o ${KERNEL_KO}.gz.tramp - ${CC} -O -nostdlib -I. -I$S \ - -Xlinker -T -Xlinker ldscript.$M.tramp.noheader \ - -DKZIP -DELF_TRAMPOLINE \ - tmphack.S \ - $S/$M/$M/elf_trampoline.c \ - inflate-tramp.o \ - $S/$M/$M/inckern.S \ - ${FILES_CPU_FUNC} \ - -o ${KERNEL_KO}.tramp.noheader - ${OBJCOPY} -S -O binary ${KERNEL_KO}.tramp.noheader \ - ${KERNEL_KO}.gz.tramp.bin - rm ${KERNEL_KO}.tmp.gz ${KERNEL_KO}.tramp.noheader opt_kernname.h \ - inflate-tramp.o tmphack.S -.endif - %BEFORE_DEPEND %OBJS %FILES.c %FILES.s %FILES.m %CLEAN CLEAN+= ldscript.$M ${KERNEL_KO}.bin ldscript.$M.noheader -CLEAN+= ${KERNEL_KO}.tramp ${KERNEL_KO}.tramp.bin ldscript.$M.tramp \ - ldscript.$M.tramp.noheader ${KERNEL_KO}.gz.tramp \ - ${KERNEL_KO}.gz.tramp.bin - ldscript.$M: $S/conf/ldscript.$M - cat $S/conf/ldscript.$M|sed s/KERNPHYSADDR/${KERNPHYSADDR}/g| \ - sed s/KERNVIRTADDR/${KERNVIRTADDR}/g > ldscript.$M + sed s/KERNVIRTADDR/${KERNVIRTADDR}/g > ldscript.$M < $S/conf/ldscript.$M + %RULES .include "$S/conf/kern.post.mk"