| /linux/arch/x86/kernel/cpu/ |
| H A D | mshyperv.c | 39 struct ms_hyperv_info ms_hyperv; variable 73 if (hv_is_synic_msr(reg) && ms_hyperv.paravisor_present) in hv_get_non_nested_msr() 83 if (hv_is_synic_msr(reg) && ms_hyperv.paravisor_present) { in hv_set_non_nested_msr() 114 if (WARN_ON(!ms_hyperv.paravisor_present || !hv_is_synic_msr(reg))) in hv_para_get_synic_register() 124 if (WARN_ON(!ms_hyperv.paravisor_present || !hv_is_synic_msr(reg))) in hv_para_set_synic_register() 164 if (ms_hyperv.hints & HV_DEPRECATING_AEOI_RECOMMENDED) in DEFINE_IDTENTRY_SYSVEC() 318 if (!(ms_hyperv.features & HV_MSR_REFERENCE_TSC_AVAILABLE)) in x86_setup_ops_for_tsc_pg_clock() 422 if (!ms_hyperv.paravisor_present && hv_isolation_type_snp()) { in hv_smp_prepare_cpus() 515 ms_hyperv.features = cpuid_eax(HYPERV_CPUID_FEATURES); in ms_hyperv_init_platform() 516 ms_hyperv.priv_high = cpuid_ebx(HYPERV_CPUID_FEATURES); in ms_hyperv_init_platform() [all …]
|
| /linux/arch/arm64/hyperv/ |
| H A D | mshyperv.c | 94 ms_hyperv.features = result.as32.a; in hyperv_init() 95 ms_hyperv.priv_high = result.as32.b; in hyperv_init() 96 ms_hyperv.misc_features = result.as32.c; in hyperv_init() 99 ms_hyperv.hints = result.as32.a; in hyperv_init() 102 ms_hyperv.features, ms_hyperv.priv_high, ms_hyperv.hints, in hyperv_init() 103 ms_hyperv.misc_features); in hyperv_init() 118 if (ms_hyperv.priv_high & HV_ACCESS_PARTITION_ID) in hyperv_init() 120 ms_hyperv.vtl = get_vtl(); in hyperv_init() 121 if (ms_hyperv.vtl > 0) /* non default VTL */ in hyperv_init() 122 pr_info("Linux runs in Hyper-V Virtual Trust Level %d\n", ms_hyperv.vtl); in hyperv_init()
|
| /linux/arch/x86/hyperv/ |
| H A D | hv_init.c | 93 if (!ms_hyperv.paravisor_present || !hv_isolation_type_snp()) in hyperv_init_ghcb() 107 ghcb_gpa &= ~ms_hyperv.shared_gpa_boundary; in hyperv_init_ghcb() 158 if (*hvp && !ms_hyperv.paravisor_present && hv_isolation_type_snp()) { in hv_cpu_init() 174 if (ms_hyperv.misc_features & HV_STIMER_DIRECT_MODE_AVAILABLE) in hv_cpu_init() 214 return ms_hyperv.features & HV_ACCESS_FREQUENCY_MSRS && in hv_reenlightenment_available() 215 ms_hyperv.misc_features & HV_FEATURE_FREQUENCY_MSRS_AVAILABLE && in hv_reenlightenment_available() 216 ms_hyperv.features & HV_ACCESS_REENLIGHTENMENT; in hv_reenlightenment_available() 284 if (ms_hyperv.misc_features & HV_STIMER_DIRECT_MODE_AVAILABLE) in hv_cpu_die() 472 ms_hyperv.hints &= ~HV_X64_ENLIGHTENED_VMCS_RECOMMENDED; in hyperv_init() 478 if (ms_hyperv.paravisor_present && hv_isolation_type_snp()) { in hyperv_init() [all …]
|
| H A D | hv_apic.c | 120 if (!(ms_hyperv.hints & HV_X64_EX_PROCESSOR_MASKS_RECOMMENDED)) in __send_ipi_mask_ex() 190 if (ms_hyperv.paravisor_present || !hv_isolation_type_tdx()) in __send_ipi_mask() 250 if (ms_hyperv.paravisor_present || !hv_isolation_type_tdx()) in __send_ipi_one() 304 if (ms_hyperv.hints & HV_X64_CLUSTER_IPI_RECOMMENDED) { in hv_apic_init() 319 if (ms_hyperv.hints & HV_X64_APIC_ACCESS_RECOMMENDED) { in hv_apic_init()
|
| H A D | hv_spinlock.c | 73 !(ms_hyperv.hints & HV_X64_CLUSTER_IPI_RECOMMENDED) || in hv_init_spinlocks() 74 !(ms_hyperv.features & HV_MSR_GUEST_IDLE_AVAILABLE)) { in hv_init_spinlocks()
|
| H A D | ivm.c | 311 if (vp_index < 0 || vp_index > ms_hyperv.max_vp_index) in hv_snp_boot_ap() 362 start_vp_input->target_vtl.target_vtl = ms_hyperv.vtl; in hv_snp_boot_ap() 461 if (!ms_hyperv.paravisor_present) in hv_ivm_msr_write() 472 if (!ms_hyperv.paravisor_present) in hv_ivm_msr_read() 887 cc_set_mask(ms_hyperv.shared_gpa_boundary); in hv_vtom_init() 888 physical_mask &= ms_hyperv.shared_gpa_boundary - 1; in hv_vtom_init() 906 if (!(ms_hyperv.priv_high & HV_ISOLATION)) in hv_get_isolation_type() 908 return FIELD_GET(HV_ISOLATION_TYPE, ms_hyperv.isolation_config_b); in hv_get_isolation_type()
|
| H A D | mmu.c | 179 if (!(ms_hyperv.hints & HV_X64_EX_PROCESSOR_MASKS_RECOMMENDED)) in hyperv_flush_tlb_others_ex() 241 if (!(ms_hyperv.hints & HV_X64_REMOTE_TLB_FLUSH_RECOMMENDED)) in hyperv_setup_mmu_ops()
|
| H A D | hv_vtl.c | 69 pr_info("Linux runs in Hyper-V Virtual Trust Level %d\n", ms_hyperv.vtl); in hv_vtl_init_platform() 233 if (vp_index > ms_hyperv.max_vp_index) { in hv_vtl_wakeup_secondary_cpu()
|
| /linux/drivers/hv/ |
| H A D | hv.c | 68 if (hv_isolation_type_tdx() && ms_hyperv.paravisor_present) in hv_post_message() 79 if (ms_hyperv.paravisor_present && !vmbus_is_confidential()) { in hv_post_message() 198 if (ms_hyperv.paravisor_present && hv_isolation_type_tdx()) { in hv_synic_alloc() 210 if (!ms_hyperv.paravisor_present && !hv_root_partition()) { in hv_synic_alloc() 252 if (ms_hyperv.paravisor_present && hv_isolation_type_tdx()) in hv_synic_free() 255 if (!ms_hyperv.paravisor_present && !hv_root_partition()) { in hv_synic_free() 288 if (ms_hyperv.paravisor_present || hv_root_partition()) { in hv_hyp_synic_enable_regs() 291 ~ms_hyperv.shared_gpa_boundary; in hv_hyp_synic_enable_regs() 307 if (ms_hyperv.paravisor_present || hv_root_partition()) { in hv_hyp_synic_enable_regs() 310 ~ms_hyperv.shared_gpa_boundary; in hv_hyp_synic_enable_regs() [all …]
|
| H A D | hv_common.c | 52 struct ms_hyperv_info __weak ms_hyperv; variable 53 EXPORT_SYMBOL_GPL(ms_hyperv); 92 if (ms_hyperv.misc_features & HV_FEATURE_GUEST_CRASH_MSR_AVAILABLE) in hv_common_free() 337 if (ms_hyperv.misc_features & HV_FEATURE_GUEST_CRASH_MSR_AVAILABLE) { in hv_common_init() 501 if (!ms_hyperv.paravisor_present && in hv_common_cpu_init() 592 if (!(ms_hyperv.priv_high & HV_ENABLE_EXTENDED_HYPERCALLS)) in hv_query_ext_cap() 754 if ((ms_hyperv.priv_high & HV_CREATE_PARTITIONS) && in hv_identify_partition_type() 755 !(ms_hyperv.priv_high & HV_ISOLATION)) { in hv_identify_partition_type() 759 } else if (ms_hyperv.priv_high & HV_CPU_MANAGEMENT) { in hv_identify_partition_type()
|
| H A D | connection.c | 102 msg->msg_vtl = ms_hyperv.vtl; in vmbus_negotiate_version() 117 ms_hyperv.shared_gpa_boundary; in vmbus_negotiate_version() 119 ms_hyperv.shared_gpa_boundary; in vmbus_negotiate_version() 515 if (ms_hyperv.paravisor_present) { in vmbus_set_event()
|
| H A D | mshv_eventfd.c | 160 if (!(ms_hyperv.ext_features & in mshv_try_assert_irq_fast()
|
| H A D | mshv_root_main.c | 278 return ms_hyperv.ext_features & HV_VP_GHCB_ROOT_MAPPING_AVAILABLE; in is_ghcb_mapping_available()
|
| H A D | vmbus_drv.c | 1536 is_confidential = ms_hyperv.confidential_vmbus_available; in vmbus_bus_init()
|
| /linux/drivers/clocksource/ |
| H A D | hyperv_timer.c | 152 if (!ms_hyperv.paravisor_present && hv_isolation_type_tdx()) in hv_stimer_init() 271 if (!(ms_hyperv.features & HV_MSR_SYNTIMER_AVAILABLE)) in hv_stimer_alloc() 278 direct_mode_enabled = ms_hyperv.misc_features & in hv_stimer_alloc() 568 if ((ms_hyperv.features & HV_ACCESS_TSC_INVARIANT) || in hv_init_tsc_clocksource() 574 if (!(ms_hyperv.features & HV_MSR_REFERENCE_TSC_AVAILABLE)) in hv_init_tsc_clocksource() 612 if (!(ms_hyperv.features & HV_ACCESS_TSC_INVARIANT)) { in hv_init_tsc_clocksource() 632 if (ms_hyperv.features & HV_MSR_TIME_REF_COUNT_AVAILABLE) in hv_init_clocksource() 638 if (!(ms_hyperv.features & HV_MSR_REFERENCE_TSC_AVAILABLE)) in hv_remap_tsc_clocksource()
|
| /linux/arch/x86/kvm/svm/ |
| H A D | svm_onhyperv.h | 22 return ms_hyperv.nested_features & HV_X64_NESTED_ENLIGHTENED_TLB && in svm_hv_is_enlightened_tlb_enabled() 34 ms_hyperv.nested_features & HV_X64_NESTED_ENLIGHTENED_TLB) in svm_hv_init_vmcb() 37 if (ms_hyperv.nested_features & HV_X64_NESTED_MSR_BITMAP) in svm_hv_init_vmcb()
|
| H A D | svm_onhyperv.c | 41 ms_hyperv.nested_features & HV_X64_NESTED_ENLIGHTENED_TLB) { in svm_hv_hardware_setup() 47 if (ms_hyperv.nested_features & HV_X64_NESTED_DIRECT_FLUSH) { in svm_hv_hardware_setup()
|
| /linux/include/asm-generic/ |
| H A D | mshyperv.h | 68 extern struct ms_hyperv_info ms_hyperv; 90 return !(ms_hyperv.hints & HV_DEPRECATING_AEOI_RECOMMENDED); in hv_recommend_using_aeoi()
|
| /linux/arch/x86/kvm/vmx/ |
| H A D | vmx.c | 655 if (ms_hyperv.hints & HV_X64_ENLIGHTENED_VMCS_RECOMMENDED && in hv_init_evmcs() 656 (ms_hyperv.nested_features & HV_X64_ENLIGHTENED_VMCS_VERSION) >= in hv_init_evmcs() 672 if (ms_hyperv.nested_features & HV_X64_NESTED_DIRECT_FLUSH) in hv_init_evmcs() 7821 (ms_hyperv.nested_features & HV_X64_NESTED_MSR_BITMAP)) { in vmx_vcpu_create() 8767 if (ms_hyperv.nested_features & HV_X64_NESTED_GUEST_MAPPING_FLUSH in vmx_hardware_setup()
|
| /linux/drivers/pci/controller/ |
| H A D | pci-hyperv.c | 3767 hbus->use_calls = !!(ms_hyperv.hints & HV_X64_USE_MMIO_HYPERCALLS); in hv_pci_probe()
|