boards: add qemu_xtensa/sample_controller32/mpu

This adds the necessary bit to enable testing Xtensa MPU on
QEMU.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
This commit is contained in:
Daniel Leung 2024-04-24 10:51:48 -07:00 committed by Alberto Escolar
parent d0e2a62daf
commit 907a3bf908
7 changed files with 51 additions and 3 deletions

View file

@ -7,3 +7,4 @@ config BOARD_QEMU_XTENSA
select QEMU_TARGET
select ARCH_SUPPORTS_COREDUMP
select XTENSA_MMU if BOARD_QEMU_XTENSA_DC233C_MMU
select XTENSA_MPU if BOARD_QEMU_XTENSA_SAMPLE_CONTROLLER32_MPU

View file

@ -4,4 +4,5 @@
# SPDX-License-Identifier: Apache-2.0
config BOARD_QEMU_XTENSA
select SOC_XTENSA_DC233C
select SOC_XTENSA_SAMPLE_CONTROLLER32 if BOARD_QEMU_XTENSA_SAMPLE_CONTROLLER32_MPU
select SOC_XTENSA_DC233C if !BOARD_QEMU_XTENSA_SAMPLE_CONTROLLER32_MPU

View file

@ -3,10 +3,10 @@
set(SUPPORTED_EMU_PLATFORMS qemu)
if(CONFIG_BOARD_QEMU_XTENSA)
set(QEMU_CPU_TYPE_${ARCH} dc233c)
set(QEMU_CPU_TYPE_${ARCH} ${CONFIG_SOC})
set(QEMU_FLAGS_${ARCH}
-machine sim -semihosting -nographic -cpu dc233c
-machine sim -semihosting -nographic -cpu ${CONFIG_SOC}
)
endif()

View file

@ -5,3 +5,6 @@ board:
- name: dc233c
variants:
- name: mmu
- name: sample_controller32
variants:
- name: mpu

View file

@ -0,0 +1,22 @@
/*
* Copyright (c) 2019, 2023 Intel Corporation.
*
* SPDX-License-Identifier: Apache-2.0
*/
/dts-v1/;
#include "sample_controller32.dtsi"
/ {
model = "qemu_xtensa_mpu";
compatible = "cdns,xtensa-sample-controller32";
chosen {
zephyr,sram = &sram0;
};
};
&cpu0 {
clock-frequency = <10000000>;
};

View file

@ -0,0 +1,10 @@
identifier: qemu_xtensa/sample_controller32/mpu
name: QEMU Emulation for Xtensa with MPU
type: qemu
simulation: qemu
arch: xtensa
testing:
default: true
ignore_tags:
- net
- bluetooth

View file

@ -0,0 +1,11 @@
# SPDX-License-Identifier: Apache-2.0
CONFIG_MAIN_STACK_SIZE=2048
CONFIG_CONSOLE=y
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=10000000
CONFIG_STACK_SENTINEL=y
CONFIG_GEN_ISR_TABLES=y
CONFIG_GEN_IRQ_VECTOR_TABLE=n
CONFIG_SIMULATOR_XTENSA=y
CONFIG_QEMU_ICOUNT_SHIFT=6
CONFIG_PRIVILEGED_STACK_SIZE=4096