diff options
Diffstat (limited to 'include/asm-x86/processor.h')
-rw-r--r-- | include/asm-x86/processor.h | 41 |
1 files changed, 41 insertions, 0 deletions
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 |