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