Skip to content

Commit

Permalink
boards: add qemu_xtensa/sample_controller32/mpu
Browse files Browse the repository at this point in the history
This adds the necessary bit to enable testing Xtensa MPU on
QEMU.

Signed-off-by: Daniel Leung <[email protected]>
  • Loading branch information
dcpleung committed Jun 11, 2024
1 parent 130f7f5 commit 7a73d86
Show file tree
Hide file tree
Showing 7 changed files with 51 additions and 3 deletions.
1 change: 1 addition & 0 deletions boards/qemu/xtensa/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
3 changes: 2 additions & 1 deletion boards/qemu/xtensa/Kconfig.qemu_xtensa
Original file line number Diff line number Diff line change
Expand Up @@ -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
4 changes: 2 additions & 2 deletions boards/qemu/xtensa/board.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -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()

Expand Down
3 changes: 3 additions & 0 deletions boards/qemu/xtensa/board.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@ board:
- name: dc233c
variants:
- name: mmu
- name: sample_controller32
variants:
- name: mpu
22 changes: 22 additions & 0 deletions boards/qemu/xtensa/qemu_xtensa_sample_controller32_mpu.dts
Original file line number Diff line number Diff line change
@@ -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>;
};
10 changes: 10 additions & 0 deletions boards/qemu/xtensa/qemu_xtensa_sample_controller32_mpu.yaml
Original file line number Diff line number Diff line change
@@ -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
11 changes: 11 additions & 0 deletions boards/qemu/xtensa/qemu_xtensa_sample_controller32_mpu_defconfig
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit 7a73d86

Please sign in to comment.