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
11typedef 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;
28	unsigned short	core_id;
29	int		proc_id;
30} cpuinfo_sparc;
31
32DECLARE_PER_CPU(cpuinfo_sparc, __cpu_data);
33#define cpu_data(__cpu)		per_cpu(__cpu_data, (__cpu))
34#define local_cpu_data()	(*this_cpu_ptr(&__cpu_data))
35
36#endif /* !(__ASSEMBLY__) */
37
38#include <asm/trap_block.h>
39
40#endif /* _SPARC64_CPUDATA_H */
41