qemu/tests/tcg
Alex Bennée 4f5c81844c tests/tcg: make aarch64 boot.S handle different starting modes
Currently the boot.S code assumes everything starts at EL1. This will
break things like the memory test which will barf on unaligned memory
access when run at a higher level.

Adapt the boot code to do some basic verification of the starting mode
and the minimal configuration to move to the lower exception levels.
With this we can run the memory test with:

  -M virt,secure=on
  -M virt,secure=on,virtualization=on
  -M virt,virtualisation=on

If a test needs to be at a particular EL it can use the semihosting
command line to indicate the level we should execute in.

Cc: Julian Armistead <julian.armistead@linaro.org>
Cc: Jim MacArthur <jim.macarthur@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-ID: <20250603110204.838117-4-alex.bennee@linaro.org>
2025-06-07 15:15:30 +01:00
..
aarch64 tests/tcg: make aarch64 boot.S handle different starting modes 2025-06-07 15:15:30 +01:00
aarch64_be tests/tcg: enable basic testing for aarch64_be-linux-user 2024-10-24 09:56:37 +01:00
alpha tests/tcg: add a system test to check memory instrumentation 2024-09-19 15:58:01 +01:00
arm tests/tcg: Suppress compiler false-positive warning on sha1.c 2025-03-10 10:30:01 +00:00
hexagon plugins/api: use qemu_target_page_mask() to get value 2025-03-10 10:30:01 +00:00
hppa tests/tcg: Remove run-test-mmap-* 2024-02-29 11:35:37 -10:00
i386 tests/tcg: enable -fwrapv for test-i386-bmi 2025-03-10 10:30:01 +00:00
loongarch64 hw/loongarch/virt: Get physical entry address with elf file 2025-05-06 09:17:32 +08:00
m68k tests/tcg: Remove run-test-mmap-* 2024-02-29 11:35:37 -10:00
minilib tests/tcg/minilib: Constify digits in print_num 2024-07-05 12:33:41 +01:00
mips tests/tcg: Add -fno-stack-protector 2023-10-31 13:28:19 +00:00
multiarch plugins/api: use qemu_target_page_mask() to get value 2025-03-10 10:30:01 +00:00
openrisc target/openrisc: Rename the cpu from or32 to or1k 2017-02-14 08:14:58 +11:00
plugins contrib/plugins: Fix type conflict of GLib function pointers 2025-04-25 17:09:58 +02:00
ppc64 tests/tcg: Replace -mpower8-vector with -mcpu=power8 2024-11-05 10:36:08 +00:00
ppc64le tests/tcg: unify ppc64 and ppc64le Makefiles 2022-10-06 11:53:40 +01:00
riscv64 tests/tcg: Use --noexecstack with assembler files 2024-07-30 11:44:11 +01:00
s390x tests/tcg/s390x: Test modifying code using the MVC instruction 2025-01-30 10:39:37 +01:00
sh4 target/sh4: Fix SUBV opcode 2024-05-03 17:33:26 +02:00
tricore tests/tcg: Reset result register after each test 2023-09-29 08:28:09 +02:00
x86_64 tests/tcg/x86_64/fma: add test for exact-denormal output 2025-06-06 14:32:55 +02:00
xtensa tests/tcg/xtensa: add icount/ibreak priority test 2024-01-19 12:28:59 +01:00
xtensaeb tcg: Correct invalid mentions of 'softmmu' by 'system-mode' 2023-10-07 19:02:33 +02:00
Makefile.target tests/tcg: Add SIGRTMIN/SIGRTMAX test 2024-11-05 10:36:08 +00:00
README tests/tcg: update README 2024-07-30 11:44:18 +01:00

This directory contains various interesting guest binaries for
regression testing the Tiny Code Generator doing system and user-mode
emulation.

The multiarch directory contains shared code for tests that can be
built for all guest architectures. Architecture specific code can be
found in their respective directories.

System mode tests will be under the "system" subdirectories.

GDB scripts for exercising the gdbstub on specific tests will be found
under the "gdbstb" subdirectories.

See the developer guide for more instructions on "make check-tcg"