From 172308cb1be5b23c816c19d0b9c84ba4910cbe80 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Mon, 19 Nov 2018 23:34:48 -0800 Subject: [PATCH] Add moxie architecture and a moxie-unknown-elf target (which is what #1088 apparently wanted). Signed-off-by: Alexey Neyman --- config/arch/moxie.in | 11 +++++++++++ config/comp_tools/dtc.in | 2 ++ config/kernel/linux.in | 2 +- samples/moxie-unknown-elf/crosstool.config | 8 ++++++++ samples/moxie-unknown-elf/reported.by | 3 +++ scripts/build/arch/moxie.sh | 7 +++++++ scripts/build/kernel/windows.sh | 1 - scripts/functions | 15 ++++++++++----- 8 files changed, 42 insertions(+), 7 deletions(-) create mode 100644 config/arch/moxie.in create mode 100644 samples/moxie-unknown-elf/crosstool.config create mode 100644 samples/moxie-unknown-elf/reported.by create mode 100644 scripts/build/arch/moxie.sh diff --git a/config/arch/moxie.in b/config/arch/moxie.in new file mode 100644 index 00000000..8d8bb22b --- /dev/null +++ b/config/arch/moxie.in @@ -0,0 +1,11 @@ +# Moxie soft-core architecture + +## no-package +## select ARCH_SUPPORTS_32 +## select ARCH_DEFAULT_32 +## select ARCH_SUPPORTS_EITHER_ENDIAN +## select ARCH_DEFAULT_BE +## depends on EXPERIMENTAL + +## help The Moxie soft-core architecture, as defined by: +## help http://moxielogic.org/blog/pages/architecture.html diff --git a/config/comp_tools/dtc.in b/config/comp_tools/dtc.in index 88628a0d..72c7b144 100644 --- a/config/comp_tools/dtc.in +++ b/config/comp_tools/dtc.in @@ -1,4 +1,6 @@ # Kernel.org's device tree compiler +## default y if !CONFIGURE_has_dtc && ARCH_MOXIE + config DTC_VERBOSE bool "Verbose DTC build output" diff --git a/config/kernel/linux.in b/config/kernel/linux.in index fb160677..2602b53d 100644 --- a/config/kernel/linux.in +++ b/config/kernel/linux.in @@ -1,6 +1,6 @@ # Linux kernel options -## depends on ! ARCH_AVR +## depends on !ARCH_AVR && !ARCH_MSP430 && !ARCH_MOXIE ## select KERNEL_SUPPORTS_SHARED_LIBS ## help Build a toolchain targeting systems running Linux as a kernel. diff --git a/samples/moxie-unknown-elf/crosstool.config b/samples/moxie-unknown-elf/crosstool.config new file mode 100644 index 00000000..23604a17 --- /dev/null +++ b/samples/moxie-unknown-elf/crosstool.config @@ -0,0 +1,8 @@ +CT_EXPERIMENTAL=y +CT_ARCH_MOXIE=y +CT_ARCH_BE=y +CT_NEWLIB_V_2_5_0=y +CT_DEBUG_GDB=y +CT_GDB_CROSS_SIM=y +# CT_GDB_CROSS_PYTHON is not set +CT_DTC_VERBOSE=y diff --git a/samples/moxie-unknown-elf/reported.by b/samples/moxie-unknown-elf/reported.by new file mode 100644 index 00000000..13d42a91 --- /dev/null +++ b/samples/moxie-unknown-elf/reported.by @@ -0,0 +1,3 @@ +reporter_name="Alexey Neyman" +reporter_url="" +reporter_comment="Bare metal configuration for moxie architecture." diff --git a/scripts/build/arch/moxie.sh b/scripts/build/arch/moxie.sh new file mode 100644 index 00000000..91a99690 --- /dev/null +++ b/scripts/build/arch/moxie.sh @@ -0,0 +1,7 @@ +# Moxie-specific arch callbacks + +# No arch-specific overrides yet +CT_DoArchTupleValues() +{ + : +} diff --git a/scripts/build/kernel/windows.sh b/scripts/build/kernel/windows.sh index 5e344202..7d6266c1 100644 --- a/scripts/build/kernel/windows.sh +++ b/scripts/build/kernel/windows.sh @@ -6,7 +6,6 @@ CT_DoKernelTupleValues() { # Even we compile for x86_64 target architecture, the target OS have to # bet mingw32 (require by gcc and mingw-w64) CT_TARGET_KERNEL="mingw32" - CT_TARGET_SYS= } do_kernel_get() { diff --git a/scripts/functions b/scripts/functions index 973ba3f6..65a74c27 100644 --- a/scripts/functions +++ b/scripts/functions @@ -1091,16 +1091,21 @@ CT_DoBuildTargetTuple() { # Set defaults for the system part of the tuple. Can be overriden # by architecture-specific values. case "${CT_LIBC}" in - *glibc) CT_TARGET_SYS=gnu;; - uClibc) CT_TARGET_SYS=uclibc;; - musl) CT_TARGET_SYS=musl;; + glibc) CT_TARGET_SYS=gnu;; + uClibc) CT_TARGET_SYS=uclibc;; + musl) CT_TARGET_SYS=musl;; bionic) CT_TARGET_SYS=android;; avr-libc) # avr-libc only seems to work with the non-canonical "avr" target. CT_TARGET_SKIP_CONFIG_SUB=y CT_TARGET_SYS= # CT_TARGET_SYS must be empty too - ;; - *) CT_TARGET_SYS=elf;; + ;; + none|newlib) + CT_TARGET_SYS=elf + ;; + *) + CT_TARGET_SYS= # Keep empty for the libraries like mingw + ;; esac # Set the default values for ARCH, ABI, CPU, TUNE, FPU and FLOAT