2727/*
2828 * int _diag14_amode31(unsigned long rx, unsigned long ry1, unsigned long subcode)
2929 */
30- ENTRY (_diag14_amode31)
30+ SYM_FUNC_START (_diag14_amode31)
3131 lgr %r1,%r2
3232 lgr %r2,%r3
3333 lgr %r3,%r4
@@ -42,12 +42,12 @@ ENTRY(_diag14_amode31)
4242 lgfr %r2,%r5
4343 BR_EX_AMODE31_r14
4444 EX_TABLE_AMODE31(.Ldiag14_ex, .Ldiag14_fault)
45- ENDPROC (_diag14_amode31)
45+ SYM_FUNC_END (_diag14_amode31)
4646
4747/*
4848 * int _diag210_amode31(struct diag210 *addr)
4949 */
50- ENTRY (_diag210_amode31)
50+ SYM_FUNC_START (_diag210_amode31)
5151 lgr %r1,%r2
5252 lhi %r2,-1
5353 sam31
@@ -60,12 +60,12 @@ ENTRY(_diag210_amode31)
6060 lgfr %r2,%r2
6161 BR_EX_AMODE31_r14
6262 EX_TABLE_AMODE31(.Ldiag210_ex, .Ldiag210_fault)
63- ENDPROC (_diag210_amode31)
63+ SYM_FUNC_END (_diag210_amode31)
6464
6565/*
6666 * int diag8c(struct diag8c *addr, struct ccw_dev_id *devno, size_t len)
6767*/
68- ENTRY (_diag8c_amode31)
68+ SYM_FUNC_START (_diag8c_amode31)
6969 llgf %r3,0 (%r3)
7070 sam31
7171 diag %r2,%r4,0x8c
@@ -74,11 +74,11 @@ ENTRY(_diag8c_amode31)
7474 lgfr %r2,%r3
7575 BR_EX_AMODE31_r14
7676 EX_TABLE_AMODE31(.Ldiag8c_ex, .Ldiag8c_ex)
77- ENDPROC (_diag8c_amode31)
77+ SYM_FUNC_END (_diag8c_amode31)
7878/*
7979 * int _diag26c_amode31(void *req, void *resp, enum diag26c_sc subcode)
8080 */
81- ENTRY (_diag26c_amode31)
81+ SYM_FUNC_START (_diag26c_amode31)
8282 lghi %r5,-EOPNOTSUPP
8383 sam31
8484 diag %r2,%r4,0x26c
@@ -87,42 +87,42 @@ ENTRY(_diag26c_amode31)
8787 lgfr %r2,%r5
8888 BR_EX_AMODE31_r14
8989 EX_TABLE_AMODE31(.Ldiag26c_ex, .Ldiag26c_ex)
90- ENDPROC (_diag26c_amode31)
90+ SYM_FUNC_END (_diag26c_amode31)
9191
9292/*
9393 * void _diag0c_amode31(struct hypfs_diag0c_entry *entry)
9494 */
95- ENTRY (_diag0c_amode31)
95+ SYM_FUNC_START (_diag0c_amode31)
9696 sam31
9797 diag %r2,%r2,0x0c
9898 sam64
9999 BR_EX_AMODE31_r14
100- ENDPROC (_diag0c_amode31)
100+ SYM_FUNC_END (_diag0c_amode31)
101101
102102/*
103103 * void _diag308_reset_amode31(void)
104104 *
105105 * Calls diag 308 subcode 1 and continues execution
106106 */
107- ENTRY (_diag308_reset_amode31)
108- larl %r4,.Lctlregs # Save control registers
107+ SYM_FUNC_START (_diag308_reset_amode31)
108+ larl %r4,ctlregs # Save control registers
109109 stctg %c0,%c15,0 (%r4)
110110 lg %r2,0 (%r4) # Disable lowcore protection
111111 nilh %r2,0xefff
112- larl %r4,.Lctlreg0
112+ larl %r4,ctlreg0
113113 stg %r2,0 (%r4)
114114 lctlg %c0,%c0,0 (%r4)
115- larl %r4,.Lfpctl # Floating point control register
115+ larl %r4,fpctl # Floating point control register
116116 stfpc 0 (%r4)
117- larl %r4,.Lprefix # Save prefix register
117+ larl %r4,prefix # Save prefix register
118118 stpx 0 (%r4)
119- larl %r4,.Lprefix_zero # Set prefix register to 0
119+ larl %r4,prefix_zero # Set prefix register to 0
120120 spx 0 (%r4)
121- larl %r4,.Lcontinue_psw # Save PSW flags
121+ larl %r4,continue_psw # Save PSW flags
122122 epsw %r2,%r3
123123 stm %r2,%r3,0 (%r4)
124124 larl %r4,.Lrestart_part2 # Setup restart PSW at absolute 0
125- larl %r3,.Lrestart_diag308_psw
125+ larl %r3,restart_diag308_psw
126126 og %r4,0 (%r3) # Save PSW
127127 lghi %r3,0
128128 sturg %r4,%r3 # Use sturg, because of large pages
@@ -134,39 +134,26 @@ ENTRY(_diag308_reset_amode31)
134134 lhi %r1,2 # Use mode 2 = ESAME (dump)
135135 sigp %r1,%r0,SIGP_SET_ARCHITECTURE # Switch to ESAME mode
136136 sam64 # Switch to 64 bit addressing mode
137- larl %r4,.Lctlregs # Restore control registers
137+ larl %r4,ctlregs # Restore control registers
138138 lctlg %c0,%c15,0 (%r4)
139- larl %r4,.Lfpctl # Restore floating point ctl register
139+ larl %r4,fpctl # Restore floating point ctl register
140140 lfpc 0 (%r4)
141- larl %r4,.Lprefix # Restore prefix register
141+ larl %r4,prefix # Restore prefix register
142142 spx 0 (%r4)
143- larl %r4,.Lcontinue_psw # Restore PSW flags
143+ larl %r4,continue_psw # Restore PSW flags
144144 larl %r2,.Lcontinue
145145 stg %r2,8 (%r4)
146146 lpswe 0 (%r4)
147147.Lcontinue:
148148 BR_EX_AMODE31_r14
149- ENDPROC (_diag308_reset_amode31)
149+ SYM_FUNC_END (_diag308_reset_amode31)
150150
151151 .section .amode31.data,"aw" ,@progbits
152- .align 8
153- .Lrestart_diag308_psw:
154- .long 0x00080000 ,0x80000000
155-
156- .align 8
157- .Lcontinue_psw:
158- .quad 0 ,0
159-
160- .align 8
161- .Lctlreg0:
162- .quad 0
163- .Lctlregs:
164- .rept 16
165- .quad 0
166- .endr
167- .Lfpctl:
168- .long 0
169- .Lprefix:
170- .long 0
171- .Lprefix_zero:
172- .long 0
152+ .balign 8
153+ SYM_DATA_LOCAL (restart_diag308_psw, .long 0x00080000 ,0x80000000 )
154+ SYM_DATA_LOCAL (continue_psw, .quad 0 ,0 )
155+ SYM_DATA_LOCAL (ctlreg0, .quad 0 )
156+ SYM_DATA_LOCAL (ctlregs, .fill 16 ,8 ,0 )
157+ SYM_DATA_LOCAL (fpctl, .long 0 )
158+ SYM_DATA_LOCAL (prefix, .long 0 )
159+ SYM_DATA_LOCAL (prefix_zero, .long 0 )
0 commit comments