[openwrt/openwrt] generic: groundwork for RISC-V
LEDE Commits
lede-commits at lists.infradead.org
Wed Jun 14 00:24:41 PDT 2023
wigyori pushed a commit to openwrt/openwrt.git, branch openwrt-23.05:
https://git.openwrt.org/341e312ada4dda207a9f2c8402e73cc13b195983
commit 341e312ada4dda207a9f2c8402e73cc13b195983
Author: Zoltan HERPAI <wigyori at uid0.hu>
AuthorDate: Sun Dec 16 10:45:53 2018 +0100
generic: groundwork for RISC-V
Add build infrastructure for RISC-V.
Signed-off-by: Zoltan HERPAI <wigyori at uid0.hu>
(cherry picked from commit 50c05f6cd721130701cbbc77a75d2e090259c4e5)
---
include/kernel.mk | 2 ++
include/site/riscv64 | 30 ++++++++++++++++++++++++++++++
include/target.mk | 4 ++++
target/Config.in | 5 +++++
4 files changed, 41 insertions(+)
diff --git a/include/kernel.mk b/include/kernel.mk
index c657bf5d82..b1ae42534d 100644
--- a/include/kernel.mk
+++ b/include/kernel.mk
@@ -90,6 +90,8 @@ else ifneq (,$(findstring $(ARCH) , mipsel mips64 mips64el ))
LINUX_KARCH := mips
else ifneq (,$(findstring $(ARCH) , powerpc64 ))
LINUX_KARCH := powerpc
+else ifneq (,$(findstring $(ARCH) , riscv64 ))
+ LINUX_KARCH := riscv
else ifneq (,$(findstring $(ARCH) , sh2 sh3 sh4 ))
LINUX_KARCH := sh
else ifneq (,$(findstring $(ARCH) , i386 x86_64 ))
diff --git a/include/site/riscv64 b/include/site/riscv64
new file mode 100644
index 0000000000..c5aa9c5543
--- /dev/null
+++ b/include/site/riscv64
@@ -0,0 +1,30 @@
+#!/bin/sh
+. $TOPDIR/include/site/linux
+ac_cv_c_littleendian=${ac_cv_c_littleendian=yes}
+ac_cv_c_bigendian=${ac_cv_c_bigendian=no}
+
+ac_cv_sizeof___int64=8
+ac_cv_sizeof_char=1
+ac_cv_sizeof_int=4
+ac_cv_sizeof_int16_t=2
+ac_cv_sizeof_int32_t=4
+ac_cv_sizeof_int64_t=8
+ac_cv_sizeof_long_int=8
+ac_cv_sizeof_long_long=8
+ac_cv_sizeof_long=8
+ac_cv_sizeof_off_t=8
+ac_cv_sizeof_short_int=2
+ac_cv_sizeof_short=2
+ac_cv_sizeof_size_t=8
+ac_cv_sizeof_ssize_t=8
+ac_cv_sizeof_u_int16_t=2
+ac_cv_sizeof_u_int32_t=4
+ac_cv_sizeof_u_int64_t=8
+ac_cv_sizeof_uint16_t=2
+ac_cv_sizeof_uint32_t=4
+ac_cv_sizeof_uint64_t=8
+ac_cv_sizeof_unsigned_int=4
+ac_cv_sizeof_unsigned_long=8
+ac_cv_sizeof_unsigned_long_long=8
+ac_cv_sizeof_unsigned_short=2
+ac_cv_sizeof_void_p=8
diff --git a/include/target.mk b/include/target.mk
index 992f955344..b5e3e7ff6f 100644
--- a/include/target.mk
+++ b/include/target.mk
@@ -260,6 +260,10 @@ ifeq ($(DUMP),1)
CPU_CFLAGS_arc700 = -mcpu=arc700
CPU_CFLAGS_archs = -mcpu=archs
endif
+ ifeq ($(ARCH),riscv64)
+ CPU_TYPE ?= riscv64
+ CPU_CFLAGS_riscv64:=-mabi=lp64d -march=rv64imafdc
+ endif
ifneq ($(CPU_TYPE),)
ifndef CPU_CFLAGS_$(CPU_TYPE)
$(warning CPU_TYPE "$(CPU_TYPE)" doesn't correspond to a known type)
diff --git a/target/Config.in b/target/Config.in
index a6b3351a61..ac0f1f9826 100644
--- a/target/Config.in
+++ b/target/Config.in
@@ -184,6 +184,10 @@ config powerpc64
select ARCH_64BIT
bool
+config riscv64
+ select ARCH_64BIT
+ bool
+
config sh3
bool
@@ -223,6 +227,7 @@ config ARCH
default "mips64el" if mips64el
default "powerpc" if powerpc
default "powerpc64" if powerpc64
+ default "riscv64" if riscv64
default "sh3" if sh3
default "sh3eb" if sh3eb
default "sh4" if sh4
More information about the lede-commits
mailing list