Namespaces | Typedefs | Functions | Variables
crs_intel_x64.h File Reference

Go to the source code of this file.

Namespaces

 intel_x64
 
 intel_x64::cr0
 
 intel_x64::cr0::protection_enable
 
 intel_x64::cr0::monitor_coprocessor
 
 intel_x64::cr0::emulation
 
 intel_x64::cr0::task_switched
 
 intel_x64::cr0::extension_type
 
 intel_x64::cr0::numeric_error
 
 intel_x64::cr0::write_protect
 
 intel_x64::cr0::alignment_mask
 
 intel_x64::cr0::not_write_through
 
 intel_x64::cr0::cache_disable
 
 intel_x64::cr0::paging
 
 intel_x64::cr2
 
 intel_x64::cr3
 
 intel_x64::cr4
 
 intel_x64::cr4::v8086_mode_extensions
 
 intel_x64::cr4::protected_mode_virtual_interrupts
 
 intel_x64::cr4::time_stamp_disable
 
 intel_x64::cr4::debugging_extensions
 
 intel_x64::cr4::page_size_extensions
 
 intel_x64::cr4::physical_address_extensions
 
 intel_x64::cr4::machine_check_enable
 
 intel_x64::cr4::page_global_enable
 
 intel_x64::cr4::performance_monitor_counter_enable
 
 intel_x64::cr4::osfxsr
 
 intel_x64::cr4::osxmmexcpt
 
 intel_x64::cr4::vmx_enable_bit
 
 intel_x64::cr4::smx_enable_bit
 
 intel_x64::cr4::fsgsbase_enable_bit
 
 intel_x64::cr4::pcid_enable_bit
 
 intel_x64::cr4::osxsave
 
 intel_x64::cr4::smep_enable_bit
 
 intel_x64::cr4::smap_enable_bit
 
 intel_x64::cr4::protection_key_enable_bit
 

Typedefs

using intel_x64::cr0::value_type = uint64_t
 
using intel_x64::cr2::value_type = uint64_t
 
using intel_x64::cr3::value_type = uint64_t
 
using intel_x64::cr4::value_type = uint64_t
 

Functions

uint64_t __read_cr0 (void) noexcept
 
void __write_cr0 (uint64_t val) noexcept
 
uint64_t __read_cr2 (void) noexcept
 
void __write_cr2 (uint64_t val) noexcept
 
uint64_t __read_cr3 (void) noexcept
 
void __write_cr3 (uint64_t val) noexcept
 
uint64_t __read_cr4 (void) noexcept
 
void __write_cr4 (uint64_t val) noexcept
 
auto intel_x64::cr0::get () noexcept
 
template<class T , class = typename std::enable_if<std::is_integral<T>::value>::type>
void intel_x64::cr0::set (T val) noexcept
 
auto intel_x64::cr0::protection_enable::get () noexcept
 
void intel_x64::cr0::protection_enable::set (bool val) noexcept
 
auto intel_x64::cr0::monitor_coprocessor::get () noexcept
 
void intel_x64::cr0::monitor_coprocessor::set (bool val) noexcept
 
auto intel_x64::cr0::emulation::get () noexcept
 
void intel_x64::cr0::emulation::set (bool val) noexcept
 
auto intel_x64::cr0::task_switched::get () noexcept
 
void intel_x64::cr0::task_switched::set (bool val) noexcept
 
auto intel_x64::cr0::extension_type::get () noexcept
 
void intel_x64::cr0::extension_type::set (bool val) noexcept
 
auto intel_x64::cr0::numeric_error::get () noexcept
 
void intel_x64::cr0::numeric_error::set (bool val) noexcept
 
auto intel_x64::cr0::write_protect::get () noexcept
 
void intel_x64::cr0::write_protect::set (bool val) noexcept
 
auto intel_x64::cr0::alignment_mask::get () noexcept
 
void intel_x64::cr0::alignment_mask::set (bool val) noexcept
 
auto intel_x64::cr0::not_write_through::get () noexcept
 
void intel_x64::cr0::not_write_through::set (bool val) noexcept
 
auto intel_x64::cr0::cache_disable::get () noexcept
 
void intel_x64::cr0::cache_disable::set (bool val) noexcept
 
auto intel_x64::cr0::paging::get () noexcept
 
void intel_x64::cr0::paging::set (bool val) noexcept
 
void intel_x64::cr0::dump () noexcept
 
auto intel_x64::cr2::get () noexcept
 
