Skip to content

Commit 0a5137f

Browse files
evgeniy-paltsevgalak
authored andcommitted
ARC: ARCv3: add qemu HS6x board
Add QEMU board with single core ARCv3 HS6x 64 bit CPU Signed-off-by: Eugeniy Paltsev <[email protected]> Signed-off-by: Evgeniy Paltsev <[email protected]>
1 parent a70187f commit 0a5137f

File tree

9 files changed

+80
-2
lines changed

9 files changed

+80
-2
lines changed

boards/arc/qemu_arc/board.cmake

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,20 @@ set(QEMU_FLAGS_${ARCH} -cpu arcem)
88
elseif(${CONFIG_SOC_QEMU_ARC_HS})
99
set(QEMU_CPU_TYPE_${ARCH} archs)
1010
set(QEMU_FLAGS_${ARCH} -cpu archs)
11+
elseif(${CONFIG_SOC_QEMU_ARC_HS6X})
12+
set(QEMU_ARCH arc64)
13+
set(QEMU_CPU_TYPE_${ARCH} arc64)
14+
set(QEMU_FLAGS_${ARCH} -cpu hs6x)
1115
endif()
1216

17+
# For old QEMU we had 'simhs' qemu board, however we are going to rename it
18+
# to 'virt' board. It will be renamed in ARC QEMU in the nearest Zephyr SDK
19+
# (where ARCv3 HS6x support will be added to QEMU)
20+
# Let's rely on the QEMU defaults instead of specifying exact board name,
21+
# until the updated Zephyr SDK will be set as default. By that we keep both SDKs
22+
# (old and new) working for ARCv2.
23+
# After that we can specify board explicitly with '-M virt' option.
1324
list(APPEND QEMU_FLAGS_${ARCH}
14-
-M simhs
1525
-m 8M
1626
-nographic
1727
-no-reboot
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/*
2+
* Copyright (c) 2020, Synopsys, Inc. All rights reserved.
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
/dts-v1/;
8+
9+
#include "qemu_arc.dtsi"
10+
11+
/ {
12+
model = "QEMU ARC HS";
13+
compatible = "qemu,archs";
14+
15+
cpus {
16+
#address-cells = <1>;
17+
#size-cells = <0>;
18+
19+
cpu@0 {
20+
device_type = "cpu";
21+
compatible = "snps,archs";
22+
reg = <0>;
23+
};
24+
};
25+
};
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
identifier: qemu_arc_hs6x
2+
name: QEMU Emulation for ARC HS
3+
type: qemu
4+
simulation: qemu
5+
arch: arc
6+
toolchain:
7+
- cross-compile
8+
testing:
9+
ignore_tags:
10+
- net
11+
- bluetooth
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
CONFIG_ISA_ARCV3=y
2+
CONFIG_SOC_QEMU_ARC=y
3+
CONFIG_SOC_QEMU_ARC_HS6X=y
4+
CONFIG_XIP=n
5+
CONFIG_BUILD_OUTPUT_BIN=n
6+
CONFIG_PRINTK=y
7+
CONFIG_ARCV2_INTERRUPT_UNIT=y
8+
CONFIG_ARCV2_TIMER=y
9+
CONFIG_ARC_HAS_STACK_CHECKING=n
10+
CONFIG_CONSOLE=y
11+
CONFIG_UART_CONSOLE=y
12+
CONFIG_SERIAL=y
13+
CONFIG_UART_NS16550=y
14+
CONFIG_QEMU_ICOUNT_SHIFT=6

soc/arc/snps_qemu/CMakeLists.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,6 @@
11
# SPDX-License-Identifier: Apache-2.0
2-
zephyr_compile_options(-mcpu=${GCC_M_CPU} -mno-sdata)
2+
zephyr_compile_options(-mcpu=${GCC_M_CPU})
3+
4+
if(NOT CONFIG_64BIT)
5+
zephyr_compile_options(-mno-sdata)
6+
endif()

soc/arc/snps_qemu/Kconfig

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,7 @@ config SOC_QEMU_ARC_EM
1212
config SOC_QEMU_ARC_HS
1313
bool "Synopsys ARC HS in QEMU"
1414

15+
config SOC_QEMU_ARC_HS6X
16+
bool "Synopsys ARC HS in QEMU"
17+
1518
endchoice

soc/arc/snps_qemu/Kconfig.defconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,5 +36,6 @@ config ARC_MPU_VER
3636

3737
source "soc/arc/snps_qemu/Kconfig.defconfig.em"
3838
source "soc/arc/snps_qemu/Kconfig.defconfig.hs"
39+
source "soc/arc/snps_qemu/Kconfig.defconfig.hs6x"
3940

4041
endif
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Copyright (c) 2021 Synopsys, Inc. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
if SOC_QEMU_ARC_HS6X
5+
6+
config CPU_HS6X
7+
default y
8+
9+
endif

tests/kernel/common/testcase.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ tests:
2323
extra_configs:
2424
- CONFIG_CBPRINTF_NANO=y
2525
- CONFIG_CBPRINTF_REDUCED_INTEGRAL=y
26+
platform_exclude: qemu_arc_hs6x
2627
kernel.common.nano64:
2728
tags: kernel userspace
2829
min_flash: 33

0 commit comments

Comments
 (0)