]> err.no Git - linux-2.6/blobdiff - arch/um/sys-i386/fault.c
[Blackfin] arch: fix bug - linux-2.6.24 (delayed) disable IRQ feature not functional...
[linux-2.6] / arch / um / sys-i386 / fault.c
index d0bbcdfdb53f010213b8a45344e22b1d1a4b8ff2..d670f68532f4d159582095eb0f48c73cab0e63f1 100644 (file)
@@ -1,11 +1,9 @@
 /* 
- * Copyright (C) 2002 - 2004 Jeff Dike (jdike@addtoit.com)
+ * Copyright (C) 2002 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
  * Licensed under the GPL
  */
 
-#include <signal.h>
 #include "sysdep/ptrace.h"
-#include "sysdep/sigcontext.h"
 
 /* These two are from asm-um/uaccess.h and linux/module.h, check them. */
 struct exception_table_entry
@@ -17,26 +15,14 @@ struct exception_table_entry
 const struct exception_table_entry *search_exception_tables(unsigned long add);
 
 /* Compare this to arch/i386/mm/extable.c:fixup_exception() */
-int arch_fixup(unsigned long address, void *sc_ptr)
+int arch_fixup(unsigned long address, struct uml_pt_regs *regs)
 {
-       struct sigcontext *sc = sc_ptr;
        const struct exception_table_entry *fixup;
 
        fixup = search_exception_tables(address);
-       if(fixup != 0){
-               sc->eip = fixup->fixup;
-               return(1);
+       if (fixup != 0) {
+               UPT_IP(regs) = fixup->fixup;
+               return 1;
        }
-       return(0);
+       return 0;
 }
-
-/*
- * Overrides for Emacs so that we follow Linus's tabbing style.
- * Emacs will notice this stuff at the end of the file and automatically
- * adjust the settings for this buffer only.  This must remain at the end
- * of the file.
- * ---------------------------------------------------------------------------
- * Local variables:
- * c-file-style: "linux"
- * End:
- */