Lines Matching +full:d +full:- +full:tlb +full:- +full:sets
37 * parisc_acctyp(unsigned int inst) --
38 * Given a PA-RISC memory access instruction, determine if the
79 * older PA-RISC platforms. The case where a block in parisc_acctyp()
87 * 01 Graphics flush write (IO space -> VM) in parisc_acctyp()
88 * 10 Graphics flush read (VM -> IO space) in parisc_acctyp()
89 * 11 Graphics flush read/write (VM <-> IO space) in parisc_acctyp()
104 * Data TLB miss fault/data page fault in parisc_acctyp()
125 * not, but I want it committed to CVS so I don't lose it :-)
128 if (tree->vm_start > addr) {
129 tree = tree->vm_avl_left;
132 if (prev->vm_next == NULL)
134 if (prev->vm_next->vm_start > addr)
136 tree = tree->vm_avl_right;
145 fix = search_exception_tables(regs->iaoq[0]); in fixup_exception()
149 * ASM_EXCEPTIONTABLE_ENTRY_EFAULT() sets the least-significant in fixup_exception()
151 * that %r8 should be loaded with -EFAULT to report a userspace in fixup_exception()
154 if (fix->fixup & 1) { in fixup_exception()
155 regs->gr[8] = -EFAULT; in fixup_exception()
158 if (parisc_acctyp(0, regs->iir) == VM_READ) { in fixup_exception()
159 int treg = regs->iir & 0x1f; in fixup_exception()
161 regs->gr[treg] = 0; in fixup_exception()
165 regs->iaoq[0] = (unsigned long)&fix->fixup + fix->fixup; in fixup_exception()
166 regs->iaoq[0] &= ~3; in fixup_exception()
174 regs->iaoq[1] = regs->iaoq[0] + 4; in fixup_exception()
175 regs->gr[0] &= ~PSW_B; /* IPSW in gr[0] */ in fixup_exception()
187 * "PA-RISC 1.1 Architecture and Instruction Set Reference Manual"
193 [1] "High-priority machine check (HPMC)",
196 [5] "Low-priority machine check",
197 [6] "Instruction TLB miss fault",
206 [15] "Data TLB miss fault",
207 [16] "Non-access ITLB miss fault",
208 [17] "Non-access DTLB miss fault",
211 [20] "TLB dirty bit trap",
247 tsk->comm, code, address); in show_signal_msg()
248 print_vma_addr(KERN_CONT " in ", regs->iaoq[0]); in show_signal_msg()
255 vma->vm_start, vma->vm_end); in show_signal_msg()
274 mm = tsk->mm; in do_page_fault()
282 acc_type = parisc_acctyp(code, regs->iir); in do_page_fault()
289 if (!vma || address < vma->vm_start) in do_page_fault()
298 if ((vma->vm_flags & acc_type) != acc_type) in do_page_fault()
356 case 15: /* Data TLB miss fault/Data page fault */ in do_page_fault()
359 address < vma->vm_start || address >= vma->vm_end) { in do_page_fault()
366 if ((vma->vm_flags & acc_type) != acc_type) { in do_page_fault()
374 case 17: /* NA data TLB miss / page fault */ in do_page_fault()
375 case 18: /* Unaligned access - PCXS only */ in do_page_fault()
379 case 16: /* Non-access instruction TLB miss fault */ in do_page_fault()
390 "MCE: Killing %s:%d due to hardware memory corruption fault at %08lx\n", in do_page_fault()
391 tsk->comm, tsk->pid, address); in do_page_fault()