This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / arch / parisc / mm / fault.c
index fd1c772..d52b3a0 100644 (file)
@@ -36,9 +36,6 @@
 
 #define BITSSET                0x1c0   /* for identifying LDCW */
 
-
-DEFINE_PER_CPU(struct exception_data, exception_data);
-
 /*
  * parisc_acctyp(unsigned int inst) --
  *    Given a PA-RISC memory access instruction, determine if the
@@ -233,17 +230,17 @@ bad_area:
 no_context:
 
        if (!user_mode(regs)) {
+
                fix = search_exception_tables(regs->iaoq[0]);
 
                if (fix) {
-                       struct exception_data *d;
 
-                       d = &__get_cpu_var(exception_data);
-                       d->fault_ip = regs->iaoq[0];
-                       d->fault_space = regs->isr;
-                       d->fault_addr = regs->ior;
+                       if (fix->skip & 1) 
+                               regs->gr[8] = -EFAULT;
+                       if (fix->skip & 2)
+                               regs->gr[9] = 0;
 
-                       regs->iaoq[0] = ((fix->fixup) & ~3);
+                       regs->iaoq[0] += ((fix->skip) & ~3);
 
                        /*
                         * NOTE: In some cases the faulting instruction