File Index
Files and directories
Sign in
FILE

nrp.h

File preview with syntax highlighting.

linux-6.19.14/kernel/trace/rv/monitors/nrp/nrp.h OBJECTIVE-C
 1/* SPDX-License-Identifier: GPL-2.0 */
 2/*
 3 * Automatically generated C representation of nrp automaton
 4 * For further information about this format, see kernel documentation:
 5 *   Documentation/trace/rv/deterministic_automata.rst
 6 */
 7
 8enum states_nrp {
 9	preempt_irq_nrp = 0,
10	any_thread_running_nrp,
11	nested_preempt_nrp,
12	rescheduling_nrp,
13	state_max_nrp
14};
15
16#define INVALID_STATE state_max_nrp
17
18enum events_nrp {
19	irq_entry_nrp = 0,
20	sched_need_resched_nrp,
21	schedule_entry_nrp,
22	schedule_entry_preempt_nrp,
23	event_max_nrp
24};
25
26struct automaton_nrp {
27	char *state_names[state_max_nrp];
28	char *event_names[event_max_nrp];
29	unsigned char function[state_max_nrp][event_max_nrp];
30	unsigned char initial_state;
31	bool final_states[state_max_nrp];
32};
33
34static const struct automaton_nrp automaton_nrp = {
35	.state_names = {
36		"preempt_irq",
37		"any_thread_running",
38		"nested_preempt",
39		"rescheduling"
40	},
41	.event_names = {
42		"irq_entry",
43		"sched_need_resched",
44		"schedule_entry",
45		"schedule_entry_preempt"
46	},
47	.function = {
48		{
49			preempt_irq_nrp,
50			preempt_irq_nrp,
51			nested_preempt_nrp,
52			nested_preempt_nrp
53		},
54		{
55			any_thread_running_nrp,
56			rescheduling_nrp,
57			any_thread_running_nrp,
58			INVALID_STATE
59		},
60		{
61			nested_preempt_nrp,
62			preempt_irq_nrp,
63			any_thread_running_nrp,
64			any_thread_running_nrp
65		},
66		{
67			preempt_irq_nrp,
68			rescheduling_nrp,
69			any_thread_running_nrp,
70			any_thread_running_nrp
71		},
72	},
73	.initial_state = preempt_irq_nrp,
74	.final_states = { 0, 1, 0, 0 },
75};
~/ Read-only file preview.