23 #ifndef VMCS_INTEL_X64_NATURAL_WIDTH_HOST_STATE_FIELDS_H 24 #define VMCS_INTEL_X64_NATURAL_WIDTH_HOST_STATE_FIELDS_H 44 constexpr
const auto addr = 0x0000000000006C00UL;
45 constexpr
const auto name =
"host_cr0";
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>
63 namespace protection_enable
65 constexpr
const auto mask = 0x0000000000000001UL;
66 constexpr
const auto from = 0;
67 constexpr
const auto name =
"protection_enable";
106 namespace monitor_coprocessor
108 constexpr
const auto mask = 0x0000000000000002UL;
110 constexpr
const auto name =
"monitor_coprocessor";
151 constexpr
const auto mask = 0x0000000000000004UL;
153 constexpr
const auto name =
"emulation";
192 namespace task_switched
194 constexpr
const auto mask = 0x0000000000000008UL;
196 constexpr
const auto name =
"task_switched";
235 namespace extension_type
237 constexpr
const auto mask = 0x0000000000000010UL;
239 constexpr
const auto name =
"extension_type";
278 namespace numeric_error
280 constexpr
const auto mask = 0x0000000000000020UL;
282 constexpr
const auto name =
"numeric_error";
321 namespace write_protect
323 constexpr
const auto mask = 0x0000000000010000UL;
324 constexpr
const auto from = 16;
325 constexpr
const auto name =
"write_protect";
364 namespace alignment_mask
366 constexpr
const auto mask = 0x0000000000040000UL;
367 constexpr
const auto from = 18;
368 constexpr
const auto name =
"alignment_mask";
407 namespace not_write_through
409 constexpr
const auto mask = 0x0000000020000000UL;
410 constexpr
const auto from = 29;
411 constexpr
const auto name =
"not_write_through";
450 namespace cache_disable
452 constexpr
const auto mask = 0x0000000040000000UL;
453 constexpr
const auto from = 30;
454 constexpr
const auto name =
"cache_disable";
495 constexpr
const auto mask = 0x0000000080000000UL;
496 constexpr
const auto from = 31;
497 constexpr
const auto name =
"paging";
538 bfdebug <<
"host cr0 enabled flags:" << bfendl;
567 constexpr
const auto addr = 0x0000000000006C02UL;
568 constexpr
const auto name =
"host_cr3";
579 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
582 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
589 constexpr
const auto addr = 0x0000000000006C04UL;
590 constexpr
const auto name =
"host_cr4";
601 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
604 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
608 namespace v8086_mode_extensions
610 constexpr
const auto mask = 0x0000000000000001UL;
612 constexpr
const auto name =
"v8086_mode_extensions";
651 namespace protected_mode_virtual_interrupts
653 constexpr
const auto mask = 0x0000000000000002UL;
655 constexpr
const auto name =
"protected_mode_virtual_interrupts";
694 namespace time_stamp_disable
696 constexpr
const auto mask = 0x0000000000000004UL;
698 constexpr
const auto name =
"time_stamp_disable";
737 namespace debugging_extensions
739 constexpr
const auto mask = 0x0000000000000008UL;
741 constexpr
const auto name =
"debugging_extensions";
780 namespace page_size_extensions
782 constexpr
const auto mask = 0x0000000000000010UL;
784 constexpr
const auto name =
"page_size_extensions";
823 namespace physical_address_extensions
825 constexpr
const auto mask = 0x0000000000000020UL;
827 constexpr
const auto name =
"physical_address_extensions";
866 namespace machine_check_enable
868 constexpr
const auto mask = 0x0000000000000040UL;
870 constexpr
const auto name =
"machine_check_enable";
909 namespace page_global_enable
911 constexpr
const auto mask = 0x0000000000000080UL;
913 constexpr
const auto name =
"page_global_enable";
952 namespace performance_monitor_counter_enable
954 constexpr
const auto mask = 0x0000000000000100UL;
956 constexpr
const auto name =
"performance_monitor_counter_enable";
997 constexpr
const auto mask = 0x0000000000000200UL;
999 constexpr
const auto name =
"osfxsr";
1038 namespace osxmmexcpt
1040 constexpr
const auto mask = 0x0000000000000400UL;
1042 constexpr
const auto name =
"osxmmexcpt";
1081 namespace vmx_enable_bit
1083 constexpr
const auto mask = 0x0000000000002000UL;
1085 constexpr
const auto name =
"vmx_enable_bit";
1124 namespace smx_enable_bit
1126 constexpr
const auto mask = 0x0000000000004000UL;
1128 constexpr
const auto name =
"smx_enable_bit";
1167 namespace fsgsbase_enable_bit
1169 constexpr
const auto mask = 0x0000000000010000UL;
1171 constexpr
const auto name =
"fsgsbase_enable_bit";
1210 namespace pcid_enable_bit
1212 constexpr
const auto mask = 0x0000000000020000UL;
1214 constexpr
const auto name =
"pcid_enable_bit";
1255 constexpr
const auto mask = 0x0000000000040000UL;
1257 constexpr
const auto name =
"osxsave";
1296 namespace smep_enable_bit
1298 constexpr
const auto mask = 0x0000000000100000UL;
1300 constexpr
const auto name =
"smep_enable_bit";
1339 namespace smap_enable_bit
1341 constexpr
const auto mask = 0x0000000000200000UL;
1343 constexpr
const auto name =
"smap_enable_bit";
1382 namespace protection_key_enable_bit
1384 constexpr
const auto mask = 0x0000000000400000UL;
1386 constexpr
const auto name =
"protection_key_enable_bit";
1427 bfdebug <<
"host cr4 enabled flags:" << bfendl;
1472 namespace host_fs_base
1474 constexpr
const auto addr = 0x0000000000006C06UL;
1475 constexpr
const auto name =
"host_fs_base";
1486 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
1489 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
1494 namespace host_gs_base
1496 constexpr
const auto addr = 0x0000000000006C08UL;
1497 constexpr
const auto name =
"host_gs_base";
1508 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
1511 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
1516 namespace host_tr_base
1518 constexpr
const auto addr = 0x0000000000006C0AUL;
1519 constexpr
const auto name =
"host_tr_base";
1530 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
1533 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
1538 namespace host_gdtr_base
1540 constexpr
const auto addr = 0x0000000000006C0CUL;
1541 constexpr
const auto name =
"host_gdtr_base";
1552 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
1555 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
1560 namespace host_idtr_base
1562 constexpr
const auto addr = 0x0000000000006C0EUL;
1563 constexpr
const auto name =
"host_idtr_base";
1574 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
1577 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
1582 namespace host_ia32_sysenter_esp
1584 constexpr
const auto addr = 0x0000000000006C10UL;
1585 constexpr
const auto name =
"host_ia32_sysenter_esp";
1596 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
1599 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
1604 namespace host_ia32_sysenter_eip
1606 constexpr
const auto addr = 0x0000000000006C12UL;
1607 constexpr
const auto name =
"host_ia32_sysenter_eip";
1618 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
1621 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
1628 constexpr
const auto addr = 0x0000000000006C14UL;
1629 constexpr
const auto name =
"host_rsp";
1640 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
1643 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
1650 constexpr
const auto addr = 0x0000000000006C16UL;
1651 constexpr
const auto name =
"host_rip";
1662 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
1665 template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
auto is_disabled_if_exists(bool verbose=false) noexcept
constexpr const auto name
auto is_disabled_if_exists(bool verbose=false) noexcept
auto get_vmcs_field_if_exists(T addr, const char *name, bool verbose, bool exists)
constexpr const auto from
constexpr const auto addr
constexpr const auto mask
void enable_if_exists(bool verbose=false) noexcept
auto get_if_exists(bool verbose=false) noexcept
constexpr const auto mask
auto get_if_exists(bool verbose=false) noexcept
auto is_enabled_if_exists(bool verbose=false) noexcept
void disable_if_exists(bool verbose=false) noexcept
constexpr const auto mask
auto is_enabled_if_exists(bool verbose=false) noexcept
void disable_if_exists(bool verbose=false) noexcept
constexpr const auto addr
void enable_if_exists(bool verbose=false) noexcept
auto is_enabled_if_exists(bool verbose=false) noexcept
constexpr const auto name
void disable_if_exists(bool verbose=false) noexcept
void enable_if_exists(bool verbose=false) noexcept
void disable_if_exists(bool verbose=false) noexcept
auto is_enabled_if_exists(bool verbose=false) noexcept
constexpr const auto from
constexpr const auto name
constexpr const auto name
constexpr const auto from
constexpr const auto name
constexpr const auto name
constexpr const auto name
constexpr const auto mask
constexpr const auto name
constexpr const auto name
void set_if_exists(T val, bool verbose=false) noexcept
auto is_disabled_if_exists(bool verbose=false) noexcept
void enable_if_exists(bool verbose=false) noexcept
void set_if_exists(T val, bool verbose=false) noexcept
auto is_enabled_if_exists(bool verbose=false) noexcept
constexpr const auto from
auto is_enabled_if_exists(bool verbose=false) noexcept
void enable_if_exists(bool verbose=false) noexcept
auto get_if_exists(bool verbose=false) noexcept
void disable_if_exists(bool verbose=false) noexcept
auto is_disabled_if_exists(bool verbose=false) noexcept
constexpr const auto name
void enable_if_exists(bool verbose=false) noexcept
auto is_enabled_if_exists(bool verbose=false) noexcept
void enable_if_exists(bool verbose=false) noexcept
auto is_disabled_if_exists(bool verbose=false) noexcept
constexpr const auto from
void enable_if_exists(bool verbose=false) noexcept
constexpr const auto name
auto is_disabled_if_exists(bool verbose=false) noexcept
constexpr const auto addr
constexpr const auto from
constexpr const auto from
constexpr const auto name
constexpr const auto from
constexpr const auto mask
constexpr const auto name
constexpr const auto name
constexpr const auto name
auto is_enabled_if_exists(bool verbose=false) noexcept
auto is_enabled_if_exists(bool verbose=false) noexcept
void enable_if_exists(bool verbose=false) noexcept
auto get_if_exists(bool verbose=false) noexcept
void disable_if_exists(bool verbose=false) noexcept
constexpr const auto addr
auto get_if_exists(bool verbose=false) noexcept
constexpr const auto mask
void set_if_exists(T val, bool verbose=false) noexcept
void set_if_exists(T val, bool verbose=false) noexcept
void enable_if_exists(bool verbose=false) noexcept
void disable_if_exists(bool verbose=false) noexcept
constexpr const auto mask
void disable_if_exists(bool verbose=false) noexcept
auto is_enabled_if_exists(bool verbose=false) noexcept
constexpr const auto name
void disable_if_exists(bool verbose=false) noexcept
constexpr const auto mask
void disable_if_exists(bool verbose=false) noexcept
void enable_if_exists(bool verbose=false) noexcept
void enable_if_exists(bool verbose=false) noexcept
constexpr const auto addr
void disable_if_exists(bool verbose=false) noexcept
void enable_if_exists(bool verbose=false) noexcept
constexpr const auto mask
auto is_disabled_if_exists(bool verbose=false) noexcept
constexpr const auto name
auto is_enabled_if_exists(bool verbose=false) noexcept
auto is_disabled_if_exists(bool verbose=false) noexcept
constexpr const auto name
void set_if_exists(T val, bool verbose=false) noexcept
auto get_if_exists(bool verbose=false) noexcept
void enable_if_exists(bool verbose=false) noexcept
constexpr const auto name
void set_if_exists(T val, bool verbose=false) noexcept
auto is_disabled_if_exists(bool verbose=false) noexcept
constexpr const auto from
auto is_disabled_if_exists(bool verbose=false) noexcept
constexpr const auto from
void enable_if_exists(bool verbose=false) noexcept
constexpr const auto from
auto is_enabled_if_exists(bool verbose=false) noexcept
constexpr const auto addr
void enable_if_exists(bool verbose=false) noexcept
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
constexpr const auto name
constexpr const auto addr
auto is_disabled_if_exists(bool verbose=false) noexcept
auto is_disabled_if_exists(bool verbose=false) noexcept
void uint64_t uint64_t uint64_t *rdx noexcept
constexpr const auto mask
auto is_disabled_if_exists(bool verbose=false) noexcept
constexpr const auto name
void enable_if_exists(bool verbose=false) noexcept
void disable_if_exists(bool verbose=false) noexcept
constexpr const auto mask
constexpr const auto from
constexpr const auto mask
void disable_if_exists(bool verbose=false) noexcept
constexpr const auto mask
constexpr const auto from
auto is_disabled_if_exists(bool verbose=false) noexcept
constexpr const auto name
constexpr const auto from
auto is_enabled_if_exists(bool verbose=false) noexcept
void enable_if_exists(bool verbose=false) noexcept
auto is_bit_cleared(T t, B b) noexcept
void enable_if_exists(bool verbose=false) noexcept
constexpr const auto mask
void disable_if_exists(bool verbose=false) noexcept
void set_if_exists(T val, bool verbose=false) noexcept
constexpr const auto name
auto is_enabled_if_exists(bool verbose=false) noexcept
auto is_enabled_if_exists(bool verbose=false) noexcept
auto is_disabled_if_exists(bool verbose=false) noexcept
constexpr const auto mask
auto is_enabled_if_exists(bool verbose=false) noexcept
constexpr const auto name
constexpr const auto name
void disable_if_exists(bool verbose=false) noexcept
constexpr const auto addr
void disable_if_exists(bool verbose=false) noexcept
void enable_if_exists(bool verbose=false) noexcept
void disable_if_exists(bool verbose=false) noexcept
constexpr const auto name
void disable_if_exists(bool verbose=false) noexcept
auto is_enabled_if_exists(bool verbose=false) noexcept
void enable_if_exists(bool verbose=false) noexcept
constexpr const auto mask
auto is_disabled_if_exists(bool verbose=false) noexcept
constexpr const auto name
constexpr const auto mask
constexpr const auto mask
void enable_if_exists(bool verbose=false) noexcept
constexpr const auto from
constexpr const auto mask
constexpr const auto addr
void disable_if_exists(bool verbose=false) noexcept
auto is_enabled_if_exists(bool verbose=false) noexcept
constexpr const auto name
void enable_if_exists(bool verbose=false) noexcept
auto is_disabled_if_exists(bool verbose=false) noexcept
auto clear_bit(T t, B b) noexcept
auto is_enabled_if_exists(bool verbose=false) noexcept
constexpr const auto name
void disable_if_exists(bool verbose=false) noexcept
auto set_vmcs_field(V val, A addr, const char *name, bool exists)
constexpr const auto mask
auto set_bit(T t, B b) noexcept
void enable_if_exists(bool verbose=false) noexcept
void enable_if_exists(bool verbose=false) noexcept
constexpr const auto from
auto get_if_exists(bool verbose=false) noexcept
constexpr const auto from
void set_if_exists(T val, bool verbose=false) noexcept
void disable_if_exists(bool verbose=false) noexcept
constexpr const auto name
auto is_disabled_if_exists(bool verbose=false) noexcept
void enable_if_exists(bool verbose=false) noexcept
constexpr const auto name
constexpr const auto from
constexpr const auto from
constexpr const auto from
constexpr const auto from
void disable_if_exists(bool verbose=false) noexcept
auto is_disabled_if_exists(bool verbose=false) noexcept
constexpr const auto mask
auto get_if_exists(bool verbose=false) noexcept
auto is_disabled_if_exists(bool verbose=false) noexcept
constexpr const auto mask
auto is_enabled_if_exists(bool verbose=false) noexcept
auto is_disabled_if_exists(bool verbose=false) noexcept
constexpr const auto addr
auto is_disabled_if_exists(bool verbose=false) noexcept
auto is_disabled_if_exists(bool verbose=false) noexcept
void disable_if_exists(bool verbose=false) noexcept
constexpr const auto name
constexpr const auto name
auto is_enabled_if_exists(bool verbose=false) noexcept
void enable_if_exists(bool verbose=false) noexcept
auto get_vmcs_field(T addr, const char *name, bool exists)
void set_if_exists(T val, bool verbose=false) noexcept
auto get_if_exists(bool verbose=false) noexcept
void disable_if_exists(bool verbose=false) noexcept
constexpr const auto addr
constexpr const auto name
auto is_disabled_if_exists(bool verbose=false) noexcept
auto get_if_exists(bool verbose=false) noexcept
auto is_disabled_if_exists(bool verbose=false) noexcept
auto is_enabled_if_exists(bool verbose=false) noexcept
auto is_enabled_if_exists(bool verbose=false) noexcept
constexpr const auto mask
constexpr const auto mask
constexpr const auto from
void set_if_exists(T val, bool verbose=false) noexcept
void disable_if_exists(bool verbose=false) noexcept
auto is_enabled_if_exists(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 name
auto is_enabled_if_exists(bool verbose=false) noexcept
constexpr const auto from
auto is_enabled_if_exists(bool verbose=false) noexcept
void disable_if_exists(bool verbose=false) noexcept
auto is_bit_set(T t, B b) noexcept
auto is_disabled_if_exists(bool verbose=false) noexcept
void set_if_exists(T val, bool verbose=false) noexcept
constexpr const auto from
constexpr const auto from
constexpr const auto mask
constexpr const auto mask
constexpr const auto from
constexpr const auto from
auto is_disabled_if_exists(bool verbose=false) noexcept
constexpr const auto addr
constexpr const auto name
constexpr const auto from
constexpr const auto name
constexpr const auto name
auto is_enabled_if_exists(bool verbose=false) noexcept
constexpr const auto name
auto is_disabled_if_exists(bool verbose=false) noexcept
constexpr const auto mask
constexpr const auto name
constexpr const auto mask
auto is_disabled_if_exists(bool verbose=false) noexcept
void enable_if_exists(bool verbose=false) noexcept
void disable_if_exists(bool verbose=false) noexcept
constexpr const auto from
void enable_if_exists(bool verbose=false) noexcept
void disable_if_exists(bool verbose=false) noexcept
void disable_if_exists(bool verbose=false) noexcept
auto is_enabled_if_exists(bool verbose=false) noexcept
auto is_enabled_if_exists(bool verbose=false) noexcept
auto get_if_exists(bool verbose=false) noexcept