blob: 74de79dca9152ca44ce0f4ef006e459834d28278 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/* cpudata.h: Per-cpu parameters.
2 *
David S. Millerd7ce78f2005-08-29 22:46:43 -07003 * Copyright (C) 2003, 2005 David S. Miller (davem@redhat.com)
Linus Torvalds1da177e2005-04-16 15:20:36 -07004 */
5
6#ifndef _SPARC64_CPUDATA_H
7#define _SPARC64_CPUDATA_H
8
9#include <linux/percpu.h>
10
11typedef struct {
12 /* Dcache line 1 */
David S. Millerd7ce78f2005-08-29 22:46:43 -070013 unsigned int __softirq_pending; /* must be 1st, see rtrap.S */
Linus Torvalds1da177e2005-04-16 15:20:36 -070014 unsigned int multiplier;
15 unsigned int counter;
16 unsigned int idle_volume;
17 unsigned long clock_tick; /* %tick's per second */
18 unsigned long udelay_val;
19
20 /* Dcache line 2 */
21 unsigned int pgcache_size;
22 unsigned int __pad1;
23 unsigned long *pte_cache[2];
24 unsigned long *pgd_cache;
David S. Miller80dc0d62005-09-26 00:32:17 -070025
26 /* Dcache line 3, rarely used */
27 unsigned int dcache_size;
28 unsigned int dcache_line_size;
29 unsigned int icache_size;
30 unsigned int icache_line_size;
31 unsigned int ecache_size;
32 unsigned int ecache_line_size;
33 unsigned int __pad2;
34 unsigned int __pad3;
Linus Torvalds1da177e2005-04-16 15:20:36 -070035} cpuinfo_sparc;
36
37DECLARE_PER_CPU(cpuinfo_sparc, __cpu_data);
38#define cpu_data(__cpu) per_cpu(__cpu_data, (__cpu))
39#define local_cpu_data() __get_cpu_var(__cpu_data)
40
41#endif /* _SPARC64_CPUDATA_H */