#ifndef _ASM_X86_HYPERV_TLFS_H
#define _ASM_X86_HYPERV_TLFS_H
#include <linux/types.h>
#include <asm/page.h>
#define HYPERV_CPUID_VENDOR_AND_MAX_FUNCTIONS …
#define HYPERV_CPUID_INTERFACE …
#define HYPERV_CPUID_VERSION …
#define HYPERV_CPUID_FEATURES …
#define HYPERV_CPUID_ENLIGHTMENT_INFO …
#define HYPERV_CPUID_IMPLEMENT_LIMITS …
#define HYPERV_CPUID_CPU_MANAGEMENT_FEATURES …
#define HYPERV_CPUID_NESTED_FEATURES …
#define HYPERV_CPUID_ISOLATION_CONFIG …
#define HYPERV_CPUID_VIRT_STACK_INTERFACE …
#define HYPERV_VS_INTERFACE_EAX_SIGNATURE …
#define HYPERV_CPUID_VIRT_STACK_PROPERTIES …
#define HYPERV_VS_PROPERTIES_EAX_EXTENDED_IOAPIC_RTE …
#define HYPERV_HYPERVISOR_PRESENT_BIT …
#define HYPERV_CPUID_MIN …
#define HYPERV_CPUID_MAX …
#define HV_X64_MWAIT_AVAILABLE …
#define HV_X64_GUEST_DEBUGGING_AVAILABLE …
#define HV_X64_PERF_MONITOR_AVAILABLE …
#define HV_X64_CPU_DYNAMIC_PARTITIONING_AVAILABLE …
#define HV_X64_HYPERCALL_XMM_INPUT_AVAILABLE …
#define HV_X64_GUEST_IDLE_STATE_AVAILABLE …
#define HV_FEATURE_FREQUENCY_MSRS_AVAILABLE …
#define HV_FEATURE_GUEST_CRASH_MSR_AVAILABLE …
#define HV_FEATURE_DEBUG_MSRS_AVAILABLE …
#define HV_FEATURE_EXT_GVA_RANGES_FLUSH …
#define HV_X64_HYPERCALL_XMM_OUTPUT_AVAILABLE …
#define HV_STIMER_DIRECT_MODE_AVAILABLE …
#define HV_X64_AS_SWITCH_RECOMMENDED …
#define HV_X64_LOCAL_TLB_FLUSH_RECOMMENDED …
#define HV_X64_REMOTE_TLB_FLUSH_RECOMMENDED …
#define HV_X64_APIC_ACCESS_RECOMMENDED …
#define HV_X64_SYSTEM_RESET_RECOMMENDED …
#define HV_X64_RELAXED_TIMING_RECOMMENDED …
#define HV_DEPRECATING_AEOI_RECOMMENDED …
#define HV_X64_CLUSTER_IPI_RECOMMENDED …
#define HV_X64_EX_PROCESSOR_MASKS_RECOMMENDED …
#define HV_X64_HYPERV_NESTED …
#define HV_X64_ENLIGHTENED_VMCS_RECOMMENDED …
#define HV_X64_USE_MMIO_HYPERCALLS …
#define HV_X64_START_LOGICAL_PROCESSOR …
#define HV_X64_CREATE_ROOT_VIRTUAL_PROCESSOR …
#define HV_X64_PERFORMANCE_COUNTER_SYNC …
#define HV_X64_RESERVED_IDENTITY_BIT …
#define HV_X64_NO_NONARCH_CORESHARING …
#define HV_X64_NESTED_DIRECT_FLUSH …
#define HV_X64_NESTED_GUEST_MAPPING_FLUSH …
#define HV_X64_NESTED_MSR_BITMAP …
#define HV_X64_NESTED_EVMCS1_PERF_GLOBAL_CTRL …
#define HV_X64_NESTED_ENLIGHTENED_TLB …
#define HV_PARAVISOR_PRESENT …
#define HV_ISOLATION_TYPE …
#define HV_SHARED_GPA_BOUNDARY_ACTIVE …
#define HV_SHARED_GPA_BOUNDARY_BITS …
enum hv_isolation_type { … };
#define HV_X64_MSR_GUEST_OS_ID …
#define HV_X64_MSR_HYPERCALL …
#define HV_X64_MSR_VP_INDEX …
#define HV_X64_MSR_RESET …
#define HV_X64_MSR_VP_RUNTIME …
#define HV_X64_MSR_TIME_REF_COUNT …
#define HV_X64_MSR_REFERENCE_TSC …
#define HV_X64_MSR_TSC_FREQUENCY …
#define HV_X64_MSR_APIC_FREQUENCY …
#define HV_X64_MSR_EOI …
#define HV_X64_MSR_ICR …
#define HV_X64_MSR_TPR …
#define HV_X64_MSR_VP_ASSIST_PAGE …
#define HV_X64_MSR_SCONTROL …
#define HV_X64_MSR_SVERSION …
#define HV_X64_MSR_SIEFP …
#define HV_X64_MSR_SIMP …
#define HV_X64_MSR_EOM …
#define HV_X64_MSR_SINT0 …
#define HV_X64_MSR_SINT1 …
#define HV_X64_MSR_SINT2 …
#define HV_X64_MSR_SINT3 …
#define HV_X64_MSR_SINT4 …
#define HV_X64_MSR_SINT5 …
#define HV_X64_MSR_SINT6 …
#define HV_X64_MSR_SINT7 …
#define HV_X64_MSR_SINT8 …
#define HV_X64_MSR_SINT9 …
#define HV_X64_MSR_SINT10 …
#define HV_X64_MSR_SINT11 …
#define HV_X64_MSR_SINT12 …
#define HV_X64_MSR_SINT13 …
#define HV_X64_MSR_SINT14 …
#define HV_X64_MSR_SINT15 …
#define HV_X64_MSR_NESTED_SCONTROL …
#define HV_X64_MSR_NESTED_SVERSION …
#define HV_X64_MSR_NESTED_SIEFP …
#define HV_X64_MSR_NESTED_SIMP …
#define HV_X64_MSR_NESTED_EOM …
#define HV_X64_MSR_NESTED_SINT0 …
#define HV_X64_MSR_STIMER0_CONFIG …
#define HV_X64_MSR_STIMER0_COUNT …
#define HV_X64_MSR_STIMER1_CONFIG …
#define HV_X64_MSR_STIMER1_COUNT …
#define HV_X64_MSR_STIMER2_CONFIG …
#define HV_X64_MSR_STIMER2_COUNT …
#define HV_X64_MSR_STIMER3_CONFIG …
#define HV_X64_MSR_STIMER3_COUNT …
#define HV_X64_MSR_GUEST_IDLE …
#define HV_X64_MSR_CRASH_P0 …
#define HV_X64_MSR_CRASH_P1 …
#define HV_X64_MSR_CRASH_P2 …
#define HV_X64_MSR_CRASH_P3 …
#define HV_X64_MSR_CRASH_P4 …
#define HV_X64_MSR_CRASH_CTL …
#define HV_X64_MSR_REENLIGHTENMENT_CONTROL …
#define HV_X64_MSR_TSC_EMULATION_CONTROL …
#define HV_X64_MSR_TSC_EMULATION_STATUS …
#define HV_X64_MSR_TSC_INVARIANT_CONTROL …
#define HV_EXPOSE_INVARIANT_TSC …
#define HV_MSR_CRASH_P0 …
#define HV_MSR_CRASH_P1 …
#define HV_MSR_CRASH_P2 …
#define HV_MSR_CRASH_P3 …
#define HV_MSR_CRASH_P4 …
#define HV_MSR_CRASH_CTL …
#define HV_MSR_VP_INDEX …
#define HV_MSR_TIME_REF_COUNT …
#define HV_MSR_REFERENCE_TSC …
#define HV_MSR_SINT0 …
#define HV_MSR_SVERSION …
#define HV_MSR_SCONTROL …
#define HV_MSR_SIEFP …
#define HV_MSR_SIMP …
#define HV_MSR_EOM …
#define HV_MSR_NESTED_SCONTROL …
#define HV_MSR_NESTED_SVERSION …
#define HV_MSR_NESTED_SIEFP …
#define HV_MSR_NESTED_SIMP …
#define HV_MSR_NESTED_EOM …
#define HV_MSR_NESTED_SINT0 …
#define HV_MSR_STIMER0_CONFIG …
#define HV_MSR_STIMER0_COUNT …
#define HV_X64_REGISTER_VSM_VP_STATUS …
#define HV_X64_VTL_MASK …
enum hv_mem_host_visibility { … };
#define HV_MAX_MODIFY_GPA_REP_COUNT …
struct hv_gpa_range_for_visibility { … } __packed;
hv_x64_msr_hypercall_contents;
hv_vp_assist_msr_contents;
struct hv_reenlightenment_control { … } __packed;
struct hv_tsc_emulation_control { … } __packed;
struct hv_tsc_emulation_status { … } __packed;
#define HV_X64_MSR_HYPERCALL_ENABLE …
#define HV_X64_MSR_HYPERCALL_PAGE_ADDRESS_SHIFT …
#define HV_X64_MSR_HYPERCALL_PAGE_ADDRESS_MASK …
#define HV_X64_MSR_CRASH_PARAMS …
#define HV_IPI_LOW_VECTOR …
#define HV_IPI_HIGH_VECTOR …
#define HV_X64_MSR_VP_ASSIST_PAGE_ENABLE …
#define HV_X64_MSR_VP_ASSIST_PAGE_ADDRESS_SHIFT …
#define HV_X64_MSR_VP_ASSIST_PAGE_ADDRESS_MASK …
#define HV_X64_ENLIGHTENED_VMCS_VERSION …
#define HV_X64_MSR_TSC_REFERENCE_ENABLE …
#define HV_X64_MSR_TSC_REFERENCE_ADDRESS_SHIFT …
#define HV_HYPERCALL_MAX_XMM_REGISTERS …
struct hv_nested_enlightenments_control { … } __packed;
struct hv_vp_assist_page { … } __packed;
struct hv_enlightened_vmcs { … } __packed;
#define HV_VMX_ENLIGHTENED_CLEAN_FIELD_NONE …
#define HV_VMX_ENLIGHTENED_CLEAN_FIELD_IO_BITMAP …
#define HV_VMX_ENLIGHTENED_CLEAN_FIELD_MSR_BITMAP …
#define HV_VMX_ENLIGHTENED_CLEAN_FIELD_CONTROL_GRP2 …
#define HV_VMX_ENLIGHTENED_CLEAN_FIELD_CONTROL_GRP1 …
#define HV_VMX_ENLIGHTENED_CLEAN_FIELD_CONTROL_PROC …
#define HV_VMX_ENLIGHTENED_CLEAN_FIELD_CONTROL_EVENT …
#define HV_VMX_ENLIGHTENED_CLEAN_FIELD_CONTROL_ENTRY …
#define HV_VMX_ENLIGHTENED_CLEAN_FIELD_CONTROL_EXCPN …
#define HV_VMX_ENLIGHTENED_CLEAN_FIELD_CRDR …
#define HV_VMX_ENLIGHTENED_CLEAN_FIELD_CONTROL_XLAT …
#define HV_VMX_ENLIGHTENED_CLEAN_FIELD_GUEST_BASIC …
#define HV_VMX_ENLIGHTENED_CLEAN_FIELD_GUEST_GRP1 …
#define HV_VMX_ENLIGHTENED_CLEAN_FIELD_GUEST_GRP2 …
#define HV_VMX_ENLIGHTENED_CLEAN_FIELD_HOST_POINTER …
#define HV_VMX_ENLIGHTENED_CLEAN_FIELD_HOST_GRP1 …
#define HV_VMX_ENLIGHTENED_CLEAN_FIELD_ENLIGHTENMENTSCONTROL …
#define HV_VMX_ENLIGHTENED_CLEAN_FIELD_ALL …
#define HV_VMX_SYNTHETIC_EXIT_REASON_TRAP_AFTER_FLUSH …
struct hv_vmcb_enlightenments { … } __packed;
#define HV_VMCB_NESTED_ENLIGHTENMENTS …
#define HV_SVM_EXITCODE_ENL …
#define HV_SVM_ENL_EXITCODE_TRAP_AFTER_FLUSH …
struct hv_partition_assist_pg { … };
enum hv_interrupt_type { … };
hv_msi_address_register __packed;
hv_msi_data_register __packed;
hv_msi_entry;
struct hv_x64_segment_register { … } __packed;
struct hv_x64_table_register { … } __packed;
struct hv_init_vp_context { … } __packed;
hv_input_vtl __packed;
struct hv_enable_vp_vtl { … } __packed;
struct hv_get_vp_from_apic_id_in { … } __packed;
#include <asm-generic/hyperv-tlfs.h>
#endif