mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 08:14:15 +08:00
[ARM] 3499/1: Fix VFP FPSCR corruption for double exception case
Patch from George G. Davis The ARM VFP FPSCR register is corrupted when a condition flags modifying VFP instruction is followed by a non-condition flags modifying VFP instruction and both instructions raise exceptions. The fix is to read the current FPSCR in between emulation of these two instructions and use the current FPSCR value when handling the second exception. Signed-off-by: George G. Davis <gdavis@mvista.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
2eb9d31571
commit
b7d7ef87e1
@ -245,7 +245,7 @@ void VFP9_bounce(u32 trigger, u32 fpexc, struct pt_regs *regs)
|
||||
*/
|
||||
barrier();
|
||||
trigger = fmrx(FPINST2);
|
||||
fpscr = fmrx(FPSCR);
|
||||
orig_fpscr = fpscr = fmrx(FPSCR);
|
||||
|
||||
emulate:
|
||||
exceptions = vfp_emulate_instruction(trigger, fpscr, regs);
|
||||
|
Loading…
Reference in New Issue
Block a user