[PATCH v7 081/104] tests/tcg/riscv64: system tests
Pierrick Bouvier <[email protected]>
| Newsgroups | gmane.comp.emulators.qemu |
|---|---|
| Message-ID | <[email protected]> |
Tested-by: Aniket Sahu <[email protected]> Signed-off-by: Pierrick Bouvier <[email protected]> --- tests/tcg/riscv64/Makefile.softmmu-target | 45 ----------------------- tests/tcg/riscv64/meson.build | 2 + tests/tcg/riscv64/system/meson.build | 39 ++++++++++++++++++++ 3 files changed, 41 insertions(+), 45 deletions(-) delete mode 100644 tests/tcg/riscv64/Makefile.softmmu-target create mode 100644 tests/tcg/riscv64/system/meson.build diff --git a/tests/tcg/riscv64/Makefile.softmmu-target b/tests/tcg/riscv64/Makefile.softmmu-target deleted file mode 100644 index 82be8a2c915..00000000000 --- a/tests/tcg/riscv64/Makefile.softmmu-target +++ /dev/null @@ -1,45 +0,0 @@ -# -# RISC-V system tests -# - -TEST_SRC = $(SRC_PATH)/tests/tcg/riscv64 -VPATH += $(TEST_SRC) - -LINK_SCRIPT = $(TEST_SRC)/semihost.ld -LDFLAGS = -T $(LINK_SCRIPT) -CFLAGS += -g -Og - -%.o: %.S - $(CC) $(CFLAGS) $< -Wa,--noexecstack -c -o $@ -%: %.o $(LINK_SCRIPT) - $(LD) $(LDFLAGS) $< -o $@ - -QEMU_OPTS += -M virt -display none -semihosting -device loader,file= - -EXTRA_RUNS += run-issue1060 -run-issue1060: issue1060 - $(call run-test, $<, $(QEMU) $(QEMU_OPTS)$<) - -EXTRA_RUNS += run-test-mepc-masking -run-test-mepc-masking: test-mepc-masking - $(call run-test, $<, $(QEMU) $(QEMU_OPTS)$<) - -EXTRA_RUNS += run-plugin-doubletrap -run-plugin-doubletrap: doubletrap - $(call run-test, $<, \ - $(QEMU) -plugin ../plugins/libdiscons.so -d plugin -D $<.pout \ - $(QEMU_OPTS)$<) - -EXTRA_RUNS += run-plugin-interruptedmemory -run-plugin-interruptedmemory: interruptedmemory - $(call run-test, $<, \ - $(QEMU) -plugin ../plugins/libdiscons.so -d plugin -D $<.pout \ - $(QEMU_OPTS)$<) - -EXTRA_RUNS += run-test-crc32 -comma:= , -run-test-crc32: test-crc32 - $(call run-test, $<, $(QEMU) -cpu rv64$(comma)xlrbr=true $(QEMU_OPTS)$<) - -# We don't currently support the multiarch system tests -undefine MULTIARCH_TESTS diff --git a/tests/tcg/riscv64/meson.build b/tests/tcg/riscv64/meson.build index b5f574c1377..2292bf8ed1b 100644 --- a/tests/tcg/riscv64/meson.build +++ b/tests/tcg/riscv64/meson.build @@ -2,6 +2,8 @@ cc = 'riscv64-linux-gnu-gcc' cc_dockerfile = 'debian-all-test-cross' cc_docker_host_arch = ['aarch64', 'x86_64'] +subdir('system') + tests = [] # Multi arch tests diff --git a/tests/tcg/riscv64/system/meson.build b/tests/tcg/riscv64/system/meson.build new file mode 100644 index 00000000000..40e5a1373a1 --- /dev/null +++ b/tests/tcg/riscv64/system/meson.build @@ -0,0 +1,39 @@ +tests = [] + +# Multi arch tests are not supported +# tests += tcg_tests['multiarch-softmmu']['tests'] + +link_script = files('../semihost.ld')[0] +cflags = ['-nostdlib', + '-ffreestanding', + '-Wa,--noexecstack', + '-Wl,-T', link_script] +qemu_args = ['-M', 'virt', + '-display', 'none', + '-serial', 'stdio', + '-semihosting', + '-bios'] + +setup = {'cflags': cflags, 'qemu_args': qemu_args} + +tests += { + 'doubletrap.S': setup + {'plugin_test': {'plugin': 'discons'}}, + 'interruptedmemory.S': setup + {'plugin_test': {'plugin': 'discons'}}, + 'issue1060.S': setup, + 'test-mepc-masking.S': setup, + 'test-crc32.S': setup + {'qemu_args': ['-cpu', 'rv64,xlrbr=true', qemu_args]}, +} + +if 'qemu-system-riscv64' in emulators + tcg_tests += { + 'riscv64-softmmu': { + 'cc': cc, + 'cc_dockerfile': cc_dockerfile, + 'cc_docker_host_arch': cc_docker_host_arch, + 'folder': 'riscv64', + 'gdb_arch': 'riscv64', + 'qemu': emulators['qemu-system-riscv64'], + 'tests': tests, + } + } +endif -- 2.43.0