aboutsummaryrefslogtreecommitdiff
path: root/target-i386
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2004-03-20 22:04:16 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2004-03-20 22:04:16 +0000
commit4afa64828b9a310f0348b430b9597e1cc6364760 (patch)
tree31dabd074ca52d5386af86d59016d81a8fec63cb /target-i386
parentc45c3d0059d738c856fc730ee2e51bf5868815e1 (diff)
fixed protected lret imm insn (one more OS/2 fix)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@673 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-i386')
-rw-r--r--target-i386/helper.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/target-i386/helper.c b/target-i386/helper.c
index 9bd1158b06..6fc136763a 100644
--- a/target-i386/helper.c
+++ b/target-i386/helper.c
@@ -1705,6 +1705,8 @@ static inline void helper_ret_protected(int shift, int is_iret, int addend)
validate_seg(R_DS, cpl);
validate_seg(R_FS, cpl);
validate_seg(R_GS, cpl);
+
+ sp += addend;
}
ESP = (ESP & ~sp_mask) | (sp & sp_mask);
env->eip = new_eip;