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()
59 * "If an SMC instruction executed at Non-secure EL1 is in handle_smc()
64 * otherwise return to the same address. Furthermore, pre-incrementing in handle_smc()
83 * at Non-secure EL1 is trapped to EL2 if HCR_EL2.TSC==1, rather than in handle_smc()
90 * Guest access to FP/ASIMD registers are routed to this handler only
100 * kvm_handle_wfx - handle a wait-for-interrupts or wait-for-event
108 * world-switches and schedule other host processes until there is an
120 vcpu->stat.wfe_exit_stat++; in kvm_handle_wfx()
123 vcpu->stat.wfi_exit_stat++; in kvm_handle_wfx()
156 * kvm_handle_guest_debug - handle a debug exception instruction
162 * userspace to re-inject the correct exception for guest delivery.
164 * @return: 0 (while setting vcpu->run->exit_reason)
168 struct kvm_run *run = vcpu->run; in kvm_handle_guest_debug()
171 run->exit_reason = KVM_EXIT_DEBUG; in kvm_handle_guest_debug()
172 run->debug.arch.hsr = lower_32_bits(esr); in kvm_handle_guest_debug()
173 run->debug.arch.hsr_high = upper_32_bits(esr); in kvm_handle_guest_debug()
174 run->flags = KVM_DEBUG_ARCH_HSR_HIGH_VALID; in kvm_handle_guest_debug()
178 run->debug.arch.far = vcpu->arch.fault.far_el2; in kvm_handle_guest_debug()
192 kvm_pr_unimpl("Unknown exception class: esr: %#016llx -- %s\n", in kvm_handle_unknown_ec()
200 * Guest access to SVE registers should be routed to this handler only
228 * - the guest is in EL2, and we need to fully emulate ERET in kvm_handle_eret()
230 * - the guest is in EL1, and we need to reinject the in kvm_handle_eret()
292 * We may be single-stepping an emulated instruction. If the emulation
324 struct kvm_run *run = vcpu->run; in handle_exit()
329 * survives it will re-execute the original instruction. in handle_exit()
345 * EL2 has been reset to the hyp-stub. This happens when a guest in handle_exit()
346 * is pre-emptied by kvm_reboot()'s shutdown call. in handle_exit()
348 run->exit_reason = KVM_EXIT_FAIL_ENTRY; in handle_exit()
355 run->exit_reason = KVM_EXIT_FAIL_ENTRY; in handle_exit()
356 return -EINVAL; in handle_exit()
360 run->exit_reason = KVM_EXIT_INTERNAL_ERROR; in handle_exit()
391 u64 hyp_offset = elr_in_kimg - kaslr_offset() - elr_virt; in nvhe_hyp_panic_handler()
425 * Hyp has panicked and we're going to handle that by panicking the in nvhe_hyp_panic_handler()
426 * kernel. The kernel offset will be revealed in the panic so we're in nvhe_hyp_panic_handler()