From c116ba7cc55dadd20cba82aca750b551fc7c9f46 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 8 Feb 2023 17:05:43 +0100 Subject: arc: update toolchain, add support for qemu --- target/arc/Makefile | 15 +++++++++++++++ target/arc/kernel/qemu-arc | 3 +++ target/arc/systems/qemu-arc | 7 +++++++ target/config/Config.in.binutils | 2 +- target/config/Config.in.compiler | 2 +- target/config/Config.in.endian | 1 + target/linux/config/Config.in.arc | 3 ++- target/linux/config/Config.in.serial | 4 ++++ toolchain/binutils/Makefile.inc | 2 +- toolchain/gcc/Makefile.inc | 2 +- 10 files changed, 36 insertions(+), 5 deletions(-) create mode 100644 target/arc/kernel/qemu-arc create mode 100644 target/arc/systems/qemu-arc diff --git a/target/arc/Makefile b/target/arc/Makefile index bdd3e4c9a..702debfce 100644 --- a/target/arc/Makefile +++ b/target/arc/Makefile @@ -11,6 +11,17 @@ else KERNEL:=$(LINUX_DIR)/$(ADK_TARGET_KERNEL) endif +QEMU_ARGS:=-monitor none -serial stdio +QEMU_ARGS+=${ADK_QEMU_ARGS} + +ifeq ($(ADK_TARGET_CPU_ARC_ARC700),y) +QEMU_ARGS+=-cpu arc700 +endif + +ifeq ($(ADK_TARGET_CPU_ARC_ARCHS),y) +QEMU_ARGS+=-cpu archs +endif + # target helper text ifeq ($(ADK_TARGET_FS),archive) targethelp: @@ -29,6 +40,10 @@ endif ifeq ($(ADK_TARGET_FS),initramfspiggyback) 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)' +endif ifeq ($(ADK_TARGET_SYSTEM_SYNOPSYS_NSIM),y) ifeq ($(ADK_TARGET_LITTLE_ENDIAN),y) ifeq ($(ADK_TARGET_CPU_ARC_ARC700),y) diff --git a/target/arc/kernel/qemu-arc b/target/arc/kernel/qemu-arc new file mode 100644 index 000000000..d537406d4 --- /dev/null +++ b/target/arc/kernel/qemu-arc @@ -0,0 +1,3 @@ +CONFIG_ARC=y +CONFIG_ARC_HAS_ACCL_REGS=y +CONFIG_COMPAT_32BIT_TIME=y diff --git a/target/arc/systems/qemu-arc b/target/arc/systems/qemu-arc new file mode 100644 index 000000000..ac6b2829f --- /dev/null +++ b/target/arc/systems/qemu-arc @@ -0,0 +1,7 @@ +config ADK_TARGET_SYSTEM_QEMU_ARC + bool "Qemu Emulator" + select ADK_TARGET_QEMU + select ADK_TARGET_KERNEL_WITH_COMPRESSION + help + Support for QEMU ARC Emulator. + diff --git a/target/config/Config.in.binutils b/target/config/Config.in.binutils index 01578e228..b560a22b2 100644 --- a/target/config/Config.in.binutils +++ b/target/config/Config.in.binutils @@ -34,7 +34,7 @@ config ADK_TOOLCHAIN_BINUTILS_2_28 depends on ADK_TARGET_CPU_SH_J2 config ADK_TOOLCHAIN_BINUTILS_ARC - bool "arc-2021.09" + bool "arc-2022.09" depends on ADK_TARGET_ARCH_ARC config ADK_TOOLCHAIN_BINUTILS_KVX diff --git a/target/config/Config.in.compiler b/target/config/Config.in.compiler index cd790959b..22ea99dc6 100644 --- a/target/config/Config.in.compiler +++ b/target/config/Config.in.compiler @@ -82,7 +82,7 @@ config ADK_TOOLCHAIN_GCC_7 depends on !ADK_TARGET_ARCH_LOONGARCH config ADK_TOOLCHAIN_GCC_ARC - bool "arc-2021.09" + bool "arc-2022.09" depends on ADK_TARGET_ARCH_ARC config ADK_TOOLCHAIN_GCC_AVR32 diff --git a/target/config/Config.in.endian b/target/config/Config.in.endian index 2fb382ab9..ffb39584c 100644 --- a/target/config/Config.in.endian +++ b/target/config/Config.in.endian @@ -16,6 +16,7 @@ depends on ADK_TARGET_SYSTEM_GENERIC_ARC \ || ADK_TARGET_SYSTEM_GENERIC_SH \ || ADK_TARGET_SYSTEM_GENERIC_XTENSA \ || ADK_TARGET_SYSTEM_SYNOPSYS_NSIM \ + || ADK_TARGET_SYSTEM_QEMU_ARC \ || ADK_TARGET_SYSTEM_QEMU_AARCH64 \ || ADK_TARGET_SYSTEM_QEMU_CSKY \ || ADK_TARGET_SYSTEM_QEMU_MICROBLAZE_ML605 \ diff --git a/target/linux/config/Config.in.arc b/target/linux/config/Config.in.arc index 4edd670d0..461d1b7cd 100644 --- a/target/linux/config/Config.in.arc +++ b/target/linux/config/Config.in.arc @@ -21,6 +21,7 @@ config ADK_LINUX_KERNEL_ARC_BUILTIN_DTB_NAME depends on ADK_TARGET_ARCH_ARC default "hsdk" if ADK_TARGET_CPU_ARC_ARCHS && ADK_TARGET_SYSTEM_SYNOPSYS_HSDK default "haps_hs" if ADK_TARGET_CPU_ARC_ARCHS && ADK_TARGET_SYSTEM_SYNOPSYS_NSIM - default "nsim_700" if ADK_TARGET_CPU_ARC_ARC700 && ADK_TARGET_SYSTEM_SYNOPSYS_NSIM + default "haps_hs" if ADK_TARGET_CPU_ARC_ARCHS && ADK_TARGET_SYSTEM_QEMU_ARC + default "nsim_700" if ADK_TARGET_CPU_ARC_ARC700 diff --git a/target/linux/config/Config.in.serial b/target/linux/config/Config.in.serial index e23b040e1..959e96022 100644 --- a/target/linux/config/Config.in.serial +++ b/target/linux/config/Config.in.serial @@ -94,6 +94,7 @@ config ADK_LINUX_KERNEL_SERIAL_8250 select ADK_LINUX_KERNEL_SERIAL_8250_DW if ADK_TARGET_CPU_ARC_ARCHS && ADK_TARGET_SYSTEM_SYNOPSYS_NSIM select ADK_LINUX_KERNEL_SERIAL_OF_PLATFORM if ADK_TARGET_SYSTEM_XILINX_KINTEX7 \ || ADK_TARGET_SYSTEM_IMGTEC_CI20 \ + || ADK_TARGET_SYSTEM_QEMU_ARC \ || ADK_TARGET_SYSTEM_QEMU_CSKY \ || ADK_TARGET_SYSTEM_QEMU_XTENSA \ || ADK_TARGET_SYSTEM_QEMU_MICROBLAZE_ML605 \ @@ -110,6 +111,7 @@ config ADK_LINUX_KERNEL_SERIAL_8250 select ADK_LINUX_KERNEL_SERIAL_8250_DW if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG select ADK_LINUX_KERNEL_SERIAL_8250_DW if ADK_TARGET_SYSTEM_ORANGE_PI0 select ADK_LINUX_KERNEL_SERIAL_8250_DW if ADK_TARGET_SYSTEM_SYNOPSYS_HSDK + select ADK_LINUX_KERNEL_SERIAL_8250_DW if ADK_TARGET_SYSTEM_QEMU_ARC select ADK_LINUX_KERNEL_SERIAL_8250_DW if ADK_TARGET_SYSTEM_ROCKPI4_PLUS select ADK_LINUX_KERNEL_SERIAL_8250_DMA if ADK_TARGET_SYSTEM_ORANGE_PI0 select ADK_LINUX_KERNEL_SERIAL_8250_INGENIC if ADK_TARGET_SYSTEM_IMGTEC_CI20 @@ -123,6 +125,7 @@ config ADK_LINUX_KERNEL_SERIAL_8250 || ADK_TARGET_SYSTEM_QEMU_MIPS \ || ADK_TARGET_SYSTEM_QEMU_MIPS64 \ || ADK_TARGET_SYSTEM_QEMU_ALPHA \ + || ADK_TARGET_SYSTEM_QEMU_ARC \ || ADK_TARGET_SYSTEM_QEMU_CSKY \ || ADK_TARGET_SYSTEM_QEMU_HPPA \ || ADK_TARGET_SYSTEM_QEMU_NIOS2 \ @@ -155,6 +158,7 @@ config ADK_LINUX_KERNEL_SERIAL_8250 default y if ADK_TARGET_SYSTEM_QEMU_MIPS default y if ADK_TARGET_SYSTEM_QEMU_MIPS64 default y if ADK_TARGET_SYSTEM_QEMU_ALPHA + default y if ADK_TARGET_SYSTEM_QEMU_ARC default y if ADK_TARGET_SYSTEM_QEMU_CSKY default y if ADK_TARGET_SYSTEM_QEMU_HPPA default y if ADK_TARGET_SYSTEM_QEMU_NIOS2 diff --git a/toolchain/binutils/Makefile.inc b/toolchain/binutils/Makefile.inc index 45eb7a036..e2117f705 100644 --- a/toolchain/binutils/Makefile.inc +++ b/toolchain/binutils/Makefile.inc @@ -38,7 +38,7 @@ PKG_SITES:= ${MASTER_SITE_GNU:=binutils/} DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz endif ifeq ($(ADK_TOOLCHAIN_BINUTILS_ARC),y) -PKG_VERSION:= arc-2021.09 +PKG_VERSION:= arc-2022.09 PKG_GIT:= tag PKG_RELEASE:= 1 PKG_SITES:= https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb.git diff --git a/toolchain/gcc/Makefile.inc b/toolchain/gcc/Makefile.inc index 223db3768..f2cc5b294 100644 --- a/toolchain/gcc/Makefile.inc +++ b/toolchain/gcc/Makefile.inc @@ -51,7 +51,7 @@ DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz LIBSTDCXXVER:= 23 endif ifeq ($(ADK_TOOLCHAIN_GCC_ARC),y) -PKG_VERSION:= arc-2021.09 +PKG_VERSION:= arc-2022.09 PKG_GIT:= tag PKG_SITES:= https://github.com/foss-for-synopsys-dwc-arc-processors/gcc.git PKG_RELEASE:= 1 -- cgit v1.2.3