diff options
Diffstat (limited to 'target')
-rw-r--r-- | target/arch.lst | 1 | ||||
-rw-r--r-- | target/config/Config.in.cpu | 8 | ||||
-rw-r--r-- | target/config/Config.in.cris | 5 | ||||
-rw-r--r-- | target/config/Config.in.cris.choice | 16 | ||||
-rw-r--r-- | target/config/Config.in.cris.default | 13 | ||||
-rw-r--r-- | target/config/Config.in.libc.choice | 2 | ||||
-rw-r--r-- | target/config/Config.in.libc.default | 2 | ||||
-rw-r--r-- | target/config/Config.in.target | 2 | ||||
-rw-r--r-- | target/config/Config.in.toolchain | 12 | ||||
-rw-r--r-- | target/cris/Makefile | 9 | ||||
-rw-r--r-- | target/cris/systems/toolchain-cris | 10 | ||||
-rw-r--r-- | target/cris/uclibc.config | 251 | ||||
-rw-r--r-- | target/linux/patches/3.16.2/cris-header.patch | 50 |
13 files changed, 380 insertions, 1 deletions
diff --git a/target/arch.lst b/target/arch.lst index 083acb83e..703793bb0 100644 --- a/target/arch.lst +++ b/target/arch.lst @@ -4,6 +4,7 @@ arc arm avr32 bfin +cris m68k microblaze mips diff --git a/target/config/Config.in.cpu b/target/config/Config.in.cpu index b39b5a65c..c191d9f37 100644 --- a/target/config/Config.in.cpu +++ b/target/config/Config.in.cpu @@ -46,6 +46,12 @@ config ADK_CPU_ATHLON config ADK_CPU_ARC boolean +config ADK_CPU_CRIS_V10 + boolean + +config ADK_CPU_CRIS_V32 + boolean + config ADK_CPU_SH4 boolean @@ -131,6 +137,8 @@ config ADK_TARGET_CPU_ARCH default "arceb" if ADK_CPU_ARC && ADK_big default "avr32" if ADK_CPU_AVR32 default "bfin" if ADK_CPU_BFIN + default "cris" if ADK_CPU_CRIS_V10 + default "crisv32" if ADK_CPU_CRIS_V32 default "i486" if ADK_CPU_I486 default "i586" if ADK_CPU_I586 default "i686" if ADK_CPU_I686 diff --git a/target/config/Config.in.cris b/target/config/Config.in.cris new file mode 100644 index 000000000..3dc12a897 --- /dev/null +++ b/target/config/Config.in.cris @@ -0,0 +1,5 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +source target/config/Config.in.cris.choice +source target/config/Config.in.cris.default diff --git a/target/config/Config.in.cris.choice b/target/config/Config.in.cris.choice new file mode 100644 index 000000000..55a6a8997 --- /dev/null +++ b/target/config/Config.in.cris.choice @@ -0,0 +1,16 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +choice ADK_TARGET_CRIS_CPU_ARCH +prompt "CPU architecture" +depends on ADK_TARGET_TOOLCHAIN && ADK_LINUX_CRIS + +config ADK_CPU_CRIS_V10 + boolean "cris v10" + select ADK_crisv10 + +config ADK_CPU_CRIS_V32 + boolean "cris v32" + select ADK_crisv32 + +endchoice diff --git a/target/config/Config.in.cris.default b/target/config/Config.in.cris.default new file mode 100644 index 000000000..a307897a0 --- /dev/null +++ b/target/config/Config.in.cris.default @@ -0,0 +1,13 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +config ADK_crisv10 + boolean + +config ADK_crisv32 + boolean + +config ADK_TARGET_CRIS_CPU + string + default "cris" if ADK_crisv10 + default "crisv32" if ADK_crisv32 diff --git a/target/config/Config.in.libc.choice b/target/config/Config.in.libc.choice index 0a9f13be6..01391f453 100644 --- a/target/config/Config.in.libc.choice +++ b/target/config/Config.in.libc.choice @@ -42,6 +42,7 @@ config ADK_TARGET_LIB_GLIBC depends on !ADK_LINUX_ARC depends on !ADK_LINUX_AVR32 depends on !ADK_LINUX_BFIN + depends on !ADK_LINUX_CRIS depends on !ADK_LINUX_XTENSA depends on !ADK_TARGET_UCLINUX help @@ -54,6 +55,7 @@ config ADK_TARGET_LIB_UCLIBC depends on \ !ADK_LINUX_AARCH64 && \ !ADK_LINUX_ALPHA && \ + !ADK_LINUX_CRIS && \ !ADK_LINUX_MICROBLAZE && \ !ADK_LINUX_SPARC64 && \ !ADK_LINUX_PPC64 && \ diff --git a/target/config/Config.in.libc.default b/target/config/Config.in.libc.default index 04c6b4204..5f46ea41a 100644 --- a/target/config/Config.in.libc.default +++ b/target/config/Config.in.libc.default @@ -32,6 +32,8 @@ config ADK_LIBC_VERSION config ADK_TARGET_WITH_NPTL boolean + default n if ADK_TARGET_LIB_UCLIBC_NG && ADK_LINUX_CRIS + default n if ADK_TARGET_LIB_UCLIBC && ADK_LINUX_CRIS default n if ADK_TARGET_LIB_UCLIBC_NG && ADK_LINUX_M68K default n if ADK_TARGET_LIB_UCLIBC && ADK_LINUX_M68K default y diff --git a/target/config/Config.in.target b/target/config/Config.in.target index e312200f8..0415e0ce5 100644 --- a/target/config/Config.in.target +++ b/target/config/Config.in.target @@ -3,6 +3,8 @@ config ADK_TARGET_CFLAGS string + default "-march=v32" if ADK_CPU_CRIS_V32 + default "-march=v10" if ADK_CPU_CRIS_V10 default "-mcpu=5208" if ADK_CPU_CF_5208 default "-mcpu=v7.10.d" if ADK_CPU_MICROBLAZE default "-m4 -ml" if ADK_CPU_SH4 && ADK_little diff --git a/target/config/Config.in.toolchain b/target/config/Config.in.toolchain index 23b348ecc..0fcdc442b 100644 --- a/target/config/Config.in.toolchain +++ b/target/config/Config.in.toolchain @@ -23,6 +23,11 @@ config ADK_TOOLCHAIN_GCC_4_5_4 boolean depends on ADK_LINUX_BFIN +config ADK_TOOLCHAIN_GCC_4_7_4 + prompt "4.7.4" + boolean + depends on ADK_LINUX_CRIS + config ADK_TOOLCHAIN_GCC_4_8_0_ARC prompt "4.8.0-arc" boolean @@ -35,6 +40,7 @@ config ADK_TOOLCHAIN_GCC_4_8_3 depends on !ADK_LINUX_AARCH64 depends on !ADK_LINUX_ARC depends on !ADK_LINUX_AVR32 + depends on !ADK_LINUX_CRIS config ADK_TOOLCHAIN_GCC_4_9_1 prompt "4.9.1" @@ -42,6 +48,7 @@ config ADK_TOOLCHAIN_GCC_4_9_1 depends on !ADK_LINUX_BFIN depends on !ADK_LINUX_ARC depends on !ADK_LINUX_AVR32 + depends on !ADK_LINUX_CRIS config ADK_TOOLCHAIN_GCC_GIT prompt "git" @@ -50,6 +57,7 @@ config ADK_TOOLCHAIN_GCC_GIT depends on !ADK_LINUX_BFIN depends on !ADK_LINUX_ARC depends on !ADK_LINUX_AVR32 + depends on !ADK_LINUX_CRIS endchoice @@ -65,7 +73,7 @@ config ADK_TOOLCHAIN_BINUTILS_2_20_1 config ADK_TOOLCHAIN_BINUTILS_2_22 prompt "2.22" boolean - depends on ADK_LINUX_BFIN + depends on ADK_LINUX_BFIN || ADK_LINUX_CRIS config ADK_TOOLCHAIN_BINUTILS_2_23_ARC prompt "2.23-arc" @@ -78,6 +86,7 @@ config ADK_TOOLCHAIN_BINUTILS_2_24 depends on !ADK_LINUX_BFIN depends on !ADK_LINUX_ARC depends on !ADK_LINUX_AVR32 + depends on !ADK_LINUX_CRIS config ADK_TOOLCHAIN_BINUTILS_GIT prompt "git" @@ -86,6 +95,7 @@ config ADK_TOOLCHAIN_BINUTILS_GIT depends on !ADK_LINUX_BFIN depends on !ADK_LINUX_ARC depends on !ADK_LINUX_AVR32 + depends on !ADK_LINUX_CRIS endchoice diff --git a/target/cris/Makefile b/target/cris/Makefile new file mode 100644 index 000000000..ebc17340e --- /dev/null +++ b/target/cris/Makefile @@ -0,0 +1,9 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include $(ADK_TOPDIR)/rules.mk +include $(ADK_TOPDIR)/mk/kernel.mk +include $(ADK_TOPDIR)/mk/modules.mk +include $(ADK_TOPDIR)/mk/kernel-build.mk +include $(ADK_TOPDIR)/mk/image.mk + diff --git a/target/cris/systems/toolchain-cris b/target/cris/systems/toolchain-cris new file mode 100644 index 000000000..765ba90df --- /dev/null +++ b/target/cris/systems/toolchain-cris @@ -0,0 +1,10 @@ +config ADK_TARGET_SYSTEM_TOOLCHAIN_CRIS + bool "Toolchain only" + select ADK_cris + select ADK_toolchain_cris + select ADK_CPU_CRIS_V32 + select ADK_TARGET_TOOLCHAIN + select ADK_TARGET_PACKAGE_TXZ + help + CRIS toolchain. + diff --git a/target/cris/uclibc.config b/target/cris/uclibc.config new file mode 100644 index 000000000..0b9aa4689 --- /dev/null +++ b/target/cris/uclibc.config @@ -0,0 +1,251 @@ +# +# Automatically generated file; DO NOT EDIT. +# uClibc 0.9.34-git C Library Configuration +# +# TARGET_alpha is not set +# TARGET_arc is not set +# TARGET_arm is not set +# TARGET_avr32 is not set +# TARGET_bfin is not set +# TARGET_c6x is not set +TARGET_cris=y +# TARGET_e1 is not set +# TARGET_frv is not set +# TARGET_h8300 is not set +# TARGET_hppa is not set +# TARGET_i386 is not set +# TARGET_i960 is not set +# TARGET_ia64 is not set +# TARGET_m68k is not set +# TARGET_metag is not set +# TARGET_microblaze is not set +# TARGET_mips is not set +# TARGET_nios is not set +# TARGET_nios2 is not set +# TARGET_powerpc is not set +# TARGET_sh is not set +# TARGET_sh64 is not set +# TARGET_sparc is not set +# TARGET_v850 is not set +# TARGET_vax is not set +# TARGET_x86_64 is not set +# TARGET_xtensa is not set + +# +# Target Architecture Features and Options +# +TARGET_ARCH="cris" +FORCE_OPTIONS_FOR_ARCH=y +# CONFIG_AVR32_AP7 is not set +CONFIG_CRIS=y +# CONFIG_CRISV32 is not set +TARGET_SUBARCH="" + +# +# Using ELF file format +# +ARCH_HAS_DEPRECATED_SYSCALLS=y +ARCH_LITTLE_ENDIAN=y + +# +# Using Little Endian +# +ARCH_HAS_MMU=y +ARCH_USE_MMU=y +UCLIBC_HAS_FLOATS=y +UCLIBC_HAS_FPU=y +DO_C99_MATH=y +# DO_XSI_MATH is not set +UCLIBC_HAS_FENV=y +KERNEL_HEADERS="" +HAVE_DOT_CONFIG=y + +# +# General Library Settings +# +DOPIC=y +HAVE_SHARED=y +FORCE_SHAREABLE_TEXT_SEGMENTS=y +LDSO_LDD_SUPPORT=y +LDSO_CACHE_SUPPORT=y +# LDSO_PRELOAD_ENV_SUPPORT is not set +# LDSO_PRELOAD_FILE_SUPPORT is not set +LDSO_BASE_FILENAME="ld.so" +# LDSO_STANDALONE_SUPPORT is not set +# LDSO_PRELINK_SUPPORT is not set +# UCLIBC_STATIC_LDCONFIG is not set +LDSO_RUNPATH=y +LDSO_SAFE_RUNPATH=y +LDSO_SEARCH_INTERP_PATH=y +LDSO_LD_LIBRARY_PATH=y +# LDSO_NO_CLEANUP is not set +UCLIBC_CTOR_DTOR=y +# LDSO_GNU_HASH_SUPPORT is not set +# HAS_NO_THREADS is not set +LINUXTHREADS_OLD=y +# LINUXTHREADS_NEW is not set +# UCLIBC_HAS_THREADS_NATIVE is not set +UCLIBC_HAS_THREADS=y +# PTHREADS_DEBUG_SUPPORT is not set +UCLIBC_HAS_SYSLOG=y +UCLIBC_HAS_LFS=y +# MALLOC is not set +# MALLOC_SIMPLE is not set +MALLOC_STANDARD=y +MALLOC_GLIBC_COMPAT=y +UCLIBC_HAS_OBSTACK=y +UCLIBC_DYNAMIC_ATEXIT=y +COMPAT_ATEXIT=y +UCLIBC_SUSV2_LEGACY=y +UCLIBC_SUSV3_LEGACY=y +# UCLIBC_SUSV3_LEGACY_MACROS is not set +UCLIBC_SUSV4_LEGACY=y +# UCLIBC_STRICT_HEADERS is not set +# UCLIBC_HAS_STUBS is not set +UCLIBC_HAS_SHADOW=y +UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y +UCLIBC_HAS___PROGNAME=y +UCLIBC_HAS_PTY=y +ASSUME_DEVPTS=y +UNIX98PTY_ONLY=y +UCLIBC_HAS_GETPT=y +UCLIBC_HAS_LIBUTIL=y +UCLIBC_HAS_TM_EXTENSIONS=y +UCLIBC_HAS_TZ_CACHING=y +UCLIBC_HAS_TZ_FILE=y +UCLIBC_HAS_TZ_FILE_READ_MANY=y +UCLIBC_TZ_FILE_PATH="/etc/TZ" +UCLIBC_FALLBACK_TO_ETC_LOCALTIME=y + +# +# Advanced Library Settings +# +UCLIBC_PWD_BUFFER_SIZE=256 +UCLIBC_GRP_BUFFER_SIZE=256 + +# +# Support various families of functions +# +UCLIBC_LINUX_MODULE_26=y +# UCLIBC_LINUX_MODULE_24 is not set +UCLIBC_LINUX_SPECIFIC=y +UCLIBC_HAS_GNU_ERROR=y +UCLIBC_BSD_SPECIFIC=y +UCLIBC_HAS_BSD_ERR=y +UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y +# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set +# UCLIBC_NTP_LEGACY is not set +UCLIBC_SV4_DEPRECATED=y +UCLIBC_HAS_REALTIME=y +UCLIBC_HAS_ADVANCED_REALTIME=y +UCLIBC_HAS_EPOLL=y +UCLIBC_HAS_XATTR=y +# UCLIBC_HAS_PROFILING is not set +UCLIBC_HAS_CRYPT_IMPL=y +# UCLIBC_HAS_SHA256_CRYPT_IMPL is not set +# UCLIBC_HAS_SHA512_CRYPT_IMPL is not set +UCLIBC_HAS_CRYPT=y +UCLIBC_HAS_NETWORK_SUPPORT=y +UCLIBC_HAS_SOCKET=y +UCLIBC_HAS_IPV4=y +UCLIBC_HAS_IPV6=y +# UCLIBC_HAS_RPC is not set +UCLIBC_USE_NETLINK=y +UCLIBC_SUPPORT_AI_ADDRCONFIG=y +UCLIBC_HAS_BSD_RES_CLOSE=y +UCLIBC_HAS_COMPAT_RES_STATE=y +# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set +UCLIBC_HAS_RESOLVER_SUPPORT=y +UCLIBC_HAS_LIBRESOLV_STUB=y +UCLIBC_HAS_LIBNSL_STUB=y + +# +# String and Stdio Support +# +UCLIBC_HAS_STRING_GENERIC_OPT=y +UCLIBC_HAS_STRING_ARCH_OPT=y +UCLIBC_HAS_CTYPE_TABLES=y +UCLIBC_HAS_CTYPE_SIGNED=y +# UCLIBC_HAS_CTYPE_UNSAFE is not set +UCLIBC_HAS_CTYPE_CHECKED=y +# UCLIBC_HAS_CTYPE_ENFORCED is not set +UCLIBC_HAS_WCHAR=y +# UCLIBC_HAS_LOCALE is not set +UCLIBC_HAS_HEXADECIMAL_FLOATS=y +UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y +UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9 +# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set +# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set +# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set +# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set +UCLIBC_HAS_STDIO_BUFSIZ_4096=y +# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set +UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y +# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set +# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set +# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set +UCLIBC_HAS_STDIO_GETC_MACRO=y +UCLIBC_HAS_STDIO_PUTC_MACRO=y +UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y +# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set +UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y +# UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE is not set +UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y +UCLIBC_HAS_PRINTF_M_SPEC=y +UCLIBC_HAS_ERRNO_MESSAGES=y +# UCLIBC_HAS_SYS_ERRLIST is not set +UCLIBC_HAS_SIGNUM_MESSAGES=y +# UCLIBC_HAS_SYS_SIGLIST is not set +UCLIBC_HAS_GNU_GETOPT=y +UCLIBC_HAS_GNU_GETSUBOPT=y + +# +# Big and Tall +# +UCLIBC_HAS_REGEX=y +# UCLIBC_HAS_REGEX_OLD is not set +UCLIBC_HAS_FNMATCH=y +# UCLIBC_HAS_FNMATCH_OLD is not set +UCLIBC_HAS_WORDEXP=y +UCLIBC_HAS_NFTW=y +UCLIBC_HAS_FTW=y +UCLIBC_HAS_FTS=y +UCLIBC_HAS_GLOB=y +UCLIBC_HAS_GNU_GLOB=y +UCLIBC_HAS_UTMPX=y + +# +# Library Installation Options +# +RUNTIME_PREFIX="/" +DEVEL_PREFIX="/usr/" +MULTILIB_DIR="lib" +HARDWIRED_ABSPATH=y + +# +# Security options +# +UCLIBC_HAS_ARC4RANDOM=y +# ARC4RANDOM_USES_NODEV is not set +# UCLIBC_HAS_SSP is not set +UCLIBC_BUILD_RELRO=y +UCLIBC_BUILD_NOW=y +UCLIBC_BUILD_NOEXECSTACK=y + +# +# Development/debugging options +# +CROSS_COMPILER_PREFIX="" +UCLIBC_EXTRA_CFLAGS="" +# DODEBUG is not set +# DODEBUG_PT is not set +# DOSTRIP is not set +# DOASSERTS is not set +# SUPPORT_LD_DEBUG is not set +# SUPPORT_LD_DEBUG_EARLY is not set +# UCLIBC_MALLOC_DEBUGGING is not set +# UCLIBC_HAS_BACKTRACE is not set +WARNINGS="-Wall" +# EXTRA_WARNINGS is not set +# DOMULTI is not set +# UCLIBC_MJN3_ONLY is not set diff --git a/target/linux/patches/3.16.2/cris-header.patch b/target/linux/patches/3.16.2/cris-header.patch new file mode 100644 index 000000000..3db07e530 --- /dev/null +++ b/target/linux/patches/3.16.2/cris-header.patch @@ -0,0 +1,50 @@ +diff -Nur linux-3.16.2.orig/arch/cris/include/arch-v10/arch/Kbuild linux-3.16.2/arch/cris/include/arch-v10/arch/Kbuild +--- linux-3.16.2.orig/arch/cris/include/arch-v10/arch/Kbuild 2014-09-06 01:37:11.000000000 +0200 ++++ linux-3.16.2/arch/cris/include/arch-v10/arch/Kbuild 2014-09-26 19:24:50.000000000 +0200 +@@ -1 +1,2 @@ + # CRISv10 arch ++header-y += ptrace.h +diff -Nur linux-3.16.2.orig/arch/cris/include/arch-v32/arch/Kbuild linux-3.16.2/arch/cris/include/arch-v32/arch/Kbuild +--- linux-3.16.2.orig/arch/cris/include/arch-v32/arch/Kbuild 2014-09-06 01:37:11.000000000 +0200 ++++ linux-3.16.2/arch/cris/include/arch-v32/arch/Kbuild 2014-09-26 19:24:31.000000000 +0200 +@@ -1 +1,2 @@ + # CRISv32 arch ++header-y += ptrace.h +diff -Nur linux-3.16.2.orig/arch/cris/include/asm/Kbuild linux-3.16.2/arch/cris/include/asm/Kbuild +--- linux-3.16.2.orig/arch/cris/include/asm/Kbuild 2014-09-06 01:37:11.000000000 +0200 ++++ linux-3.16.2/arch/cris/include/asm/Kbuild 2014-09-26 19:24:31.000000000 +0200 +@@ -1,8 +1,3 @@ +- +-header-y += arch-v10/ +-header-y += arch-v32/ +- +- + generic-y += barrier.h + generic-y += clkdev.h + generic-y += cputime.h +diff -Nur linux-3.16.2.orig/arch/cris/include/uapi/asm/Kbuild linux-3.16.2/arch/cris/include/uapi/asm/Kbuild +--- linux-3.16.2.orig/arch/cris/include/uapi/asm/Kbuild 2014-09-06 01:37:11.000000000 +0200 ++++ linux-3.16.2/arch/cris/include/uapi/asm/Kbuild 2014-09-26 19:24:31.000000000 +0200 +@@ -1,8 +1,8 @@ + # UAPI Header export list + include include/uapi/asm-generic/Kbuild.asm + +-header-y += arch-v10/ +-header-y += arch-v32/ ++header-y += ../arch-v10/arch/ ++header-y += ../arch-v32/arch/ + header-y += auxvec.h + header-y += bitsperlong.h + header-y += byteorder.h +diff -Nur linux-3.16.2.orig/scripts/headers.sh linux-3.16.2/scripts/headers.sh +--- linux-3.16.2.orig/scripts/headers.sh 2014-09-06 01:37:11.000000000 +0200 ++++ linux-3.16.2/scripts/headers.sh 2014-09-26 19:24:31.000000000 +0200 +@@ -19,8 +19,6 @@ + case ${arch} in + um) # no userspace export + ;; +- cris) # headers export are known broken +- ;; + *) + if [ -d ${srctree}/arch/${arch} ]; then + do_command $1 ${arch} |