Lines Matching refs:ms_hyperv
38 struct ms_hyperv_info ms_hyperv; variable
70 if (hv_is_synic_msr(reg) && ms_hyperv.paravisor_present) in hv_get_non_nested_msr()
80 if (hv_is_synic_msr(reg) && ms_hyperv.paravisor_present) { in hv_set_non_nested_msr()
127 if (ms_hyperv.hints & HV_DEPRECATING_AEOI_RECOMMENDED) in DEFINE_IDTENTRY_SYSVEC()
281 if (!(ms_hyperv.features & HV_MSR_REFERENCE_TSC_AVAILABLE)) in x86_setup_ops_for_tsc_pg_clock()
375 if (!ms_hyperv.paravisor_present && hv_isolation_type_snp()) { in hv_smp_prepare_cpus()
445 ms_hyperv.features = cpuid_eax(HYPERV_CPUID_FEATURES); in ms_hyperv_init_platform()
446 ms_hyperv.priv_high = cpuid_ebx(HYPERV_CPUID_FEATURES); in ms_hyperv_init_platform()
447 ms_hyperv.ext_features = cpuid_ecx(HYPERV_CPUID_FEATURES); in ms_hyperv_init_platform()
448 ms_hyperv.misc_features = cpuid_edx(HYPERV_CPUID_FEATURES); in ms_hyperv_init_platform()
449 ms_hyperv.hints = cpuid_eax(HYPERV_CPUID_ENLIGHTMENT_INFO); in ms_hyperv_init_platform()
454 ms_hyperv.features, ms_hyperv.priv_high, in ms_hyperv_init_platform()
455 ms_hyperv.ext_features, ms_hyperv.hints, in ms_hyperv_init_platform()
456 ms_hyperv.misc_features); in ms_hyperv_init_platform()
458 ms_hyperv.max_vp_index = cpuid_eax(HYPERV_CPUID_IMPLEMENT_LIMITS); in ms_hyperv_init_platform()
459 ms_hyperv.max_lp_index = cpuid_ebx(HYPERV_CPUID_IMPLEMENT_LIMITS); in ms_hyperv_init_platform()
462 ms_hyperv.max_vp_index, ms_hyperv.max_lp_index); in ms_hyperv_init_platform()
466 if (ms_hyperv.hints & HV_X64_HYPERV_NESTED) { in ms_hyperv_init_platform()
471 if (ms_hyperv.features & HV_ACCESS_FREQUENCY_MSRS && in ms_hyperv_init_platform()
472 ms_hyperv.misc_features & HV_FEATURE_FREQUENCY_MSRS_AVAILABLE) { in ms_hyperv_init_platform()
478 if (ms_hyperv.priv_high & HV_ISOLATION) { in ms_hyperv_init_platform()
479 ms_hyperv.isolation_config_a = cpuid_eax(HYPERV_CPUID_ISOLATION_CONFIG); in ms_hyperv_init_platform()
480 ms_hyperv.isolation_config_b = cpuid_ebx(HYPERV_CPUID_ISOLATION_CONFIG); in ms_hyperv_init_platform()
482 if (ms_hyperv.shared_gpa_boundary_active) in ms_hyperv_init_platform()
483 ms_hyperv.shared_gpa_boundary = in ms_hyperv_init_platform()
484 BIT_ULL(ms_hyperv.shared_gpa_boundary_bits); in ms_hyperv_init_platform()
486 hyperv_paravisor_present = !!ms_hyperv.paravisor_present; in ms_hyperv_init_platform()
489 ms_hyperv.isolation_config_a, ms_hyperv.isolation_config_b); in ms_hyperv_init_platform()
498 ms_hyperv.hints &= ~HV_X64_APIC_ACCESS_RECOMMENDED; in ms_hyperv_init_platform()
500 if (!ms_hyperv.paravisor_present) { in ms_hyperv_init_platform()
507 ms_hyperv.features &= ~HV_MSR_REFERENCE_TSC_AVAILABLE; in ms_hyperv_init_platform()
515 if (!(ms_hyperv.features & HV_ACCESS_TSC_INVARIANT)) in ms_hyperv_init_platform()
519 ms_hyperv.misc_features &= ~HV_FEATURE_GUEST_CRASH_MSR_AVAILABLE; in ms_hyperv_init_platform()
522 ms_hyperv.hints &= ~HV_X64_REMOTE_TLB_FLUSH_RECOMMENDED; in ms_hyperv_init_platform()
530 ms_hyperv.nested_features = in ms_hyperv_init_platform()
533 ms_hyperv.nested_features); in ms_hyperv_init_platform()
537 if (ms_hyperv.features & HV_ACCESS_FREQUENCY_MSRS && in ms_hyperv_init_platform()
538 ms_hyperv.misc_features & HV_FEATURE_FREQUENCY_MSRS_AVAILABLE) { in ms_hyperv_init_platform()
567 if (ms_hyperv.features & HV_ACCESS_TSC_INVARIANT) { in ms_hyperv_init_platform()
590 ms_hyperv.paravisor_present) in ms_hyperv_init_platform()
602 if (ms_hyperv.features & HV_ACCESS_REENLIGHTENMENT) { in ms_hyperv_init_platform()
607 if (ms_hyperv.misc_features & HV_STIMER_DIRECT_MODE_AVAILABLE) { in ms_hyperv_init_platform()
614 (!ms_hyperv.paravisor_present && hv_isolation_type_snp())) in ms_hyperv_init_platform()
639 if (!(ms_hyperv.features & HV_ACCESS_TSC_INVARIANT)) in ms_hyperv_init_platform()