mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-02 06:06:53 +07:00
daecbf58a5
This keeps us from having to use kstat_irqs_cpu() from the NMI handler, the former of which is a profiled function. Instead we use a currently empty slot in the cpu_data Signed-off-by: David S. Miller <davem@davemloft.net>
45 lines
1.0 KiB
C
45 lines
1.0 KiB
C
/* cpudata.h: Per-cpu parameters.
|
|
*
|
|
* Copyright (C) 2003, 2005, 2006 David S. Miller (davem@davemloft.net)
|
|
*/
|
|
|
|
#ifndef _SPARC64_CPUDATA_H
|
|
#define _SPARC64_CPUDATA_H
|
|
|
|
#ifndef __ASSEMBLY__
|
|
|
|
#include <linux/percpu.h>
|
|
#include <linux/threads.h>
|
|
|
|
typedef struct {
|
|
/* Dcache line 1 */
|
|
unsigned int __softirq_pending; /* must be 1st, see rtrap.S */
|
|
unsigned int __nmi_count;
|
|
unsigned long clock_tick; /* %tick's per second */
|
|
unsigned long __pad;
|
|
unsigned int irq0_irqs;
|
|
unsigned int __pad2;
|
|
|
|
/* Dcache line 2, rarely used */
|
|
unsigned int dcache_size;
|
|
unsigned int dcache_line_size;
|
|
unsigned int icache_size;
|
|
unsigned int icache_line_size;
|
|
unsigned int ecache_size;
|
|
unsigned int ecache_line_size;
|
|
int core_id;
|
|
int proc_id;
|
|
} cpuinfo_sparc;
|
|
|
|
DECLARE_PER_CPU(cpuinfo_sparc, __cpu_data);
|
|
#define cpu_data(__cpu) per_cpu(__cpu_data, (__cpu))
|
|
#define local_cpu_data() __get_cpu_var(__cpu_data)
|
|
|
|
extern const struct seq_operations cpuinfo_op;
|
|
|
|
#endif /* !(__ASSEMBLY__) */
|
|
|
|
#include <asm/trap_block.h>
|
|
|
|
#endif /* _SPARC64_CPUDATA_H */
|