1set(SUPPORTED_EMU_PLATFORMS qemu)
2
3set(QEMU_CPU_TYPE_${ARCH} arc)
4
5if(${CONFIG_SOC_QEMU_ARC_EM})
6  set(QEMU_CPU_TYPE_${ARCH} arcem)
7  set(QEMU_FLAGS_${ARCH} -cpu arcem)
8elseif(${CONFIG_SOC_QEMU_ARC_HS})
9  set(QEMU_CPU_TYPE_${ARCH} archs)
10  set(QEMU_FLAGS_${ARCH} -cpu archs)
11elseif(${CONFIG_SOC_QEMU_ARC_HS5X})
12  set(QEMU_ARCH arc)
13  set(QEMU_CPU_TYPE_${ARCH} hs5x)
14  set(QEMU_FLAGS_${ARCH} -cpu hs5x)
15elseif(${CONFIG_SOC_QEMU_ARC_HS6X})
16  set(QEMU_ARCH arc64)
17  set(QEMU_CPU_TYPE_${ARCH} hs6x)
18  set(QEMU_FLAGS_${ARCH} -cpu hs6x)
19endif()
20
21# For old QEMU we had 'simhs' qemu board, however we are going to rename it
22# to 'virt' board. It will be renamed in ARC QEMU in the nearest Zephyr SDK
23# (where ARCv3 HS6x support will be added to QEMU)
24# Let's rely on the QEMU defaults instead of specifying exact board name,
25# until the updated Zephyr SDK will be set as default. By that we keep both SDKs
26# (old and new) working for ARCv2.
27# After that we can specify board explicitly with '-M virt' option.
28list(APPEND QEMU_FLAGS_${ARCH}
29  -m 8M
30  -nographic
31  -no-reboot
32  -monitor none
33  -global cpu.firq=false
34  -global cpu.num-irqlevels=15
35  -global cpu.num-irq=25
36  -global cpu.ext-irq=20
37  -global cpu.freq_hz=10000000
38  -global cpu.timer0=true
39  -global cpu.timer1=true
40  -global cpu.has-mpu=true
41  -global cpu.mpu-numreg=16
42  )
43
44set(BOARD_DEBUG_RUNNER qemu)
45