aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/include/asm/system_32.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sh/include/asm/system_32.h')
-rw-r--r--arch/sh/include/asm/system_32.h15
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
214int handle_unaligned_access(insn_size_t instruction, struct pt_regs *regs, 214int 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
217static inline void trigger_address_error(void) 217static 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
228asmlinkage void do_address_error(struct pt_regs *regs, 227asmlinkage void do_address_error(struct pt_regs *regs,