Namespaces | Typedefs | Functions
intel_x64::vmcs Namespace Reference

Namespaces

 address_of_io_bitmap_a
 
 address_of_io_bitmap_b
 
 address_of_msr_bitmap
 
 apic_access_address
 
 check
 
 cr0_guest_host_mask
 
 cr0_read_shadow
 
 cr3_target_count
 
 cr3_target_value_0
 
 cr3_target_value_1
 
 cr3_target_value_2
 
 cr3_target_value_3
 
 cr4_guest_host_mask
 
 cr4_read_shadow
 
 debug
 
 eoi_exit_bitmap_0
 
 eoi_exit_bitmap_1
 
 eoi_exit_bitmap_2
 
 eoi_exit_bitmap_3
 
 ept_pointer
 
 eptp_index
 
 eptp_list_address
 
 exception_bitmap
 
 executive_vmcs_pointer
 
 exit_qualification
 
 exit_reason
 
 guest_activity_state
 
 guest_cr0
 
 guest_cr3
 
 guest_cr4
 
 guest_cs_access_rights
 
 guest_cs_base
 
 guest_cs_limit
 
 guest_cs_selector
 
 guest_dr7
 
 guest_ds_access_rights
 
 guest_ds_base
 
 guest_ds_limit
 
 guest_ds_selector
 
 guest_es_access_rights
 
 guest_es_base
 
 guest_es_limit
 
 guest_es_selector
 
 guest_fs_access_rights
 
 guest_fs_base
 
 guest_fs_limit
 
 guest_fs_selector
 
 guest_gdtr_base
 
 guest_gdtr_limit
 
 guest_gs_access_rights
 
 guest_gs_base
 
 guest_gs_limit
 
 guest_gs_selector
 
 guest_ia32_bndcfgs
 
 guest_ia32_debugctl
 
 guest_ia32_efer
 
 guest_ia32_pat
 
 guest_ia32_perf_global_ctrl
 
 guest_ia32_sysenter_cs
 
 guest_ia32_sysenter_eip
 
 guest_ia32_sysenter_esp
 
 guest_idtr_base
 
 guest_idtr_limit
 
 guest_interrupt_status
 
 guest_interruptibility_state
 
 guest_ldtr_access_rights
 
 guest_ldtr_base
 
 guest_ldtr_limit
 
 guest_ldtr_selector
 
 guest_linear_address
 
 guest_pdpte0
 
 guest_pdpte1
 
 guest_pdpte2
 
 guest_pdpte3
 
 guest_pending_debug_exceptions
 
 guest_physical_address
 
 guest_rflags
 
 guest_rip
 
 guest_rsp
 
 guest_smbase
 
 guest_ss_access_rights
 
 guest_ss_base
 
 guest_ss_limit
 
 guest_ss_selector
 
 guest_tr_access_rights
 
 guest_tr_base
 
 guest_tr_limit
 
 guest_tr_selector
 
 host_cr0
 
 host_cr3
 
 host_cr4
 
 host_cs_selector
 
 host_ds_selector
 
 host_es_selector
 
 host_fs_base
 
 host_fs_selector
 
 host_gdtr_base
 
 host_gs_base
 
 host_gs_selector
 
 host_ia32_efer
 
 host_ia32_pat
 
 host_ia32_perf_global_ctrl
 
 host_ia32_sysenter_cs
 
 host_ia32_sysenter_eip
 
 host_ia32_sysenter_esp
 
 host_idtr_base
 
 host_rip
 
 host_rsp
 
 host_ss_selector
 
 host_tr_base
 
 host_tr_selector
 
 idt_vectoring_error_code
 
 idt_vectoring_information
 
 io_rcx
 
 io_rdi
 
 io_rip
 
 io_rsi
 
 page_fault_error_code_mask
 
 page_fault_error_code_match
 
 pin_based_vm_execution_controls
 
 ple_gap
 
 ple_window
 
 pml_address
 
 posted_interrupt_descriptor_address
 
 posted_interrupt_notification_vector
 
 primary_processor_based_vm_execution_controls
 
 secondary_processor_based_vm_execution_controls
 
 tpr_threshold
 
 tsc_offset
 
 virtual_apic_address
 
 virtual_processor_identifier
 
 virtualization_exception_information_address
 
 vm_entry_controls
 
 vm_entry_exception_error_code
 
 vm_entry_instruction_length
 
 vm_entry_interruption_information_field
 
 vm_entry_msr_load_address
 
 vm_entry_msr_load_count
 
 vm_exit_controls
 
 vm_exit_instruction_information
 
 vm_exit_instruction_length
 
 vm_exit_interruption_error_code
 
 vm_exit_interruption_information
 
 vm_exit_msr_load_address
 
 vm_exit_msr_load_count
 
 vm_exit_msr_store_address
 
 vm_exit_msr_store_count
 
 vm_function_controls
 
 vm_instruction_error
 
 
 vmread_bitmap_address
 
 vmwrite_bitmap_address
 
 vmx_preemption_timer_value
 
 xss_exiting_bitmap
 

