[PATCH v7 091/104] tests/tcg/x86_64: user 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/meson.build | 1 + tests/tcg/x86_64/Makefile.target | 40 ---------------- tests/tcg/x86_64/meson.build | 81 ++++++++++++++++++++++++++++++++ 3 files changed, 82 insertions(+), 40 deletions(-) delete mode 100644 tests/tcg/x86_64/Makefile.target create mode 100644 tests/tcg/x86_64/meson.build diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build index 4903947a636..163e0a96753 100644 --- a/tests/tcg/meson.build +++ b/tests/tcg/meson.build @@ -155,6 +155,7 @@ subdir('riscv64') subdir('s390x') subdir('sh4') subdir('tricore') +subdir('x86_64') image_targets = {} exe_targets = [] diff --git a/tests/tcg/x86_64/Makefile.target b/tests/tcg/x86_64/Makefile.target deleted file mode 100644 index 8ed44b08793..00000000000 --- a/tests/tcg/x86_64/Makefile.target +++ /dev/null @@ -1,40 +0,0 @@ -# -*- Mode: makefile -*- -# -# x86_64 tests - included from tests/tcg/Makefile.target -# -# Currently we only build test-x86_64 and test-i386-ssse3 from -# $(SRC_PATH)/tests/tcg/i386/ -# - -#include $(SRC_PATH)/tests/tcg/i386/Makefile.target - -X86_64_TESTS += test-2413 - -ifeq ($(filter %-linux-user, $(TARGET)),$(TARGET)) -X86_64_TESTS += vsyscall -X86_64_TESTS += noexec -X86_64_TESTS += cmpxchg -X86_64_TESTS += adox -X86_64_TESTS += test-1648 -X86_64_TESTS += test-2175 -X86_64_TESTS += cross-modifying-code -X86_64_TESTS += fma -TESTS=$(MULTIARCH_TESTS) $(X86_64_TESTS) #test-x86_64 -else -TESTS=$(MULTIARCH_TESTS) -endif - -adox: CFLAGS=-O2 - -run-test-i386-ssse3: QEMU_OPTS += -cpu max -run-plugin-test-i386-ssse3-%: QEMU_OPTS += -cpu max - -cross-modifying-code: CFLAGS+=-pthread -cross-modifying-code: LDFLAGS+=-pthread - -#test-x86_64: LDFLAGS+=-lm -lc -#test-x86_64: test-i386.c test-i386.h test-i386-shift.h test-i386-muldiv.h -# $(CC) $(CFLAGS) $< -o $@ $(LDFLAGS) - -%: $(SRC_PATH)/tests/tcg/x86_64/%.c - $(CC) $(CFLAGS) $< -o $@ $(LDFLAGS) diff --git a/tests/tcg/x86_64/meson.build b/tests/tcg/x86_64/meson.build new file mode 100644 index 00000000000..9d655a466d4 --- /dev/null +++ b/tests/tcg/x86_64/meson.build @@ -0,0 +1,81 @@ +cc = 'x86_64-linux-gnu-gcc' +cc_dockerfile = 'debian-amd64-cross' +cc_docker_host_arch = ['x86_64'] + +tests = [] + +tests += tcg_tests['multiarch-linux-user']['tests'] + +test_3dnow_h = custom_target('test_3dnow_h', + command: [files('../i386/test-mmx.py'), + files('../i386/x86.csv'), + '@OUTPUT@', + '3DNOW'], + output: 'test-3dnow.h') + +test_avx_h = custom_target('test_avx_h', + command: [files('../i386/test-avx.py'), + files('../i386/x86.csv'), + '@OUTPUT@'], + output: 'test-avx.h') + +test_mmx_h = custom_target('test_mmx_h', + command: [files('../i386/test-mmx.py'), + files('../i386/x86.csv'), + '@OUTPUT@', + 'MMX', 'SSE', 'SSE2', 'SSE3', 'SSSE3'], + output: 'test-mmx.h') + +tests += { + '../i386/test-i386-ssse3.c': {}, + '../i386/test-3dnow.c': { + 'cflags': ['-I', meson.current_build_dir(), + '-masm=intel', '-O'], + 'depends': [test_3dnow_h], + }, + '../i386/test-avx.c': { + 'cflags': ['-I', meson.current_build_dir(), + '-mavx', '-masm=intel', '-O'], + 'depends': [test_avx_h], + }, + '../i386/test-flags.c': {}, + '../i386/test-mmx.c': { + 'cflags': ['-I', meson.current_build_dir(), + '-masm=intel', '-O'], + 'depends': [test_mmx_h], + }, + '../i386/test-i386.c': { + 'cflags': ['-lm', '-lc'], + 'exe_name': 'test-x86_64' + }, + '../i386/test-i386-adcox.c': {'cflags': ['-O2']}, + '../i386/test-i386-bmi2.c': {'cflags': ['-O2', '-fwrapv']}, +} + +tests += { + 'adox.c': {'cflags': ['-O2']}, + 'cmpxchg.c': {}, + 'cross-modifying-code.c': { + 'cflags': ['-pthread', '-Wl,--no-warn-rwx-segments'] + }, + 'fma.c': {}, + 'noexec.c': {}, + 'test-1648.c': {}, + 'test-2175.c': {}, + 'test-2413.c': {}, + 'vsyscall.c': {}, +} + +if 'qemu-x86_64' in emulators + tcg_tests += { + 'x86_64-linux-user': { + 'cc': cc, + 'cc_dockerfile': cc_dockerfile, + 'cc_docker_host_arch': cc_docker_host_arch, + 'folder': 'x86_64', + 'gdb_arch': 'x86_64', + 'qemu': emulators['qemu-x86_64'], + 'tests': tests, + } + } +endif -- 2.43.0