Lines Matching +full:re +full:- +full:routed

1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (C) 2012,2013 - ARM Ltd
7 * Copyright (C) 2012 - Virtual Open Systems and Columbia University
20 #include <asm/debug-monitors.h>
41 vcpu->stat.hvc_exit_stat++; in handle_hvc()
66 * "If an SMC instruction executed at Non-secure EL1 is in handle_smc()
71 * otherwise return to the same address. Furthermore, pre-incrementing in handle_smc()
90 * at Non-secure EL1 is trapped to EL2 if HCR_EL2.TSC==1, rather than in handle_smc()
115 * kvm_handle_wfx - handle a wait-for-interrupts or wait-for-event
123 * world-switches and schedule other host processes until there is an
135 vcpu->stat.wfe_exit_stat++; in kvm_handle_wfx()
138 vcpu->stat.wfi_exit_stat++; in kvm_handle_wfx()
171 * kvm_handle_guest_debug - handle a debug exception instruction
177 * userspace to re-inject the correct exception for guest delivery.
179 * @return: 0 (while setting vcpu->run->exit_reason)
183 struct kvm_run *run = vcpu->run; in kvm_handle_guest_debug()
186 run->exit_reason = KVM_EXIT_DEBUG; in kvm_handle_guest_debug()
187 run->debug.arch.hsr = lower_32_bits(esr); in kvm_handle_guest_debug()
188 run->debug.arch.hsr_high = upper_32_bits(esr); in kvm_handle_guest_debug()
189 run->flags = KVM_DEBUG_ARCH_HSR_HIGH_VALID; in kvm_handle_guest_debug()
193 run->debug.arch.far = vcpu->arch.fault.far_el2; in kvm_handle_guest_debug()
207 kvm_pr_unimpl("Unknown exception class: esr: %#016llx -- %s\n", in kvm_handle_unknown_ec()
215 * Guest access to SVE registers should be routed to this handler only
230 * - Guest usage of a ptrauth instruction (which the guest EL1 did not
235 * - Running an L2 NV guest while L1 has left HCR_EL2.API==0, and for
267 * - the guest is in EL2, and we need to fully emulate ERET in kvm_handle_eret()
269 * - the guest is in EL1, and we need to reinject the in kvm_handle_eret()
331 * We may be single-stepping an emulated instruction. If the emulation
363 struct kvm_run *run = vcpu->run; in handle_exit()
368 * survives it will re-execute the original instruction. in handle_exit()
384 * EL2 has been reset to the hyp-stub. This happens when a guest in handle_exit()
385 * is pre-emptied by kvm_reboot()'s shutdown call. in handle_exit()
387 run->exit_reason = KVM_EXIT_FAIL_ENTRY; in handle_exit()
394 run->exit_reason = KVM_EXIT_FAIL_ENTRY; in handle_exit()
395 return -EINVAL; in handle_exit()
399 run->exit_reason = KVM_EXIT_INTERNAL_ERROR; in handle_exit()
444 u64 hyp_offset = elr_in_kimg - kaslr_offset() - elr_virt; in nvhe_hyp_panic_handler()
478 * Hyp has panicked and we're going to handle that by panicking the in nvhe_hyp_panic_handler()
479 * kernel. The kernel offset will be revealed in the panic so we're in nvhe_hyp_panic_handler()