42 setup_check_host_control_registers_and_msrs_all_paths(std::vector<struct control_flow_path> &cfg)
62 setup_check_host_segment_and_descriptor_table_registers_all_paths(std::vector<struct control_flow_path> &cfg)
65 using namespace segment_register;
92 setup_check_host_address_space_size_all_paths(std::vector<struct control_flow_path> &cfg)
108 std::vector<struct control_flow_path> sub_cfg;
110 setup_check_host_control_registers_and_msrs_all_paths(sub_cfg);
111 setup_check_host_segment_and_descriptor_table_registers_all_paths(sub_cfg);
112 setup_check_host_address_space_size_all_paths(sub_cfg);
114 path.
setup = [sub_cfg]
116 for (
const auto &sub_path : sub_cfg)
124 setup_check_host_cr0_for_unsupported_bits_paths(std::vector<struct control_flow_path> &cfg)
141 setup_check_host_cr4_for_unsupported_bits_paths(std::vector<struct control_flow_path> &cfg)
158 setup_check_host_cr3_for_unsupported_bits_paths(std::vector<struct control_flow_path> &cfg)
171 setup_check_host_ia32_sysenter_esp_canonical_address_paths(std::vector<struct control_flow_path> &cfg)
184 setup_check_host_ia32_sysenter_eip_canonical_address_paths(std::vector<struct control_flow_path> &cfg)
197 setup_check_host_verify_load_ia32_perf_global_ctrl_paths(std::vector<struct control_flow_path> &cfg)
223 setup_check_host_verify_load_ia32_pat_paths(std::vector<struct control_flow_path> &cfg)
312 setup_check_host_verify_load_ia32_efer_paths(std::vector<struct control_flow_path> &cfg)
389 setup_check_host_es_selector_rpl_ti_equal_zero_paths(std::vector<struct control_flow_path> &cfg)
411 setup_check_host_cs_selector_rpl_ti_equal_zero_paths(std::vector<struct control_flow_path> &cfg)
433 setup_check_host_ss_selector_rpl_ti_equal_zero_paths(std::vector<struct control_flow_path> &cfg)
455 setup_check_host_ds_selector_rpl_ti_equal_zero_paths(std::vector<struct control_flow_path> &cfg)
477 setup_check_host_fs_selector_rpl_ti_equal_zero_paths(std::vector<struct control_flow_path> &cfg)
499 setup_check_host_gs_selector_rpl_ti_equal_zero_paths(std::vector<struct control_flow_path> &cfg)
521 setup_check_host_tr_selector_rpl_ti_equal_zero_paths(std::vector<struct control_flow_path> &cfg)
543 setup_check_host_cs_not_equal_zero_paths(std::vector<struct control_flow_path> &cfg)
556 setup_check_host_tr_not_equal_zero_paths(std::vector<struct control_flow_path> &cfg)
569 setup_check_host_ss_not_equal_zero_paths(std::vector<struct control_flow_path> &cfg)
595 setup_check_host_fs_canonical_base_address_paths(std::vector<struct control_flow_path> &cfg)
608 setup_check_host_gs_canonical_base_address_paths(std::vector<struct control_flow_path> &cfg)
621 setup_check_host_gdtr_canonical_base_address_paths(std::vector<struct control_flow_path> &cfg)
634 setup_check_host_idtr_canonical_base_address_paths(std::vector<struct control_flow_path> &cfg)
647 setup_check_host_tr_canonical_base_address_paths(std::vector<struct control_flow_path> &cfg)
660 setup_check_host_if_outside_ia32e_mode_paths(std::vector<struct control_flow_path> &cfg)
694 setup_check_host_address_space_size_exit_ctl_is_set_paths(std::vector<struct control_flow_path> &cfg)
720 setup_check_host_address_space_disabled_paths(std::vector<struct control_flow_path> &cfg)
766 setup_check_host_address_space_enabled_paths(std::vector<struct control_flow_path> &cfg)
801 vmcs_ut::test_check_host_state_all()
803 std::vector<struct control_flow_path> cfg;
810 vmcs_ut::test_check_host_control_registers_and_msrs_all()
812 std::vector<struct control_flow_path> cfg;
813 setup_check_host_control_registers_and_msrs_all_paths(cfg);
819 vmcs_ut::test_check_host_segment_and_descriptor_table_registers_all()
821 std::vector<struct control_flow_path> cfg;
822 setup_check_host_segment_and_descriptor_table_registers_all_paths(cfg);
828 vmcs_ut::test_check_host_address_space_size_all()
830 std::vector<struct control_flow_path> cfg;
831 setup_check_host_address_space_size_all_paths(cfg);
837 vmcs_ut::test_check_host_cr0_for_unsupported_bits()
839 std::vector<struct control_flow_path> cfg;
840 setup_check_host_cr0_for_unsupported_bits_paths(cfg);
846 vmcs_ut::test_check_host_cr4_for_unsupported_bits()
848 std::vector<struct control_flow_path> cfg;
849 setup_check_host_cr4_for_unsupported_bits_paths(cfg);
855 vmcs_ut::test_check_host_cr3_for_unsupported_bits()
857 std::vector<struct control_flow_path> cfg;
858 setup_check_host_cr3_for_unsupported_bits_paths(cfg);
864 vmcs_ut::test_check_host_ia32_sysenter_esp_canonical_address()
866 std::vector<struct control_flow_path> cfg;
867 setup_check_host_ia32_sysenter_esp_canonical_address_paths(cfg);
873 vmcs_ut::test_check_host_ia32_sysenter_eip_canonical_address()
875 std::vector<struct control_flow_path> cfg;
876 setup_check_host_ia32_sysenter_eip_canonical_address_paths(cfg);
882 vmcs_ut::test_check_host_verify_load_ia32_perf_global_ctrl()
884 std::vector<struct control_flow_path> cfg;
885 setup_check_host_verify_load_ia32_perf_global_ctrl_paths(cfg);
891 vmcs_ut::test_check_host_verify_load_ia32_pat()
893 std::vector<struct control_flow_path> cfg;
894 setup_check_host_verify_load_ia32_pat_paths(cfg);
900 vmcs_ut::test_check_host_verify_load_ia32_efer()
902 std::vector<struct control_flow_path> cfg;
903 setup_check_host_verify_load_ia32_efer_paths(cfg);
909 vmcs_ut::test_check_host_es_selector_rpl_ti_equal_zero()
911 std::vector<struct control_flow_path> cfg;
912 setup_check_host_es_selector_rpl_ti_equal_zero_paths(cfg);
918 vmcs_ut::test_check_host_cs_selector_rpl_ti_equal_zero()
920 std::vector<struct control_flow_path> cfg;
921 setup_check_host_cs_selector_rpl_ti_equal_zero_paths(cfg);
927 vmcs_ut::test_check_host_ss_selector_rpl_ti_equal_zero()
929 std::vector<struct control_flow_path> cfg;
930 setup_check_host_ss_selector_rpl_ti_equal_zero_paths(cfg);
936 vmcs_ut::test_check_host_ds_selector_rpl_ti_equal_zero()
938 std::vector<struct control_flow_path> cfg;
939 setup_check_host_ds_selector_rpl_ti_equal_zero_paths(cfg);
945 vmcs_ut::test_check_host_fs_selector_rpl_ti_equal_zero()
947 std::vector<struct control_flow_path> cfg;
948 setup_check_host_fs_selector_rpl_ti_equal_zero_paths(cfg);
954 vmcs_ut::test_check_host_gs_selector_rpl_ti_equal_zero()
956 std::vector<struct control_flow_path> cfg;
957 setup_check_host_gs_selector_rpl_ti_equal_zero_paths(cfg);
963 vmcs_ut::test_check_host_tr_selector_rpl_ti_equal_zero()
965 std::vector<struct control_flow_path> cfg;
966 setup_check_host_tr_selector_rpl_ti_equal_zero_paths(cfg);
972 vmcs_ut::test_check_host_cs_not_equal_zero()
974 std::vector<struct control_flow_path> cfg;
975 setup_check_host_cs_not_equal_zero_paths(cfg);
981 vmcs_ut::test_check_host_tr_not_equal_zero()
983 std::vector<struct control_flow_path> cfg;
984 setup_check_host_tr_not_equal_zero_paths(cfg);
990 vmcs_ut::test_check_host_ss_not_equal_zero()
992 std::vector<struct control_flow_path> cfg;
993 setup_check_host_ss_not_equal_zero_paths(cfg);
999 vmcs_ut::test_check_host_fs_canonical_base_address()
1001 std::vector<struct control_flow_path> cfg;
1002 setup_check_host_fs_canonical_base_address_paths(cfg);
1008 vmcs_ut::test_check_host_gs_canonical_base_address()
1010 std::vector<struct control_flow_path> cfg;
1011 setup_check_host_gs_canonical_base_address_paths(cfg);
1017 vmcs_ut::test_check_host_gdtr_canonical_base_address()
1019 std::vector<struct control_flow_path> cfg;
1020 setup_check_host_gdtr_canonical_base_address_paths(cfg);
1026 vmcs_ut::test_check_host_idtr_canonical_base_address()
1028 std::vector<struct control_flow_path> cfg;
1029 setup_check_host_idtr_canonical_base_address_paths(cfg);
1035 vmcs_ut::test_check_host_tr_canonical_base_address()
1037 std::vector<struct control_flow_path> cfg;
1038 setup_check_host_tr_canonical_base_address_paths(cfg);
1044 vmcs_ut::test_check_host_if_outside_ia32e_mode()
1046 std::vector<struct control_flow_path> cfg;
1047 setup_check_host_if_outside_ia32e_mode_paths(cfg);
1053 vmcs_ut::test_check_host_address_space_size_exit_ctl_is_set()
1055 std::vector<struct control_flow_path> cfg;
1056 setup_check_host_address_space_size_exit_ctl_is_set_paths(cfg);
1062 vmcs_ut::test_check_host_address_space_disabled()
1064 std::vector<struct control_flow_path> cfg;
1065 setup_check_host_address_space_disabled_paths(cfg);
1071 vmcs_ut::test_check_host_address_space_enabled()
1073 std::vector<struct control_flow_path> cfg;
1074 setup_check_host_address_space_enabled_paths(cfg);
void host_gs_selector_rpl_ti_equal_zero()
void entry_ctl_allow1(uint64_t mask)
void exit_ctl_allow0(uint64_t mask)
void host_cr4_for_unsupported_bits()
#define test_vmcs_check(cfg,...)
void host_es_selector_rpl_ti_equal_zero()
void host_ia32_sysenter_eip_canonical_address()
constexpr const auto mask
void host_segment_and_descriptor_table_registers_all()
void host_tr_selector_rpl_ti_equal_zero()
void host_tr_not_equal_zero()
void host_tr_canonical_base_address()
void host_fs_selector_rpl_ti_equal_zero()
void host_ds_selector_rpl_ti_equal_zero()
void entry_ctl_allow0(uint64_t mask)
void host_gs_canonical_base_address()
void host_ss_not_equal_zero()
void host_cr0_for_unsupported_bits()
void host_fs_canonical_base_address()
void host_verify_load_ia32_perf_global_ctrl()
constexpr const auto addr
std::map< msrs::field_type, msrs::value_type > g_msrs
void host_cs_selector_rpl_ti_equal_zero()
void host_control_registers_and_msrs_all()
void host_address_space_size_all()
std::shared_ptr< std::exception > exception
void host_cr3_for_unsupported_bits()
void setup_check_host_state_all_paths(std::vector< struct control_flow_path > &cfg)
void host_address_space_enabled()
void host_cs_not_equal_zero()
void host_verify_load_ia32_efer()
void host_if_outside_ia32e_mode()
constexpr const auto uncacheable
void host_ss_selector_rpl_ti_equal_zero()
void host_address_space_disabled()
void exit_ctl_allow1(uint64_t mask)
void host_verify_load_ia32_pat()
void host_address_space_size_exit_ctl_is_set()
void host_idtr_canonical_base_address()
void host_ia32_sysenter_esp_canonical_address()
void host_gdtr_canonical_base_address()
std::function< void()> setup