summaryrefslogtreecommitdiffstats
path: root/share/mk/bsd.cpu.mk
diff options
context:
space:
mode:
authorbr <br@FreeBSD.org>2015-12-11 22:55:23 +0000
committerbr <br@FreeBSD.org>2015-12-11 22:55:23 +0000
commite10e8212ee93ce83ca450cc277687c96a828f398 (patch)
tree8d05418c0387dad6bfb0579dd063e716f1f65109 /share/mk/bsd.cpu.mk
parent7fd0d14bf5c00a44cde73d32e20a6209088f7013 (diff)
downloadFreeBSD-src-e10e8212ee93ce83ca450cc277687c96a828f398.zip
FreeBSD-src-e10e8212ee93ce83ca450cc277687c96a828f398.tar.gz
Start support for the RISC-V 64-bit architecture developed by UC Berkeley.
RISC-V is a new ISA designed to support computer research and education, and is now become a standard open architecture for industry implementations. This is a minimal set of changes required to run 'make kernel-toolchain' using external (GNU) toolchain. The FreeBSD/RISC-V project home: https://wiki.freebsd.org/riscv. Reviewed by: andrew, bdrewery, emaste, imp Sponsored by: DARPA, AFRL Sponsored by: HEIF5 Differential Revision: https://reviews.freebsd.org/D4445
Diffstat (limited to 'share/mk/bsd.cpu.mk')
-rw-r--r--share/mk/bsd.cpu.mk11
1 files changed, 11 insertions, 0 deletions
diff --git a/share/mk/bsd.cpu.mk b/share/mk/bsd.cpu.mk
index 1ab7595..d54a354 100644
--- a/share/mk/bsd.cpu.mk
+++ b/share/mk/bsd.cpu.mk
@@ -18,6 +18,8 @@ MACHINE_CPU = i486
MACHINE_CPU = mips
. elif ${MACHINE_CPUARCH} == "powerpc"
MACHINE_CPU = aim
+. elif ${MACHINE_CPUARCH} == "riscv"
+MACHINE_CPU = riscv
. elif ${MACHINE_CPUARCH} == "sparc64"
MACHINE_CPU = ultrasparc
. endif
@@ -148,6 +150,8 @@ _CPUCFLAGS = -march=${CPUTYPE}
# sb1, xlp, xlr
_CPUCFLAGS = -march=${CPUTYPE:S/^mips//}
. endif
+. elif ${MACHINE_CPUARCH} == "riscv"
+_CPUCFLAGS = -msoft-float # -march="RV64I" # RISCVTODO
. elif ${MACHINE_ARCH} == "sparc64"
. if ${CPUTYPE} == "v9"
_CPUCFLAGS = -mcpu=v9
@@ -277,6 +281,9 @@ MACHINE_CPU = mips
. if ${CPUTYPE} == "e500"
MACHINE_CPU = booke softfp
. endif
+########## riscv
+. elif ${MACHINE_CPUARCH} == "riscv"
+MACHINE_CPU = riscv
########## sparc64
. elif ${MACHINE_ARCH} == "sparc64"
. if ${CPUTYPE} == "v9"
@@ -313,6 +320,10 @@ CFLAGS += -mfloat-abi=softfp
.endif
.endif
+.if ${MACHINE_CPUARCH} == "riscv"
+CFLAGS += -msoft-float
+.endif
+
# NB: COPTFLAGS is handled in /usr/src/sys/conf/kern.pre.mk
.if !defined(NO_CPU_CFLAGS)
OpenPOWER on IntegriCloud