diff options
author | Catalin Marinas <[email protected]> | 2024-11-14 12:07:28 +0000 |
---|---|---|
committer | Catalin Marinas <[email protected]> | 2024-11-14 12:07:28 +0000 |
commit | 437330d90c507be109a161667a77eaf61be0edac (patch) | |
tree | 9fd353932523647566dc89927e15c5e3f74d0bc2 /arch/arm64/kernel/traps.c | |
parent | 5a4332062e9e71de8e78dc1b389d21e0dd44848b (diff) | |
parent | 2cfdb799dc7681a93844e5019f9bbff603c2c9ee (diff) |
Merge branch 'for-next/mops' into for-next/core
* for-next/mops:
: More FEAT_MOPS (memcpy instructions) uses - in-kernel routines
arm64: mops: Document requirements for hypervisors
arm64: lib: Use MOPS for copy_page() and clear_page()
arm64: lib: Use MOPS for memcpy() routines
arm64: mops: Document booting requirement for HCR_EL2.MCE2
arm64: mops: Handle MOPS exceptions from EL1
arm64: probes: Disable kprobes/uprobes on MOPS instructions
# Conflicts:
# arch/arm64/kernel/entry-common.c
Diffstat (limited to 'arch/arm64/kernel/traps.c')
-rw-r--r-- | arch/arm64/kernel/traps.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/arm64/kernel/traps.c b/arch/arm64/kernel/traps.c index fdbcf047108c..ee318f6df647 100644 --- a/arch/arm64/kernel/traps.c +++ b/arch/arm64/kernel/traps.c @@ -541,6 +541,13 @@ void do_el0_mops(struct pt_regs *regs, unsigned long esr) user_fastforward_single_step(current); } +void do_el1_mops(struct pt_regs *regs, unsigned long esr) +{ + arm64_mops_reset_regs(®s->user_regs, esr); + + kernel_fastforward_single_step(regs); +} + #define __user_cache_maint(insn, address, res) \ if (address >= TASK_SIZE_MAX) { \ res = -EFAULT; \ |