Lines Matching refs:vcpu

117 static void vcpu_reset_hv_cpuid(struct kvm_vcpu *vcpu)  in vcpu_reset_hv_cpuid()  argument
123 vcpu_set_hv_cpuid(vcpu); in vcpu_reset_hv_cpuid()
125 vcpu_clear_cpuid_entry(vcpu, HYPERV_CPUID_FEATURES); in vcpu_reset_hv_cpuid()
126 vcpu_clear_cpuid_entry(vcpu, HYPERV_CPUID_ENLIGHTMENT_INFO); in vcpu_reset_hv_cpuid()
127 vcpu_clear_cpuid_entry(vcpu, HYPERV_CPUID_SYNDBG_PLATFORM_CAPABILITIES); in vcpu_reset_hv_cpuid()
133 struct kvm_vcpu *vcpu; in guest_test_msrs_access() local
142 vm = vm_create_with_one_vcpu(&vcpu, guest_msr); in guest_test_msrs_access()
148 vcpu_args_set(vcpu, 1, msr_gva); in guest_test_msrs_access()
149 vcpu_enable_cap(vcpu, KVM_CAP_HYPERV_ENFORCE_CPUID, 1); in guest_test_msrs_access()
152 vcpu_reset_hv_cpuid(vcpu); in guest_test_msrs_access()
154 prev_cpuid = allocate_kvm_cpuid2(vcpu->cpuid->nent); in guest_test_msrs_access()
156 vcpu_init_cpuid(vcpu, prev_cpuid); in guest_test_msrs_access()
161 vcpu_enable_cap(vcpu, KVM_CAP_HYPERV_SYNIC2, 0); in guest_test_msrs_access()
178 vcpu_set_cpuid_feature(vcpu, HV_MSR_HYPERCALL_AVAILABLE); in guest_test_msrs_access()
205 vcpu_set_cpuid_feature(vcpu, HV_MSR_VP_RUNTIME_AVAILABLE); in guest_test_msrs_access()
224 vcpu_set_cpuid_feature(vcpu, HV_MSR_TIME_REF_COUNT_AVAILABLE); in guest_test_msrs_access()
243 vcpu_set_cpuid_feature(vcpu, HV_MSR_VP_INDEX_AVAILABLE); in guest_test_msrs_access()
262 vcpu_set_cpuid_feature(vcpu, HV_MSR_RESET_AVAILABLE); in guest_test_msrs_access()
286 vcpu_set_cpuid_feature(vcpu, HV_MSR_REFERENCE_TSC_AVAILABLE); in guest_test_msrs_access()
313 vcpu_set_cpuid_feature(vcpu, HV_MSR_SYNIC_AVAILABLE); in guest_test_msrs_access()
331 vcpu_set_cpuid_feature(vcpu, HV_MSR_SYNTIMER_AVAILABLE); in guest_test_msrs_access()
350 vcpu_set_cpuid_feature(vcpu, HV_STIMER_DIRECT_MODE_AVAILABLE); in guest_test_msrs_access()
363 vcpu_set_cpuid_feature(vcpu, HV_MSR_APIC_ACCESS_AVAILABLE); in guest_test_msrs_access()
376 vcpu_set_cpuid_feature(vcpu, HV_ACCESS_FREQUENCY_MSRS); in guest_test_msrs_access()
395 vcpu_set_cpuid_feature(vcpu, HV_ACCESS_REENLIGHTENMENT); in guest_test_msrs_access()
420 vcpu_set_cpuid_feature(vcpu, HV_FEATURE_GUEST_CRASH_MSR_AVAILABLE); in guest_test_msrs_access()
438 vcpu_set_cpuid_feature(vcpu, HV_FEATURE_DEBUG_MSRS_AVAILABLE); in guest_test_msrs_access()
439 vcpu_set_cpuid_feature(vcpu, HV_X64_SYNDBG_CAP_ALLOW_KERNEL_DEBUGGING); in guest_test_msrs_access()
463 vcpu_set_cpuid_feature(vcpu, HV_ACCESS_TSC_INVARIANT); in guest_test_msrs_access()
492 vcpu_set_cpuid(vcpu); in guest_test_msrs_access()
494 memcpy(prev_cpuid, vcpu->cpuid, kvm_cpuid2_size(vcpu->cpuid->nent)); in guest_test_msrs_access()
499 vcpu_run(vcpu); in guest_test_msrs_access()
500 TEST_ASSERT_KVM_EXIT_REASON(vcpu, KVM_EXIT_IO); in guest_test_msrs_access()
502 switch (get_ucall(vcpu, &uc)) { in guest_test_msrs_access()
522 struct kvm_vcpu *vcpu; in guest_test_hcalls_access() local
530 vm = vm_create_with_one_vcpu(&vcpu, guest_hcall); in guest_test_hcalls_access()
540 vcpu_args_set(vcpu, 2, addr_gva2gpa(vm, hcall_page), hcall_params); in guest_test_hcalls_access()
541 vcpu_enable_cap(vcpu, KVM_CAP_HYPERV_ENFORCE_CPUID, 1); in guest_test_hcalls_access()
544 vcpu_reset_hv_cpuid(vcpu); in guest_test_hcalls_access()
546 prev_cpuid = allocate_kvm_cpuid2(vcpu->cpuid->nent); in guest_test_hcalls_access()
548 vcpu_init_cpuid(vcpu, prev_cpuid); in guest_test_hcalls_access()
553 vcpu_set_cpuid_feature(vcpu, HV_MSR_HYPERCALL_AVAILABLE); in guest_test_hcalls_access()
563 vcpu_set_cpuid_feature(vcpu, HV_POST_MESSAGES); in guest_test_hcalls_access()
573 vcpu_set_cpuid_feature(vcpu, HV_SIGNAL_EVENTS); in guest_test_hcalls_access()
583 vcpu_set_cpuid_feature(vcpu, HV_X64_SYNDBG_CAP_ALLOW_KERNEL_DEBUGGING); in guest_test_hcalls_access()
588 vcpu_set_cpuid_feature(vcpu, HV_DEBUGGING); in guest_test_hcalls_access()
598 vcpu_set_cpuid_feature(vcpu, HV_X64_REMOTE_TLB_FLUSH_RECOMMENDED); in guest_test_hcalls_access()
607 vcpu_set_cpuid_feature(vcpu, HV_X64_EX_PROCESSOR_MASKS_RECOMMENDED); in guest_test_hcalls_access()
617 vcpu_set_cpuid_feature(vcpu, HV_X64_CLUSTER_IPI_RECOMMENDED); in guest_test_hcalls_access()
632 vcpu_set_cpuid_feature(vcpu, HV_PV_SPINLOCKS_TEST); in guest_test_hcalls_access()
642 vcpu_set_cpuid_feature(vcpu, HV_X64_HYPERCALL_XMM_INPUT_AVAILABLE); in guest_test_hcalls_access()
652 vcpu_set_cpuid_feature(vcpu, HV_ENABLE_EXTENDED_HYPERCALLS); in guest_test_hcalls_access()
661 vcpu_set_cpuid(vcpu); in guest_test_hcalls_access()
663 memcpy(prev_cpuid, vcpu->cpuid, kvm_cpuid2_size(vcpu->cpuid->nent)); in guest_test_hcalls_access()
667 vcpu_run(vcpu); in guest_test_hcalls_access()
668 TEST_ASSERT_KVM_EXIT_REASON(vcpu, KVM_EXIT_IO); in guest_test_hcalls_access()
670 switch (get_ucall(vcpu, &uc)) { in guest_test_hcalls_access()