aboutsummaryrefslogtreecommitdiffstats
path: root/extras/mini-os/arch
diff options
context:
space:
mode:
authorawilliam@xenbuild2.aw <awilliam@xenbuild2.aw>2007-02-04 12:24:53 -0700
committerawilliam@xenbuild2.aw <awilliam@xenbuild2.aw>2007-02-04 12:24:53 -0700
commita6e547a2371e9ceeb2aeb6cf9733f73edb411684 (patch)
treed2d7cd9d69b8ff5fbbf7f3489ddb82755882c68e /extras/mini-os/arch
parentc4c9842abd9d1a40956ee11433244ff4f73055c1 (diff)
parentec48ab815b556a8f0a2ba9c5287b13fd4cf39607 (diff)
downloadxen-a6e547a2371e9ceeb2aeb6cf9733f73edb411684.tar.gz
xen-a6e547a2371e9ceeb2aeb6cf9733f73edb411684.tar.bz2
xen-a6e547a2371e9ceeb2aeb6cf9733f73edb411684.zip
merge with xen-unstable.hg
Diffstat (limited to 'extras/mini-os/arch')
-rw-r--r--extras/mini-os/arch/x86/x86_32.S9
1 files changed, 4 insertions, 5 deletions
diff --git a/extras/mini-os/arch/x86/x86_32.S b/extras/mini-os/arch/x86/x86_32.S
index 46fce169ca..b10bc23401 100644
--- a/extras/mini-os/arch/x86/x86_32.S
+++ b/extras/mini-os/arch/x86/x86_32.S
@@ -69,7 +69,7 @@ CS = 0x2C
popl %ds; \
popl %es; \
addl $4,%esp; \
- iret; \
+ iret;
ENTRY(divide_error)
pushl $0 # no error code
@@ -101,10 +101,9 @@ do_exception:
jmp ret_from_exception
ret_from_exception:
- movb CS(%esp),%cl
- test $2,%cl # slow return to ring 2 or 3
- jne safesti
- RESTORE_ALL
+ movb CS(%esp),%cl
+ addl $8,%esp
+ RESTORE_ALL
# A note on the "critical region" in our callback handler.
# We want to avoid stacking callback handlers due to events occurring