diff options
author | Ilya Leoshkevich <iii@linux.ibm.com> | 2023-05-11 13:46:51 +0200 |
---|---|---|
committer | Thomas Huth <thuth@redhat.com> | 2023-05-16 09:14:18 +0200 |
commit | c2485ea402449dd19d51b2d7db7060afb2330b79 (patch) | |
tree | 661db3ac46d31870b788f137c48c2fc9c04abcbe /tests/tcg/s390x/head64.S | |
parent | f8d7c90f836370d2a0c8fee8e6c43d49d35ad770 (diff) | |
download | qemu-c2485ea402449dd19d51b2d7db7060afb2330b79.zip qemu-c2485ea402449dd19d51b2d7db7060afb2330b79.tar.gz qemu-c2485ea402449dd19d51b2d7db7060afb2330b79.tar.bz2 |
tests/tcg/s390x: Enable the multiarch system tests
Multiarch tests are written in C and need support for printing
characters. Instead of implementing the runtime from scratch, just
reuse the pc-bios/s390-ccw one.
Run tests with -nographic in order to enable SCLP (enable this for
the existing tests as well, since it does not hurt).
Use the default linker script for the new tests.
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20230511114651.439872-3-iii@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Diffstat (limited to 'tests/tcg/s390x/head64.S')
-rw-r--r-- | tests/tcg/s390x/head64.S | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/tcg/s390x/head64.S b/tests/tcg/s390x/head64.S new file mode 100644 index 0000000..c6f36df --- /dev/null +++ b/tests/tcg/s390x/head64.S @@ -0,0 +1,31 @@ +/* + * Startup code for multiarch tests. + * Reuses the pc-bios/s390-ccw implementation. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ +#define main main_pre +#include "../../../pc-bios/s390-ccw/start.S" +#undef main + +main_pre: + aghi %r15,-160 /* reserve stack for C code */ + brasl %r14,sclp_setup + brasl %r14,main + larl %r1,success_psw /* check main() return code */ + ltgr %r2,%r2 + je 0f + larl %r1,failure_psw +0: + lpswe 0(%r1) + + .align 8 +success_psw: + .quad 0x2000180000000,0xfff /* see is_special_wait_psw() */ +failure_psw: + .quad 0x2000180000000,0 /* disabled wait */ + + .section .bss + .align 0x1000 +stack: + .skip 0x8000 |