Functions | Variables
test_exit_handler_intel_x64.cpp File Reference

Go to the source code of this file.

Functions

bool __vmread (uint64_t field, uint64_t *val) noexcept
 
bool __vmwrite (uint64_t field, uint64_t val) noexcept
 
uint64_t __read_msr (uint32_t addr) noexcept
 
void __write_msr (uint32_t addr, uint64_t val) noexcept
 
void __stop (void) noexcept
 
void __wbinvd (void) noexcept
 
void __cpuid (void *eax, void *ebx, void *ecx, void *edx) noexcept
 
auto setup_vmcs_unhandled (MockRepository &mocks, vmcs::value_type reason)
 
auto setup_vmcs_handled (MockRepository &mocks, vmcs::value_type reason)
 
auto setup_vmcs_halt (MockRepository &mocks, vmcs::value_type reason)
 
exit_handler_intel_x64 setup_ehlr (gsl::not_null< vmcs_intel_x64 *> vmcs)
 

Variables

vmcs::field_type g_field = 0
 
vmcs::value_type g_value = 0
 
vmcs::value_type g_exit_reason = 0
 
vmcs::value_type g_exit_qualification = 0
 
vmcs::value_type g_exit_instruction_length = 8
 
vmcs::value_type g_exit_instruction_information = 0
 
uintptr_t g_rip = 0
 
state_save_intel_x64 g_state_save {}
 
auto g_msg = "{\"msg\":\"hello world\"}"_s
 
auto g_map = std::make_unique<char[]>(100)
 

Function Documentation

◆ __vmread()

bool __vmread ( uint64_t  field,
uint64_t *  val 
)
noexcept

Definition at line 61 of file test_exit_handler_intel_x64.cpp.

◆ __vmwrite()

bool __vmwrite ( uint64_t  field,
uint64_t  val 
)
noexcept

Definition at line 93 of file test_exit_handler_intel_x64.cpp.

◆ __read_msr()

uint64_t __read_msr ( uint32_t  addr)
noexcept

Definition at line 102 of file test_exit_handler_intel_x64.cpp.

◆ __write_msr()

void __write_msr ( uint32_t  addr,
uint64_t  val 
)
noexcept

Definition at line 106 of file test_exit_handler_intel_x64.cpp.

◆ __stop()

void __stop ( void  )
noexcept

Definition at line 110 of file test_exit_handler_intel_x64.cpp.

◆ __wbinvd()

void __wbinvd ( void  )
noexcept

Definition at line 114 of file test_exit_handler_intel_x64.cpp.

◆ __cpuid()

void __cpuid ( void *  eax,
void *  ebx,
void *  ecx,
void *  edx 
)
noexcept

Definition at line 118 of file test_exit_handler_intel_x64.cpp.

◆ setup_vmcs_unhandled()

auto setup_vmcs_unhandled ( MockRepository &  mocks,
vmcs::value_type  reason 
)

Definition at line 124 of file test_exit_handler_intel_x64.cpp.

◆ setup_vmcs_handled()

auto setup_vmcs_handled ( MockRepository &  mocks,
vmcs::value_type  reason 
)

Definition at line 145 of file test_exit_handler_intel_x64.cpp.

◆ setup_vmcs_halt()

auto setup_vmcs_halt ( MockRepository &  mocks,
vmcs::value_type  reason 
)

Definition at line 161 of file test_exit_handler_intel_x64.cpp.

◆ setup_ehlr()

exit_handler_intel_x64 setup_ehlr ( gsl::not_null< vmcs_intel_x64 *>  vmcs)

Definition at line 177 of file test_exit_handler_intel_x64.cpp.

Variable Documentation

◆ g_field

vmcs::field_type g_field = 0

Definition at line 46 of file test_exit_handler_intel_x64.cpp.

◆ g_value

vmcs::value_type g_value = 0

Definition at line 47 of file test_exit_handler_intel_x64.cpp.

◆ g_exit_reason

vmcs::value_type g_exit_reason = 0

Definition at line 48 of file test_exit_handler_intel_x64.cpp.

◆ g_exit_qualification

vmcs::value_type g_exit_qualification = 0

Definition at line 49 of file test_exit_handler_intel_x64.cpp.

◆ g_exit_instruction_length

vmcs::value_type g_exit_instruction_length = 8

Definition at line 50 of file test_exit_handler_intel_x64.cpp.

◆ g_exit_instruction_information

vmcs::value_type g_exit_instruction_information = 0

Definition at line 51 of file test_exit_handler_intel_x64.cpp.

◆ g_rip

uintptr_t g_rip = 0

Definition at line 55 of file test_exit_handler_intel_x64.cpp.

◆ g_state_save

state_save_intel_x64 g_state_save {}

Definition at line 121 of file test_exit_handler_intel_x64.cpp.

◆ g_msg

auto g_msg = "{\"msg\":\"hello world\"}"_s

Definition at line 462 of file test_exit_handler_intel_x64.cpp.

◆ g_map

auto g_map = std::make_unique<char[]>(100)

Definition at line 463 of file test_exit_handler_intel_x64.cpp.