template<class T , class = typename std::enable_if<std::is_integral<T>::value>::type>
void intel_x64::cr2::set (T val) noexcept
 
auto intel_x64::cr3::get () noexcept
 
template<class T , class = typename std::enable_if<std::is_integral<T>::value>::type>
void intel_x64::cr3::set (T val) noexcept
 
auto intel_x64::cr4::get () noexcept
 
template<class T , class = typename std::enable_if<std::is_integral<T>::value>::type>
void intel_x64::cr4::set (T val) noexcept
 
auto intel_x64::cr4::v8086_mode_extensions::get () noexcept
 
void intel_x64::cr4::v8086_mode_extensions::set (bool val) noexcept
 
auto intel_x64::cr4::protected_mode_virtual_interrupts::get () noexcept
 
void intel_x64::cr4::protected_mode_virtual_interrupts::set (bool val) noexcept
 
auto intel_x64::cr4::time_stamp_disable::get () noexcept
 
void intel_x64::cr4::time_stamp_disable::set (bool val) noexcept
 
auto intel_x64::cr4::debugging_extensions::get () noexcept
 
void intel_x64::cr4::debugging_extensions::set (bool val) noexcept
 
auto intel_x64::cr4::page_size_extensions::get () noexcept
 
void intel_x64::cr4::page_size_extensions::set (bool val) noexcept
 
auto intel_x64::cr4::physical_address_extensions::get () noexcept
 
void intel_x64::cr4::physical_address_extensions::set (bool val) noexcept
 
auto intel_x64::cr4::machine_check_enable::get () noexcept
 
void intel_x64::cr4::machine_check_enable::set (bool val) noexcept
 
auto intel_x64::cr4::page_global_enable::get () noexcept
 
void intel_x64::cr4::page_global_enable::set (bool val) noexcept
 
auto intel_x64::cr4::performance_monitor_counter_enable::get () noexcept
 
void intel_x64::cr4::performance_monitor_counter_enable::set (bool val) noexcept
 
auto intel_x64::cr4::osfxsr::get () noexcept
 
void intel_x64::cr4::osfxsr::set (bool val) noexcept
 
auto intel_x64::cr4::osxmmexcpt::get () noexcept
 
void intel_x64::cr4::osxmmexcpt::set (bool val) noexcept
 
auto intel_x64::cr4::vmx_enable_bit::get () noexcept
 
void intel_x64::cr4::vmx_enable_bit::set (bool val) noexcept
 
auto intel_x64::cr4::smx_enable_bit::get () noexcept
 
void intel_x64::cr4::smx_enable_bit::set (bool val) noexcept
 
auto intel_x64::cr4::fsgsbase_enable_bit::get () noexcept
 
void intel_x64::cr4::fsgsbase_enable_bit::set (bool val) noexcept
 
auto intel_x64::cr4::pcid_enable_bit::get () noexcept
 
void intel_x64::cr4::pcid_enable_bit::set (bool val) noexcept
 
auto intel_x64::cr4::osxsave::get () noexcept
 
void intel_x64::cr4::osxsave::set (bool val) noexcept
 
auto intel_x64::cr4::smep_enable_bit::get () noexcept
 
void intel_x64::cr4::smep_enable_bit::set (bool val) noexcept
 
auto intel_x64::cr4::smap_enable_bit::get () noexcept
 
void intel_x64::cr4::smap_enable_bit::set (bool val) noexcept
 
auto intel_x64::cr4::protection_key_enable_bit::get () noexcept
 
void intel_x64::cr4::protection_key_enable_bit::set (bool val) noexcept
 
void intel_x64::cr4::dump () noexcept
 

Variables

constexpr const auto intel_x64::cr0::protection_enable::mask = 0x0000000000000001UL
 
constexpr const auto intel_x64::cr0::protection_enable::from = 0
 
constexpr const auto intel_x64::cr0::protection_enable::name = "protection_enable"
 
constexpr const auto intel_x64::cr0::monitor_coprocessor::mask = 0x0000000000000002UL
 
constexpr const auto intel_x64::cr0::monitor_coprocessor::from = 1
 
constexpr const auto intel_x64::cr0::monitor_coprocessor::name = "monitor_coprocessor"
 
constexpr const auto intel_x64::cr0::emulation::mask = 0x0000000000000004UL
 
constexpr const auto intel_x64::cr0::emulation::from = 2
 
constexpr const auto intel_x64::cr0::emulation::name = "emulation"
 
