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

Go to the source code of this file.

Namespaces

 x64
 
 x64::msrs
 
 x64::msrs::ia32_pat
 
 x64::msrs::ia32_pat::pa0
 
 x64::msrs::ia32_pat::pa1
 
 x64::msrs::ia32_pat::pa2
 
 x64::msrs::ia32_pat::pa3
 
 x64::msrs::ia32_pat::pa4
 
 x64::msrs::ia32_pat::pa5
 
 x64::msrs::ia32_pat::pa6
 
 x64::msrs::ia32_pat::pa7
 

Typedefs

using x64::msrs::field_type = uint32_t
 
using x64::msrs::value_type = uint64_t
 

Functions

uint64_t __read_msr (uint32_t addr) noexcept
 
void __write_msr (uint32_t addr, uint64_t val) noexcept
 
template<class A >
auto x64::msrs::get (A addr) noexcept
 
template<class A , class T >
void x64::msrs::set (A addr, T val) noexcept
 
auto x64::msrs::ia32_pat::get () noexcept
 
template<class T , class = typename std::enable_if<std::is_integral<T>::value>::type>
void x64::msrs::ia32_pat::set (T val) noexcept
 
auto x64::msrs::ia32_pat::pa0::get () noexcept
 
template<class T , class = typename std::enable_if<std::is_integral<T>::value>::type>
auto x64::msrs::ia32_pat::pa0::get (T val) noexcept
 
template<class T , class = typename std::enable_if<std::is_integral<T>::value>::type>
void x64::msrs::ia32_pat::pa0::set (T val) noexcept
 
auto x64::msrs::ia32_pat::pa1::get () noexcept
 
template<class T , class = typename std::enable_if<std::is_integral<T>::value>::type>
auto x64::msrs::ia32_pat::pa1::get (T val) noexcept
 
template<class T , class = typename std::enable_if<std::is_integral<T>::value>::type>
void x64::msrs::ia32_pat::pa1::set (T val) noexcept
 
auto x64::msrs::ia32_pat::pa2::get () noexcept
 
template<class T , class = typename std::enable_if<std::is_integral<T>::value>::type>
auto x64::msrs::ia32_pat::pa2::get (T val) noexcept
 
template<class T , class = typename std::enable_if<std::is_integral<T>::value>::type>
void x64::msrs::ia32_pat::pa2::set (T val) noexcept
 
auto x64::msrs::ia32_pat::pa3::get () noexcept
 
template<class T , class = typename std::enable_if<std::is_integral<T>::value>::type>
auto x64::msrs::ia32_pat::pa3::get (T val) noexcept
 
template<class T , class = typename std::enable_if<std::is_integral<T>::value>::type>
void x64::msrs::ia32_pat::pa3::set (T val) noexcept
 
auto x64::msrs::ia32_pat::pa4::get () noexcept
 
template<class T , class = typename std::enable_if<std::is_integral<T>::value>::type>
auto x64::msrs::ia32_pat::pa4::get (T val) noexcept
 
template<class T , class = typename std::enable_if<std::is_integral<T>::value>::type>
void x64::msrs::ia32_pat::pa4::set (T val) noexcept
 
auto x64::msrs::ia32_pat::pa5::get () noexcept
 
template<class T , class = typename std::enable_if<std::is_integral<T>::value>::type>
auto x64::msrs::ia32_pat::pa5::get (T val) noexcept
 
template<class T , class = typename std::enable_if<std::is_integral<T>::value>::type>
void x64::msrs::ia32_pat::pa5::set (T val) noexcept
 
auto x64::msrs::ia32_pat::pa6::get () noexcept
 
template<class T , class = typename std::enable_if<std::is_integral<T>::value>::type>
auto x64::msrs::ia32_pat::pa6::get (T val) noexcept
 
template<class T , class = typename std::enable_if<std::is_integral<T>::value>::type>
void x64::msrs::ia32_pat::pa6::set (T val) noexcept
 
auto x64::msrs::ia32_pat::pa7::get () noexcept
 
template<class T , class = typename std::enable_if<std::is_integral<T>::value>::type>
auto x64::msrs::ia32_pat::pa7::get (T val) noexcept
 
template<class T , class = typename std::enable_if<std::is_integral<T>::value>::type>
void x64::msrs::ia32_pat::pa7::set (T val) noexcept
 
void x64::msrs::ia32_pat::dump () noexcept
 
template<class T , class = typename std::enable_if<std::is_integral<T>::value>::type>
auto x64::msrs::ia32_pat::pa (T index)
 
template<class V , class I , class = typename std::enable_if<std::is_integral<V>::value>::type, class = typename std::enable_if<std::is_integral<I>::value>::type>
auto x64::msrs::ia32_pat::pa (V value, I index)
 

Variables

constexpr const auto x64::msrs::ia32_pat::addr = 0x00000277U
 
constexpr const auto x64::msrs::ia32_pat::name = "ia32_pat"
 
constexpr const auto x64::msrs::ia32_pat::pa0::mask = 0x0000000000000007UL
 
constexpr const auto x64::msrs::ia32_pat::pa0::from = 0
 
constexpr const auto x64::msrs::ia32_pat::pa0::name = "pa0"
 
constexpr const auto x64::msrs::ia32_pat::pa1::mask = 0x0000000000000700UL
 
constexpr const auto x64::msrs::ia32_pat::pa1::from = 8
 
constexpr const auto x64::msrs::ia32_pat::pa1::name = "pa1"
 
constexpr const auto x64::msrs::ia32_pat::pa2::mask = 0x0000000000070000UL
 
constexpr const auto x64::msrs::ia32_pat::pa2::from = 16
 
constexpr const auto x64::msrs::ia32_pat::pa2::name = "pa2"
 
constexpr const auto x64::msrs::ia32_pat::pa3::mask = 0x0000000007000000UL
 
constexpr const auto x64::msrs::ia32_pat::pa3::from = 24
 
constexpr const auto x64::msrs::ia32_pat::pa3::name = "pa3"
 
constexpr const auto x64::msrs::ia32_pat::pa4::mask = 0x0000000700000000UL
 
constexpr const auto x64::msrs::ia32_pat::pa4::from = 32
 
constexpr const auto x64::msrs::ia32_pat::pa4::name = "pa4"
 
constexpr const auto x64::msrs::ia32_pat::pa5::mask = 0x0000070000000000UL
 
constexpr const auto x64::msrs::ia32_pat::pa5::from = 40
 
constexpr const auto x64::msrs::ia32_pat::pa5::name = "pa5"
 
constexpr const auto x64::msrs::ia32_pat::pa6::mask = 0x0007000000000000UL
 
constexpr const auto x64::msrs::ia32_pat::pa6::from = 48
 
constexpr const auto x64::msrs::ia32_pat::pa6::name = "pa6"
 
constexpr const auto x64::msrs::ia32_pat::pa7::mask = 0x0700000000000000UL
 
constexpr const auto x64::msrs::ia32_pat::pa7::from = 56
 
constexpr const auto x64::msrs::ia32_pat::pa7::name = "pa7"
 

Function Documentation

◆ __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.