diff options
Diffstat (limited to 'arch/sh/include/asm/system_32.h')
-rw-r--r-- | arch/sh/include/asm/system_32.h | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/arch/sh/include/asm/system_32.h b/arch/sh/include/asm/system_32.h index 51296b36770..c941b273940 100644 --- a/arch/sh/include/asm/system_32.h +++ b/arch/sh/include/asm/system_32.h | |||
@@ -212,17 +212,16 @@ static inline reg_size_t register_align(void *val) | |||
212 | } | 212 | } |
213 | 213 | ||
214 | int handle_unaligned_access(insn_size_t instruction, struct pt_regs *regs, | 214 | int handle_unaligned_access(insn_size_t instruction, struct pt_regs *regs, |
215 | struct mem_access *ma, int); | 215 | struct mem_access *ma, int, unsigned long address); |
216 | 216 | ||
217 | static inline void trigger_address_error(void) | 217 | static inline void trigger_address_error(void) |
218 | { | 218 | { |
219 | if (__in_29bit_mode()) | 219 | __asm__ __volatile__ ( |
220 | __asm__ __volatile__ ( | 220 | "ldc %0, sr\n\t" |
221 | "ldc %0, sr\n\t" | 221 | "mov.l @%1, %0" |
222 | "mov.l @%1, %0" | 222 | : |
223 | : | 223 | : "r" (0x10000000), "r" (0x80000001) |
224 | : "r" (0x10000000), "r" (0x80000001) | 224 | ); |
225 | ); | ||
226 | } | 225 | } |
227 | 226 | ||
228 | asmlinkage void do_address_error(struct pt_regs *regs, | 227 | asmlinkage void do_address_error(struct pt_regs *regs, |