1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Copyright IBM Corp 2000, 2011
4 * Author(s): Holger Smolinski <Holger.Smolinski@de.ibm.com>,
8 #include <linux/linkage.h>
9 #include <asm/asm-offsets.h>
13 # Issue "store status" for the current CPU to its prefix page
14 # and call passed function afterwards
16 # r2 = Function to be called after store status
17 # r3 = Parameter for function
20 /* Save register one and load save area base */
21 stg %r1,__LC_SAVE_AREA_RESTART
22 /* General purpose registers */
23 lghi %r1,__LC_GPREGS_SAVE_AREA
25 mvc 8(8,%r1),__LC_SAVE_AREA_RESTART
26 /* Control registers */
27 lghi %r1,__LC_CREGS_SAVE_AREA
29 /* Access registers */
30 lghi %r1,__LC_AREGS_SAVE_AREA
32 /* Floating point registers */
33 lghi %r1,__LC_FPREGS_SAVE_AREA
50 /* Floating point control register */
51 lghi %r1,__LC_FP_CREG_SAVE_AREA
54 lghi %r1,__LC_CPU_TIMER_SAVE_AREA
56 /* Store prefix register */
57 lghi %r1,__LC_PREFIX_SAVE_AREA
59 /* Clock comparator - seven bytes */
60 lghi %r1,__LC_CLOCK_COMP_SAVE_AREA
64 /* Program status word */
65 lghi %r1,__LC_PSW_SAVE_AREA
76 .Lclkcmp: .quad 0x0000000000000000