target-sparc: Introduce cpu_raise_exception_ra
Several helpers call helper_raise_exception directly, which requires in turn that their callers have performed save_state. The new function allows a TCG return address to be passed in so that we can restore PC + NPC + flags data from that. This fixes a bug in the usage of helper_check_align, whose callers had not been calling save_state. It fixes another bug in which the divide helpers used GETPC at a level other than the direct callee from TCG. This allows the translator to avoid save_state prior to SAVE, RESTORE, and FLUSHW instructions. Tested-by:Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Signed-off-by:
Richard Henderson <rth@twiddle.net>
Showing
- target-sparc/cpu.h 1 addition, 0 deletionstarget-sparc/cpu.h
- target-sparc/helper.c 23 additions, 29 deletionstarget-sparc/helper.c
- target-sparc/ldst_helper.c 39 additions, 46 deletionstarget-sparc/ldst_helper.c
- target-sparc/translate.c 0 additions, 3 deletionstarget-sparc/translate.c
- target-sparc/win_helper.c 19 additions, 18 deletionstarget-sparc/win_helper.c
Loading
Please register or sign in to comment