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 enum states_sts {
9 	can_sched_sts = 0,
10 	cant_sched_sts,
11 	disable_to_switch_sts,
12 	enable_to_exit_sts,
13 	in_irq_sts,
14 	scheduling_sts,
15 	switching_sts,
16 	state_max_sts
17 };
18 
19 #define INVALID_STATE state_max_sts
20 
21 enum events_sts {
22 	irq_disable_sts = 0,
23 	irq_enable_sts,
24 	irq_entry_sts,
25 	sched_switch_sts,
26 	schedule_entry_sts,
27 	schedule_exit_sts,
28 	event_max_sts
29 };
30 
31 struct automaton_sts {
32 	char *state_names[state_max_sts];
33 	char *event_names[event_max_sts];
34 	unsigned char function[state_max_sts][event_max_sts];
35 	unsigned char initial_state;
36 	bool final_states[state_max_sts];
37 };
38 
39 static const struct automaton_sts automaton_sts = {
40 	.state_names = {
41 		"can_sched",
42 		"cant_sched",
43 		"disable_to_switch",
44 		"enable_to_exit",
45 		"in_irq",
46 		"scheduling",
47 		"switching"
48 	},
49 	.event_names = {
50 		"irq_disable",
51 		"irq_enable",
52 		"irq_entry",
53 		"sched_switch",
54 		"schedule_entry",
55 		"schedule_exit"
56 	},
57 	.function = {
58 		{
59 			cant_sched_sts,
60 			INVALID_STATE,
61 			INVALID_STATE,
62 			INVALID_STATE,
63 			scheduling_sts,
64 			INVALID_STATE
65 		},
66 		{
67 			INVALID_STATE,
68 			can_sched_sts,
69 			cant_sched_sts,
70 			INVALID_STATE,
71 			INVALID_STATE,
72 			INVALID_STATE
73 		},
74 		{
75 			INVALID_STATE,
76 			enable_to_exit_sts,
77 			in_irq_sts,
78 			switching_sts,
79 			INVALID_STATE,
80 			INVALID_STATE
81 		},
82 		{
83 			enable_to_exit_sts,
84 			enable_to_exit_sts,
85 			enable_to_exit_sts,
86 			INVALID_STATE,
87 			INVALID_STATE,
88 			can_sched_sts
89 		},
90 		{
91 			INVALID_STATE,
92 			scheduling_sts,
93 			in_irq_sts,
94 			INVALID_STATE,
95 			INVALID_STATE,
96 			INVALID_STATE
97 		},
98 		{
99 			disable_to_switch_sts,
100 			INVALID_STATE,
101 			INVALID_STATE,
102 			INVALID_STATE,
103 			INVALID_STATE,
104 			INVALID_STATE
105 		},
106 		{
107 			INVALID_STATE,
108 			enable_to_exit_sts,
109 			INVALID_STATE,
110 			INVALID_STATE,
111 			INVALID_STATE,
112 			INVALID_STATE
113 		},
114 	},
115 	.initial_state = can_sched_sts,
116 	.final_states = { 1, 0, 0, 0, 0, 0, 0 },
117 };
118