Public Member Functions | Protected Member Functions
vmxon_intel_x64 Class Reference

Public Member Functions

 vmxon_intel_x64 ()
 
virtual ~vmxon_intel_x64 ()=default
 
virtual void start ()
 
virtual void stop ()
 

Protected Member Functions

void check_cpuid_vmx_supported ()
 
void check_vmx_capabilities_msr ()
 
void check_ia32_vmx_cr0_fixed_msr ()
 
void check_ia32_vmx_cr4_fixed_msr ()
 
void check_ia32_feature_control_msr ()
 
void check_v8086_disabled ()
 
void create_vmxon_region ()
 
void release_vmxon_region () noexcept
 
void execute_vmxon ()
 
void execute_vmxoff ()
 

Detailed Description

VMXON (Intel x86_64)

This class is respobsible for turning Intel's VMX (also know as VT-x) on / off. To do that, it performs a series of checks that are described in the Intel manual, and then runs either vmxon or vmxoff.

This class is managed by vcpu_intel_x64

Definition at line 39 of file vmxon_intel_x64.h.

Constructor & Destructor Documentation

◆ vmxon_intel_x64()

vmxon_intel_x64::vmxon_intel_x64 ( )

Default Constructor

Precondition
expects: none
Postcondition
ensures: none

Definition at line 38 of file vmxon_intel_x64.cpp.

◆ ~vmxon_intel_x64()

virtual vmxon_intel_x64::~vmxon_intel_x64 ( )
virtualdefault

Destructor

Precondition
expects: none
Postcondition
ensures: none

Member Function Documentation

◆ start()

void vmxon_intel_x64::start ( )
virtual

Start VMXON

Starts the VMXON. In the process of starting the VMXON, several compatibility tests will be run to ensure that the VMXON can in fact be used. If an error occurs, an exception will be thrown

Precondition
expects: none
Postcondition
ensures: none

Definition at line 44 of file vmxon_intel_x64.cpp.

◆ stop()

void vmxon_intel_x64::stop ( )
virtual

Stop VMXON

Stops the VMXON.

Precondition
expects: none
Postcondition
ensures: none

Definition at line 73 of file vmxon_intel_x64.cpp.

◆ check_cpuid_vmx_supported()

void vmxon_intel_x64::check_cpuid_vmx_supported ( )
protected

Definition at line 85 of file vmxon_intel_x64.cpp.

◆ check_vmx_capabilities_msr()

void vmxon_intel_x64::check_vmx_capabilities_msr ( )
protected

Definition at line 92 of file vmxon_intel_x64.cpp.

◆ check_ia32_vmx_cr0_fixed_msr()

void vmxon_intel_x64::check_ia32_vmx_cr0_fixed_msr ( )
protected

Definition at line 105 of file vmxon_intel_x64.cpp.

◆ check_ia32_vmx_cr4_fixed_msr()

void vmxon_intel_x64::check_ia32_vmx_cr4_fixed_msr ( )
protected

Definition at line 116 of file vmxon_intel_x64.cpp.

◆ check_ia32_feature_control_msr()

void vmxon_intel_x64::check_ia32_feature_control_msr ( )
protected

Definition at line 127 of file vmxon_intel_x64.cpp.

◆ check_v8086_disabled()

void vmxon_intel_x64::check_v8086_disabled ( )
protected

Definition at line 137 of file vmxon_intel_x64.cpp.

◆ create_vmxon_region()

void vmxon_intel_x64::create_vmxon_region ( )
protected

Definition at line 144 of file vmxon_intel_x64.cpp.

◆ release_vmxon_region()

void vmxon_intel_x64::release_vmxon_region ( )
protectednoexcept

Definition at line 157 of file vmxon_intel_x64.cpp.

◆ execute_vmxon()

void vmxon_intel_x64::execute_vmxon ( )
protected

Definition at line 164 of file vmxon_intel_x64.cpp.

◆ execute_vmxoff()

void vmxon_intel_x64::execute_vmxoff ( )
protected

Definition at line 176 of file vmxon_intel_x64.cpp.


The documentation for this class was generated from the following files: