Virtualization.HyperV

Undocumented in source.
struct Virtualization
struct HyperV {}

Members

Variables

base_feat_apic_access_msrs
bool base_feat_apic_access_msrs;

(Hyper-V) APIC access MSRs (EOI, ICR, TPR)

base_feat_basic_synic_msrs
bool base_feat_basic_synic_msrs;

(Hyper-V) Basic Synthetic Interrupt Controller MSRs

base_feat_debug_msrs
bool base_feat_debug_msrs;

(Hyper-V) Debug MSRs

base_feat_guest_idle_state_msr
bool base_feat_guest_idle_state_msr;

(Hyper-V) Virtual guest idle state MSR

base_feat_hypercall_msrs
bool base_feat_hypercall_msrs;

(Hyper-V) Hypercalls API MSRs

base_feat_part_ref_tsc_msr
bool base_feat_part_ref_tsc_msr;

(Hyper-V) Partition reference timestamp counter MSR

base_feat_part_time_ref_count_msr
bool base_feat_part_time_ref_count_msr;

(Hyper-V) Partition reference counter MSR

base_feat_stat_pages_msr
bool base_feat_stat_pages_msr;

(Hyper-V) Statistic pages MSRs

base_feat_stimer_msrs
bool base_feat_stimer_msrs;

(Hyper-V) Synthetic Timer MSRs

base_feat_timer_freq_msrs
bool base_feat_timer_freq_msrs;

(Hyper-V) Timer frequency MSRs (TSC and APIC)

base_feat_virt_sys_reset_msr
bool base_feat_virt_sys_reset_msr;

(Hyper-V) Virtual system reset MSR

base_feat_vp_id_msr
bool base_feat_vp_id_msr;

(Hyper-V) vCPU index MSR

base_feat_vp_runtime_msr
bool base_feat_vp_runtime_msr;

(Hyper-V) Virtual processor runtime MSR

guest_build
ushort guest_build;

(Hyper-V) Paravirtualization Guest Build number

guest_major
ubyte guest_major;

(Hyper-V) Paravirtualization Guest OS Major version

guest_minor
ubyte guest_minor;

(Hyper-V) Paravirtualization Guest OS Minor version

guest_opensource
bool guest_opensource;

(Hyper-V) Paravirtualization Guest additions open-source

guest_os
ubyte guest_os;

(Hyper-V) Paravirtualization Guest OS ID

guest_service
ubyte guest_service;

(Hyper-V) Paravirtualization Guest Service ID

guest_vendor_id
ushort guest_vendor_id;

(Hyper-V) Paravirtualization Guest Vendor ID

hint_deprecate_auto_eoi
bool hint_deprecate_auto_eoi;

(Hyper-V) Guest should deprecate Auto EOI (End Of Interrupt) features

hint_dma_remapping
bool hint_dma_remapping;

(Hyper-V) Guest should use the direct memory access (DMA) remapping

hint_ex_proc_masks_interface
bool hint_ex_proc_masks_interface;

(Hyper-V) Guest should use the newer ExProcessMasks interface over ProcessMasks

hint_hypercall_for_process_switch
bool hint_hypercall_for_process_switch;

(Hyper-V) Guest should use the Hypercall API for address space switches rather than MOV CR3

hint_hypercall_for_tlb_flush
bool hint_hypercall_for_tlb_flush;

(Hyper-V) Guest should use the Hypercall API for local TLB flushes rather than INVLPG/MOV CR3

hint_hypercall_for_tlb_shootdown
bool hint_hypercall_for_tlb_shootdown;

(Hyper-V) Guest should use the Hypercall API for inter-CPU TLB flushes rather than inter-processor-interrupts (IPI)

hint_int_for_mbec_syscalls
bool hint_int_for_mbec_syscalls;

(Hyper-V) Guest should use the INT instruction for Mode Based Execution Control (MBEC) system calls

hint_interrupt_remapping
bool hint_interrupt_remapping;

(Hyper-V) Guest should use the interrupt remapping

