qemu/tests/tcg/s390x/head64.S
Ilya Leoshkevich c2485ea402 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>
2023-05-16 09:14:18 +02:00

32 lines
718 B
ArmAsm

/*
* 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