64 std::vector<gdt_x64::segment_descriptor_type>
test_gdt =
74 std::vector<idt_x64::interrupt_descriptor_type>
test_idt = { 0x0 };
128 vmcs_ut::test_host_vm_state()
134 vmcs_ut::test_host_vm_state_segment_registers()
161 vmcs_ut::test_host_vm_state_control_registers()
178 vmcs_ut::test_host_vm_state_debug_registers()
191 vmcs_ut::test_host_vm_state_rflags()
204 vmcs_ut::test_host_vm_state_gdt_base()
216 vmcs_ut::test_host_vm_state_idt_base()
228 vmcs_ut::test_host_vm_state_gdt_limit()
240 vmcs_ut::test_host_vm_state_idt_limit()
253 vmcs_ut::test_host_vm_state_es_limit()
275 vmcs_ut::test_host_vm_state_cs_limit()
297 vmcs_ut::test_host_vm_state_ss_limit()
319 vmcs_ut::test_host_vm_state_ds_limit()
341 vmcs_ut::test_host_vm_state_fs_limit()
363 vmcs_ut::test_host_vm_state_gs_limit()
385 vmcs_ut::test_host_vm_state_tr_limit()
407 vmcs_ut::test_host_vm_state_ldtr_limit()
429 vmcs_ut::test_host_vm_state_es_access_rights()
446 this->
expect_true(state.es_access_rights() == 0x70FF);
451 vmcs_ut::test_host_vm_state_cs_access_rights()
468 this->
expect_true(state.cs_access_rights() == 0x70FF);
473 vmcs_ut::test_host_vm_state_ss_access_rights()
490 this->
expect_true(state.ss_access_rights() == 0x70FF);
495 vmcs_ut::test_host_vm_state_ds_access_rights()
512 this->
expect_true(state.ds_access_rights() == 0x70FF);
517 vmcs_ut::test_host_vm_state_fs_access_rights()
534 this->
expect_true(state.fs_access_rights() == 0x70FF);
539 vmcs_ut::test_host_vm_state_gs_access_rights()
556 this->
expect_true(state.gs_access_rights() == 0x70FF);
561 vmcs_ut::test_host_vm_state_tr_access_rights()
578 this->
expect_true(state.tr_access_rights() == 0x70FF);
583 vmcs_ut::test_host_vm_state_ldtr_access_rights()
600 this->
expect_true(state.ldtr_access_rights() == 0x70FF);
605 vmcs_ut::test_host_vm_state_es_base()
627 vmcs_ut::test_host_vm_state_cs_base()
649 vmcs_ut::test_host_vm_state_ss_base()
671 vmcs_ut::test_host_vm_state_ds_base()
693 vmcs_ut::test_host_vm_state_fs_base()
715 vmcs_ut::test_host_vm_state_gs_base()
737 vmcs_ut::test_host_vm_state_tr_base()
759 vmcs_ut::test_host_vm_state_ldtr_base()
776 this->
expect_true(state.ldtr_base() == 0xFFFFFFFF);
781 vmcs_ut::test_host_vm_state_ia32_msrs_with_perf_global_ctrl()
799 this->
expect_true(state.ia32_debugctl_msr() == 42U);
802 this->
expect_true(state.ia32_perf_global_ctrl_msr() == 42U);
803 this->
expect_true(state.ia32_sysenter_cs_msr() == 42U);
804 this->
expect_true(state.ia32_sysenter_esp_msr() == 42U);
805 this->
expect_true(state.ia32_sysenter_eip_msr() == 42U);
806 this->
expect_true(state.ia32_fs_base_msr() == 42U);
807 this->
expect_true(state.ia32_gs_base_msr() == 42U);
812 vmcs_ut::test_host_vm_state_ia32_msrs_without_perf_global_ctrl()
829 this->
expect_true(state.ia32_debugctl_msr() == 42U);
832 this->
expect_true(state.ia32_sysenter_cs_msr() == 42U);
833 this->
expect_true(state.ia32_sysenter_esp_msr() == 42U);
834 this->
expect_true(state.ia32_sysenter_eip_msr() == 42U);
835 this->
expect_true(state.ia32_fs_base_msr() == 42U);
836 this->
expect_true(state.ia32_gs_base_msr() == 42U);
841 vmcs_ut::test_host_vm_state_dump()
uint16_t __read_cs(void) noexcept
void __write_gs(uint16_t val) noexcept
void __write_cr4(uint64_t val) noexcept
uint16_t __read_ds(void) noexcept
uint64_t __read_rflags(void) noexcept
void __write_ldtr(uint16_t val) noexcept
std::vector< gdt_x64::segment_descriptor_type > test_gdt
std::vector< idt_x64::interrupt_descriptor_type > test_idt
#define expect_no_exception(f)
constexpr const auto mask
uint64_t __read_dr7(void) noexcept
uint16_t __read_ldtr(void) noexcept
void __write_cr0(uint64_t val) noexcept
void __write_cr3(uint64_t val) noexcept
void __read_idt(idt_reg_x64_t *idt_reg) noexcept
void __write_fs(uint16_t val) noexcept
constexpr const auto unusable
void uint64_t uint64_t uint64_t *rdx noexcept
std::map< cpuid::field_type, cpuid::value_type > g_eax_cpuid
void __write_ss(uint16_t val) noexcept
void __write_es(uint16_t val) noexcept
void __write_ds(uint16_t val) noexcept
uint64_t __read_cr3(void) noexcept
void __write_tr(uint16_t val) noexcept
void __read_gdt(gdt_reg_x64_t *gdt_reg) noexcept
uint16_t __read_ss(void) noexcept
uint64_t __read_cr0(void) noexcept
uint16_t __read_es(void) noexcept
void __write_cs(uint16_t val) noexcept
uint16_t __read_gs(void) noexcept
uint16_t __read_tr(void) noexcept
uint16_t __read_fs(void) noexcept
uint64_t __read_cr4(void) noexcept
uintptr_t integer_pointer
void __write_dr7(uint64_t val) noexcept