hint_msr_for_apic_access
bool hint_msr_for_apic_access;

(Hyper-V) Guest should use the MSRs for APIC access (EOI, ICR, TPR) rather than memory-mapped input/output (MMIO)

hint_msr_for_sys_reset
bool hint_msr_for_sys_reset;

(Hyper-V) Guest should use the hypervisor-provided MSR for a system reset instead of traditional methods

hint_nested_enlightened_vmcs_interface
bool hint_nested_enlightened_vmcs_interface;

(Hyper-V) Guest should use enlightened Virtual Machine Control Structure (VMCS) interfaces and nested enlightenment

hint_nested_hyperv
bool hint_nested_hyperv;

(Hyper-V) Hyper-V instance is nested within a Hyper-V partition

hint_relax_time_checks
bool hint_relax_time_checks;

(Hyper-V) Guest should relax timer-related checks (watchdogs/deadman timeouts) that rely on timely deliver of external interrupts

hint_synth_cluster_ipi_hypercall
bool hint_synth_cluster_ipi_hypercall;

(Hyper-V) Guest should use the SyntheticClusterIpi Hypercall

hint_x2apic_msrs
bool hint_x2apic_msrs;

(Hyper-V) Guest should use the X2APIC MSRs rather than memory mapped input/output (MMIO)

host_feat_avic
bool host_feat_avic;

(Hyper-V) Hypervisor is using the Advanced Virtual Interrupt Controller (AVIC) overlay

host_feat_dma_prot_in_use
bool host_feat_dma_prot_in_use;

(Hyper-V) Hypervisor is using direct memory access (DMA) protection

host_feat_dma_remapping
bool host_feat_dma_remapping;

(Hyper-V) Hypervisor is using direct memory access (DMA) remapping

host_feat_hpet_requested
bool host_feat_hpet_requested;

(Hyper-V) Hypervisor requires a High Precision Event Timer (HPET)

host_feat_interrupt_remapping
bool host_feat_interrupt_remapping;

(Hyper-V) Hypervisor is using interrupt remapping

host_feat_mem_patrol_scrubber
bool host_feat_mem_patrol_scrubber;

(Hyper-V) Hypervisor's memory patrol scrubber is present

host_feat_msr_bitmap
bool host_feat_msr_bitmap;

(Hyper-V) Hypervisor is using MSR bitmaps

host_feat_nested_paging
bool host_feat_nested_paging;

(Hyper-V) Hypervisor is using nested paging

host_feat_perf_counter
bool host_feat_perf_counter;

(Hyper-V) Hypervisor supports the architectural performance counter

host_feat_stimer_volatile
bool host_feat_stimer_volatile;

(Hyper-V) Hypervisor's synthetic timers are volatile

misc_feat_debug_msrs
bool misc_feat_debug_msrs;

(Hyper-V) Debug MSR available

misc_feat_disable_hypervisor
bool misc_feat_disable_hypervisor;

(Hyper-V) Hypervisor can be disabled

misc_feat_ext_gva_range_for_flush_va_list
bool misc_feat_ext_gva_range_for_flush_va_list;

(Hyper-V) Extended guest virtual address (GVA) ranges for FlushVirtualAddressList available

misc_feat_guest_crash_msrs
bool misc_feat_guest_crash_msrs;

(Hyper-V) Guest crash MSR available

misc_feat_guest_debugging
bool misc_feat_guest_debugging;

(Hyper-V) Guest supports debugging

misc_feat_guest_idle_state
bool misc_feat_guest_idle_state;

(Hyper-V) Virtual guest supports idle state

misc_feat_hypercall_msr_lock
bool misc_feat_hypercall_msr_lock;

(Hyper-V) Hypercall MISR lock feature available

misc_feat_hypercall_output_xmm
bool misc_feat_hypercall_output_xmm;

(Hyper-V) Returning hypercall output via XMM registers available

misc_feat_hypervisor_sleep_state
bool misc_feat_hypervisor_sleep_state;

