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