提交 6dd04688 编写于 作者: R Ralf Baechle

When simulating ll/sc compute the return EPC before modifying the

registers.
Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
上级 ac5d8c02
......@@ -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:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册