aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-x86/processor_32.h
diff options
context:
space:
mode:
authorGlauber de Oliveira Costa <gcosta@redhat.com>2008-01-30 07:31:33 -0500
committerIngo Molnar <mingo@elte.hu>2008-01-30 07:31:33 -0500
commit5300db887e251276eaab2801af297acf4b53b9eb (patch)
treec5c055c2efa238bd47e43af85b9cd4f57ed2c8a0 /include/asm-x86/processor_32.h
parent26996dd22b3cbc9dbe18cf908d2f844a116b6ec1 (diff)
x86: unify x86_cpuinfo struct.
x86_cpuinfo is one more to the family of "not fundamentally different" structs. It's unified in processor.h, with very specific fields enclosed around ifdefs. Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/asm-x86/processor_32.h')
-rw-r--r--include/asm-x86/processor_32.h67
1 files changed, 0 insertions, 67 deletions
diff --git a/include/asm-x86/processor_32.h b/include/asm-x86/processor_32.h
index 8380243a19d..f0f7ca48444 100644
--- a/include/asm-x86/processor_32.h
+++ b/include/asm-x86/processor_32.h
@@ -14,83 +14,16 @@
14#include <asm/cpufeature.h> 14#include <asm/cpufeature.h>
15#include <asm/msr.h> 15#include <asm/msr.h>
16#include <asm/system.h> 16#include <asm/system.h>
17#include <linux/cache.h>
18#include <linux/threads.h> 17#include <linux/threads.h>
19#include <asm/percpu.h>
20#include <linux/cpumask.h>
21#include <linux/init.h> 18#include <linux/init.h>
22#include <asm/desc_defs.h> 19#include <asm/desc_defs.h>
23 20
24/* 21/*
25 * CPU type and hardware bug flags. Kept separately for each CPU.
26 * Members of this structure are referenced in head.S, so think twice
27 * before touching them. [mj]
28 */
29
30struct cpuinfo_x86 {
31 __u8 x86; /* CPU family */
32 __u8 x86_vendor; /* CPU vendor */
33 __u8 x86_model;
34 __u8 x86_mask;
35 char wp_works_ok; /* It doesn't on 386's */
36 char hlt_works_ok; /* Problems on some 486Dx4's and old 386's */
37 char hard_math;
38 char rfu;
39 int cpuid_level; /* Maximum supported CPUID level, -1=no CPUID */
40 unsigned long x86_capability[NCAPINTS];
41 char x86_vendor_id[16];
42 char x86_model_id[64];
43 int x86_cache_size; /* in KB - valid for CPUS which support this
44 call */
45 int x86_cache_alignment; /* In bytes */
46 char fdiv_bug;
47 char f00f_bug;
48 char coma_bug;
49 char pad0;
50 int x86_power;
51 unsigned long loops_per_jiffy;
52#ifdef CONFIG_SMP
53 cpumask_t llc_shared_map; /* cpus sharing the last level cache */
54#endif
55 unsigned char x86_max_cores; /* cpuid returned max cores value */
56 unsigned char apicid;
57 unsigned short x86_clflush_size;
58#ifdef CONFIG_SMP
59 unsigned char booted_cores; /* number of cores as seen by OS */
60 __u8 phys_proc_id; /* Physical processor id. */
61 __u8 cpu_core_id; /* Core id */
62 __u8 cpu_index; /* index into per_cpu list */
63#endif
64} __attribute__((__aligned__(SMP_CACHE_BYTES)));
65
66#define X86_VENDOR_INTEL 0
67#define X86_VENDOR_CYRIX 1
68#define X86_VENDOR_AMD 2
69#define X86_VENDOR_UMC 3
70#define X86_VENDOR_NEXGEN 4
71#define X86_VENDOR_CENTAUR 5
72#define X86_VENDOR_TRANSMETA 7
73#define X86_VENDOR_NSC 8
74#define X86_VENDOR_NUM 9
75#define X86_VENDOR_UNKNOWN 0xff
76
77/*
78 * capabilities of CPUs 22 * capabilities of CPUs
79 */ 23 */
80
81extern struct cpuinfo_x86 boot_cpu_data;
82extern struct cpuinfo_x86 new_cpu_data; 24extern struct cpuinfo_x86 new_cpu_data;
83extern struct tss_struct doublefault_tss; 25extern struct tss_struct doublefault_tss;
84 26
85#ifdef CONFIG_SMP
86DECLARE_PER_CPU(struct cpuinfo_x86, cpu_info);
87#define cpu_data(cpu) per_cpu(cpu_info, cpu)
88#define current_cpu_data cpu_data(smp_processor_id())
89#else
90#define cpu_data(cpu) boot_cpu_data
91#define current_cpu_data boot_cpu_data
92#endif
93
94/* 27/*
95 * the following now lives in the per cpu area: 28 * the following now lives in the per cpu area:
96 * extern int cpu_llc_id[NR_CPUS]; 29 * extern int cpu_llc_id[NR_CPUS];