Lines Matching refs:insn_table
863 struct insn_table { struct
886 static struct insn_table insn_table[] = { argument
933 for (cur_insn = 0; insn_table[cur_insn].name != NULL; cur_insn++) { in insn_intercept_init()
934 if (insn_table[cur_insn].supported_fn == NULL) in insn_intercept_init()
936 insn_table[cur_insn].disabled = !insn_table[cur_insn].supported_fn(); in insn_intercept_init()
943 for (cur_insn = 0; insn_table[cur_insn].name != NULL; cur_insn++) { in insn_intercept_main()
945 if ((insn_table[cur_insn].type == INSN_CPU0 && in insn_intercept_main()
946 !(ctrl_cpu_rev[0].clr & insn_table[cur_insn].flag)) || in insn_intercept_main()
947 (insn_table[cur_insn].type == INSN_CPU1 && in insn_intercept_main()
948 !(ctrl_cpu_rev[1].clr & insn_table[cur_insn].flag))) { in insn_intercept_main()
950 insn_table[cur_insn].type - INSN_CPU0, in insn_intercept_main()
951 insn_table[cur_insn].name); in insn_intercept_main()
955 if (insn_table[cur_insn].disabled) { in insn_intercept_main()
957 insn_table[cur_insn].name); in insn_intercept_main()
961 if ((insn_table[cur_insn].type == INSN_CPU0 && in insn_intercept_main()
962 !(ctrl_cpu_rev[0].set & insn_table[cur_insn].flag)) || in insn_intercept_main()
963 (insn_table[cur_insn].type == INSN_CPU1 && in insn_intercept_main()
964 !(ctrl_cpu_rev[1].set & insn_table[cur_insn].flag))) { in insn_intercept_main()
966 if (insn_table[cur_insn].insn_func != insn_hlt) in insn_intercept_main()
967 insn_table[cur_insn].insn_func(); in insn_intercept_main()
970 insn_table[cur_insn].name); in insn_intercept_main()
971 } else if (insn_table[cur_insn].type != INSN_ALWAYS_TRAP) in insn_intercept_main()
973 insn_table[cur_insn].type - INSN_CPU0, in insn_intercept_main()
974 insn_table[cur_insn].name); in insn_intercept_main()
978 insn_table[cur_insn].insn_func(); in insn_intercept_main()
981 insn_table[cur_insn].name); in insn_intercept_main()
1004 if (insn_table[cur_insn].type == INSN_CPU0) in insn_intercept_exit_handler()
1006 else if (insn_table[cur_insn].type == INSN_CPU1) in insn_intercept_exit_handler()
1010 val &= ~insn_table[cur_insn].flag; in insn_intercept_exit_handler()
1012 val |= insn_table[cur_insn].flag; in insn_intercept_exit_handler()
1014 if (insn_table[cur_insn].type == INSN_CPU0) in insn_intercept_exit_handler()
1016 else if (insn_table[cur_insn].type == INSN_CPU1) in insn_intercept_exit_handler()
1020 insn_table[cur_insn].reason == exit_reason.full; in insn_intercept_exit_handler()
1021 if (insn_table[cur_insn].test_field & FIELD_EXIT_QUAL && in insn_intercept_exit_handler()
1022 insn_table[cur_insn].exit_qual != exit_qual) in insn_intercept_exit_handler()
1024 if (insn_table[cur_insn].test_field & FIELD_INSN_INFO && in insn_intercept_exit_handler()
1025 insn_table[cur_insn].insn_info != insn_info) in insn_intercept_exit_handler()