Typedefs

using field_type = uint64_t
 
using value_type = uint64_t
 

Functions

template<class T , class = typename std::enable_if<std::is_integral<T>::value>::type>
auto get_vmcs_field (T addr, const char *name, bool exists)
 
template<class T , class = typename std::enable_if<std::is_integral<T>::value>::type>
auto get_vmcs_field_if_exists (T addr, const char *name, bool verbose, bool exists)
 
template<class V , class A , class = typename std::enable_if<std::is_integral<V>::value>::type, class = typename std::enable_if<std::is_integral<A>::value>::type>
auto set_vmcs_field (V val, A addr, const char *name, bool exists)
 
template<class V , class A , class = typename std::enable_if<std::is_integral<V>::value>::type, class = typename std::enable_if<std::is_integral<A>::value>::type>
auto set_vmcs_field_if_exists (V val, A addr, const char *name, bool verbose, bool exists) noexcept
 
template<class MA , class CA , class M , class = typename std::enable_if<std::is_integral<MA>::value>::type, class = typename std::enable_if<std::is_integral<CA>::value>::type, class = typename std::enable_if<std::is_integral<M>::value>::type>
auto set_vm_control (bool val, MA msr_addr, CA ctls_addr, const char *name, M mask, bool field_exists)
 
template<class MA , class CA , class M , class = typename std::enable_if<std::is_integral<MA>::value>::type, class = typename std::enable_if<std::is_integral<CA>::value>::type, class = typename std::enable_if<std::is_integral<M>::value>::type>
auto set_vm_control_if_allowed (bool val, MA msr_addr, CA ctls_addr, const char *name, M mask, bool verbose, bool field_exists) noexcept
 

Typedef Documentation

◆ field_type

using intel_x64::vmcs::field_type = typedef uint64_t

Definition at line 37 of file vmcs_intel_x64_helpers.h.

◆ value_type

using intel_x64::vmcs::value_type = typedef uint64_t

Definition at line 38 of file vmcs_intel_x64_helpers.h.

Function Documentation

◆ get_vmcs_field()

template<class T , class = typename std::enable_if<std::is_integral<T>::value>::type>
auto intel_x64::vmcs::get_vmcs_field ( addr,
const char *  name,
bool  exists 
)

Definition at line 41 of file vmcs_intel_x64_helpers.h.

◆ get_vmcs_field_if_exists()

template<class T , class = typename std::enable_if<std::is_integral<T>::value>::type>
auto intel_x64::vmcs::get_vmcs_field_if_exists ( addr,
const char *  name,
bool  verbose,
bool  exists 
)

Definition at line 50 of file vmcs_intel_x64_helpers.h.

◆ set_vmcs_field()

template<class V , class A , class = typename std::enable_if<std::is_integral<V>::value>::type, class = typename std::enable_if<std::is_integral<A>::value>::type>
auto intel_x64::vmcs::set_vmcs_field ( val,
addr,
const char *  name,
bool  exists 
)

Definition at line 64 of file vmcs_intel_x64_helpers.h.

◆ set_vmcs_field_if_exists()

template<class V , class A , class = typename std::enable_if<std::is_integral<V>::value>::type, class = typename std::enable_if<std::is_integral<A>::value>::type>
auto intel_x64::vmcs::set_vmcs_field_if_exists ( val,
addr,
const char *  name,
bool  verbose,
bool  exists 
)
noexcept

Definition at line 75 of file vmcs_intel_x64_helpers.h.

◆ set_vm_control()

template<class MA , class CA , class M , class = typename std::enable_if<std::is_integral<MA>::value>::type, class = typename std::enable_if<std::is_integral<CA>::value>::type, class = typename std::enable_if<std::is_integral<M>::value>::type>
auto intel_x64::vmcs::set_vm_control ( bool  val,
MA  msr_addr,
CA  ctls_addr,
const char *  name,
mask,
bool  field_exists 
)

Definition at line 88 of file vmcs_intel_x64_helpers.h.

◆ set_vm_control_if_allowed()

template<class MA , class CA , class M , class = typename std::enable_if<std::is_integral<MA>::value>::type, class = typename std::enable_if<std::is_integral<CA>::value>::type, class = typename std::enable_if<std::is_integral<M>::value>::type>
auto intel_x64::vmcs::set_vm_control_if_allowed ( bool  val,
MA  msr_addr,
CA  ctls_addr,
const char *  name,
mask,
bool  verbose,
bool  field_exists 
)
noexcept

Definition at line 117 of file vmcs_intel_x64_helpers.h.