1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Automatically generated C representation of sts automaton 4 * For further information about this format, see kernel documentation: 5 * Documentation/trace/rv/deterministic_automata.rst 6 */ 7 8 #define MONITOR_NAME sts 9 10 enum states_sts { 11 can_sched_sts, 12 cant_sched_sts, 13 disable_to_switch_sts, 14 enable_to_exit_sts, 15 in_irq_sts, 16 scheduling_sts, 17 switching_sts, 18 state_max_sts, 19 }; 20 21 #define INVALID_STATE state_max_sts 22 23 enum events_sts { 24 irq_disable_sts, 25 irq_enable_sts, 26 irq_entry_sts, 27 sched_switch_sts, 28 schedule_entry_sts, 29 schedule_exit_sts, 30 event_max_sts, 31 }; 32 33 struct automaton_sts { 34 char *state_names[state_max_sts]; 35 char *event_names[event_max_sts]; 36 unsigned char function[state_max_sts][event_max_sts]; 37 unsigned char initial_state; 38 bool final_states[state_max_sts]; 39 }; 40 41 static const struct automaton_sts automaton_sts = { 42 .state_names = { 43 "can_sched", 44 "cant_sched", 45 "disable_to_switch", 46 "enable_to_exit", 47 "in_irq", 48 "scheduling", 49 "switching", 50 }, 51 .event_names = { 52 "irq_disable", 53 "irq_enable", 54 "irq_entry", 55 "sched_switch", 56 "schedule_entry", 57 "schedule_exit", 58 }, 59 .function = { 60 { 61 cant_sched_sts, 62 INVALID_STATE, 63 INVALID_STATE, 64 INVALID_STATE, 65 scheduling_sts, 66 INVALID_STATE, 67 }, 68 { 69 INVALID_STATE, 70 can_sched_sts, 71 cant_sched_sts, 72 INVALID_STATE, 73 INVALID_STATE, 74 INVALID_STATE, 75 }, 76 { 77 INVALID_STATE, 78 enable_to_exit_sts, 79 in_irq_sts, 80 switching_sts, 81 INVALID_STATE, 82 INVALID_STATE, 83 }, 84 { 85 enable_to_exit_sts, 86 enable_to_exit_sts, 87 enable_to_exit_sts, 88 INVALID_STATE, 89 INVALID_STATE, 90 can_sched_sts, 91 }, 92 { 93 INVALID_STATE, 94 scheduling_sts, 95 in_irq_sts, 96 INVALID_STATE, 97 INVALID_STATE, 98 INVALID_STATE, 99 }, 100 { 101 disable_to_switch_sts, 102 INVALID_STATE, 103 INVALID_STATE, 104 INVALID_STATE, 105 INVALID_STATE, 106 INVALID_STATE, 107 }, 108 { 109 INVALID_STATE, 110 enable_to_exit_sts, 111 INVALID_STATE, 112 INVALID_STATE, 113 INVALID_STATE, 114 INVALID_STATE, 115 }, 116 }, 117 .initial_state = can_sched_sts, 118 .final_states = { 1, 0, 0, 0, 0, 0, 0 }, 119 }; 120