return kvm_unmap_gfn_range(kvm, range);
}
- ------static bool hugepage_test_mixed(struct kvm_memory_slot *slot, gfn_t gfn,
- ------ int level)
- ------{
- ------ return lpage_info_slot(gfn, slot, level)->disallow_lpage & KVM_LPAGE_MIXED_FLAG;
- - ----}
- - ----
- - ----static void hugepage_clear_mixed(struct kvm_memory_slot *slot, gfn_t gfn,
- - ---- int level)
- - ----{
- - ---- lpage_info_slot(gfn, slot, level)->disallow_lpage &= ~KVM_LPAGE_MIXED_FLAG;
- ------}
- static void hugepage_clear_mixed(struct kvm_memory_slot *slot, gfn_t gfn,
- int level)
- {
- lpage_info_slot(gfn, slot, level)->disallow_lpage &= ~KVM_LPAGE_MIXED_FLAG;
- }
-
- ------static void hugepage_set_mixed(struct kvm_memory_slot *slot, gfn_t gfn,
- ------ int level)
- ------{
- ------ lpage_info_slot(gfn, slot, level)->disallow_lpage |= KVM_LPAGE_MIXED_FLAG;
- ------}
static bool hugepage_has_attrs(struct kvm *kvm, struct kvm_memory_slot *slot,
gfn_t gfn, int level, unsigned long attrs)
#define PI_LOCK_SCHED_OUT SINGLE_DEPTH_NESTING
- ----- struct pi_desc *vcpu_to_pi_desc(struct kvm_vcpu *vcpu)
- static inline struct pi_desc *vcpu_to_pi_desc(struct kvm_vcpu *vcpu)
+++++++ static struct pi_desc *vcpu_to_pi_desc(struct kvm_vcpu *vcpu)
{
- return &(to_vmx(vcpu)->pi_desc);
+ return &(to_vt(vcpu)->pi_desc);
}
static int pi_try_set_control(struct pi_desc *pi_desc, u64 *pold, u64 new)
r = READ_ONCE(kvm->arch.default_tsc_khz);
goto out;
}
------- case KVM_MEMORY_ENCRYPT_OP: {
+++++++ case KVM_MEMORY_ENCRYPT_OP:
+ +++++ r = -ENOTTY;
+ +++++ if (!kvm_x86_ops.mem_enc_ioctl)
+ +++++ goto out;
+ +++++
r = kvm_x86_call(mem_enc_ioctl)(kvm, argp);
break;
------- }
case KVM_MEMORY_ENCRYPT_REG_REGION: {
struct kvm_enc_region region;