23 #ifndef VMCS_INTEL_X64_16BIT_HOST_STATE_FIELDS_H 24 #define VMCS_INTEL_X64_16BIT_HOST_STATE_FIELDS_H 42 namespace host_es_selector
44 constexpr
const auto addr = 0x0000000000000C00UL;
45 constexpr
const auto name =
"host_es_selector";
56 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
59 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
65 constexpr
const auto mask = 0x00000003U;
66 constexpr
const auto from = 0;
67 constexpr
const auto name =
"rpl";
75 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
82 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
92 constexpr
const auto mask = 0x00000004U;
93 constexpr
const auto from = 2;
94 constexpr
const auto name =
"ti";
102 inline void set(
bool b)
117 constexpr
const auto mask = 0x0000FFF8U;
119 constexpr
const auto name =
"index";
127 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
134 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
143 namespace host_cs_selector
145 constexpr
const auto addr = 0x0000000000000C02UL;
146 constexpr
const auto name =
"host_cs_selector";
157 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
160 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
166 constexpr
const auto mask = 0x00000003U;
168 constexpr
const auto name =
"rpl";
176 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
183 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
193 constexpr
const auto mask = 0x00000004U;
195 constexpr
const auto name =
"ti";
203 inline void set(
bool b)
218 constexpr
const auto mask = 0x0000FFF8U;
220 constexpr
const auto name =
"index";
228 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
235 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
244 namespace host_ss_selector
246 constexpr
const auto addr = 0x0000000000000C04UL;
247 constexpr
const auto name =
"host_ss_selector";
258 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
261 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
267 constexpr
const auto mask = 0x00000003U;
269 constexpr
const auto name =
"rpl";
277 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
284 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
294 constexpr
const auto mask = 0x00000004U;
296 constexpr
const auto name =
"ti";
304 inline void set(
bool b)
319 constexpr
const auto mask = 0x0000FFF8U;
321 constexpr
const auto name =
"index";
329 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
336 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
345 namespace host_ds_selector
347 constexpr
const auto addr = 0x0000000000000C06UL;
348 constexpr
const auto name =
"host_ds_selector";
359 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
362 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
368 constexpr
const auto mask = 0x00000003U;
370 constexpr
const auto name =
"rpl";
378 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
385 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
395 constexpr
const auto mask = 0x00000004U;
397 constexpr
const auto name =
"ti";
405 inline void set(
bool b)
420 constexpr
const auto mask = 0x0000FFF8U;
422 constexpr
const auto name =
"index";
430 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
437 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
446 namespace host_fs_selector
448 constexpr
const auto addr = 0x0000000000000C08UL;
449 constexpr
const auto name =
"host_fs_selector";
460 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
463 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
469 constexpr
const auto mask = 0x00000003U;
471 constexpr
const auto name =
"rpl";
479 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
486 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
496 constexpr
const auto mask = 0x00000004U;
498 constexpr
const auto name =
"ti";
506 inline void set(
bool b)
521 constexpr
const auto mask = 0x0000FFF8U;
523 constexpr
const auto name =
"index";
531 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
538 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
547 namespace host_gs_selector
549 constexpr
const auto addr = 0x0000000000000C0AUL;
550 constexpr
const auto name =
"host_gs_selector";
561 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
564 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
570 constexpr
const auto mask = 0x00000003U;
572 constexpr
const auto name =
"rpl";
580 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
587 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
597 constexpr
const auto mask = 0x00000004U;
599 constexpr
const auto name =
"ti";
607 inline void set(
bool b)
622 constexpr
const auto mask = 0x0000FFF8U;
624 constexpr
const auto name =
"index";
632 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
639 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
648 namespace host_tr_selector
650 constexpr
const auto addr = 0x0000000000000C0CUL;
651 constexpr
const auto name =
"host_tr_selector";
662 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
665 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
671 constexpr
const auto mask = 0x00000003U;
673 constexpr
const auto name =
"rpl";
681 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
688 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
698 constexpr
const auto mask = 0x00000004U;
700 constexpr
const auto name =
"ti";
708 inline void set(
bool b)
723 constexpr
const auto mask = 0x0000FFF8U;
725 constexpr
const auto name =
"index";
733 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
740 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
void set_if_exists(T val, bool verbose=false) noexcept
auto get_vmcs_field_if_exists(T addr, const char *name, bool verbose, bool exists)
void set_if_exists(T val, bool verbose=false) noexcept
constexpr const auto mask
constexpr const auto from
constexpr const auto addr
constexpr const auto name
constexpr const auto mask
void set_if_exists(T val, bool verbose=false) noexcept
constexpr const auto mask
void set_if_exists(T val, bool verbose=false) noexcept
constexpr const auto name
constexpr const auto from
void set_if_exists(bool b, bool verbose=false) noexcept
void set_if_exists(T val, bool verbose=false) noexcept
constexpr const auto from
void set_if_exists(T val, bool verbose=false) noexcept
constexpr const auto mask
auto get_if_exists(bool verbose=false) noexcept
constexpr const auto from
constexpr const auto name
void set_if_exists(T val, bool verbose=false) noexcept
constexpr const auto mask
auto get_if_exists(bool verbose=false) noexcept
auto get_if_exists(bool verbose=false) noexcept
void set_if_exists(T val, bool verbose=false) noexcept
constexpr const auto mask
constexpr const auto from
void set_if_exists(bool b, bool verbose=false) noexcept
constexpr const auto from
void set_if_exists(T val, bool verbose=false) noexcept
auto get_if_exists(bool verbose=false) noexcept
void set_if_exists(T val, bool verbose=false) noexcept
constexpr const auto mask
void set_if_exists(bool b, bool verbose=false) noexcept
auto get_if_exists(bool verbose=false) noexcept
auto get_if_exists(bool verbose=false) noexcept
constexpr const auto from
auto get_if_exists(bool verbose=false) noexcept
auto get_if_exists(bool verbose=false) noexcept
constexpr const auto from
void set_if_exists(bool b, bool verbose=false) noexcept
constexpr const auto addr
constexpr const auto mask
constexpr const auto mask
constexpr const auto mask
auto get_if_exists(bool verbose=false) noexcept
constexpr const auto mask
auto get_if_exists(bool verbose=false) noexcept
constexpr const auto mask
auto get_if_exists(bool verbose=false) noexcept
void set_if_exists(T val, bool verbose=false) noexcept
constexpr const auto mask
auto get_if_exists(bool verbose=false) noexcept
constexpr const auto mask
auto get_if_exists(bool verbose=false) noexcept
void set_if_exists(T val, bool verbose=false) noexcept
void set_if_exists(T val, bool verbose=false) noexcept
constexpr const auto from
constexpr const auto mask
auto set_vmcs_field_if_exists(V val, A addr, const char *name, bool verbose, bool exists) noexcept
auto get_if_exists(bool verbose=false) noexcept
auto get_if_exists(bool verbose=false) noexcept
constexpr const auto name
constexpr const auto mask
void uint64_t uint64_t uint64_t *rdx noexcept
auto index(const T virt, const F from)
auto get_if_exists(bool verbose=false) noexcept
constexpr const auto addr
constexpr const auto from
constexpr const auto name
void set_if_exists(T val, bool verbose=false) noexcept
auto get_if_exists(bool verbose=false) noexcept
void set_if_exists(T val, bool verbose=false) noexcept
auto get_if_exists(bool verbose=false) noexcept
constexpr const auto from
constexpr const auto from
constexpr const auto from
constexpr const auto addr
constexpr const auto mask
constexpr const auto mask
void set_if_exists(bool b, bool verbose=false) noexcept
void set_if_exists(T val, bool verbose=false) noexcept
auto clear_bit(T t, B b) noexcept
constexpr const auto addr
auto set_vmcs_field(V val, A addr, const char *name, bool exists)
auto set_bit(T t, B b) noexcept
auto get_bits(T t, M m) noexcept
auto get_if_exists(bool verbose=false) noexcept
constexpr const auto mask
auto get_if_exists(bool verbose=false) noexcept
constexpr const auto from
constexpr const auto addr
constexpr const auto from
auto get_if_exists(bool verbose=false) noexcept
constexpr const auto from
constexpr const auto from
auto get_vmcs_field(T addr, const char *name, bool exists)
void set_if_exists(bool b, bool verbose=false) noexcept
auto get_if_exists(bool verbose=false) noexcept
auto get_if_exists(bool verbose=false) noexcept
constexpr const auto mask
constexpr const auto from
constexpr const auto name
constexpr const auto addr
void set_if_exists(bool b, bool verbose=false) noexcept
constexpr const auto from
auto is_bit_set(T t, B b) noexcept
auto get_if_exists(bool verbose=false) noexcept
void set_if_exists(T val, bool verbose=false) noexcept
constexpr const auto mask
auto set_bits(T t, M m, V v) noexcept
void set_if_exists(T val, bool verbose=false) noexcept
auto get_if_exists(bool verbose=false) noexcept
constexpr const auto from
constexpr const auto name
void set_if_exists(T val, bool verbose=false) noexcept
void set_if_exists(T val, bool verbose=false) noexcept
auto get_if_exists(bool verbose=false) noexcept
auto get_if_exists(bool verbose=false) noexcept
constexpr const auto from
void set_if_exists(T val, bool verbose=false) noexcept
auto get_if_exists(bool verbose=false) noexcept