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