summaryrefslogtreecommitdiff
path: root/target-sparc
diff options
context:
space:
mode:
authorblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>2007-05-07 17:01:15 +0000
committerblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>2007-05-07 17:01:15 +0000
commit2371aaa295bbbdf4930e481828db5ab636f49aff (patch)
tree189100733ca6ddc89b17df21662e03027a0b4c73 /target-sparc
parent5a5012ecbdcd341bb1d2e8200db91f6212aa44df (diff)
downloadqemu-2371aaa295bbbdf4930e481828db5ab636f49aff.zip
Fix pc/npc for unaligned load/stores, maybe other exceptions
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2780 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-sparc')
-rw-r--r--target-sparc/translate.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/target-sparc/translate.c b/target-sparc/translate.c
index 4b8b3d261d..c5eefad4ef 100644
--- a/target-sparc/translate.c
+++ b/target-sparc/translate.c
@@ -2776,6 +2776,7 @@ static void disas_sparc_insn(DisasContext * dc)
{
unsigned int xop = GET_FIELD(insn, 7, 12);
rs1 = GET_FIELD(insn, 13, 17);
+ save_state(dc);
gen_movl_reg_T0(rs1);
if (IS_IMM) { /* immediate */
rs2 = GET_FIELDs(insn, 19, 31);