@@ -3203,6 +3203,7 @@ N: Wade Berrier <wberrier@gmail.com>
F: package/ngrep/
N: Waldemar Brodkorb <wbx@openadk.org>
+F: arch/Config.in.loongarch64
F: board/qemu/riscv32-virt/
F: configs/qemu_riscv32_nommu_virt_defconfig
F: package/asterisk/
@@ -77,6 +77,14 @@ config BR2_i386
Intel i386 architecture compatible microprocessor
http://en.wikipedia.org/wiki/I386
+config BR2_loongarch64
+ bool "loongarch64"
+ select BR2_ARCH_IS_64
+ select BR2_USE_MMU
+ help
+ Loongarch is a RISC microprocessor from Loongarch Technologies.
+ https://en.wikipedia.org/wiki/Loongson
+
config BR2_m68k
bool "m68k"
# MMU support is set by the subarchitecture file, arch/Config.in.m68k
@@ -374,6 +382,10 @@ if BR2_arm || BR2_armeb || BR2_aarch64 || BR2_aarch64_be
source "arch/Config.in.arm"
endif
+if BR2_loongarch64
+source "arch/Config.in.loongarch64"
+endif
+
if BR2_m68k
source "arch/Config.in.m68k"
endif
new file mode 100644
@@ -0,0 +1,14 @@
+config BR2_ARCH
+ default "loongarch64"
+
+config BR2_NORMALIZED_ARCH
+ default "loongarch"
+
+config BR2_ENDIAN
+ default "LITTLE"
+
+config BR2_READELF_ARCH_NAME
+ default "LoongArch"
+
+# vim: ft=kconfig
+# -*- mode:kconfig; -*-
@@ -14,6 +14,7 @@ choice
config BR2_BINUTILS_VERSION_2_40_X
bool "binutils 2.40"
+ depends on !BR2_loongarch64
config BR2_BINUTILS_VERSION_2_41_X
bool "binutils 2.41"
@@ -30,6 +30,8 @@ config BR2_GCC_VERSION_12_X
depends on !BR2_POWERPC_CPU_HAS_SPE
# ARC HS48 rel 31 only supported by gcc arc fork.
depends on !BR2_archs4x_rel31
+ # too old to compile Linux Kernel
+ depends on !BR2_loongarch64
select BR2_TOOLCHAIN_GCC_AT_LEAST_12
config BR2_GCC_VERSION_13_X
@@ -5,6 +5,7 @@ config BR2_PACKAGE_GLIBC_ARCH_SUPPORTS
default y if BR2_aarch64
default y if BR2_aarch64_be
default y if BR2_i386
+ default y if BR2_loongarch64
default y if BR2_m68k_m68k
default y if BR2_mips
default y if BR2_mipsel
@@ -5,6 +5,7 @@ config BR2_PACKAGE_MUSL_ARCH_SUPPORTS
default y if BR2_arm
default y if BR2_armeb
default y if BR2_i386
+ default y if BR2_loongarch64
default y if BR2_m68k_m68k
default y if BR2_microblaze
default y if BR2_mips
Loongarch is a RISC microprocessor from Loongarch Technologies. - at the moment we only support lp64d ABI - binutils 2.40 is too old so disable it for loongarch64 - gcc 12.x is too old to compile a Linux kernel, so disable it for loongarch64 - gdb versions work fine Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> --- v1->v2: - added me to DEVELOPERS file requested by Thomas P. - check older binutils/gcc/gdb for support requested by Thomas P. --- DEVELOPERS | 1 + arch/Config.in | 12 ++++++++++++ arch/Config.in.loongarch64 | 14 ++++++++++++++ package/binutils/Config.in.host | 1 + package/gcc/Config.in.host | 2 ++ package/glibc/Config.in | 1 + package/musl/Config.in | 1 + 7 files changed, 32 insertions(+) create mode 100644 arch/Config.in.loongarch64