Public Member Functions
vmcs_intel_x64_host_vm_state Class Reference
Inheritance diagram for vmcs_intel_x64_host_vm_state:
vmcs_intel_x64_state

Public Member Functions

 vmcs_intel_x64_host_vm_state ()
 
 ~vmcs_intel_x64_host_vm_state () override=default
 
x64::segment_register::type es () const override
 
x64::segment_register::type cs () const override
 
x64::segment_register::type ss () const override
 
x64::segment_register::type ds () const override
 
x64::segment_register::type fs () const override
 
x64::segment_register::type gs () const override
 
x64::segment_register::type ldtr () const override
 
x64::segment_register::type tr () const override
 
intel_x64::cr0::value_type cr0 () const override
 
intel_x64::cr3::value_type cr3 () const override
 
intel_x64::cr4::value_type cr4 () const override
 
x64::dr7::value_type dr7 () const override
 
x64::rflags::value_type rflags () const override
 
gdt_x64::integer_pointer gdt_base () const override
 
idt_x64::integer_pointer idt_base () const override
 
gdt_x64::size_type gdt_limit () const override
 
idt_x64::size_type idt_limit () const override
 
gdt_x64::limit_type es_limit () const override
 
gdt_x64::limit_type cs_limit () const override
 
gdt_x64::limit_type ss_limit () const override
 
gdt_x64::limit_type ds_limit () const override
 
gdt_x64::limit_type fs_limit () const override
 
gdt_x64::limit_type gs_limit () const override
 
gdt_x64::limit_type ldtr_limit () const override
 
gdt_x64::limit_type tr_limit () const override
 
gdt_x64::access_rights_type es_access_rights () const override
 
gdt_x64::access_rights_type cs_access_rights () const override
 
gdt_x64::access_rights_type ss_access_rights () const override
 
gdt_x64::access_rights_type ds_access_rights () const override
 
gdt_x64::access_rights_type fs_access_rights () const override
 
gdt_x64::access_rights_type gs_access_rights () const override
 
gdt_x64::access_rights_type ldtr_access_rights () const override
 
gdt_x64::access_rights_type tr_access_rights () const override
 
gdt_x64::base_type es_base () const override
 
gdt_x64::base_type cs_base () const override
 
gdt_x64::base_type ss_base () const override
 
gdt_x64::base_type ds_base () const override
 
gdt_x64::base_type fs_base () const override
 
gdt_x64::base_type gs_base () const override
 
gdt_x64::base_type ldtr_base () const override
 
gdt_x64::base_type tr_base () const override
 
intel_x64::msrs::value_type ia32_debugctl_msr () const override
 
intel_x64::msrs::value_type ia32_pat_msr () const override
 
intel_x64::msrs::value_type ia32_efer_msr () const override
 
intel_x64::msrs::value_type ia32_perf_global_ctrl_msr () const override
 
intel_x64::msrs::value_type ia32_sysenter_cs_msr () const override
 
intel_x64::msrs::value_type ia32_sysenter_esp_msr () const override
 
intel_x64::msrs::value_type ia32_sysenter_eip_msr () const override
 
intel_x64::msrs::value_type ia32_fs_base_msr () const override
 
intel_x64::msrs::value_type ia32_gs_base_msr () const override
 
void dump () const override
 
- Public Member Functions inherited from vmcs_intel_x64_state
 vmcs_intel_x64_state ()=default
 
virtual ~vmcs_intel_x64_state ()=default
 
virtual void set_es (x64::segment_register::type val)
 
virtual void set_cs (x64::segment_register::type val)
 
virtual void set_ss (x64::segment_register::type val)
 
virtual void set_ds (x64::segment_register::type val)
 
virtual void set_fs (x64::segment_register::type val)
 
virtual void set_gs (x64::segment_register::type val)
 
virtual void set_ldtr (x64::segment_register::type val)
 
virtual void set_tr (x64::segment_register::type val)
 
virtual void set_cr0 (intel_x64::cr0::value_type val)
 
virtual void set_cr3 (intel_x64::cr3::value_type val)
 
virtual void set_cr4 (intel_x64::cr4::value_type val)
 
virtual void set_dr7 (x64::dr7::value_type val)
 
virtual void set_rflags (x64::rflags::value_type val)
 
virtual void set_gdt_base (gdt_x64::integer_pointer val)
 
virtual void set_idt_base (idt_x64::integer_pointer val)
 
