Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging
[qemu.git] / pc-bios / s390-ccw / start.S
1 /*
2  * First stage boot loader for virtio devices. The compiled output goes
3  * into the pc-bios directory of qemu.
4  *
5  * Copyright (c) 2013 Alexander Graf <agraf@suse.de>
6  * Copyright 2013 IBM Corp.
7  *
8  * This work is licensed under the terms of the GNU GPL, version 2 or (at
9  * your option) any later version. See the COPYING file in the top-level
10  * directory.
11  */
12
13         .globl _start
14 _start:
15
16 larl    %r15, stack + 0x8000    /* Set up stack */
17 larl    %r6, boot_value
18 stg     %r7, 0(%r6)     /* save the boot_value before any function calls */
19 j       main                    /* And call C */
20
21 /*
22  * void disabled_wait(void)
23  *
24  * stops the current guest cpu.
25  */
26         .globl disabled_wait
27 disabled_wait:
28         larl %r1,disabled_wait_psw
29         lpswe   0(%r1)
30
31         .align  8
32 disabled_wait_psw:
33         .quad   0x0002000180000000,0x0000000000000000