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