1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Automatically generated C representation of snep automaton 4 * For further information about this format, see kernel documentation: 5 * Documentation/trace/rv/deterministic_automata.rst 6 */ 7 8 #define MONITOR_NAME snep 9 10 enum states_snep { 11 non_scheduling_context_snep, 12 scheduling_contex_snep, 13 state_max_snep, 14 }; 15 16 #define INVALID_STATE state_max_snep 17 18 enum events_snep { 19 preempt_disable_snep, 20 preempt_enable_snep, 21 schedule_entry_snep, 22 schedule_exit_snep, 23 event_max_snep, 24 }; 25 26 struct automaton_snep { 27 char *state_names[state_max_snep]; 28 char *event_names[event_max_snep]; 29 unsigned char function[state_max_snep][event_max_snep]; 30 unsigned char initial_state; 31 bool final_states[state_max_snep]; 32 }; 33 34 static const struct automaton_snep automaton_snep = { 35 .state_names = { 36 "non_scheduling_context", 37 "scheduling_contex", 38 }, 39 .event_names = { 40 "preempt_disable", 41 "preempt_enable", 42 "schedule_entry", 43 "schedule_exit", 44 }, 45 .function = { 46 { 47 non_scheduling_context_snep, 48 non_scheduling_context_snep, 49 scheduling_contex_snep, 50 INVALID_STATE, 51 }, 52 { 53 INVALID_STATE, 54 INVALID_STATE, 55 INVALID_STATE, 56 non_scheduling_context_snep, 57 }, 58 }, 59 .initial_state = non_scheduling_context_snep, 60 .final_states = { 1, 0 }, 61 }; 62