pkvm_hyp_vm
DEFINE(PKVM_HYP_VM_SIZE, sizeof(struct pkvm_hyp_vm));
int __pkvm_host_unshare_guest(u64 gfn, u64 nr_pages, struct pkvm_hyp_vm *hyp_vm);
int __pkvm_host_wrprotect_guest(u64 gfn, u64 nr_pages, struct pkvm_hyp_vm *hyp_vm);
int __pkvm_host_test_clear_young_guest(u64 gfn, u64 nr_pages, bool mkold, struct pkvm_hyp_vm *vm);
int kvm_guest_prepare_stage2(struct pkvm_hyp_vm *vm, void *pgd);
void reclaim_pgtable_pages(struct pkvm_hyp_vm *vm, struct kvm_hyp_memcache *mc);
static inline struct pkvm_hyp_vm *
return container_of(hyp_vcpu->vcpu.kvm, struct pkvm_hyp_vm, kvm);
static inline bool pkvm_hyp_vm_is_protected(struct pkvm_hyp_vm *hyp_vm)
struct pkvm_hyp_vm *get_pkvm_hyp_vm(pkvm_handle_t handle);
struct pkvm_hyp_vm *get_np_pkvm_hyp_vm(pkvm_handle_t handle);
void put_pkvm_hyp_vm(struct pkvm_hyp_vm *hyp_vm);
struct pkvm_hyp_vm *hyp_vm;
struct pkvm_hyp_vm *hyp_vm;
struct pkvm_hyp_vm *hyp_vm;
struct pkvm_hyp_vm *hyp_vm;
static int __check_host_shared_guest(struct pkvm_hyp_vm *vm, u64 *__phys, u64 ipa, u64 size)
int __pkvm_host_unshare_guest(u64 gfn, u64 nr_pages, struct pkvm_hyp_vm *vm)
static void assert_host_shared_guest(struct pkvm_hyp_vm *vm, u64 ipa, u64 size)
struct pkvm_hyp_vm *vm = pkvm_hyp_vcpu_to_hyp_vm(vcpu);
int __pkvm_host_wrprotect_guest(u64 gfn, u64 nr_pages, struct pkvm_hyp_vm *vm)
int __pkvm_host_test_clear_young_guest(u64 gfn, u64 nr_pages, bool mkold, struct pkvm_hyp_vm *vm)
struct pkvm_hyp_vm *vm = pkvm_hyp_vcpu_to_hyp_vm(vcpu);
static struct pkvm_hyp_vm selftest_vm = {
struct pkvm_hyp_vm *vm;
struct pkvm_hyp_vm *vm = &selftest_vm;
int kvm_guest_prepare_stage2(struct pkvm_hyp_vm *vm, void *pgd)
static DEFINE_PER_CPU(struct pkvm_hyp_vm *, __current_vm);
void reclaim_pgtable_pages(struct pkvm_hyp_vm *vm, struct kvm_hyp_memcache *mc)
static void guest_lock_component(struct pkvm_hyp_vm *vm)
static void guest_unlock_component(struct pkvm_hyp_vm *vm)
static int __guest_check_page_state_range(struct pkvm_hyp_vm *vm, u64 addr,
struct pkvm_hyp_vm *vm = pkvm_hyp_vcpu_to_hyp_vm(vcpu);
static struct pkvm_hyp_vm **vm_table;
static struct pkvm_hyp_vm *get_vm_by_handle(pkvm_handle_t handle)
struct pkvm_hyp_vm *hyp_vm;
struct pkvm_hyp_vm *hyp_vm = pkvm_hyp_vcpu_to_hyp_vm(hyp_vcpu);
struct pkvm_hyp_vm *get_pkvm_hyp_vm(pkvm_handle_t handle)
struct pkvm_hyp_vm *hyp_vm;
void put_pkvm_hyp_vm(struct pkvm_hyp_vm *hyp_vm)
struct pkvm_hyp_vm *get_np_pkvm_hyp_vm(pkvm_handle_t handle)
struct pkvm_hyp_vm *hyp_vm = get_pkvm_hyp_vm(handle);
static void pkvm_init_features_from_host(struct pkvm_hyp_vm *hyp_vm, const struct kvm *host_kvm)
static void init_pkvm_hyp_vm(struct kvm *host_kvm, struct pkvm_hyp_vm *hyp_vm,
struct pkvm_hyp_vm *hyp_vm = pkvm_hyp_vcpu_to_hyp_vm(hyp_vcpu);
struct pkvm_hyp_vm *hyp_vm,
struct pkvm_hyp_vm *hyp_vm)
struct pkvm_hyp_vm *hyp_vm)
return size_add(sizeof(struct pkvm_hyp_vm),
struct pkvm_hyp_vm *hyp_vm = NULL;
struct pkvm_hyp_vm *hyp_vm;
struct pkvm_hyp_vm *hyp_vm;