master
s 28 lines 664 Bytes
Raw
1 /*
2 * Startup code for multiarch tests.
3 * Reuses the pc-bios/s390-ccw implementation.
4 *
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 */
7 #define main main_pre
8 #include "../../../pc-bios/s390-ccw/start.S"
9 #undef main
10
11 .text
12
13 main_pre:
14 aghi %r15,-160 /* reserve stack for C code */
15 brasl %r14,sclp_setup
16 brasl %r14,main
17 larl %r1,success_psw /* check main() return code */
18 ltgr %r2,%r2
19 je 0f
20 larl %r1,failure_psw
21 0:
22 lpswe 0(%r1)
23
24 .align 8
25 success_psw:
26 .quad 0x2000180000000,0xfff /* see is_special_wait_psw() */
27 failure_psw:
28 .quad 0x2000180000000,0 /* disabled wait */