6f58b090 | 29-Oct-2024 |
Ilya Leoshkevich <iii@linux.ibm.com> |
tests/tcg: Add SIGRTMIN/SIGRTMAX test
Test the lowest and the highest real-time signals. This requires configuring the real-time signal mapping, and therefore some knowledge about the host. To this
tests/tcg: Add SIGRTMIN/SIGRTMAX test
Test the lowest and the highest real-time signals. This requires configuring the real-time signal mapping, and therefore some knowledge about the host. To this end, pass the emulator path in the QEMU environment variable to all tests (this should not disturb the existing ones), and assume that all hosts have signals 36-39 available.
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com> Message-ID: <20241029232211.206766-3-iii@linux.ibm.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
bb77c68d | 23-Oct-2024 |
Gustavo Romero <gustavo.romero@linaro.org> |
tests/tcg/aarch64: Use raw strings for regexes in test-mte.py
Use Python's raw string notation instead of string literals for regex so it's not necessary to double backslashes when regex special for
tests/tcg/aarch64: Use raw strings for regexes in test-mte.py
Use Python's raw string notation instead of string literals for regex so it's not necessary to double backslashes when regex special forms are used. Raw notation is preferred for regex and easier to read.
Signed-off-by: Gustavo Romero <gustavo.romero@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-Id: <20241015140806.385449-1-gustavo.romero@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20241023113406.1284676-15-alex.bennee@linaro.org>
show more ...
|
ecbcc9ea | 16-Sep-2024 |
Alex Bennée <alex.bennee@linaro.org> |
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
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>
show more ...
|
3b2899e3 | 16-Sep-2024 |
Alex Bennée <alex.bennee@linaro.org> |
tests/tcg: ensure s390x-softmmu output redirected
The multiarch system tests output serial data which should be redirected to the "output" chardev rather than echoed to the console.
Comment the use
tests/tcg: ensure s390x-softmmu output redirected
The multiarch system tests output serial data which should be redirected to the "output" chardev rather than echoed to the console.
Comment the use of EXTFLAGS variable while we are at it.
Acked-by: Ilya Leoshkevich <iii@linux.ibm.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20240916085400.1046925-13-alex.bennee@linaro.org>
show more ...
|
aa5584b5 | 16-Sep-2024 |
Alex Bennée <alex.bennee@linaro.org> |
tests/tcg: only read/write 64 bit words on 64 bit systems
While the compilers will generally happily synthesise a 64 bit value for you on 32 bit systems it doesn't exercise anything on QEMU. It also
tests/tcg: only read/write 64 bit words on 64 bit systems
While the compilers will generally happily synthesise a 64 bit value for you on 32 bit systems it doesn't exercise anything on QEMU. It also makes it hard to accurately compare the accesses to test_data when instrumenting.
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20240916085400.1046925-12-alex.bennee@linaro.org>
show more ...
|
34f29c6c | 16-Sep-2024 |
Alex Bennée <alex.bennee@linaro.org> |
tests/tcg: clean up output of memory system test
This is useful information when debugging memory issues so lets improve by:
- include the ptr address for u8 fills (like the others) - indicate
tests/tcg: clean up output of memory system test
This is useful information when debugging memory issues so lets improve by:
- include the ptr address for u8 fills (like the others) - indicate the number of operations for reads and writes - explicitly note when we are flushing - move the fill printf to after the reset
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20240916085400.1046925-11-alex.bennee@linaro.org>
show more ...
|
354b5c19 | 16-Sep-2024 |
Pierrick Bouvier <pierrick.bouvier@linaro.org> |
tests/tcg/multiarch: add test for plugin memory access
Add an explicit test to check expected memory values are read/written. 8,16,32 load/store are tested for all arch. 64,128 load/store are tested
tests/tcg/multiarch: add test for plugin memory access
Add an explicit test to check expected memory values are read/written. 8,16,32 load/store are tested for all arch. 64,128 load/store are tested for aarch64/x64. atomic operations (8,16,32,64) are tested for x64 only.
By default, atomic accesses are non atomic if a single cpu is running, so we force creation of a second one by creating a new thread first.
load/store helpers code path can't be triggered easily in user mode (no softmmu), so we can't test it here.
Output of test-plugin-mem-access.c is the list of expected patterns in plugin output. By reading stdout, we can compare to plugins output and have a multiarch test.
Can be run with: make -C build/tests/tcg/$ARCH-linux-user run-plugin-test-plugin-mem-access-with-libmem.so
Tested-by: Xingtao Yao <yaoxt.fnst@fujitsu.com> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20240910172033.1427812-7-pierrick.bouvier@linaro.org> Message-Id: <20240916085400.1046925-10-alex.bennee@linaro.org>
show more ...
|
7fd9ff76 | 16-Sep-2024 |
Pierrick Bouvier <pierrick.bouvier@linaro.org> |
tests/tcg/plugins/mem: add option to print memory accesses
By using "print-accesses=true" option, mem plugin will now print every value accessed, with associated size, type (store vs load), symbol,
tests/tcg/plugins/mem: add option to print memory accesses
By using "print-accesses=true" option, mem plugin will now print every value accessed, with associated size, type (store vs load), symbol, instruction address and phys/virt address accessed.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Xingtao Yao <yaoxt.fnst@fujitsu.com> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Message-Id: <20240724194708.1843704-6-pierrick.bouvier@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20240916085400.1046925-9-alex.bennee@linaro.org>
show more ...
|
8856bd26 | 16-Sep-2024 |
Pierrick Bouvier <pierrick.bouvier@linaro.org> |
tests/tcg: allow to check output of plugins
A specific plugin test can now read and check a plugin output, to ensure it contains expected values.
Tested-by: Xingtao Yao <yaoxt.fnst@fujitsu.com> Rev
tests/tcg: allow to check output of plugins
A specific plugin test can now read and check a plugin output, to ensure it contains expected values.
Tested-by: Xingtao Yao <yaoxt.fnst@fujitsu.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Message-Id: <20240724194708.1843704-5-pierrick.bouvier@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20240916085400.1046925-8-alex.bennee@linaro.org>
show more ...
|
0024b62a | 24-Jul-2024 |
Philippe Mathieu-Daudé <philmd@linaro.org> |
tests/tcg: Remove CRIS bare test files
We are going to remove the CRIS target.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Ric
tests/tcg: Remove CRIS bare test files
We are going to remove the CRIS target.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Acked-by: Edgar E. Iglesias <edgar.iglesias@amd.com> Message-ID: <20240904143603.52934-3-philmd@linaro.org>
show more ...
|
06dd94e8 | 10-Sep-2024 |
Gustavo Romero <gustavo.romero@linaro.org> |
tests/tcg/aarch64: Extend MTE gdbstub tests to system mode
Extend MTE gdbstub tests to also run in system mode (share tests between user mode and system mode). The tests will only run if a version o
tests/tcg/aarch64: Extend MTE gdbstub tests to system mode
Extend MTE gdbstub tests to also run in system mode (share tests between user mode and system mode). The tests will only run if a version of GDB that supports MTE on baremetal is available in the test environment and if available compiler supports the 'memtag' flag (-march=armv8.5-a+memtag).
For the tests running in system mode, a page that supports MTE ops. is necessary. Therefore, an MTE-enabled page is made available (mapped) in the third 2 MB chunk of the second 1 GB space in the flat mapping set in boot.S. A new binary, mte.S, is also introduced for the tests. It links against boot.S and is executed by QEMU in system mode.
Signed-off-by: Gustavo Romero <gustavo.romero@linaro.org> Message-Id: <20240906143316.657436-6-gustavo.romero@linaro.org> [AJB: fix stray _] Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20240910173900.4154726-11-alex.bennee@linaro.org>
show more ...
|