virtual void set_gdt_limit (gdt_x64::size_type val)
 
virtual void set_idt_limit (idt_x64::size_type val)
 
virtual void set_es_limit (gdt_x64::limit_type val)
 
virtual void set_cs_limit (gdt_x64::limit_type val)
 
virtual void set_ss_limit (gdt_x64::limit_type val)
 
virtual void set_ds_limit (gdt_x64::limit_type val)
 
virtual void set_fs_limit (gdt_x64::limit_type val)
 
virtual void set_gs_limit (gdt_x64::limit_type val)
 
virtual void set_ldtr_limit (gdt_x64::limit_type val)
 
virtual void set_tr_limit (gdt_x64::limit_type val)
 
virtual void set_es_access_rights (gdt_x64::access_rights_type val)
 
virtual void set_cs_access_rights (gdt_x64::access_rights_type val)
 
virtual void set_ss_access_rights (gdt_x64::access_rights_type val)
 
virtual void set_ds_access_rights (gdt_x64::access_rights_type val)
 
virtual void set_fs_access_rights (gdt_x64::access_rights_type val)
 
virtual void set_gs_access_rights (gdt_x64::access_rights_type val)
 
virtual void set_ldtr_access_rights (gdt_x64::access_rights_type val)
 
virtual void set_tr_access_rights (gdt_x64::access_rights_type val)
 
virtual void set_es_base (gdt_x64::base_type val)
 
virtual void set_cs_base (gdt_x64::base_type val)
 
virtual void set_ss_base (gdt_x64::base_type val)
 
virtual void set_ds_base (gdt_x64::base_type val)
 
virtual void set_fs_base (gdt_x64::base_type val)
 
virtual void set_gs_base (gdt_x64::base_type val)
 
virtual void set_ldtr_base (gdt_x64::base_type val)
 
virtual void set_tr_base (gdt_x64::base_type val)
 
virtual void set_ia32_debugctl_msr (intel_x64::msrs::value_type val)
 
virtual void set_ia32_pat_msr (intel_x64::msrs::value_type val)
 
virtual void set_ia32_efer_msr (intel_x64::msrs::value_type val)
 
virtual void set_ia32_perf_global_ctrl_msr (intel_x64::msrs::value_type val)
 
virtual void set_ia32_sysenter_cs_msr (intel_x64::msrs::value_type val)
 
virtual void set_ia32_sysenter_esp_msr (intel_x64::msrs::value_type val)
 
virtual void set_ia32_sysenter_eip_msr (intel_x64::msrs::value_type val)
 
virtual void set_ia32_fs_base_msr (intel_x64::msrs::value_type val)
 
virtual void set_ia32_gs_base_msr (intel_x64::msrs::value_type val)
 
virtual bool is_guest ()
 

Additional Inherited Members

- Public Types inherited from vmcs_intel_x64_state
using integer_pointer = uintptr_t
 

Detailed Description

VMCS Host VM State

Define's the Host VM's CPU state. The Host VM runs the Host OS that booted first (might be UEFI). This is different from a Guest VM where the state is defined by Bareflank. With the Host VM, the state is defined by the Host OS, so we have to get this information from the hardware.

Definition at line 37 of file vmcs_intel_x64_host_vm_state.h.

Constructor & Destructor Documentation

◆ vmcs_intel_x64_host_vm_state()

vmcs_intel_x64_host_vm_state::vmcs_intel_x64_host_vm_state ( )

Definition at line 32 of file vmcs_intel_x64_host_vm_state.cpp.

◆ ~vmcs_intel_x64_host_vm_state()

vmcs_intel_x64_host_vm_state::~vmcs_intel_x64_host_vm_state ( )
overridedefault

Member Function Documentation

◆ es()

x64::segment_register::type vmcs_intel_x64_host_vm_state::es ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 44 of file vmcs_intel_x64_host_vm_state.h.

◆ cs()

x64::segment_register::type vmcs_intel_x64_host_vm_state::cs ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 46 of file vmcs_intel_x64_host_vm_state.h.

◆ ss()

x64::segment_register::type vmcs_intel_x64_host_vm_state::ss ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 48 of file vmcs_intel_x64_host_vm_state.h.

◆ ds()

x64::segment_register::type vmcs_intel_x64_host_vm_state::ds ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 50 of file vmcs_intel_x64_host_vm_state.h.

◆ fs()

