blob: 5b0ed48e5b0c2e8e201a4bc5abe1cedd02833a7d [file] [log] [blame]
Sam Ravnborgf5e706a2008-07-17 21:55:51 -07001/* 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
Sam Ravnborgf5e706a2008-07-17 21:55:51 -07009#ifndef __ASSEMBLY__
10
Sam Ravnborgf5e706a2008-07-17 21:55:51 -070011typedef struct {
12 /* Dcache line 1 */
13 unsigned int __softirq_pending; /* must be 1st, see rtrap.S */
David S. Millere5553a62009-01-29 21:22:47 -080014 unsigned int __nmi_count;
Sam Ravnborgf5e706a2008-07-17 21:55:51 -070015 unsigned long clock_tick; /* %tick's per second */
16 unsigned long __pad;
David S. Millerdaecbf52010-04-06 17:38:52 -070017 unsigned int irq0_irqs;
Sam Ravnborgf5e706a2008-07-17 21:55:51 -070018 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;
Atish Patrad6247162016-10-19 18:33:29 -060027 unsigned short sock_id; /* physical package */
chris hyseracc455c2015-04-22 12:28:31 -040028 unsigned short core_id;
Atish Patrad6247162016-10-19 18:33:29 -060029 unsigned short max_cache_id; /* groupings of highest shared cache */
30 unsigned short proc_id; /* strand (aka HW thread) id */
Sam Ravnborgf5e706a2008-07-17 21:55:51 -070031} cpuinfo_sparc;
32
33DECLARE_PER_CPU(cpuinfo_sparc, __cpu_data);
34#define cpu_data(__cpu) per_cpu(__cpu_data, (__cpu))
Christoph Lameter494fc422014-08-17 12:30:54 -050035#define local_cpu_data() (*this_cpu_ptr(&__cpu_data))
Sam Ravnborgf5e706a2008-07-17 21:55:51 -070036
Sam Ravnborgf5e706a2008-07-17 21:55:51 -070037#endif /* !(__ASSEMBLY__) */
38
David S. Miller19f0fa32009-04-01 01:26:43 -070039#include <asm/trap_block.h>
Sam Ravnborgf5e706a2008-07-17 21:55:51 -070040
41#endif /* _SPARC64_CPUDATA_H */