Lines Matching +full:no +full:- +full:pc +full:- +full:write

1 // SPDX-License-Identifier: GPL-2.0
48 next_mm->context[smp_processor_id()] = mmc; in __load_new_mm_context()
50 pcb = &current_thread_info()->pcb; in __load_new_mm_context()
51 pcb->asn = mmc & HARDWARE_ASN_MASK; in __load_new_mm_context()
52 pcb->ptbr = ((unsigned long) next_mm->pgd - IDENT_ADDR) >> PAGE_SHIFT; in __load_new_mm_context()
65 * 2 = fault-on-read
66 * 3 = fault-on-execute
67 * 4 = fault-on-write
70 * -1 = instruction fetch
81 (((unsigned long *)regs)[(r) <= 8 ? (r) : (r) <= 15 ? (r)-16 : \
82 (r) <= 18 ? (r)+10 : (r)-10])
89 struct mm_struct *mm = current->mm; in do_page_fault()
100 __get_user(insn, (unsigned int __user *)regs->pc); in do_page_fault()
104 regs->pc += 4; in do_page_fault()
109 /* If we're in an interrupt context, or have no user context, in do_page_fault()
126 if (vma->vm_start <= address) in do_page_fault()
128 if (!(vma->vm_flags & VM_GROWSDOWN)) in do_page_fault()
138 if (!(vma->vm_flags & VM_EXEC)) in do_page_fault()
141 /* Allow reads even for write-only mappings */ in do_page_fault()
142 if (!(vma->vm_flags & (VM_READ | VM_WRITE))) in do_page_fault()
145 if (!(vma->vm_flags & VM_WRITE)) in do_page_fault()
175 /* No need to mmap_read_unlock(mm) as we would in do_page_fault()
197 if ((fixup = search_exception_tables(regs->pc)) != 0) { in do_page_fault()
199 newpc = fixup_exception(dpf_reg, fixup, regs->pc); in do_page_fault()
200 regs->pc = newpc; in do_page_fault()
208 die_if_kernel("Oops", regs, cause, (unsigned long*)regs - 16); in do_page_fault()
238 /* Synchronize this task's top level page-table in do_page_fault()
243 pgd = current->active_mm->pgd + index; in do_page_fault()