qemu/tests/tcg/multiarch
Alex Bennée ecbcc9ead2 tests/tcg: add a system test to check memory instrumentation
At first I thought I could compile the user-mode test for system mode
however we already have a fairly comprehensive test case for system
mode in "memory" so lets use that.

As tracking every access will quickly build up with "print-access" we
add a new mode to track groups of reads and writes to regions. Because
the test_data is 16k aligned we can be sure all accesses to it are
ones we can count.

First we extend the test to report where the test_data region is. Then
we expand the pdot() function to track the total number of reads and
writes to the region. We have to add some addition pdot() calls to
take into account multiple reads/writes in the test loops.

Finally we add a python script to integrate the data from the plugin
and the output of the test and validate they both agree on the total
counts. As some boot codes clear the bss we also add a flag to add a
regions worth of writes to the expected total.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Message-Id: <20240916085400.1046925-14-alex.bennee@linaro.org>
2024-09-19 15:58:01 +01:00
..
arm-compat-semi tests/tcg: update licenses to GPLv2 as intended 2024-02-28 09:09:04 +00:00
gdbstub tests/tcg: Add multiarch test for Xfer:siginfo:read stub 2024-03-13 11:43:52 +00:00
libs tests/tcg: update licenses to GPLv2 as intended 2024-02-28 09:09:04 +00:00
linux tests/tcg: Test shmat(NULL) 2024-03-26 18:20:36 -10:00
system tests/tcg: add a system test to check memory instrumentation 2024-09-19 15:58:01 +01:00
catch-syscalls.c tests/tcg: Add the syscall catchpoint gdbstub test 2024-02-09 17:52:40 +00:00
check-plugin-output.sh tests/tcg/multiarch: add test for plugin memory access 2024-09-19 15:58:01 +01:00
float_convd.c tests/tcg: update licenses to GPLv2 as intended 2024-02-28 09:09:04 +00:00
float_convs.c tests/tcg: update licenses to GPLv2 as intended 2024-02-28 09:09:04 +00:00
float_helpers.h tests/tcg: update licenses to GPLv2 as intended 2024-02-28 09:09:04 +00:00
float_madds.c tests/tcg: update licenses to GPLv2 as intended 2024-02-28 09:09:04 +00:00
follow-fork-mode.c tests/tcg: Add two follow-fork-mode tests 2024-03-06 12:35:19 +00:00
Makefile.target tests/tcg/multiarch: add test for plugin memory access 2024-09-19 15:58:01 +01:00
munmap-pthread.c tests/tcg/multiarch: add vma-pthread.c 2023-01-05 11:41:29 -08:00
noexec.c.inc target/s390x: Make translator stop before the end of a page 2022-09-06 08:04:26 +01:00
nop_func.h tests/tcg/multiarch: add vma-pthread.c 2023-01-05 11:41:29 -08:00
overflow.c tests/tcg: Test overflow conditions 2022-06-03 08:03:28 +02:00
prot-none.c tests/tcg: Add the PROT_NONE gdbstub test 2024-01-29 20:48:49 +10:00
README
segfault.c tests/tcg: Add multiarch test for Xfer:siginfo:read stub 2024-03-13 11:43:52 +00:00
sha1.c tests/tcg/sha1: remove endian include 2021-10-12 08:37:05 +01:00
sha512.c other architectures: spelling fixes 2023-07-25 17:14:07 +03:00
sigbus.c tests/tcg/multiarch: Adjust sigbus.c 2023-06-06 10:19:39 +01:00
signals.c tests/tcg: add a multiarch signals test to stress test signal delivery 2021-06-07 14:42:42 +01:00
test-aes-main.c.inc tests/multiarch: Add test-aes 2023-07-08 07:30:17 +01:00
test-mmap.c tests/tcg: make test-mmap a little less aggressive 2021-07-14 14:33:53 +01:00
test-plugin-mem-access.c tests/tcg/multiarch: add test for plugin memory access 2024-09-19 15:58:01 +01:00
test-vma.c accel/tcg: Use interval tree for user-only page tracking 2022-12-20 17:11:12 -08:00
testthread.c
threadcount.c
vma-pthread.c tests/tcg/multiarch: add vma-pthread.c 2023-01-05 11:41:29 -08:00

Multi-architecture linux-user tests