direct-io.hg
changeset 13793:f9384402bc1e
minios: Fix ret_from_exception routine. Stack consistency is now preserved.
Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
author | kfraser@localhost.localdomain |
---|---|
date | Fri Feb 02 15:30:49 2007 +0000 (2007-02-02) |
parents | 5c6f94192698 |
children | ed68ca4368fa |
files | extras/mini-os/arch/x86/x86_32.S |
line diff
1.1 --- a/extras/mini-os/arch/x86/x86_32.S Fri Feb 02 14:32:48 2007 +0000 1.2 +++ b/extras/mini-os/arch/x86/x86_32.S Fri Feb 02 15:30:49 2007 +0000 1.3 @@ -69,7 +69,7 @@ CS = 0x2C 1.4 popl %ds; \ 1.5 popl %es; \ 1.6 addl $4,%esp; \ 1.7 - iret; \ 1.8 + iret; 1.9 1.10 ENTRY(divide_error) 1.11 pushl $0 # no error code 1.12 @@ -101,10 +101,9 @@ do_exception: 1.13 jmp ret_from_exception 1.14 1.15 ret_from_exception: 1.16 - movb CS(%esp),%cl 1.17 - test $2,%cl # slow return to ring 2 or 3 1.18 - jne safesti 1.19 - RESTORE_ALL 1.20 + movb CS(%esp),%cl 1.21 + addl $8,%esp 1.22 + RESTORE_ALL 1.23 1.24 # A note on the "critical region" in our callback handler. 1.25 # We want to avoid stacking callback handlers due to events occurring