1*8da2a883SGabriele Monaco /* SPDX-License-Identifier: GPL-2.0-only */ 2*8da2a883SGabriele Monaco /* 3*8da2a883SGabriele Monaco * Automatically generated by rvgen kunit. 4*8da2a883SGabriele Monaco * May need manual intervention for function prototypes that couldn't be 5*8da2a883SGabriele Monaco * found (e.g. are in another file) or variables to be exported. 6*8da2a883SGabriele Monaco */ 7*8da2a883SGabriele Monaco 8*8da2a883SGabriele Monaco #ifndef __STS_KUNIT_H 9*8da2a883SGabriele Monaco #define __STS_KUNIT_H 10*8da2a883SGabriele Monaco 11*8da2a883SGabriele Monaco #if IS_ENABLED(CONFIG_RV_MONITORS_KUNIT_TEST) 12*8da2a883SGabriele Monaco 13*8da2a883SGabriele Monaco #include <linux/rv.h> 14*8da2a883SGabriele Monaco #include <rv/kunit.h> 15*8da2a883SGabriele Monaco 16*8da2a883SGabriele Monaco extern const struct rv_sts_ops { 17*8da2a883SGabriele Monaco struct rv_kunit_mon mon; 18*8da2a883SGabriele Monaco #ifdef CONFIG_X86_LOCAL_APIC 19*8da2a883SGabriele Monaco void (*handle_vector_irq_entry)(void *data, int vector); 20*8da2a883SGabriele Monaco #endif 21*8da2a883SGabriele Monaco void (*handle_irq_disable)(void *data, unsigned long ip, unsigned long parent_ip); 22*8da2a883SGabriele Monaco void (*handle_irq_enable)(void *data, unsigned long ip, unsigned long parent_ip); 23*8da2a883SGabriele Monaco void (*handle_irq_entry)(void *data, int irq, struct irqaction *action); 24*8da2a883SGabriele Monaco void (*handle_sched_switch)(void *data, bool preempt, 25*8da2a883SGabriele Monaco struct task_struct *prev, 26*8da2a883SGabriele Monaco struct task_struct *next, 27*8da2a883SGabriele Monaco unsigned int prev_state); 28*8da2a883SGabriele Monaco void (*handle_schedule_entry)(void *data, bool preempt); 29*8da2a883SGabriele Monaco void (*handle_schedule_exit)(void *data, bool is_switch); 30*8da2a883SGabriele Monaco } rv_sts_ops; 31*8da2a883SGabriele Monaco #endif 32*8da2a883SGabriele Monaco 33*8da2a883SGabriele Monaco #endif /* __STS_KUNIT_H */ 34