Skip to content

Commit

Permalink
Add moxie architecture
Browse files Browse the repository at this point in the history
and a moxie-unknown-elf target (which is what #1088 apparently wanted).

Signed-off-by: Alexey Neyman <stilor@att.net>
  • Loading branch information
stilor committed Nov 28, 2018
1 parent da76ae3 commit 172308c
Show file tree
Hide file tree
Showing 8 changed files with 42 additions and 7 deletions.
11 changes: 11 additions & 0 deletions 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
2 changes: 2 additions & 0 deletions 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"
2 changes: 1 addition & 1 deletion 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.
Expand Down
8 changes: 8 additions & 0 deletions 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
3 changes: 3 additions & 0 deletions samples/moxie-unknown-elf/reported.by
@@ -0,0 +1,3 @@
reporter_name="Alexey Neyman"
reporter_url=""
reporter_comment="Bare metal configuration for moxie architecture."
7 changes: 7 additions & 0 deletions scripts/build/arch/moxie.sh
@@ -0,0 +1,7 @@
# Moxie-specific arch callbacks

# No arch-specific overrides yet
CT_DoArchTupleValues()
{
:
}
1 change: 0 additions & 1 deletion scripts/build/kernel/windows.sh
Expand Up @@ -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() {
Expand Down
15 changes: 10 additions & 5 deletions scripts/functions
Expand Up @@ -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
Expand Down

0 comments on commit 172308c

Please sign in to comment.