[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