KVM
|
#include <hyp/adjust_pc.h>
#include <asm/pgtable-types.h>
#include <asm/kvm_asm.h>
#include <asm/kvm_emulate.h>
#include <asm/kvm_host.h>
#include <asm/kvm_hyp.h>
#include <asm/kvm_mmu.h>
#include <nvhe/ffa.h>
#include <nvhe/mem_protect.h>
#include <nvhe/mm.h>
#include <nvhe/pkvm.h>
#include <nvhe/trap_handler.h>
Go to the source code of this file.
Macros | |
#define | HANDLE_FUNC(x) [__KVM_HOST_SMCCC_FUNC_##x] = (hcall_t)handle_##x |
Typedefs | |
typedef void(* | hcall_t) (struct kvm_cpu_context *) |
Functions | |
DEFINE_PER_CPU (struct kvm_nvhe_init_params, kvm_init_params) | |
void | __kvm_hyp_host_forward_smc (struct kvm_cpu_context *host_ctxt) |
static void | flush_hyp_vcpu (struct pkvm_hyp_vcpu *hyp_vcpu) |
static void | sync_hyp_vcpu (struct pkvm_hyp_vcpu *hyp_vcpu) |
static void | handle___kvm_vcpu_run (struct kvm_cpu_context *host_ctxt) |
static void | handle___kvm_adjust_pc (struct kvm_cpu_context *host_ctxt) |
static void | handle___kvm_flush_vm_context (struct kvm_cpu_context *host_ctxt) |
static void | handle___kvm_tlb_flush_vmid_ipa (struct kvm_cpu_context *host_ctxt) |
static void | handle___kvm_tlb_flush_vmid_ipa_nsh (struct kvm_cpu_context *host_ctxt) |
static void | handle___kvm_tlb_flush_vmid_range (struct kvm_cpu_context *host_ctxt) |
static void | handle___kvm_tlb_flush_vmid (struct kvm_cpu_context *host_ctxt) |
static void | handle___kvm_flush_cpu_context (struct kvm_cpu_context *host_ctxt) |
static void | handle___kvm_timer_set_cntvoff (struct kvm_cpu_context *host_ctxt) |
static void | handle___kvm_enable_ssbs (struct kvm_cpu_context *host_ctxt) |
static void | handle___vgic_v3_get_gic_config (struct kvm_cpu_context *host_ctxt) |
static void | handle___vgic_v3_read_vmcr (struct kvm_cpu_context *host_ctxt) |
static void | handle___vgic_v3_write_vmcr (struct kvm_cpu_context *host_ctxt) |
static void | handle___vgic_v3_init_lrs (struct kvm_cpu_context *host_ctxt) |
static void | handle___kvm_get_mdcr_el2 (struct kvm_cpu_context *host_ctxt) |
static void | handle___vgic_v3_save_aprs (struct kvm_cpu_context *host_ctxt) |
static void | handle___vgic_v3_restore_aprs (struct kvm_cpu_context *host_ctxt) |
static void | handle___pkvm_init (struct kvm_cpu_context *host_ctxt) |
static void | handle___pkvm_cpu_set_vector (struct kvm_cpu_context *host_ctxt) |
static void | handle___pkvm_host_share_hyp (struct kvm_cpu_context *host_ctxt) |
static void | handle___pkvm_host_unshare_hyp (struct kvm_cpu_context *host_ctxt) |
static void | handle___pkvm_create_private_mapping (struct kvm_cpu_context *host_ctxt) |
static void | handle___pkvm_prot_finalize (struct kvm_cpu_context *host_ctxt) |
static void | handle___pkvm_vcpu_init_traps (struct kvm_cpu_context *host_ctxt) |
static void | handle___pkvm_init_vm (struct kvm_cpu_context *host_ctxt) |
static void | handle___pkvm_init_vcpu (struct kvm_cpu_context *host_ctxt) |
static void | handle___pkvm_teardown_vm (struct kvm_cpu_context *host_ctxt) |
static void | handle_host_hcall (struct kvm_cpu_context *host_ctxt) |
static void | default_host_smc_handler (struct kvm_cpu_context *host_ctxt) |
static void | handle_host_smc (struct kvm_cpu_context *host_ctxt) |
void | handle_trap (struct kvm_cpu_context *host_ctxt) |
Variables | |
static const hcall_t | host_hcall [] |
#define HANDLE_FUNC | ( | x | ) | [__KVM_HOST_SMCCC_FUNC_##x] = (hcall_t)handle_##x |
Definition at line 319 of file hyp-main.c.
typedef void(* hcall_t) (struct kvm_cpu_context *) |
Definition at line 317 of file hyp-main.c.
void __kvm_hyp_host_forward_smc | ( | struct kvm_cpu_context * | host_ctxt | ) |
|
static |
Definition at line 389 of file hyp-main.c.
DEFINE_PER_CPU | ( | struct kvm_nvhe_init_params | , |
kvm_init_params | |||
) |
|
static |
|
static |
|
static |
Definition at line 167 of file hyp-main.c.
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 120 of file hyp-main.c.
|
static |
Definition at line 129 of file hyp-main.c.
|
static |
Definition at line 139 of file hyp-main.c.
|
static |
Definition at line 74 of file hyp-main.c.
|
static |
|
static |
Definition at line 253 of file hyp-main.c.
|
static |
|
static |
|
static |
Definition at line 215 of file hyp-main.c.
|
static |
Definition at line 300 of file hyp-main.c.
|
static |
Definition at line 290 of file hyp-main.c.
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 208 of file hyp-main.c.
|
static |
Definition at line 201 of file hyp-main.c.
|
static |
|
static |
|
static |
Definition at line 394 of file hyp-main.c.
void handle_trap | ( | struct kvm_cpu_context * | host_ctxt | ) |
Definition at line 411 of file hyp-main.c.
|
static |
|
static |
Definition at line 321 of file hyp-main.c.