diff options
author | Warner Losh <imp@FreeBSD.org> | 2017-10-05 23:01:33 +0000 |
---|---|---|
committer | Warner Losh <imp@FreeBSD.org> | 2017-10-05 23:01:33 +0000 |
commit | 0b972ac92efa281a92d2c774008c23e38373b413 (patch) | |
tree | 51bbbca0ac650b8a0f5465e9c5861a9d9eb9db99 /sys/conf | |
parent | b1bad39103f190d5fb8bc8f41f38f43e7787519a (diff) | |
download | src-0b972ac92efa281a92d2c774008c23e38373b413.tar.gz src-0b972ac92efa281a92d2c774008c23e38373b413.zip |
Support armv7 builds for userland
Make armv7 as a new MACHINE_ARCH.
Copy all the places we do armv6 and add armv7 as basically an
alias. clang appears to generate code for armv7 by default. armv7 hard
float isn't supported by the the in-tree gcc, so it hasn't been
updated to have a new default.
Support armv7 as a new valid MACHINE_ARCH (and by extension
TARGET_ARCH).
Add armv7 to the universe build.
Differential Revision: https://reviews.freebsd.org/D12010
Notes
Notes:
svn path=/head/; revision=324340
Diffstat (limited to 'sys/conf')
-rw-r--r-- | sys/conf/Makefile.arm | 2 | ||||
-rw-r--r-- | sys/conf/kern.mk | 1 | ||||
-rw-r--r-- | sys/conf/kern.opts.mk | 2 | ||||
-rw-r--r-- | sys/conf/kern.pre.mk | 1 |
4 files changed, 4 insertions, 2 deletions
diff --git a/sys/conf/Makefile.arm b/sys/conf/Makefile.arm index 01eebf6f1bcd..53ff25ab239f 100644 --- a/sys/conf/Makefile.arm +++ b/sys/conf/Makefile.arm @@ -75,7 +75,7 @@ FILES_CPU_FUNC = \ $S/$M/$M/cpufunc_asm_pj4b.S $S/$M/$M/cpufunc_asm_armv6.S \ $S/$M/$M/cpufunc_asm_armv7.S -.if ${MACHINE_ARCH} != "armv6" && defined(KERNPHYSADDR) +.if ${MACHINE_ARCH:Marmv[67]*} == "" && defined(KERNPHYSADDR) KERNEL_EXTRA=trampoline KERNEL_EXTRA_INSTALL=kernel.gz.tramp trampoline: ${KERNEL_KO}.tramp diff --git a/sys/conf/kern.mk b/sys/conf/kern.mk index 4ab39f7a3412..844510742cb6 100644 --- a/sys/conf/kern.mk +++ b/sys/conf/kern.mk @@ -259,6 +259,7 @@ LD_EMULATION_amd64=elf_x86_64_fbsd LD_EMULATION_arm=armelf_fbsd LD_EMULATION_armeb=armelfb_fbsd LD_EMULATION_armv6=armelf_fbsd +LD_EMULATION_armv7=armelf_fbsd LD_EMULATION_i386=elf_i386_fbsd LD_EMULATION_mips= elf32btsmip_fbsd LD_EMULATION_mips64= elf64btsmip_fbsd diff --git a/sys/conf/kern.opts.mk b/sys/conf/kern.opts.mk index 72420eebac19..ba271be28865 100644 --- a/sys/conf/kern.opts.mk +++ b/sys/conf/kern.opts.mk @@ -62,7 +62,7 @@ __DEFAULT_NO_OPTIONS = \ # Things that don't work based on the CPU .if ${MACHINE_CPUARCH} == "arm" -. if ${MACHINE_ARCH:Marmv6*} == "" +. if ${MACHINE_ARCH:Marmv[67]*} == "" BROKEN_OPTIONS+= CDDL ZFS . endif .endif diff --git a/sys/conf/kern.pre.mk b/sys/conf/kern.pre.mk index 9dd2c3d47384..cd525e5b4dea 100644 --- a/sys/conf/kern.pre.mk +++ b/sys/conf/kern.pre.mk @@ -255,6 +255,7 @@ EMBEDFS_ARCH.${MACHINE_ARCH}!= sed -n '/OUTPUT_ARCH/s/.*(\(.*\)).*/\1/p' ${LDSCR EMBEDFS_FORMAT.arm?= elf32-littlearm EMBEDFS_FORMAT.armv6?= elf32-littlearm +EMBEDFS_FORMAT.armv7?= elf32-littlearm EMBEDFS_FORMAT.aarch64?= elf64-littleaarch64 EMBEDFS_FORMAT.mips?= elf32-tradbigmips EMBEDFS_FORMAT.mipsel?= elf32-tradlittlemips |