1 /* cpudata.h: Per-cpu parameters.
2  *
3  * Copyright (C) 2003, 2005, 2006 David S. Miller (davem@davemloft.net)
4  */
5 
6 #ifndef _SPARC64_CPUDATA_H
7 #define _SPARC64_CPUDATA_H
8 
9 #ifndef __ASSEMBLY__
10 
11 typedef struct {
12 	/* Dcache line 1 */
13 	unsigned int	__softirq_pending; /* must be 1st, see rtrap.S */
14 	unsigned int	__nmi_count;
15 	unsigned long	clock_tick;	/* %tick's per second */
16 	unsigned long	__pad;
17 	unsigned int	irq0_irqs;
18 	unsigned int	__pad2;
19 
20 	/* Dcache line 2, rarely used */
21 	unsigned int	dcache_size;
22 	unsigned int	dcache_line_size;
23 	unsigned int	icache_size;
24 	unsigned int	icache_line_size;
25 	unsigned int	ecache_size;
26 	unsigned int	ecache_line_size;
27 	unsigned short	sock_id;	/* physical package */
28 	unsigned short	core_id;
29 	unsigned short  max_cache_id;	/* groupings of highest shared cache */
30 	unsigned short	proc_id;	/* strand (aka HW thread) id */
31 } cpuinfo_sparc;
32 
33 DECLARE_PER_CPU(cpuinfo_sparc, __cpu_data);
34 #define cpu_data(__cpu)		per_cpu(__cpu_data, (__cpu))
35 #define local_cpu_data()	(*this_cpu_ptr(&__cpu_data))
36 
37 #endif /* !(__ASSEMBLY__) */
38 
39 #include <asm/trap_block.h>
40 
41 #endif /* _SPARC64_CPUDATA_H */
42