2 * sie64a.S - low level sie call
4 * Copyright IBM Corp. 2008
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License (version 2 only)
8 * as published by the Free Software Foundation.
10 * Author(s): Heiko Carstens <heiko.carstens@de.ibm.com>
13 #include <linux/errno.h>
14 #include <asm/asm-offsets.h>
16 SP_R5 = 5 * 8 # offset into stackframe
20 * sie64a calling convention:
21 * %r2 pointer to sie control block
22 * %r3 guest register save area
27 stmg %r5,%r14,SP_R5(%r15) # save register on entry
28 lgr %r14,%r2 # pointer to sie control block
29 lmg %r0,%r13,0(%r3) # load guest gprs 0-13
33 stmg %r0,%r13,0(%r14) # save guest gprs 0-13
35 lmg %r6,%r14,SP_R6(%r15)
40 stmg %r0,%r13,0(%r14) # save guest gprs 0-13
42 lmg %r6,%r14,SP_R6(%r15)
45 .section __ex_table,"a"
46 .quad sie_inst,sie_err