Index: sys/arm/arm/inckern.S =================================================================== --- sys/arm/arm/inckern.S +++ /dev/null @@ -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: Index: sys/arm/conf/NOTES.armv5 =================================================================== --- sys/arm/conf/NOTES.armv5 +++ sys/arm/conf/NOTES.armv5 @@ -18,7 +18,6 @@ makeoptions CONF_CFLAGS+="-march=armv5te" makeoptions LDFLAGS="-zmuldefs" -makeoptions KERNPHYSADDR=0x00000000 # Undo options from sys/conf/NOTES that we do not want... Index: sys/arm/mv/discovery/std.db78xxx =================================================================== --- sys/arm/mv/discovery/std.db78xxx +++ sys/arm/mv/discovery/std.db78xxx @@ -3,6 +3,5 @@ include "../mv/std.mv" files "../mv/discovery/files.db78xxx" -makeoptions KERNPHYSADDR=0x00900000 makeoptions KERNVIRTADDR=0xc0900000 options KERNVIRTADDR=0xc0900000 Index: sys/arm/mv/orion/std.db88f5xxx =================================================================== --- sys/arm/mv/orion/std.db88f5xxx +++ sys/arm/mv/orion/std.db88f5xxx @@ -3,6 +3,5 @@ include "../mv/std.mv" files "../mv/orion/files.db88f5xxx" -makeoptions KERNPHYSADDR=0x00900000 makeoptions KERNVIRTADDR=0xc0900000 options KERNVIRTADDR=0xc0900000 Index: sys/arm/mv/orion/std.ts7800 =================================================================== --- sys/arm/mv/orion/std.ts7800 +++ sys/arm/mv/orion/std.ts7800 @@ -3,7 +3,6 @@ include "../mv/std.mv" files "../mv/orion/files.ts7800" -makeoptions KERNPHYSADDR=0x00900000 makeoptions KERNVIRTADDR=0xc0900000 options KERNVIRTADDR=0xc0900000 options PHYSADDR=0x00000000 Index: sys/arm/ralink/std.ralink =================================================================== --- sys/arm/ralink/std.ralink +++ sys/arm/ralink/std.ralink @@ -5,6 +5,5 @@ makeoptions CONF_CFLAGS="-march=armv5te" options INTRNG -makeoptions KERNPHYSADDR=0x40000000 makeoptions KERNVIRTADDR=0xc0000000 options KERNVIRTADDR=0xc0000000 Index: sys/conf/Makefile.arm =================================================================== --- sys/conf/Makefile.arm +++ sys/conf/Makefile.arm @@ -65,86 +65,13 @@ ${_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 @@ -159,13 +86,9 @@ 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"