1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Automatically generated C representation of opid automaton 4 * For further information about this format, see kernel documentation: 5 * Documentation/trace/rv/deterministic_automata.rst 6 */ 7 8 enum states_opid { 9 disabled_opid = 0, 10 enabled_opid, 11 in_irq_opid, 12 irq_disabled_opid, 13 preempt_disabled_opid, 14 state_max_opid 15 }; 16 17 #define INVALID_STATE state_max_opid 18 19 enum events_opid { 20 irq_disable_opid = 0, 21 irq_enable_opid, 22 irq_entry_opid, 23 preempt_disable_opid, 24 preempt_enable_opid, 25 sched_need_resched_opid, 26 sched_waking_opid, 27 event_max_opid 28 }; 29 30 struct automaton_opid { 31 char *state_names[state_max_opid]; 32 char *event_names[event_max_opid]; 33 unsigned char function[state_max_opid][event_max_opid]; 34 unsigned char initial_state; 35 bool final_states[state_max_opid]; 36 }; 37 38 static const struct automaton_opid automaton_opid = { 39 .state_names = { 40 "disabled", 41 "enabled", 42 "in_irq", 43 "irq_disabled", 44 "preempt_disabled" 45 }, 46 .event_names = { 47 "irq_disable", 48 "irq_enable", 49 "irq_entry", 50 "preempt_disable", 51 "preempt_enable", 52 "sched_need_resched", 53 "sched_waking" 54 }, 55 .function = { 56 { 57 INVALID_STATE, 58 preempt_disabled_opid, 59 disabled_opid, 60 INVALID_STATE, 61 irq_disabled_opid, 62 disabled_opid, 63 disabled_opid 64 }, 65 { 66 irq_disabled_opid, 67 INVALID_STATE, 68 INVALID_STATE, 69 preempt_disabled_opid, 70 enabled_opid, 71 INVALID_STATE, 72 INVALID_STATE 73 }, 74 { 75 INVALID_STATE, 76 enabled_opid, 77 in_irq_opid, 78 INVALID_STATE, 79 INVALID_STATE, 80 in_irq_opid, 81 in_irq_opid 82 }, 83 { 84 INVALID_STATE, 85 enabled_opid, 86 in_irq_opid, 87 disabled_opid, 88 INVALID_STATE, 89 irq_disabled_opid, 90 INVALID_STATE 91 }, 92 { 93 disabled_opid, 94 INVALID_STATE, 95 INVALID_STATE, 96 INVALID_STATE, 97 enabled_opid, 98 INVALID_STATE, 99 INVALID_STATE 100 }, 101 }, 102 .initial_state = disabled_opid, 103 .final_states = { 0, 1, 0, 0, 0 }, 104 }; 105