Signed-off-by: Pierrick Bouvier <[email protected]>
---
tests/tcg/loongarch64/meson.build | 2 +
tests/tcg/loongarch64/system/meson.build | 47 ++++++++++++++++++++++++
2 files changed, 49 insertions(+)
create mode 100644 tests/tcg/loongarch64/system/meson.build
diff --git a/tests/tcg/loongarch64/meson.build
b/tests/tcg/loongarch64/meson.build
index 209179fd96c..1d62de64ed6 100644
--- a/tests/tcg/loongarch64/meson.build
+++ b/tests/tcg/loongarch64/meson.build
@@ -2,6 +2,8 @@ cc = 'loongarch64-unknown-linux-gnu-gcc'
cc_dockerfile = 'debian-loongarch-cross'
cc_docker_host_arch = ['x86_64']
+subdir('system')
+
tests = []
tests += tcg_tests['multiarch-linux-user']['tests']
diff --git a/tests/tcg/loongarch64/system/meson.build
b/tests/tcg/loongarch64/system/meson.build
new file mode 100644
index 00000000000..b46d2234032
--- /dev/null
+++ b/tests/tcg/loongarch64/system/meson.build
@@ -0,0 +1,47 @@
+tests = []
+
+minilib_dir = meson.current_source_dir() / '..' / '..' / 'minilib'
+minilib_printf = files(minilib_dir / 'printf.c')[0]
+link_script = files('kernel.ld')[0]
+boot = files('boot.S')[0]
+cflags = ['-nostdlib',
+ '-Wa,--noexecstack',
+ '-I', minilib_dir, minilib_printf, boot,
+ '-Wl,-T', link_script,
+ '-march=loongarch64',
+ '-mabi=lp64d',
+ '-Wl,--no-warn-rwx-segments',
+ '-lgcc']
+qemu_def_args = ['-display', 'none',
+ '-serial', 'stdio',
+ '-kernel']
+
+# Multi arch tests
+multi_src = []
+foreach t: tcg_tests['multiarch-softmmu']['tests']
+ foreach src, setup: t
+ new_cflags = cflags
+ if fs.stem(src) == 'memory'
+ new_cflags += '-DCHECK_UNALIGNED=0'
+ endif
+ if src not in multi_src
+ setup += {'cflags': [new_cflags]}
+ multi_src += src
+ endif
+ tests += {src: setup + {'qemu_args': qemu_def_args}}
+ endforeach
+endforeach
+
+if 'qemu-system-loongarch64' in emulators
+ tcg_tests += {
+ 'loongarch64-softmmu': {
+ 'cc': cc,
+ 'cc_dockerfile': cc_dockerfile,
+ 'cc_docker_host_arch': cc_docker_host_arch,
+ 'folder': 'loongarch64/system',
+ 'gdb_arch': 'loongarch64',
+ 'qemu': emulators['qemu-system-loongarch64'],
+ 'tests': tests,
+ }
+ }
+endif
--
2.47.3