diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2024-01-08 06:48:09 +0100 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2024-01-08 06:48:09 +0100 |
commit | 449fb17cc884a21f65f24bb01d2a162c3dbcc5fc (patch) | |
tree | e41fe92707d1b438b2bbdabeea41e75a2055d41e /target/arc | |
parent | 2d61c1d309fabe089e4c704a26a39290cf186ce6 (diff) |
add support for Synopsys ARCv3
Diffstat (limited to 'target/arc')
-rw-r--r-- | target/arc/Makefile | 20 | ||||
-rw-r--r-- | target/arc/systems/qemu-arc | 2 | ||||
-rw-r--r-- | target/arc/uclibc-ng.config | 25 |
3 files changed, 36 insertions, 11 deletions
diff --git a/target/arc/Makefile b/target/arc/Makefile index 8eed37760..decdd8176 100644 --- a/target/arc/Makefile +++ b/target/arc/Makefile @@ -5,10 +5,12 @@ include $(ADK_TOPDIR)/rules.mk include $(ADK_TOPDIR)/mk/kernel-build.mk include $(ADK_TOPDIR)/mk/image.mk +KERNEL:=$(LINUX_DIR)/$(ADK_TARGET_KERNEL) ifeq ($(ADK_TARGET_KERNEL_UIMAGE),y) KERNEL:=$(LINUX_DIR)/arch/arc/boot/uImage -else -KERNEL:=$(LINUX_DIR)/$(ADK_TARGET_KERNEL) +endif +ifeq ($(ADK_TARGET_KERNEL_LOADER),y) +KERNEL:=$(LINUX_DIR)/arch/arc/boot/loader endif QEMU_ARGS:=-monitor none -serial stdio @@ -16,13 +18,25 @@ QEMU_ARGS+=-netdev user,id=eth0 -device virtio-net-device,netdev=eth0 QEMU_ARGS+=${ADK_QEMU_ARGS} ifeq ($(ADK_TARGET_CPU_ARC_ARC700),y) +QEMU:=qemu-system-arc QEMU_ARGS+=-cpu arc700 endif ifeq ($(ADK_TARGET_CPU_ARC_ARCHS),y) +QEMU:=qemu-system-arc QEMU_ARGS+=-cpu archs endif +ifeq ($(ADK_TARGET_CPU_ARC_ARC32),y) +QEMU:=qemu-system-arc +QEMU_ARGS+=-cpu hs5x -M virt,ram_start=0 +endif + +ifeq ($(ADK_TARGET_CPU_ARC_ARC64),y) +QEMU:=qemu-system-arc64 +QEMU_ARGS+=-cpu hs6x -M virt,ram_start=0 +endif + # target helper text ifeq ($(ADK_TARGET_FS),archive) targethelp: @@ -43,7 +57,7 @@ targethelp: @echo 'The kernel+initramfs file is: $(FW_DIR)/${TARGET_KERNEL}' ifeq ($(ADK_TARGET_QEMU),y) @echo "Start qemu with following command line:" - @echo 'qemu-system-${ADK_TARGET_CPU_ARCH} ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL)' + @echo '${QEMU} ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL)' endif ifeq ($(ADK_TARGET_SYSTEM_SYNOPSYS_NSIM),y) ifeq ($(ADK_TARGET_LITTLE_ENDIAN),y) diff --git a/target/arc/systems/qemu-arc b/target/arc/systems/qemu-arc index 982534519..3c8445eb9 100644 --- a/target/arc/systems/qemu-arc +++ b/target/arc/systems/qemu-arc @@ -2,8 +2,8 @@ config ADK_TARGET_SYSTEM_QEMU_ARC bool "Qemu Emulator" select ADK_TARGET_QEMU select ADK_TARGET_KERNEL_WITH_COMPRESSION - select ADK_TARGET_CPU_ARC_ARCHS select ADK_TARGET_LITTLE_ENDIAN + select ADK_TARGET_KERNEL_LOADER help Support for QEMU ARC Emulator. diff --git a/target/arc/uclibc-ng.config b/target/arc/uclibc-ng.config index b20bca4ff..273722b4e 100644 --- a/target/arc/uclibc-ng.config +++ b/target/arc/uclibc-ng.config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# uClibc-ng 1.0.25 C Library Configuration +# uClibc-ng 1.0.45 C Library Configuration # # TARGET_aarch64 is not set # TARGET_alpha is not set @@ -10,11 +10,13 @@ TARGET_arc=y # TARGET_bfin is not set # TARGET_c6x is not set # TARGET_cris is not set +# TARGET_csky is not set # TARGET_frv is not set # TARGET_h8300 is not set # TARGET_hppa is not set # TARGET_i386 is not set # TARGET_ia64 is not set +# TARGET_kvx is not set # TARGET_lm32 is not set # TARGET_m68k is not set # TARGET_metag is not set @@ -24,11 +26,16 @@ TARGET_arc=y # TARGET_nios2 is not set # TARGET_or1k is not set # TARGET_powerpc is not set +# TARGET_riscv64 is not set +# TARGET_riscv32 is not set # TARGET_sh is not set # TARGET_sparc is not set # TARGET_sparc64 is not set +# TARGET_tile is not set # TARGET_x86_64 is not set # TARGET_xtensa is not set +TARGET_LDSO_NAME="ld-uClibc" +TARGET_ARCH_BITS=32 # # Target Architecture Features and Options @@ -45,16 +52,15 @@ TARGET_SUBARCH="" # Using ELF file format # ARCH_ANY_ENDIAN=y -ARCH_BIG_ENDIAN=y -ARCH_WANTS_BIG_ENDIAN=y -# ARCH_WANTS_LITTLE_ENDIAN is not set +ARCH_LITTLE_ENDIAN=y +# ARCH_WANTS_BIG_ENDIAN is not set +ARCH_WANTS_LITTLE_ENDIAN=y ARCH_HAS_MMU=y ARCH_USE_MMU=y UCLIBC_HAS_FLOATS=y UCLIBC_HAS_FPU=y DO_C99_MATH=y DO_XSI_MATH=y -# UCLIBC_HAS_FENV is not set UCLIBC_HAS_LONG_DOUBLE_MATH=y KERNEL_HEADERS="" HAVE_DOT_CONFIG=y @@ -63,6 +69,7 @@ HAVE_DOT_CONFIG=y # General Library Settings # DOPIC=y +HAVE_LDSO=y HAVE_SHARED=y # FORCE_SHAREABLE_TEXT_SEGMENTS is not set LDSO_LDD_SUPPORT=y @@ -78,7 +85,6 @@ LDSO_RUNPATH_OF_EXECUTABLE=y LDSO_SAFE_RUNPATH=y LDSO_SEARCH_INTERP_PATH=y LDSO_LD_LIBRARY_PATH=y -LDSO_NO_CLEANUP=y UCLIBC_CTOR_DTOR=y # LDSO_GNU_HASH_SUPPORT is not set # HAS_NO_THREADS is not set @@ -87,6 +93,7 @@ UCLIBC_HAS_THREADS_NATIVE=y UCLIBC_HAS_THREADS=y UCLIBC_HAS_TLS=y PTHREADS_DEBUG_SUPPORT=y +PTHREADS_STACK_DEFAULT_SIZE=2097152 UCLIBC_HAS_SYSLOG=y UCLIBC_HAS_LFS=y # MALLOC is not set @@ -130,6 +137,7 @@ UCLIBC_HAS_GNU_ERROR=y UCLIBC_BSD_SPECIFIC=y UCLIBC_HAS_BSD_ERR=y UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y +# UCLIBC_HAS_BSD_B64_NTOP_B64_PTON is not set # UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set # UCLIBC_NTP_LEGACY is not set UCLIBC_SV4_DEPRECATED=y @@ -152,6 +160,10 @@ 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_DNSRAND_MODE_URANDOM is not set +# UCLIBC_DNSRAND_MODE_CLOCK is not set +UCLIBC_DNSRAND_MODE_PRNGPLUS=y +# UCLIBC_DNSRAND_MODE_SIMPLECOUNTER is not set # # String and Stdio Support @@ -221,7 +233,6 @@ HARDWIRED_ABSPATH=y # # Security options # -# UCLIBC_HAS_ARC4RANDOM is not set # UCLIBC_HAS_SSP is not set # UCLIBC_BUILD_RELRO is not set # UCLIBC_BUILD_NOW is not set |