(Hyper-V) Hypervisor supports sleep

misc_feat_inject_synmc_xcpt
bool misc_feat_inject_synmc_xcpt;

(Hyper-V) Support for injecting synthetic machine checks

misc_feat_mwait
bool misc_feat_mwait;

(Hyper-V) MWAIT instruction available for guest

misc_feat_npiep1
bool misc_feat_npiep1;

(Hyper-V) Documentation unavailable

misc_feat_pcpu_dyn_part_event
bool misc_feat_pcpu_dyn_part_event;

(Hyper-V) Physicap CPU dynamic partitioning event available

misc_feat_perf_mon
bool misc_feat_perf_mon;

(Hyper-V) Performance monitor support available

misc_feat_query_numa_distance
bool misc_feat_query_numa_distance;

(Hyper-V) NUMA distance query available

misc_feat_sint_polling_mode
bool misc_feat_sint_polling_mode;

(Hyper-V) Synthetic interrupt source polling mode available

misc_feat_timer_freq
bool misc_feat_timer_freq;

(Hyper-V) Determining timer frequencies available

misc_feat_use_direct_synth_msrs
bool misc_feat_use_direct_synth_msrs;

(Hyper-V) Possible to directly use synthetic MSRs

misc_feat_xmm_hypercall_input
bool misc_feat_xmm_hypercall_input;

(Hyper-V) Hypercalls via XMM registers available

part_flags_access_memory_pool
bool part_flags_access_memory_pool;

(Hyper-V) Memory pool can be accessed

part_flags_access_part_id
bool part_flags_access_part_id;

(Hyper-V) Partitions IDs can be accessed

part_flags_access_stats
bool part_flags_access_stats;

(Hyper-V) Can access statistics

part_flags_access_vp_regs
bool part_flags_access_vp_regs;

(Hyper-V) Virtual private registers available

part_flags_access_vsm
bool part_flags_access_vsm;

(Hyper-V) Virtual system monitor available

part_flags_adjust_msg_buffers
bool part_flags_adjust_msg_buffers;

(Hyper-V) Possible to adjust message buffers

part_flags_connect_port
bool part_flags_connect_port;

(Hyper-V) Possible to connect to ports

part_flags_cpu_mgmt
bool part_flags_cpu_mgmt;

(Hyper-V) Processor management available

part_flags_cpu_profiler
bool part_flags_cpu_profiler;

(Hyper-V) Processor profiler available

part_flags_create_part
bool part_flags_create_part;

(Hyper-V) Partitions can be created

part_flags_create_port
bool part_flags_create_port;

(Hyper-V) Possible to create ports

part_flags_debugging
bool part_flags_debugging;

(Hyper-V) Debugging features available

part_flags_expanded_stack_walk
bool part_flags_expanded_stack_walk;

(Hyper-V) Extended stack walking available

part_flags_extended_hypercalls
bool part_flags_extended_hypercalls;

(Hyper-V) Extended hypercalls API available

part_flags_post_msgs
bool part_flags_post_msgs;

(Hyper-V) Possible to send messages

part_flags_signal_events
bool part_flags_signal_events;

(Hyper-V) Possible to signal events

part_flags_start_vp
bool part_flags_start_vp;

(Hyper-V) Virtual processor has started

pm_hpet_reqd_for_c3
bool pm_hpet_reqd_for_c3;

(Hyper-V) High-precision event timer required for C3 state

pm_max_cpu_power_state_c0
bool pm_max_cpu_power_state_c0;

(Hyper-V) Processor C0 is maximum state

pm_max_cpu_power_state_c1
bool pm_max_cpu_power_state_c1;

(Hyper-V) Processor C1 is maximum state

pm_max_cpu_power_state_c2
bool pm_max_cpu_power_state_c2;

(Hyper-V) Processor C2 is maximum state

pm_max_cpu_power_state_c3
bool pm_max_cpu_power_state_c3;

(Hyper-V) Processor C3 is maximum state

Meta