/openbmc/linux/arch/x86/kernel/cpu/ |
H A D | mshyperv.c | 41 struct ms_hyperv_info ms_hyperv; variable 73 if (hv_is_synic_reg(reg) && ms_hyperv.paravisor_present) in hv_get_non_nested_register() 83 if (hv_is_synic_reg(reg) && ms_hyperv.paravisor_present) { in hv_set_non_nested_register() 126 if (ms_hyperv.hints & HV_DEPRECATING_AEOI_RECOMMENDED) in DEFINE_IDTENTRY_SYSVEC() 273 if (!(ms_hyperv.features & HV_MSR_REFERENCE_TSC_AVAILABLE)) in x86_setup_ops_for_tsc_pg_clock() 364 if (!ms_hyperv.paravisor_present && hv_isolation_type_snp()) { in hv_smp_prepare_cpus() 422 ms_hyperv.features = cpuid_eax(HYPERV_CPUID_FEATURES); in ms_hyperv_init_platform() 423 ms_hyperv.priv_high = cpuid_ebx(HYPERV_CPUID_FEATURES); in ms_hyperv_init_platform() 424 ms_hyperv.misc_features = cpuid_edx(HYPERV_CPUID_FEATURES); in ms_hyperv_init_platform() 425 ms_hyperv.hints = cpuid_eax(HYPERV_CPUID_ENLIGHTMENT_INFO); in ms_hyperv_init_platform() [all …]
|
/openbmc/linux/arch/arm64/hyperv/ |
H A D | mshyperv.c | 46 ms_hyperv.features = result.as32.a; in hyperv_init() 47 ms_hyperv.priv_high = result.as32.b; in hyperv_init() 48 ms_hyperv.misc_features = result.as32.c; in hyperv_init() 51 ms_hyperv.hints = result.as32.a; in hyperv_init() 54 ms_hyperv.features, ms_hyperv.priv_high, ms_hyperv.hints, in hyperv_init() 55 ms_hyperv.misc_features); in hyperv_init()
|
/openbmc/linux/drivers/hv/ |
H A D | hv.c | 66 if (hv_isolation_type_tdx() && ms_hyperv.paravisor_present) in hv_post_message() 77 if (ms_hyperv.paravisor_present) { in hv_post_message() 125 if (ms_hyperv.paravisor_present && hv_isolation_type_tdx()) { in hv_synic_alloc() 147 if (!ms_hyperv.paravisor_present && !hv_root_partition) { in hv_synic_alloc() 166 if (!ms_hyperv.paravisor_present && in hv_synic_alloc() 216 if (ms_hyperv.paravisor_present && hv_isolation_type_tdx()) { in hv_synic_free() 227 if (!ms_hyperv.paravisor_present && in hv_synic_free() 276 if (ms_hyperv.paravisor_present || hv_root_partition) { in hv_synic_enable_regs() 279 ~ms_hyperv.shared_gpa_boundary; in hv_synic_enable_regs() 295 if (ms_hyperv.paravisor_present || hv_root_partition) { in hv_synic_enable_regs() [all …]
|
H A D | hv_common.c | 46 struct ms_hyperv_info __weak ms_hyperv; variable 47 EXPORT_SYMBOL_GPL(ms_hyperv); 76 if (ms_hyperv.misc_features & HV_FEATURE_GUEST_CRASH_MSR_AVAILABLE) in hv_common_free() 293 if (ms_hyperv.misc_features & HV_FEATURE_GUEST_CRASH_MSR_AVAILABLE) { in hv_common_init() 385 if (!ms_hyperv.paravisor_present && in hv_common_cpu_init() 460 if (!(ms_hyperv.priv_high & HV_ENABLE_EXTENDED_HYPERCALLS)) in hv_query_ext_cap()
|
H A D | connection.c | 101 msg->msg_vtl = ms_hyperv.vtl; in vmbus_negotiate_version() 113 ms_hyperv.shared_gpa_boundary; in vmbus_negotiate_version() 115 ms_hyperv.shared_gpa_boundary; in vmbus_negotiate_version() 501 if (ms_hyperv.paravisor_present) { in vmbus_set_event()
|
/openbmc/linux/arch/x86/hyperv/ |
H A D | hv_init.c | 58 if (!ms_hyperv.paravisor_present || !hv_isolation_type_snp()) in hyperv_init_ghcb() 72 ghcb_gpa &= ~ms_hyperv.shared_gpa_boundary; in hyperv_init_ghcb() 123 if (*hvp && !ms_hyperv.paravisor_present && hv_isolation_type_snp()) { in hv_cpu_init() 175 return ms_hyperv.features & HV_ACCESS_FREQUENCY_MSRS && in hv_reenlightenment_available() 176 ms_hyperv.misc_features & HV_FEATURE_FREQUENCY_MSRS_AVAILABLE && in hv_reenlightenment_available() 177 ms_hyperv.features & HV_ACCESS_REENLIGHTENMENT; in hv_reenlightenment_available() 480 ms_hyperv.hints &= ~HV_X64_ENLIGHTENED_VMCS_RECOMMENDED; in hyperv_init() 486 if (ms_hyperv.paravisor_present && hv_isolation_type_snp()) { in hyperv_init() 530 if (hv_isolation_type_tdx() && !ms_hyperv.paravisor_present) in hyperv_init() 627 ms_hyperv.vtl = get_vtl(); in hyperv_init() [all …]
|
H A D | hv_apic.c | 115 if (!(ms_hyperv.hints & HV_X64_EX_PROCESSOR_MASKS_RECOMMENDED)) in __send_ipi_mask_ex() 180 if (ms_hyperv.paravisor_present || !hv_isolation_type_tdx()) in __send_ipi_mask() 240 if (ms_hyperv.paravisor_present || !hv_isolation_type_tdx()) in __send_ipi_one() 291 if (ms_hyperv.hints & HV_X64_CLUSTER_IPI_RECOMMENDED) { in hv_apic_init() 306 if (ms_hyperv.hints & HV_X64_APIC_ACCESS_RECOMMENDED) { in hv_apic_init()
|
H A D | ivm.c | 352 start_vp_input->target_vtl.target_vtl = ms_hyperv.vtl; in hv_snp_boot_ap() 436 if (!ms_hyperv.paravisor_present) in hv_ivm_msr_write() 447 if (!ms_hyperv.paravisor_present) in hv_ivm_msr_read() 605 cc_set_mask(ms_hyperv.shared_gpa_boundary); in hv_vtom_init() 606 physical_mask &= ms_hyperv.shared_gpa_boundary - 1; in hv_vtom_init() 621 if (!(ms_hyperv.priv_high & HV_ISOLATION)) in hv_get_isolation_type() 623 return FIELD_GET(HV_ISOLATION_TYPE, ms_hyperv.isolation_config_b); in hv_get_isolation_type()
|
H A D | hv_spinlock.c | 72 !(ms_hyperv.hints & HV_X64_CLUSTER_IPI_RECOMMENDED) || in hv_init_spinlocks() 73 !(ms_hyperv.features & HV_MSR_GUEST_IDLE_AVAILABLE)) { in hv_init_spinlocks()
|
H A D | mmu.c | 180 if (!(ms_hyperv.hints & HV_X64_EX_PROCESSOR_MASKS_RECOMMENDED)) in hyperv_flush_tlb_others_ex() 238 if (!(ms_hyperv.hints & HV_X64_REMOTE_TLB_FLUSH_RECOMMENDED)) in hyperv_setup_mmu_ops()
|
H A D | hv_vtl.c | 228 if (vp_id > ms_hyperv.max_vp_index) { in hv_vtl_wakeup_secondary_cpu()
|
/openbmc/linux/arch/x86/kvm/svm/ |
H A D | svm_onhyperv.h | 24 return ms_hyperv.nested_features & HV_X64_NESTED_ENLIGHTENED_TLB && in svm_hv_is_enlightened_tlb_enabled() 36 ms_hyperv.nested_features & HV_X64_NESTED_ENLIGHTENED_TLB) in svm_hv_init_vmcb() 39 if (ms_hyperv.nested_features & HV_X64_NESTED_MSR_BITMAP) in svm_hv_init_vmcb() 46 ms_hyperv.nested_features & HV_X64_NESTED_ENLIGHTENED_TLB) { in svm_hv_hardware_setup() 52 if (ms_hyperv.nested_features & HV_X64_NESTED_DIRECT_FLUSH) { in svm_hv_hardware_setup()
|
/openbmc/linux/drivers/clocksource/ |
H A D | hyperv_timer.c | 256 if (!(ms_hyperv.features & HV_MSR_SYNTIMER_AVAILABLE)) in hv_stimer_alloc() 263 direct_mode_enabled = ms_hyperv.misc_features & in hv_stimer_alloc() 544 if (ms_hyperv.features & HV_ACCESS_TSC_INVARIANT) { in hv_init_tsc_clocksource() 549 if (!(ms_hyperv.features & HV_MSR_REFERENCE_TSC_AVAILABLE)) in hv_init_tsc_clocksource() 587 if (!(ms_hyperv.features & HV_ACCESS_TSC_INVARIANT)) { in hv_init_tsc_clocksource() 607 if (ms_hyperv.features & HV_MSR_TIME_REF_COUNT_AVAILABLE) in hv_init_clocksource() 613 if (!(ms_hyperv.features & HV_MSR_REFERENCE_TSC_AVAILABLE)) in hv_remap_tsc_clocksource()
|
/openbmc/linux/include/asm-generic/ |
H A D | mshyperv.h | 59 extern struct ms_hyperv_info ms_hyperv;
|
/openbmc/linux/arch/x86/kvm/vmx/ |
H A D | vmx.c | 572 if (ms_hyperv.hints & HV_X64_ENLIGHTENED_VMCS_RECOMMENDED && in hv_init_evmcs() 573 (ms_hyperv.nested_features & HV_X64_ENLIGHTENED_VMCS_VERSION) >= in hv_init_evmcs() 589 if (ms_hyperv.nested_features & HV_X64_NESTED_DIRECT_FLUSH) in hv_init_evmcs() 7512 (ms_hyperv.nested_features & HV_X64_NESTED_MSR_BITMAP)) { in vmx_vcpu_create() 8539 if (ms_hyperv.nested_features & HV_X64_NESTED_GUEST_MAPPING_FLUSH in hardware_setup()
|
/openbmc/linux/drivers/pci/controller/ |
H A D | pci-hyperv.c | 3686 hbus->use_calls = !!(ms_hyperv.hints & HV_X64_USE_MMIO_HYPERCALLS); in hv_pci_probe()
|