aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-x86/processor_32.h
diff options
context:
space:
mode:
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 8380243a19d3..f0f7ca48444e 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];