Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) /**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2)  * @file arch/alpha/oprofile/op_impl.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4)  * @remark Copyright 2002 OProfile authors
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5)  * @remark Read the file COPYING
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7)  * @author Richard Henderson <rth@twiddle.net>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) #ifndef OP_IMPL_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) #define OP_IMPL_H 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) extern int (*perf_irq)(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) /* Per-counter configuration as set via oprofilefs.  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) struct op_counter_config {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) 	unsigned long enabled;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) 	unsigned long event;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) 	unsigned long count;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) 	/* Dummies because I am too lazy to hack the userspace tools.  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) 	unsigned long kernel;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) 	unsigned long user;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) 	unsigned long exl;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) 	unsigned long unit_mask;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) /* Per-architecture configure and hooks.  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) struct op_mips_model {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) 	void (*reg_setup) (struct op_counter_config *);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) 	void (*cpu_setup) (void *dummy);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) 	int (*init)(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) 	void (*exit)(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) 	void (*cpu_start)(void *args);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) 	void (*cpu_stop)(void *args);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) 	char *cpu_type;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) 	unsigned char num_counters;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) void op_mips_backtrace(struct pt_regs * const regs, unsigned int depth);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) #endif