aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-x86/processor.h
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-07-25 05:37:07 -0400
committerIngo Molnar <mingo@elte.hu>2008-07-25 05:37:07 -0400
commit0e2f65ee30eee2db054f7fd73f462c5da33ec963 (patch)
tree26c61eb7745da0c0d9135e9d12088f570cb8530d /include/asm-x86/processor.h
parentda7878d75b8520c9ae00d27dfbbce546a7bfdfbb (diff)
parentfb2e405fc1fc8b20d9c78eaa1c7fd5a297efde43 (diff)
Merge branch 'linus' into x86/pebs
Conflicts: arch/x86/Kconfig.cpu arch/x86/kernel/cpu/intel.c arch/x86/kernel/setup_64.c Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/asm-x86/processor.h')
-rw-r--r--include/asm-x86/processor.h15
1 files changed, 5 insertions, 10 deletions
diff --git a/include/asm-x86/processor.h b/include/asm-x86/processor.h
index beaccb71628f..ec09649c01f3 100644
--- a/include/asm-x86/processor.h
+++ b/include/asm-x86/processor.h
@@ -135,7 +135,7 @@ extern __u32 cleared_cpu_caps[NCAPINTS];
135#ifdef CONFIG_SMP 135#ifdef CONFIG_SMP
136DECLARE_PER_CPU(struct cpuinfo_x86, cpu_info); 136DECLARE_PER_CPU(struct cpuinfo_x86, cpu_info);
137#define cpu_data(cpu) per_cpu(cpu_info, cpu) 137#define cpu_data(cpu) per_cpu(cpu_info, cpu)
138#define current_cpu_data cpu_data(smp_processor_id()) 138#define current_cpu_data __get_cpu_var(cpu_info)
139#else 139#else
140#define cpu_data(cpu) boot_cpu_data 140#define cpu_data(cpu) boot_cpu_data
141#define current_cpu_data boot_cpu_data 141#define current_cpu_data boot_cpu_data
@@ -154,7 +154,7 @@ static inline int hlt_works(int cpu)
154 154
155extern void cpu_detect(struct cpuinfo_x86 *c); 155extern void cpu_detect(struct cpuinfo_x86 *c);
156 156
157extern void identify_cpu(struct cpuinfo_x86 *); 157extern void early_cpu_init(void);
158extern void identify_boot_cpu(void); 158extern void identify_boot_cpu(void);
159extern void identify_secondary_cpu(struct cpuinfo_x86 *); 159extern void identify_secondary_cpu(struct cpuinfo_x86 *);
160extern void print_cpu_info(struct cpuinfo_x86 *); 160extern void print_cpu_info(struct cpuinfo_x86 *);
@@ -264,15 +264,11 @@ struct tss_struct {
264 struct thread_struct *io_bitmap_owner; 264 struct thread_struct *io_bitmap_owner;
265 265
266 /* 266 /*
267 * Pad the TSS to be cacheline-aligned (size is 0x100):
268 */
269 unsigned long __cacheline_filler[35];
270 /*
271 * .. and then another 0x100 bytes for the emergency kernel stack: 267 * .. and then another 0x100 bytes for the emergency kernel stack:
272 */ 268 */
273 unsigned long stack[64]; 269 unsigned long stack[64];
274 270
275} __attribute__((packed)); 271} ____cacheline_aligned;
276 272
277DECLARE_PER_CPU(struct tss_struct, init_tss); 273DECLARE_PER_CPU(struct tss_struct, init_tss);
278 274
@@ -541,7 +537,6 @@ static inline void load_sp0(struct tss_struct *tss,
541} 537}
542 538
543#define set_iopl_mask native_set_iopl_mask 539#define set_iopl_mask native_set_iopl_mask
544#define SWAPGS swapgs
545#endif /* CONFIG_PARAVIRT */ 540#endif /* CONFIG_PARAVIRT */
546 541
547/* 542/*
@@ -733,11 +728,11 @@ static inline void __sti_mwait(unsigned long eax, unsigned long ecx)
733 728
734extern void mwait_idle_with_hints(unsigned long eax, unsigned long ecx); 729extern void mwait_idle_with_hints(unsigned long eax, unsigned long ecx);
735 730
736extern int force_mwait;
737
738extern void select_idle_routine(const struct cpuinfo_x86 *c); 731extern void select_idle_routine(const struct cpuinfo_x86 *c);
739 732
740extern unsigned long boot_option_idle_override; 733extern unsigned long boot_option_idle_override;
734extern unsigned long idle_halt;
735extern unsigned long idle_nomwait;
741 736
742extern void enable_sep_cpu(void); 737extern void enable_sep_cpu(void);
743extern int sysenter_setup(void); 738extern int sysenter_setup(void);