x64::segment_register::type vmcs_intel_x64_host_vm_state::fs ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 52 of file vmcs_intel_x64_host_vm_state.h.

◆ gs()

x64::segment_register::type vmcs_intel_x64_host_vm_state::gs ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 54 of file vmcs_intel_x64_host_vm_state.h.

◆ ldtr()

x64::segment_register::type vmcs_intel_x64_host_vm_state::ldtr ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 56 of file vmcs_intel_x64_host_vm_state.h.

◆ tr()

x64::segment_register::type vmcs_intel_x64_host_vm_state::tr ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 58 of file vmcs_intel_x64_host_vm_state.h.

◆ cr0()

intel_x64::cr0::value_type vmcs_intel_x64_host_vm_state::cr0 ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 61 of file vmcs_intel_x64_host_vm_state.h.

◆ cr3()

intel_x64::cr3::value_type vmcs_intel_x64_host_vm_state::cr3 ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 63 of file vmcs_intel_x64_host_vm_state.h.

◆ cr4()

intel_x64::cr4::value_type vmcs_intel_x64_host_vm_state::cr4 ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 65 of file vmcs_intel_x64_host_vm_state.h.

◆ dr7()

x64::dr7::value_type vmcs_intel_x64_host_vm_state::dr7 ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 67 of file vmcs_intel_x64_host_vm_state.h.

◆ rflags()

x64::rflags::value_type vmcs_intel_x64_host_vm_state::rflags ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 70 of file vmcs_intel_x64_host_vm_state.h.

◆ gdt_base()

gdt_x64::integer_pointer vmcs_intel_x64_host_vm_state::gdt_base ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 73 of file vmcs_intel_x64_host_vm_state.h.

◆ idt_base()

idt_x64::integer_pointer vmcs_intel_x64_host_vm_state::idt_base ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 75 of file vmcs_intel_x64_host_vm_state.h.

◆ gdt_limit()

gdt_x64::size_type vmcs_intel_x64_host_vm_state::gdt_limit ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 78 of file vmcs_intel_x64_host_vm_state.h.

◆ idt_limit()

idt_x64::size_type vmcs_intel_x64_host_vm_state::idt_limit ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 80 of file vmcs_intel_x64_host_vm_state.h.

◆ es_limit()

gdt_x64::limit_type vmcs_intel_x64_host_vm_state::es_limit ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 83 of file vmcs_intel_x64_host_vm_state.h.

◆ cs_limit()

gdt_x64::limit_type vmcs_intel_x64_host_vm_state::cs_limit ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 85 of file vmcs_intel_x64_host_vm_state.h.

◆ ss_limit()

gdt_x64::limit_type vmcs_intel_x64_host_vm_state::ss_limit ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 87 of file vmcs_intel_x64_host_vm_state.h.

◆ ds_limit()

gdt_x64::limit_type vmcs_intel_x64_host_vm_state::ds_limit ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 89 of file vmcs_intel_x64_host_vm_state.h.

◆ fs_limit()

gdt_x64::limit_type vmcs_intel_x64_host_vm_state::fs_limit ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 91 of file vmcs_intel_x64_host_vm_state.h.

◆ gs_limit()

gdt_x64::limit_type vmcs_intel_x64_host_vm_state::gs_limit ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 93 of file vmcs_intel_x64_host_vm_state.h.

◆ ldtr_limit()

gdt_x64::limit_type vmcs_intel_x64_host_vm_state::ldtr_limit ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 95 of file vmcs_intel_x64_host_vm_state.h.

◆ tr_limit()

gdt_x64::limit_type vmcs_intel_x64_host_vm_state::tr_limit ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 97 of file vmcs_intel_x64_host_vm_state.h.

◆ es_access_rights()

gdt_x64::access_rights_type vmcs_intel_x64_host_vm_state::es_access_rights ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 100 of file vmcs_intel_x64_host_vm_state.h.

◆ cs_access_rights()

gdt_x64::access_rights_type vmcs_intel_x64_host_vm_state::cs_access_rights ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 102 of file vmcs_intel_x64_host_vm_state.h.

◆ ss_access_rights()

gdt_x64::access_rights_type vmcs_intel_x64_host_vm_state::ss_access_rights ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 104 of file vmcs_intel_x64_host_vm_state.h.

◆ ds_access_rights()

gdt_x64::access_rights_type vmcs_intel_x64_host_vm_state::ds_access_rights ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 106 of file vmcs_intel_x64_host_vm_state.h.

◆ fs_access_rights()

