Lines Matching +full:hexagon +full:- +full:linux +full:- +full:user
1 // SPDX-License-Identifier: GPL-2.0-only
3 * Memory fault handling for Hexagon
5 * Copyright (c) 2010-2011, The Linux Foundation. All rights reserved.
9 * Page fault handling for the Hexagon Virtual Machine.
15 #include <linux/uaccess.h>
16 #include <linux/mm.h>
17 #include <linux/sched/signal.h>
18 #include <linux/signal.h>
19 #include <linux/extable.h>
20 #include <linux/hardirq.h>
21 #include <linux/perf_event.h>
28 #define FLT_IFETCH -1
39 struct mm_struct *mm = current->mm; in do_page_fault()
47 * If we're in an interrupt or have no user context, in do_page_fault()
69 if (!(vma->vm_flags & VM_EXEC)) in do_page_fault()
73 if (!(vma->vm_flags & VM_READ)) in do_page_fault()
77 if (!(vma->vm_flags & VM_WRITE)) in do_page_fault()
95 /* The most common case -- we are done. */ in do_page_fault()
117 /* User-mode address is in the memory map, but we are in do_page_fault()
140 /* Kernel-mode fault falls through */ in do_page_fault()
145 pt_set_elr(regs, fixup->fixup); in do_page_fault()