ia64/xen-unstable

changeset 13829:f9384402bc1e

minios: Fix ret_from_exception routine. Stack consistency is now preserved.
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