From d532f025420de029914fb43734dec6be9b7128f6 Mon Sep 17 00:00:00 2001 From: Dan Tejada Date: Wed, 22 Apr 2020 23:25:04 -0400 Subject: Experimental: Add support for the Texas Instruments C6X (TMS320C6000 series) DSPs -- c6x: Add support for c6x product families to pass on to uClibC-ng -- c6x: Fix multilib support -- c6x: Add patch fix internal instruction error (GCC 57295) Signed-off-by: Dan Tejada --- config/arch/c6x.in | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 config/arch/c6x.in (limited to 'config') diff --git a/config/arch/c6x.in b/config/arch/c6x.in new file mode 100644 index 00000000..ade8de9b --- /dev/null +++ b/config/arch/c6x.in @@ -0,0 +1,37 @@ +# c6x specific configuration file + +## no-package +## select ARCH_SUPPORTS_32 +## select ARCH_DEFAULT_32 +## select ARCH_SUPPORTS_EITHER_ENDIAN +## select ARCH_DEFAULT_LE +## select ARCH_SUPPORTS_FLAT_FORMAT +## select ARCH_SUPPORTS_WITH_CPU +## select TARGET_SKIP_CONFIG_SUB +## select ARCH_REQUIRES_MULTILIB +## depends on EXPERIMENTAL +## +## help The TI C6x (TMS320C6000) architecture +## help https://www.ti.com/processors/digital-signal-processors + +#choice +# prompt "Target Processor Type" +# default GENERIC_C6X +# +#config GENERIC_C6X +# bool +# prompt "Generic C6X DSP" +# +#config TMS320C64X +# bool +# prompt "TMS320C64X" +# +#config TMS320C64XPLUS +# bool +# prompt "TMS320C64X+" +# +#config TMS320C674X +# bool +# prompt "TMS320C674X or TMS320C66XX" +# +#endchoice -- cgit v1.2.3 From 3a3e645245d4cc84957209ec4313bfd6635acdec Mon Sep 17 00:00:00 2001 From: Dan Tejada Date: Mon, 2 Nov 2020 16:21:26 -0500 Subject: c6x: Remove multilib requirement Restore tuple config check Add sample configuration Signed-off-by: Dan Tejada --- config/arch/c6x.in | 24 +----------------------- samples/tic6x-uclinux-uclibc/crosstool.config | 14 ++++++++++++++ samples/tic6x-uclinux-uclibc/reported.by | 3 +++ scripts/build/arch/c6x.sh | 2 -- 4 files changed, 18 insertions(+), 25 deletions(-) create mode 100644 samples/tic6x-uclinux-uclibc/crosstool.config create mode 100644 samples/tic6x-uclinux-uclibc/reported.by (limited to 'config') diff --git a/config/arch/c6x.in b/config/arch/c6x.in index ade8de9b..93a8993f 100644 --- a/config/arch/c6x.in +++ b/config/arch/c6x.in @@ -7,31 +7,9 @@ ## select ARCH_DEFAULT_LE ## select ARCH_SUPPORTS_FLAT_FORMAT ## select ARCH_SUPPORTS_WITH_CPU -## select TARGET_SKIP_CONFIG_SUB -## select ARCH_REQUIRES_MULTILIB ## depends on EXPERIMENTAL ## ## help The TI C6x (TMS320C6000) architecture ## help https://www.ti.com/processors/digital-signal-processors +## help For linux, kernel must be 3.7 or later (or custom) -#choice -# prompt "Target Processor Type" -# default GENERIC_C6X -# -#config GENERIC_C6X -# bool -# prompt "Generic C6X DSP" -# -#config TMS320C64X -# bool -# prompt "TMS320C64X" -# -#config TMS320C64XPLUS -# bool -# prompt "TMS320C64X+" -# -#config TMS320C674X -# bool -# prompt "TMS320C674X or TMS320C66XX" -# -#endchoice diff --git a/samples/tic6x-uclinux-uclibc/crosstool.config b/samples/tic6x-uclinux-uclibc/crosstool.config new file mode 100644 index 00000000..cd4af2c5 --- /dev/null +++ b/samples/tic6x-uclinux-uclibc/crosstool.config @@ -0,0 +1,14 @@ +CT_CONFIG_VERSION="3" +CT_EXPERIMENTAL=y +CT_ARCH_C6X=y +CT_OMIT_TARGET_VENDOR=y +CT_KERNEL_LINUX=y +CT_MULTILIB=y +CT_LIBC_UCLIBC=y +CT_THREADS="linuxthreads" +CT_UCLIBC_NG_DEVEL_VCS_git=y +CT_UCLIBC_NG_DEVEL_URL="https://github.com/DspHack/uclibc-ng.git" +CT_ARCH_BINFMT_FDPIC=y +CT_CC_LANG_CXX=y +CT_ARCH_ENDIAN="little" + diff --git a/samples/tic6x-uclinux-uclibc/reported.by b/samples/tic6x-uclinux-uclibc/reported.by new file mode 100644 index 00000000..e51f6949 --- /dev/null +++ b/samples/tic6x-uclinux-uclibc/reported.by @@ -0,0 +1,3 @@ +reporter_name="Dan Tejada " +reporter_url="https://www.cantada.com/" +reporter_comment="Tested with uclibc and linux kernel from http://linux-c6x.org" diff --git a/scripts/build/arch/c6x.sh b/scripts/build/arch/c6x.sh index 27133897..3eb40e47 100644 --- a/scripts/build/arch/c6x.sh +++ b/scripts/build/arch/c6x.sh @@ -68,8 +68,6 @@ CT_DoArchUClibcCflags() { *) CT_Abort "Unsupported architecture: ${f#-march=}";; esac ;; - -mlittle-endian) - ;; -mbig-endian) CT_KconfigEnableOption "ARCH_BIG_ENDIAN" "${cfg}" CT_KconfigEnableOption "ARCH_WANTS_BIG_ENDIAN" "${cfg}" -- cgit v1.2.3