gdt_x64::access_rights_type vmcs_intel_x64_host_vm_state::fs_access_rights ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 108 of file vmcs_intel_x64_host_vm_state.h.

◆ gs_access_rights()

gdt_x64::access_rights_type vmcs_intel_x64_host_vm_state::gs_access_rights ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 110 of file vmcs_intel_x64_host_vm_state.h.

◆ ldtr_access_rights()

gdt_x64::access_rights_type vmcs_intel_x64_host_vm_state::ldtr_access_rights ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 112 of file vmcs_intel_x64_host_vm_state.h.

◆ tr_access_rights()

gdt_x64::access_rights_type vmcs_intel_x64_host_vm_state::tr_access_rights ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 114 of file vmcs_intel_x64_host_vm_state.h.

◆ es_base()

gdt_x64::base_type vmcs_intel_x64_host_vm_state::es_base ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 117 of file vmcs_intel_x64_host_vm_state.h.

◆ cs_base()

gdt_x64::base_type vmcs_intel_x64_host_vm_state::cs_base ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 119 of file vmcs_intel_x64_host_vm_state.h.

◆ ss_base()

gdt_x64::base_type vmcs_intel_x64_host_vm_state::ss_base ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 121 of file vmcs_intel_x64_host_vm_state.h.

◆ ds_base()

gdt_x64::base_type vmcs_intel_x64_host_vm_state::ds_base ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 123 of file vmcs_intel_x64_host_vm_state.h.

◆ fs_base()

gdt_x64::base_type vmcs_intel_x64_host_vm_state::fs_base ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 125 of file vmcs_intel_x64_host_vm_state.h.

◆ gs_base()

gdt_x64::base_type vmcs_intel_x64_host_vm_state::gs_base ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 127 of file vmcs_intel_x64_host_vm_state.h.

◆ ldtr_base()

gdt_x64::base_type vmcs_intel_x64_host_vm_state::ldtr_base ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 129 of file vmcs_intel_x64_host_vm_state.h.

◆ tr_base()

gdt_x64::base_type vmcs_intel_x64_host_vm_state::tr_base ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 131 of file vmcs_intel_x64_host_vm_state.h.

◆ ia32_debugctl_msr()

intel_x64::msrs::value_type vmcs_intel_x64_host_vm_state::ia32_debugctl_msr ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 134 of file vmcs_intel_x64_host_vm_state.h.

◆ ia32_pat_msr()

intel_x64::msrs::value_type vmcs_intel_x64_host_vm_state::ia32_pat_msr ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 136 of file vmcs_intel_x64_host_vm_state.h.

◆ ia32_efer_msr()

intel_x64::msrs::value_type vmcs_intel_x64_host_vm_state::ia32_efer_msr ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 138 of file vmcs_intel_x64_host_vm_state.h.

◆ ia32_perf_global_ctrl_msr()

intel_x64::msrs::value_type vmcs_intel_x64_host_vm_state::ia32_perf_global_ctrl_msr ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 140 of file vmcs_intel_x64_host_vm_state.h.

◆ ia32_sysenter_cs_msr()

intel_x64::msrs::value_type vmcs_intel_x64_host_vm_state::ia32_sysenter_cs_msr ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 142 of file vmcs_intel_x64_host_vm_state.h.

◆ ia32_sysenter_esp_msr()

intel_x64::msrs::value_type vmcs_intel_x64_host_vm_state::ia32_sysenter_esp_msr ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 144 of file vmcs_intel_x64_host_vm_state.h.

◆ ia32_sysenter_eip_msr()

intel_x64::msrs::value_type vmcs_intel_x64_host_vm_state::ia32_sysenter_eip_msr ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 146 of file vmcs_intel_x64_host_vm_state.h.

◆ ia32_fs_base_msr()

intel_x64::msrs::value_type vmcs_intel_x64_host_vm_state::ia32_fs_base_msr ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 148 of file vmcs_intel_x64_host_vm_state.h.

◆ ia32_gs_base_msr()

intel_x64::msrs::value_type vmcs_intel_x64_host_vm_state::ia32_gs_base_msr ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 150 of file vmcs_intel_x64_host_vm_state.h.

◆ dump()

void vmcs_intel_x64_host_vm_state::dump ( ) const
inlineoverridevirtual

Reimplemented from vmcs_intel_x64_state.

Definition at line 153 of file vmcs_intel_x64_host_vm_state.h.


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