constexpr const auto intel_x64::cr0::task_switched::mask = 0x0000000000000008UL
 
constexpr const auto intel_x64::cr0::task_switched::from = 3
 
constexpr const auto intel_x64::cr0::task_switched::name = "task_switched"
 
constexpr const auto intel_x64::cr0::extension_type::mask = 0x0000000000000010UL
 
constexpr const auto intel_x64::cr0::extension_type::from = 4
 
constexpr const auto intel_x64::cr0::extension_type::name = "extension_type"
 
constexpr const auto intel_x64::cr0::numeric_error::mask = 0x0000000000000020UL
 
constexpr const auto intel_x64::cr0::numeric_error::from = 5
 
constexpr const auto intel_x64::cr0::numeric_error::name = "numeric_error"
 
constexpr const auto intel_x64::cr0::write_protect::mask = 0x0000000000010000UL
 
constexpr const auto intel_x64::cr0::write_protect::from = 16
 
constexpr const auto intel_x64::cr0::write_protect::name = "write_protect"
 
constexpr const auto intel_x64::cr0::alignment_mask::mask = 0x0000000000040000UL
 
constexpr const auto intel_x64::cr0::alignment_mask::from = 18
 
constexpr const auto intel_x64::cr0::alignment_mask::name = "alignment_mask"
 
constexpr const auto intel_x64::cr0::not_write_through::mask = 0x0000000020000000UL
 
constexpr const auto intel_x64::cr0::not_write_through::from = 29
 
constexpr const auto intel_x64::cr0::not_write_through::name = "not_write_through"
 
constexpr const auto intel_x64::cr0::cache_disable::mask = 0x0000000040000000UL
 
constexpr const auto intel_x64::cr0::cache_disable::from = 30
 
constexpr const auto intel_x64::cr0::cache_disable::name = "cache_disable"
 
constexpr const auto intel_x64::cr0::paging::mask = 0x0000000080000000UL
 
constexpr const auto intel_x64::cr0::paging::from = 31
 
constexpr const auto intel_x64::cr0::paging::name = "paging"
 
constexpr const auto intel_x64::cr4::v8086_mode_extensions::mask = 0x0000000000000001UL
 
constexpr const auto intel_x64::cr4::v8086_mode_extensions::from = 0
 
constexpr const auto intel_x64::cr4::v8086_mode_extensions::name = "v8086_mode_extensions"
 
constexpr const auto intel_x64::cr4::protected_mode_virtual_interrupts::mask = 0x0000000000000002UL
 
constexpr const auto intel_x64::cr4::protected_mode_virtual_interrupts::from = 1
 
constexpr const auto intel_x64::cr4::protected_mode_virtual_interrupts::name = "protected_mode_virtual_interrupts"
 
constexpr const auto intel_x64::cr4::time_stamp_disable::mask = 0x0000000000000004UL
 
constexpr const auto intel_x64::cr4::time_stamp_disable::from = 2
 
constexpr const auto intel_x64::cr4::time_stamp_disable::name = "time_stamp_disable"
 
constexpr const auto intel_x64::cr4::debugging_extensions::mask = 0x0000000000000008UL
 
constexpr const auto intel_x64::cr4::debugging_extensions::from = 3
 
constexpr const auto intel_x64::cr4::debugging_extensions::name = "debugging_extensions"
 
constexpr const auto intel_x64::cr4::page_size_extensions::mask = 0x0000000000000010UL
 
constexpr const auto intel_x64::cr4::page_size_extensions::from = 4
 
constexpr const auto intel_x64::cr4::page_size_extensions::name = "page_size_extensions"
 
constexpr const auto intel_x64::cr4::physical_address_extensions::mask = 0x0000000000000020UL
 
constexpr const auto intel_x64::cr4::physical_address_extensions::from = 5
 
constexpr const auto intel_x64::cr4::physical_address_extensions::name = "physical_address_extensions"
 
constexpr const auto intel_x64::cr4::machine_check_enable::mask = 0x0000000000000040UL
 
constexpr const auto intel_x64::cr4::machine_check_enable::from = 6
 
constexpr const auto intel_x64::cr4::machine_check_enable::name = "machine_check_enable"
 
constexpr const auto intel_x64::cr4::page_global_enable::mask = 0x0000000000000080UL
 
constexpr const auto intel_x64::cr4::page_global_enable::from = 7
 
constexpr const auto intel_x64::cr4::page_global_enable::name = "page_global_enable"
 
