debuggers.hg

diff xen/arch/x86/x86_32/entry.S @ 2955:4a610e420c0d

bitkeeper revision 1.1159.170.2 (418fc0cbyeYILYK3WoFh0bVv3e_-KA)

Allow users of SAVE_ALL and SET_XEN_SEGMENTS to specify which register
is to be clobbered on return.
author kaf24@freefall.cl.cam.ac.uk
date Mon Nov 08 18:54:03 2004 +0000 (2004-11-08)
parents 5974d9d97d89
children 90b094417ff3 3c505be01ff1
line diff
     1.1 --- a/xen/arch/x86/x86_32/entry.S	Mon Nov 08 18:37:51 2004 +0000
     1.2 +++ b/xen/arch/x86/x86_32/entry.S	Mon Nov 08 18:54:03 2004 +0000
     1.3 @@ -181,7 +181,7 @@ 6:      subl $4,%esp
     1.4  	pushl %edx
     1.5  	pushl %ecx
     1.6  	pushl %ebx
     1.7 -7:      SET_XEN_SEGMENTS
     1.8 +7:      SET_XEN_SEGMENTS(a)
     1.9          jmp failsafe_callback
    1.10  .previous
    1.11  .section __ex_table,"a"
    1.12 @@ -239,7 +239,7 @@ restore_all_xen:
    1.13          ALIGN
    1.14  ENTRY(hypercall)
    1.15          pushl %eax			# save orig_eax
    1.16 -	SAVE_ALL
    1.17 +	SAVE_ALL(b)
    1.18          sti
    1.19          GET_CURRENT(%ebx)
    1.20  	andl $(NR_hypercalls-1),%eax
    1.21 @@ -351,7 +351,7 @@ FAULT12:movl %eax,%gs:8(%esi)
    1.22  .section .fixup,"ax"
    1.23  crash_domain_fixup1:
    1.24          subl  $4,%esp
    1.25 -        SAVE_ALL
    1.26 +        SAVE_ALL(a)
    1.27          sti
    1.28          jmp   domain_crash
    1.29  crash_domain_fixup2:
    1.30 @@ -410,7 +410,7 @@ error_code:
    1.31          movl %es,XREGS_es(%esp)
    1.32          movl %fs,XREGS_fs(%esp)
    1.33          movl %gs,XREGS_gs(%esp)
    1.34 -1:      SET_XEN_SEGMENTS
    1.35 +1:      SET_XEN_SEGMENTS(b)
    1.36  	movl  XREGS_orig_eax(%esp),%esi		# get the error code
    1.37  	movl  XREGS_eax(%esp),%edi		# get the function address
    1.38  	movl  %eax,XREGS_eax(%esp)
    1.39 @@ -508,7 +508,7 @@ ENTRY(nmi)
    1.40          # Save state but do not trash the segment registers!
    1.41          # We may otherwise be unable to reload them or copy them to ring 1. 
    1.42  	pushl %eax
    1.43 -	SAVE_ALL_NOSEGREGS
    1.44 +	SAVE_ALL_NOSEGREGS(a)
    1.45  
    1.46          # Check for hardware problems.
    1.47          inb   $0x61,%al