diff options
-rw-r--r-- | arch/x86/kernel/cpu/common.c | 2 | ||||
-rw-r--r-- | arch/x86/kernel/setup_64.c | 2 | ||||
-rw-r--r-- | include/asm-x86/processor.h | 41 | ||||
-rw-r--r-- | include/asm-x86/processor_32.h | 35 | ||||
-rw-r--r-- | include/asm-x86/processor_64.h | 6 |
5 files changed, 43 insertions, 43 deletions
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c index ecd13c0e8542..e48832a6c2a9 100644 --- a/arch/x86/kernel/cpu/common.c +++ b/arch/x86/kernel/cpu/common.c | |||
@@ -399,7 +399,7 @@ __setup("serialnumber", x86_serial_nr_setup); | |||
399 | /* | 399 | /* |
400 | * This does the hard work of actually picking apart the CPU stuff... | 400 | * This does the hard work of actually picking apart the CPU stuff... |
401 | */ | 401 | */ |
402 | static void __cpuinit identify_cpu(struct cpuinfo_x86 *c) | 402 | void __cpuinit identify_cpu(struct cpuinfo_x86 *c) |
403 | { | 403 | { |
404 | int i; | 404 | int i; |
405 | 405 | ||
diff --git a/arch/x86/kernel/setup_64.c b/arch/x86/kernel/setup_64.c index 90b8bb4748b9..02409100f456 100644 --- a/arch/x86/kernel/setup_64.c +++ b/arch/x86/kernel/setup_64.c | |||
@@ -757,7 +757,7 @@ static void __cpuinit init_amd(struct cpuinfo_x86 *c) | |||
757 | disable_apic_timer = 1; | 757 | disable_apic_timer = 1; |
758 | } | 758 | } |
759 | 759 | ||
760 | static void __cpuinit detect_ht(struct cpuinfo_x86 *c) | 760 | void __cpuinit detect_ht(struct cpuinfo_x86 *c) |
761 | { | 761 | { |
762 | #ifdef CONFIG_SMP | 762 | #ifdef CONFIG_SMP |
763 | u32 eax, ebx, ecx, edx; | 763 | u32 eax, ebx, ecx, edx; |
diff --git a/include/asm-x86/processor.h b/include/asm-x86/processor.h index 87466b6d3b92..c6b749a018a7 100644 --- a/include/asm-x86/processor.h +++ b/include/asm-x86/processor.h | |||
@@ -96,7 +96,12 @@ struct cpuinfo_x86 { | |||
96 | #define X86_VENDOR_NUM 9 | 96 | #define X86_VENDOR_NUM 9 |
97 | #define X86_VENDOR_UNKNOWN 0xff | 97 | #define X86_VENDOR_UNKNOWN 0xff |
98 | 98 | ||
99 | /* | ||
100 | * capabilities of CPUs | ||
101 | */ | ||
99 | extern struct cpuinfo_x86 boot_cpu_data; | 102 | extern struct cpuinfo_x86 boot_cpu_data; |
103 | extern struct cpuinfo_x86 new_cpu_data; | ||
104 | extern struct tss_struct doublefault_tss; | ||
100 | 105 | ||
101 | #ifdef CONFIG_SMP | 106 | #ifdef CONFIG_SMP |
102 | DECLARE_PER_CPU(struct cpuinfo_x86, cpu_info); | 107 | DECLARE_PER_CPU(struct cpuinfo_x86, cpu_info); |
@@ -107,11 +112,22 @@ DECLARE_PER_CPU(struct cpuinfo_x86, cpu_info); | |||
107 | #define current_cpu_data boot_cpu_data | 112 | #define current_cpu_data boot_cpu_data |
108 | #endif | 113 | #endif |
109 | 114 | ||
115 | void cpu_detect(struct cpuinfo_x86 *c); | ||
116 | |||
117 | extern void identify_cpu(struct cpuinfo_x86 *); | ||
118 | extern void identify_boot_cpu(void); | ||
119 | extern void identify_secondary_cpu(struct cpuinfo_x86 *); | ||
110 | extern void print_cpu_info(struct cpuinfo_x86 *); | 120 | extern void print_cpu_info(struct cpuinfo_x86 *); |
111 | extern void init_scattered_cpuid_features(struct cpuinfo_x86 *c); | 121 | extern void init_scattered_cpuid_features(struct cpuinfo_x86 *c); |
112 | extern unsigned int init_intel_cacheinfo(struct cpuinfo_x86 *c); | 122 | extern unsigned int init_intel_cacheinfo(struct cpuinfo_x86 *c); |
113 | extern unsigned short num_cache_leaves; | 123 | extern unsigned short num_cache_leaves; |
114 | 124 | ||
125 | #if defined(CONFIG_X86_HT) || defined(CONFIG_X86_64) | ||
126 | extern void detect_ht(struct cpuinfo_x86 *c); | ||
127 | #else | ||
128 | static inline void detect_ht(struct cpuinfo_x86 *c) {} | ||
129 | #endif | ||
130 | |||
115 | static inline void native_cpuid(unsigned int *eax, unsigned int *ebx, | 131 | static inline void native_cpuid(unsigned int *eax, unsigned int *ebx, |
116 | unsigned int *ecx, unsigned int *edx) | 132 | unsigned int *ecx, unsigned int *edx) |
117 | { | 133 | { |
@@ -205,6 +221,11 @@ struct tss_struct { | |||
205 | 221 | ||
206 | DECLARE_PER_CPU(struct tss_struct, init_tss); | 222 | DECLARE_PER_CPU(struct tss_struct, init_tss); |
207 | 223 | ||
224 | /* Save the original ist values for checking stack pointers during debugging */ | ||
225 | struct orig_ist { | ||
226 | unsigned long ist[7]; | ||
227 | }; | ||
228 | |||
208 | #ifdef CONFIG_X86_32 | 229 | #ifdef CONFIG_X86_32 |
209 | # include "processor_32.h" | 230 | # include "processor_32.h" |
210 | #else | 231 | #else |
@@ -547,8 +568,28 @@ extern void select_idle_routine(const struct cpuinfo_x86 *c); | |||
547 | 568 | ||
548 | extern unsigned long boot_option_idle_override; | 569 | extern unsigned long boot_option_idle_override; |
549 | 570 | ||
571 | extern void enable_sep_cpu(void); | ||
572 | extern int sysenter_setup(void); | ||
573 | |||
574 | /* Defined in head.S */ | ||
575 | extern struct desc_ptr early_gdt_descr; | ||
576 | |||
577 | extern void cpu_set_gdt(int); | ||
578 | extern void switch_to_new_gdt(void); | ||
579 | extern void cpu_init(void); | ||
580 | extern void init_gdt(int cpu); | ||
581 | |||
582 | /* from system description table in BIOS. Mostly for MCA use, but | ||
583 | * others may find it useful. */ | ||
584 | extern unsigned int machine_id; | ||
585 | extern unsigned int machine_submodel_id; | ||
586 | extern unsigned int BIOS_revision; | ||
587 | extern unsigned int mca_pentium_flag; | ||
588 | |||
550 | /* Boot loader type from the setup header */ | 589 | /* Boot loader type from the setup header */ |
551 | extern int bootloader_type; | 590 | extern int bootloader_type; |
591 | |||
592 | extern char ignore_fpu_irq; | ||
552 | #define cache_line_size() (boot_cpu_data.x86_cache_alignment) | 593 | #define cache_line_size() (boot_cpu_data.x86_cache_alignment) |
553 | 594 | ||
554 | #define HAVE_ARCH_PICK_MMAP_LAYOUT 1 | 595 | #define HAVE_ARCH_PICK_MMAP_LAYOUT 1 |
diff --git a/include/asm-x86/processor_32.h b/include/asm-x86/processor_32.h index fa921aa1a93f..84a4c5e47d57 100644 --- a/include/asm-x86/processor_32.h +++ b/include/asm-x86/processor_32.h | |||
@@ -18,36 +18,12 @@ | |||
18 | #include <linux/init.h> | 18 | #include <linux/init.h> |
19 | #include <asm/desc_defs.h> | 19 | #include <asm/desc_defs.h> |
20 | 20 | ||
21 | /* | ||
22 | * capabilities of CPUs | ||
23 | */ | ||
24 | extern struct cpuinfo_x86 new_cpu_data; | ||
25 | extern struct tss_struct doublefault_tss; | ||
26 | 21 | ||
27 | /* | 22 | /* |
28 | * the following now lives in the per cpu area: | 23 | * the following now lives in the per cpu area: |
29 | * extern int cpu_llc_id[NR_CPUS]; | 24 | * extern int cpu_llc_id[NR_CPUS]; |
30 | */ | 25 | */ |
31 | DECLARE_PER_CPU(u8, cpu_llc_id); | 26 | DECLARE_PER_CPU(u8, cpu_llc_id); |
32 | extern char ignore_fpu_irq; | ||
33 | |||
34 | void __init cpu_detect(struct cpuinfo_x86 *c); | ||
35 | |||
36 | extern void identify_boot_cpu(void); | ||
37 | extern void identify_secondary_cpu(struct cpuinfo_x86 *); | ||
38 | |||
39 | #ifdef CONFIG_X86_HT | ||
40 | extern void detect_ht(struct cpuinfo_x86 *c); | ||
41 | #else | ||
42 | static inline void detect_ht(struct cpuinfo_x86 *c) {} | ||
43 | #endif | ||
44 | |||
45 | /* from system description table in BIOS. Mostly for MCA use, but | ||
46 | others may find it useful. */ | ||
47 | extern unsigned int machine_id; | ||
48 | extern unsigned int machine_submodel_id; | ||
49 | extern unsigned int BIOS_revision; | ||
50 | extern unsigned int mca_pentium_flag; | ||
51 | 27 | ||
52 | /* | 28 | /* |
53 | * User space process size: 3GB (default). | 29 | * User space process size: 3GB (default). |
@@ -277,15 +253,4 @@ static inline void prefetchw(const void *x) | |||
277 | "r" (x)); | 253 | "r" (x)); |
278 | } | 254 | } |
279 | 255 | ||
280 | extern void enable_sep_cpu(void); | ||
281 | extern int sysenter_setup(void); | ||
282 | |||
283 | /* Defined in head.S */ | ||
284 | extern struct desc_ptr early_gdt_descr; | ||
285 | |||
286 | extern void cpu_set_gdt(int); | ||
287 | extern void switch_to_new_gdt(void); | ||
288 | extern void cpu_init(void); | ||
289 | extern void init_gdt(int cpu); | ||
290 | |||
291 | #endif /* __ASM_I386_PROCESSOR_H */ | 256 | #endif /* __ASM_I386_PROCESSOR_H */ |
diff --git a/include/asm-x86/processor_64.h b/include/asm-x86/processor_64.h index 1a258749b7ca..45e382989b33 100644 --- a/include/asm-x86/processor_64.h +++ b/include/asm-x86/processor_64.h | |||
@@ -17,8 +17,6 @@ | |||
17 | #include <linux/personality.h> | 17 | #include <linux/personality.h> |
18 | #include <asm/desc_defs.h> | 18 | #include <asm/desc_defs.h> |
19 | 19 | ||
20 | extern void identify_cpu(struct cpuinfo_x86 *); | ||
21 | |||
22 | /* | 20 | /* |
23 | * User space process size. 47bits minus one guard page. | 21 | * User space process size. 47bits minus one guard page. |
24 | */ | 22 | */ |
@@ -51,10 +49,6 @@ union i387_union { | |||
51 | struct i387_fxsave_struct fxsave; | 49 | struct i387_fxsave_struct fxsave; |
52 | }; | 50 | }; |
53 | 51 | ||
54 | /* Save the original ist values for checking stack pointers during debugging */ | ||
55 | struct orig_ist { | ||
56 | unsigned long ist[7]; | ||
57 | }; | ||
58 | DECLARE_PER_CPU(struct orig_ist, orig_ist); | 52 | DECLARE_PER_CPU(struct orig_ist, orig_ist); |
59 | 53 | ||
60 | #define INIT_THREAD { \ | 54 | #define INIT_THREAD { \ |