@@ -234,7 +234,7 @@ static int emulate_ldd(struct pt_regs *regs, int toreg, int flop)
234234
235235static int emulate_sth (struct pt_regs * regs , int frreg )
236236{
237- unsigned long val = regs -> gr [frreg ];
237+ unsigned long val = regs -> gr [frreg ], temp1 ;
238238 ASM_EXCEPTIONTABLE_VAR (ret );
239239
240240 if (!frreg )
@@ -244,16 +244,15 @@ static int emulate_sth(struct pt_regs *regs, int frreg)
244244 val , regs -> isr , regs -> ior );
245245
246246 __asm__ __volatile__ (
247- " mtsp %3 , %%sr1\n"
248- " extrw,u %1 , 23, 8, %%r19 \n"
249- "1: stb %1, 1 (%%sr1, %2 )\n"
250- "2: stb %%r19, 0 (%%sr1, %2 )\n"
247+ " mtsp %4 , %%sr1\n"
248+ " extrw,u %2 , 23, 8, %1 \n"
249+ "1: stb %1, 0 (%%sr1, %3 )\n"
250+ "2: stb %2, 1 (%%sr1, %3 )\n"
251251"3: \n"
252252 ASM_EXCEPTIONTABLE_ENTRY_EFAULT (1b , 3b )
253253 ASM_EXCEPTIONTABLE_ENTRY_EFAULT (2b , 3b )
254- : "+ r " (ret)
255- : " r " (val), " r " (regs->ior), " r " (regs->isr)
256- : " r19 " );
254+ : "+r" (ret ), "=&r" (temp1 )
255+ : "r" (val ), "r" (regs -> ior ), "r" (regs -> isr ) );
257256
258257 return ret ;
259258}
0 commit comments