KVM
|
#include <hyp/adjust_pc.h>
#include <hyp/fault.h>
#include <linux/arm-smccc.h>
#include <linux/kvm_host.h>
#include <linux/types.h>
#include <linux/jump_label.h>
#include <uapi/linux/psci.h>
#include <kvm/arm_psci.h>
#include <asm/barrier.h>
#include <asm/cpufeature.h>
#include <asm/extable.h>
#include <asm/kprobes.h>
#include <asm/kvm_asm.h>
#include <asm/kvm_emulate.h>
#include <asm/kvm_hyp.h>
#include <asm/kvm_mmu.h>
#include <asm/kvm_nested.h>
#include <asm/fpsimd.h>
#include <asm/debug-monitors.h>
#include <asm/processor.h>
#include <asm/traps.h>
Go to the source code of this file.
Classes | |
struct | kvm_exception_table_entry |
Macros | |
#define | compute_clr_set(vcpu, reg, clr, set) |
#define | update_fgt_traps_cs(vcpu, reg, clr, set) |
#define | update_fgt_traps(vcpu, reg) update_fgt_traps_cs(vcpu, reg, 0, 0) |
#define | CHECK_FGT_MASKS(reg) |
#define | __ptrauth_save_key(ctxt, key) |
Typedefs | |
typedef bool(* | exit_handler_fn) (struct kvm_vcpu *, u64 *) |
Functions | |
static bool | guest_owns_fp_regs (struct kvm_vcpu *vcpu) |
static void | __fpsimd_save_fpexc32 (struct kvm_vcpu *vcpu) |
static void | __activate_traps_fpsimd32 (struct kvm_vcpu *vcpu) |
static bool | cpu_has_amu (void) |
static void | __activate_traps_hfgxtr (struct kvm_vcpu *vcpu) |
static void | __deactivate_traps_hfgxtr (struct kvm_vcpu *vcpu) |
static void | __activate_traps_common (struct kvm_vcpu *vcpu) |
static void | __deactivate_traps_common (struct kvm_vcpu *vcpu) |
static void | ___activate_traps (struct kvm_vcpu *vcpu) |
static void | ___deactivate_traps (struct kvm_vcpu *vcpu) |
static bool | __populate_fault_info (struct kvm_vcpu *vcpu) |
static bool | kvm_hyp_handle_mops (struct kvm_vcpu *vcpu, u64 *exit_code) |
static void | __hyp_sve_restore_guest (struct kvm_vcpu *vcpu) |
static bool | kvm_hyp_handle_fpsimd (struct kvm_vcpu *vcpu, u64 *exit_code) |
static bool | handle_tx2_tvm (struct kvm_vcpu *vcpu) |
static bool | esr_is_ptrauth_trap (u64 esr) |
DECLARE_PER_CPU (struct kvm_cpu_context, kvm_hyp_ctxt) | |
static bool | kvm_hyp_handle_ptrauth (struct kvm_vcpu *vcpu, u64 *exit_code) |
static bool | kvm_hyp_handle_cntpct (struct kvm_vcpu *vcpu) |
static bool | handle_ampere1_tcr (struct kvm_vcpu *vcpu) |
static bool | kvm_hyp_handle_sysreg (struct kvm_vcpu *vcpu, u64 *exit_code) |
static bool | kvm_hyp_handle_cp15_32 (struct kvm_vcpu *vcpu, u64 *exit_code) |
static bool | kvm_hyp_handle_memory_fault (struct kvm_vcpu *vcpu, u64 *exit_code) |
static bool | kvm_hyp_handle_iabt_low (struct kvm_vcpu *vcpu, u64 *exit_code) __alias(kvm_hyp_handle_memory_fault) |
static bool | kvm_hyp_handle_watchpt_low (struct kvm_vcpu *vcpu, u64 *exit_code) __alias(kvm_hyp_handle_memory_fault) |
static bool | kvm_hyp_handle_dabt_low (struct kvm_vcpu *vcpu, u64 *exit_code) |
static const exit_handler_fn * | kvm_get_exit_handler_array (struct kvm_vcpu *vcpu) |
static void | early_exit_filter (struct kvm_vcpu *vcpu, u64 *exit_code) |
static bool | kvm_hyp_handle_exit (struct kvm_vcpu *vcpu, u64 *exit_code) |
static void | synchronize_vcpu_pstate (struct kvm_vcpu *vcpu, u64 *exit_code) |
static bool | fixup_guest_exit (struct kvm_vcpu *vcpu, u64 *exit_code) |
static void | __kvm_unexpected_el2_exception (void) |
Variables | |
struct kvm_exception_table_entry | __start___kvm_ex_table |
struct kvm_exception_table_entry | __stop___kvm_ex_table |
#define __ptrauth_save_key | ( | ctxt, | |
key | |||
) |
#define CHECK_FGT_MASKS | ( | reg | ) |
#define compute_clr_set | ( | vcpu, | |
reg, | |||
clr, | |||
set | |||
) |
#define update_fgt_traps | ( | vcpu, | |
reg | |||
) | update_fgt_traps_cs(vcpu, reg, 0, 0) |
#define update_fgt_traps_cs | ( | vcpu, | |
reg, | |||
clr, | |||
set | |||
) |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 207 of file switch.h.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 249 of file switch.h.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 748 of file switch.h.
|
inlinestatic |
Definition at line 295 of file switch.h.
|
inlinestatic |
DECLARE_PER_CPU | ( | struct kvm_cpu_context | , |
kvm_hyp_ctxt | |||
) |
|
static |
|
inlinestatic |
|
inlinestatic |
Definition at line 693 of file switch.h.
|
inlinestatic |
|
static |
|
inlinestatic |
|
static |
|
static |
Definition at line 500 of file switch.h.
|
static |
Definition at line 596 of file switch.h.
|
static |
Definition at line 617 of file switch.h.
|
inlinestatic |
|
static |
Definition at line 330 of file switch.h.
|
static |
|
static |
Definition at line 605 of file switch.h.
|
static |
|
static |
|
static |
Definition at line 573 of file switch.h.
|
static |
|
inlinestatic |
|
extern |
|
extern |