summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2023-02-08 17:05:43 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2023-02-08 17:06:03 +0100
commitc116ba7cc55dadd20cba82aca750b551fc7c9f46 (patch)
tree972b557fb84c7e50e03fb26191bd83fc64b9d23d
parent0178c43226f548a78a8bd8b449c8146ff06320b5 (diff)
arc: update toolchain, add support for qemu
-rw-r--r--target/arc/Makefile15
-rw-r--r--target/arc/kernel/qemu-arc3
-rw-r--r--target/arc/systems/qemu-arc7
-rw-r--r--target/config/Config.in.binutils2
-rw-r--r--target/config/Config.in.compiler2
-rw-r--r--target/config/Config.in.endian1
-rw-r--r--target/linux/config/Config.in.arc3
-rw-r--r--target/linux/config/Config.in.serial4
-rw-r--r--toolchain/binutils/Makefile.inc2
-rw-r--r--toolchain/gcc/Makefile.inc2
10 files changed, 36 insertions, 5 deletions
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