|
@@ -408,9 +408,10 @@ static inline void simulate_ll(struct pt_regs *regs, unsigned int opcode)
|
|
|
|
|
|
preempt_enable();
|
|
|
|
|
|
+ compute_return_epc(regs);
|
|
|
+
|
|
|
regs->regs[(opcode & RT) >> 16] = value;
|
|
|
|
|
|
- compute_return_epc(regs);
|
|
|
return;
|
|
|
|
|
|
sig:
|
|
@@ -459,9 +460,9 @@ static inline void simulate_sc(struct pt_regs *regs, unsigned int opcode)
|
|
|
goto sig;
|
|
|
}
|
|
|
|
|
|
+ compute_return_epc(regs);
|
|
|
regs->regs[reg] = 1;
|
|
|
|
|
|
- compute_return_epc(regs);
|
|
|
return;
|
|
|
|
|
|
sig:
|