1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Automatically generated C representation of nomiss automaton 4 * For further information about this format, see kernel documentation: 5 * Documentation/trace/rv/deterministic_automata.rst 6 */ 7 8 #define MONITOR_NAME nomiss 9 10 enum states_nomiss { 11 ready_nomiss, 12 idle_nomiss, 13 running_nomiss, 14 sleeping_nomiss, 15 throttled_nomiss, 16 state_max_nomiss, 17 }; 18 19 #define INVALID_STATE state_max_nomiss 20 21 enum events_nomiss { 22 dl_replenish_nomiss, 23 dl_server_idle_nomiss, 24 dl_server_stop_nomiss, 25 dl_throttle_nomiss, 26 sched_switch_in_nomiss, 27 sched_switch_suspend_nomiss, 28 sched_wakeup_nomiss, 29 event_max_nomiss, 30 }; 31 32 enum envs_nomiss { 33 clk_nomiss, 34 is_constr_dl_nomiss, 35 is_defer_nomiss, 36 env_max_nomiss, 37 env_max_stored_nomiss = is_constr_dl_nomiss, 38 }; 39 40 _Static_assert(env_max_stored_nomiss <= MAX_HA_ENV_LEN, "Not enough slots"); 41 #define HA_CLK_NS 42 43 struct automaton_nomiss { 44 char *state_names[state_max_nomiss]; 45 char *event_names[event_max_nomiss]; 46 char *env_names[env_max_nomiss]; 47 unsigned char function[state_max_nomiss][event_max_nomiss]; 48 unsigned char initial_state; 49 bool final_states[state_max_nomiss]; 50 }; 51 52 static const struct automaton_nomiss automaton_nomiss = { 53 .state_names = { 54 "ready", 55 "idle", 56 "running", 57 "sleeping", 58 "throttled", 59 }, 60 .event_names = { 61 "dl_replenish", 62 "dl_server_idle", 63 "dl_server_stop", 64 "dl_throttle", 65 "sched_switch_in", 66 "sched_switch_suspend", 67 "sched_wakeup", 68 }, 69 .env_names = { 70 "clk", 71 "is_constr_dl", 72 "is_defer", 73 }, 74 .function = { 75 { 76 ready_nomiss, 77 idle_nomiss, 78 sleeping_nomiss, 79 throttled_nomiss, 80 running_nomiss, 81 INVALID_STATE, 82 ready_nomiss, 83 }, 84 { 85 ready_nomiss, 86 idle_nomiss, 87 sleeping_nomiss, 88 throttled_nomiss, 89 running_nomiss, 90 INVALID_STATE, 91 INVALID_STATE, 92 }, 93 { 94 running_nomiss, 95 idle_nomiss, 96 sleeping_nomiss, 97 throttled_nomiss, 98 running_nomiss, 99 sleeping_nomiss, 100 running_nomiss, 101 }, 102 { 103 ready_nomiss, 104 sleeping_nomiss, 105 sleeping_nomiss, 106 throttled_nomiss, 107 running_nomiss, 108 INVALID_STATE, 109 ready_nomiss, 110 }, 111 { 112 ready_nomiss, 113 throttled_nomiss, 114 INVALID_STATE, 115 throttled_nomiss, 116 INVALID_STATE, 117 throttled_nomiss, 118 throttled_nomiss, 119 }, 120 }, 121 .initial_state = ready_nomiss, 122 .final_states = { 1, 0, 0, 0, 0 }, 123 }; 124