From ee92c0fe5c1b9d59508273916e2c9a75b68dbc13 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Thu, 21 Apr 2016 01:25:29 +0200 Subject: nds32: add support for new architecture Add support for Andes Technology NDS32 architecture. See here http://www.andestech.com/en/index/index.htm for more informaton. Verification of the port from an older uClibc port was done on a sponsored AG101p board. The testsuite only has 5 errors, three are related to an existing bug in dlclose() with LT.old, also happening on cris32 and m68k. Failures to fallocate/posix_fallocate are unresolved. Thanks to Andes Technology sponsoring the hardware and being very helpful while doing the uClibc-ng porting. Signed-off-by: Waldemar Brodkorb --- extra/Configs/Config.in | 12 ++++++++++-- extra/Configs/Config.nds32 | 31 +++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 extra/Configs/Config.nds32 (limited to 'extra') diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in index 4a1509d88..1d97e784e 100644 --- a/extra/Configs/Config.in +++ b/extra/Configs/Config.in @@ -31,6 +31,7 @@ choice default TARGET_metag if DESIRED_TARGET_ARCH = "metag" default TARGET_microblaze if DESIRED_TARGET_ARCH = "microblaze" default TARGET_mips if DESIRED_TARGET_ARCH = "mips" + default TARGET_nds32 if DESIRED_TARGET_ARCH = "nds32" default TARGET_nios2 if DESIRED_TARGET_ARCH = "nios2" default TARGET_or1k if DESIRED_TARGET_ARCH = "or1k" default TARGET_powerpc if DESIRED_TARGET_ARCH = "powerpc" @@ -94,6 +95,9 @@ config TARGET_microblaze config TARGET_mips bool "mips" +config TARGET_nds32 + bool "nds32" + config TARGET_nios2 bool "nios2" @@ -172,6 +176,10 @@ if TARGET_metag source "extra/Configs/Config.metag" endif +if TARGET_nds32 +source "extra/Configs/Config.nds32" +endif + if TARGET_nios2 source "extra/Configs/Config.nios2" endif @@ -476,7 +484,6 @@ config LDSO_GNU_HASH_SUPPORT choice prompt "Thread support" - #default UCLIBC_HAS_THREADS_NATIVE if (TARGET_alpha || TARGET_arm || TARGET_i386 || TARGET_mips || TARGET_powerpc || TARGET_sh || TARGET_sh64) default HAS_NO_THREADS help If you want to compile uClibc with pthread support, then answer Y. @@ -524,6 +531,7 @@ config UCLIBC_HAS_THREADS_NATIVE !TARGET_ia64 && \ !TARGET_m68k && \ !TARGET_microblaze && \ + !TARGET_nds32 && \ !TARGET_nios2 && \ !TARGET_or1k && \ ARCH_USE_MMU @@ -2094,7 +2102,7 @@ menu "Security options" config UCLIBC_BUILD_PIE bool "Build utilities as ET_DYN/PIE executables" depends on HAVE_SHARED - depends on TARGET_arm || TARGET_frv || TARGET_i386 || TARGET_mips || TARGET_powerpc + depends on TARGET_arm || TARGET_frv || TARGET_i386 || TARGET_mips || TARGET_powerpc || TARGET_nds32 select FORCE_SHAREABLE_TEXT_SEGMENTS help If you answer Y here, ldd and iconv are built as ET_DYN/PIE diff --git a/extra/Configs/Config.nds32 b/extra/Configs/Config.nds32 new file mode 100644 index 000000000..a74249947 --- /dev/null +++ b/extra/Configs/Config.nds32 @@ -0,0 +1,31 @@ +# +# For a description of the syntax of this configuration file, +# see extra/config/Kconfig-language.txt +# + +config TARGET_ARCH + string + default "nds32" + +config FORCE_OPTIONS_FOR_ARCH + bool + default y + select ARCH_ANY_ENDIAN + select ARCH_HAS_DEPRECATED_SYSCALLS + select ARCH_HAS_MMU + +choice + prompt "MMU Page Size" + default CONFIG_NDS32_PAGE_SIZE_4K + +config CONFIG_NDS32_PAGE_SIZE_4K + bool "4KB" + help + Use 4k pagesize. + +config CONFIG_NDS32_PAGE_SIZE_8K + bool "8KB" + help + Use 8k pagesize. + +endchoice -- cgit v1.2.3