direct-io.hg

changeset 3794:2ba061595230

bitkeeper revision 1.1159.258.2 (420cdd26biP1GgUIcVSoyZGOZjAu2A)

Pass pointer to register set to set_pre_exception_table instead of eip.

Signed-off-by: cl349@cl.cam.ac.uk
author cl349@arcadians.cl.cam.ac.uk
date Fri Feb 11 16:28:22 2005 +0000 (2005-02-11)
parents ce135fa88699
children ce2496aed8c9 a63c03fcda8f
files xen/arch/x86/extable.c xen/arch/x86/x86_32/entry.S
line diff
     1.1 --- a/xen/arch/x86/extable.c	Thu Feb 10 17:13:35 2005 +0000
     1.2 +++ b/xen/arch/x86/extable.c	Fri Feb 11 16:28:22 2005 +0000
     1.3 @@ -63,8 +63,9 @@ search_exception_table(unsigned long add
     1.4  }
     1.5  
     1.6  unsigned long
     1.7 -search_pre_exception_table(unsigned long addr)
     1.8 +search_pre_exception_table(struct xen_regs *regs)
     1.9  {
    1.10 +    unsigned long addr = (unsigned long)regs->eip;
    1.11      unsigned long fixup = search_one_table(
    1.12          __start___pre_ex_table, __stop___pre_ex_table-1, addr);
    1.13      DPRINTK("Pre-exception: %08lx -> %08lx\n", addr, fixup);
     2.1 --- a/xen/arch/x86/x86_32/entry.S	Thu Feb 10 17:13:35 2005 +0000
     2.2 +++ b/xen/arch/x86/x86_32/entry.S	Fri Feb 11 16:28:22 2005 +0000
     2.3 @@ -379,7 +379,7 @@ exception_with_ints_disabled:
     2.4          testl $(3|X86_EFLAGS_VM),%eax   # interrupts disabled outside Xen?
     2.5          jnz   1b                        # it really does happen!
     2.6                                          #  (e.g., DOM0 X server)
     2.7 -        pushl XREGS_eip(%esp)
     2.8 +        pushl %esp
     2.9          call  search_pre_exception_table
    2.10          addl  $4,%esp
    2.11          testl %eax,%eax                 # no fixup code for faulting EIP?