summaryrefslogtreecommitdiff
path: root/target
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2022-02-26 17:06:35 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2022-02-26 17:07:46 +0100
commitfe32260decf2aed704969e283135182e0170a97c (patch)
tree287391ab811a182d95f46c6d0d1fc0365729e67b /target
parentef120261910bfb46f25a168f26043ff380ab26b0 (diff)
riscv64: add support for nommu target systems
Diffstat (limited to 'target')
-rw-r--r--target/config/Config.in.binfmt2
-rw-r--r--target/config/Config.in.cpu3
-rw-r--r--target/config/Config.in.rootfs2
-rw-r--r--target/riscv64/Makefile10
-rw-r--r--target/riscv64/kernel/sipeed-maix-bit9
-rw-r--r--target/riscv64/systems/sipeed-maix-bit6
6 files changed, 28 insertions, 4 deletions
diff --git a/target/config/Config.in.binfmt b/target/config/Config.in.binfmt
index 61414d98d..fe3b66082 100644
--- a/target/config/Config.in.binfmt
+++ b/target/config/Config.in.binfmt
@@ -16,7 +16,7 @@ config ADK_TARGET_BINFMT_FLAT
depends on ADK_TARGET_LIB_UCLIBC_NG
depends on !ADK_TARGET_WITH_MMU
depends on ADK_TARGET_ARCH_ARM || ADK_TARGET_ARCH_M68K || ADK_TARGET_ARCH_SH || ADK_TARGET_ARCH_XTENSA \
- || ADK_TARGET_ARCH_H8300 || ADK_TARGET_ARCH_LM32 || ADK_TARGET_ARCH_BFIN
+ || ADK_TARGET_ARCH_H8300 || ADK_TARGET_ARCH_LM32 || ADK_TARGET_ARCH_BFIN || ADK_TARGET_ARCH_RISCV64
config ADK_TARGET_BINFMT_FDPIC
bool "FDPIC"
diff --git a/target/config/Config.in.cpu b/target/config/Config.in.cpu
index d3ec4a373..1b32fe20e 100644
--- a/target/config/Config.in.cpu
+++ b/target/config/Config.in.cpu
@@ -1162,7 +1162,6 @@ config ADK_TARGET_CPU_RISCV64_RV64IMAC
bool "rv64imac"
select ADK_TARGET_SUPPORTS_THREADS
select ADK_TARGET_SUPPORTS_NPTL
- select ADK_TARGET_WITH_MMU
select ADK_TARGET_ABI_LP64
depends on ADK_TARGET_ARCH_RISCV64
@@ -1170,7 +1169,6 @@ config ADK_TARGET_CPU_RISCV64_RV64IMAFC
bool "rv64imafc"
select ADK_TARGET_SUPPORTS_THREADS
select ADK_TARGET_SUPPORTS_NPTL
- select ADK_TARGET_WITH_MMU
select ADK_TARGET_ABI_LP64F
depends on ADK_TARGET_ARCH_RISCV64
@@ -1178,7 +1176,6 @@ config ADK_TARGET_CPU_RISCV64_RV64IMADC
bool "rv64imadc"
select ADK_TARGET_SUPPORTS_THREADS
select ADK_TARGET_SUPPORTS_NPTL
- select ADK_TARGET_WITH_MMU
select ADK_TARGET_ABI_LP64D
depends on ADK_TARGET_ARCH_RISCV64
diff --git a/target/config/Config.in.rootfs b/target/config/Config.in.rootfs
index 88fe183c7..6af38406a 100644
--- a/target/config/Config.in.rootfs
+++ b/target/config/Config.in.rootfs
@@ -24,6 +24,8 @@ config ADK_TARGET_ROOTFS_INITRAMFSPIGGYBACK
ADK_TARGET_ARCH_MIPS || \
ADK_TARGET_ARCH_MIPS64 || \
ADK_TARGET_ARCH_PPC || \
+ ADK_TARGET_ARCH_RISCV32 || \
+ ADK_TARGET_ARCH_RISCV64 || \
ADK_TARGET_ARCH_SH || \
ADK_TARGET_ARCH_SPARC || \
ADK_TARGET_ARCH_X86 || \
diff --git a/target/riscv64/Makefile b/target/riscv64/Makefile
index 44dd98351..f7d493123 100644
--- a/target/riscv64/Makefile
+++ b/target/riscv64/Makefile
@@ -48,10 +48,17 @@ ifeq ($(ADK_TARGET_QEMU),y)
@echo 'qemu-system-riscv64 ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL)'
endif
endif
+ifeq ($(ADK_TARGET_FS),nfsroot)
+targethelp:
+ @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
+ @echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSUSERTARBALL)"
+endif
kernel-strip:
+ @cp $(KERNEL) $(BUILD_DIR)/$(TARGET_KERNEL)
kernel-install: kernel-strip
+ @cp $(BUILD_DIR)/$(TARGET_KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
# filesystem specific targets
ifeq ($(ADK_TARGET_FS),archive)
@@ -66,3 +73,6 @@ endif
ifeq ($(ADK_TARGET_FS),initramfspiggyback)
imageinstall: createinitramfs targethelp
endif
+ifeq ($(ADK_TARGET_FS),nfsroot)
+imageinstall: kernel-install $(FW_DIR)/$(ROOTFSUSERTARBALL) targethelp
+endif
diff --git a/target/riscv64/kernel/sipeed-maix-bit b/target/riscv64/kernel/sipeed-maix-bit
new file mode 100644
index 000000000..4ed48df2f
--- /dev/null
+++ b/target/riscv64/kernel/sipeed-maix-bit
@@ -0,0 +1,9 @@
+CONFIG_RISCV=y
+CONFIG_SOC_CANAAN=y
+CONFIG_SOC_CANAAN_K210_DTB_BUILTIN=y
+CONFIG_SOC_CANAAN_K210_DTB_SOURCE="sipeed_maix_bit"
+CONFIG_SMP=y
+CONFIG_NR_CPUS=2
+CONFIG_CMDLINE="earlycon console=ttySIF0"
+CONFIG_CMDLINE_FORCE=y
+CONFIG_SECTION_MISMATCH_WARN_ONLY=y
diff --git a/target/riscv64/systems/sipeed-maix-bit b/target/riscv64/systems/sipeed-maix-bit
new file mode 100644
index 000000000..8090c9c03
--- /dev/null
+++ b/target/riscv64/systems/sipeed-maix-bit
@@ -0,0 +1,6 @@
+config ADK_TARGET_SYSTEM_SIPEED_MAIX_BIT
+ bool "Sipeed MAiX Bit"
+ select ADK_TARGET_CPU_RISCV64
+ select ADK_TARGET_KERNEL_IMAGE
+ help
+ Sipeed MAiX Bit support.