aboutsummaryrefslogtreecommitdiffstats
path: root/arch/parisc/kernel/real2.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/parisc/kernel/real2.S')
-rw-r--r--arch/parisc/kernel/real2.S13
1 files changed, 7 insertions, 6 deletions
diff --git a/arch/parisc/kernel/real2.S b/arch/parisc/kernel/real2.S
index 7a92695d95a6..47fbdae6efd5 100644
--- a/arch/parisc/kernel/real2.S
+++ b/arch/parisc/kernel/real2.S
@@ -12,6 +12,7 @@
12#include <asm/assembly.h> 12#include <asm/assembly.h>
13 13
14#include <linux/linkage.h> 14#include <linux/linkage.h>
15#include <linux/init.h>
15 16
16 .section .bss 17 .section .bss
17 .export real_stack 18 .export real_stack
@@ -39,7 +40,7 @@ save_cr_end:
39/************************ 32-bit real-mode calls ***********************/ 40/************************ 32-bit real-mode calls ***********************/
40/* This can be called in both narrow and wide kernels */ 41/* This can be called in both narrow and wide kernels */
41 42
42 .text 43 __HEAD
43 44
44 /* unsigned long real32_call_asm(unsigned int *sp, 45 /* unsigned long real32_call_asm(unsigned int *sp,
45 * unsigned int *arg0p, 46 * unsigned int *arg0p,
@@ -113,7 +114,7 @@ ENDPROC(real32_call_asm)
113# define PUSH_CR(r, where) mfctl r, %r1 ! STREG,ma %r1, REG_SZ(where) 114# define PUSH_CR(r, where) mfctl r, %r1 ! STREG,ma %r1, REG_SZ(where)
114# define POP_CR(r, where) LDREG,mb -REG_SZ(where), %r1 ! mtctl %r1, r 115# define POP_CR(r, where) LDREG,mb -REG_SZ(where), %r1 ! mtctl %r1, r
115 116
116 .text 117 __HEAD
117save_control_regs: 118save_control_regs:
118 load32 PA(save_cr_space), %r28 119 load32 PA(save_cr_space), %r28
119 PUSH_CR(%cr24, %r28) 120 PUSH_CR(%cr24, %r28)
@@ -145,7 +146,7 @@ restore_control_regs:
145/* rfi_virt2real() and rfi_real2virt() could perhaps be adapted for 146/* rfi_virt2real() and rfi_real2virt() could perhaps be adapted for
146 * more general-purpose use by the several places which need RFIs 147 * more general-purpose use by the several places which need RFIs
147 */ 148 */
148 .text 149 __HEAD
149 .align 128 150 .align 128
150rfi_virt2real: 151rfi_virt2real:
151 /* switch to real mode... */ 152 /* switch to real mode... */
@@ -180,7 +181,7 @@ rfi_v2r_1:
180 bv 0(%r2) 181 bv 0(%r2)
181 nop 182 nop
182 183
183 .text 184 __HEAD
184 .align 128 185 .align 128
185rfi_real2virt: 186rfi_real2virt:
186 rsm PSW_SM_I,%r0 187 rsm PSW_SM_I,%r0
@@ -218,7 +219,7 @@ rfi_r2v_1:
218 219
219/************************ 64-bit real-mode calls ***********************/ 220/************************ 64-bit real-mode calls ***********************/
220/* This is only usable in wide kernels right now and will probably stay so */ 221/* This is only usable in wide kernels right now and will probably stay so */
221 .text 222 __HEAD
222 /* unsigned long real64_call_asm(unsigned long *sp, 223 /* unsigned long real64_call_asm(unsigned long *sp,
223 * unsigned long *arg0p, 224 * unsigned long *arg0p,
224 * unsigned long fn) 225 * unsigned long fn)
@@ -276,7 +277,7 @@ ENDPROC(real64_call_asm)
276 277
277#endif 278#endif
278 279
279 .text 280 __HEAD
280 /* http://lists.parisc-linux.org/hypermail/parisc-linux/10916.html 281 /* http://lists.parisc-linux.org/hypermail/parisc-linux/10916.html
281 ** GCC 3.3 and later has a new function in libgcc.a for 282 ** GCC 3.3 and later has a new function in libgcc.a for
282 ** comparing function pointers. 283 ** comparing function pointers.