constexpr const auto intel_x64::cr4::performance_monitor_counter_enable::mask = 0x0000000000000100UL
 
constexpr const auto intel_x64::cr4::performance_monitor_counter_enable::from = 8
 
constexpr const auto intel_x64::cr4::performance_monitor_counter_enable::name = "performance_monitor_counter_enable"
 
constexpr const auto intel_x64::cr4::osfxsr::mask = 0x0000000000000200UL
 
constexpr const auto intel_x64::cr4::osfxsr::from = 9
 
constexpr const auto intel_x64::cr4::osfxsr::name = "osfxsr"
 
constexpr const auto intel_x64::cr4::osxmmexcpt::mask = 0x0000000000000400UL
 
constexpr const auto intel_x64::cr4::osxmmexcpt::from = 10
 
constexpr const auto intel_x64::cr4::osxmmexcpt::name = "osxmmexcpt"
 
constexpr const auto intel_x64::cr4::vmx_enable_bit::mask = 0x0000000000002000UL
 
constexpr const auto intel_x64::cr4::vmx_enable_bit::from = 13
 
constexpr const auto intel_x64::cr4::vmx_enable_bit::name = "vmx_enable_bit"
 
constexpr const auto intel_x64::cr4::smx_enable_bit::mask = 0x0000000000004000UL
 
constexpr const auto intel_x64::cr4::smx_enable_bit::from = 14
 
constexpr const auto intel_x64::cr4::smx_enable_bit::name = "smx_enable_bit"
 
constexpr const auto intel_x64::cr4::fsgsbase_enable_bit::mask = 0x0000000000010000UL
 
constexpr const auto intel_x64::cr4::fsgsbase_enable_bit::from = 16
 
constexpr const auto intel_x64::cr4::fsgsbase_enable_bit::name = "fsgsbase_enable_bit"
 
constexpr const auto intel_x64::cr4::pcid_enable_bit::mask = 0x0000000000020000UL
 
constexpr const auto intel_x64::cr4::pcid_enable_bit::from = 17
 
constexpr const auto intel_x64::cr4::pcid_enable_bit::name = "pcid_enable_bit"
 
constexpr const auto intel_x64::cr4::osxsave::mask = 0x0000000000040000UL
 
constexpr const auto intel_x64::cr4::osxsave::from = 18
 
constexpr const auto intel_x64::cr4::osxsave::name = "osxsave"
 
constexpr const auto intel_x64::cr4::smep_enable_bit::mask = 0x0000000000100000UL
 
constexpr const auto intel_x64::cr4::smep_enable_bit::from = 20
 
constexpr const auto intel_x64::cr4::smep_enable_bit::name = "smep_enable_bit"
 
constexpr const auto intel_x64::cr4::smap_enable_bit::mask = 0x0000000000200000UL
 
constexpr const auto intel_x64::cr4::smap_enable_bit::from = 21
 
constexpr const auto intel_x64::cr4::smap_enable_bit::name = "smap_enable_bit"
 
constexpr const auto intel_x64::cr4::protection_key_enable_bit::mask = 0x0000000000400000UL
 
constexpr const auto intel_x64::cr4::protection_key_enable_bit::from = 22
 
constexpr const auto intel_x64::cr4::protection_key_enable_bit::name = "protection_key_enable_bit"
 

Function Documentation

◆ __read_cr0()

uint64_t __read_cr0 ( void  )
noexcept

Definition at line 33 of file test_crs_intel_x64.cpp.

◆ __write_cr0()

void __write_cr0 ( uint64_t  val)
noexcept

Definition at line 37 of file test_crs_intel_x64.cpp.

◆ __read_cr2()

uint64_t __read_cr2 ( void  )
noexcept

Definition at line 41 of file test_crs_intel_x64.cpp.

◆ __write_cr2()

void __write_cr2 ( uint64_t  val)
noexcept

Definition at line 45 of file test_crs_intel_x64.cpp.

◆ __read_cr3()

uint64_t __read_cr3 ( void  )
noexcept

Definition at line 49 of file test_crs_intel_x64.cpp.

◆ __write_cr3()

void __write_cr3 ( uint64_t  val)
noexcept

Definition at line 53 of file test_crs_intel_x64.cpp.

◆ __read_cr4()

uint64_t __read_cr4 ( void  )
noexcept

Definition at line 57 of file test_crs_intel_x64.cpp.

◆ __write_cr4()

void __write_cr4 ( uint64_t  val)
noexcept

Definition at line 61 of file test_crs_intel_x64.cpp.