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 12 typedef 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 34 DECLARE_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