瀏覽代碼

Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86, nmi: Use predefined numbers instead of hardcoded one
  x86: asm/processor.h: remove double declaration
  x86, mtrr: replace MTRRdefType_MSR with msr-index's MSR_MTRRdefType
  x86, mtrr: replace MTRRfix4K_C0000_MSR with msr-index's MSR_MTRRfix4K_C0000
  x86, mtrr: remove mtrr MSRs double declaration
  x86, mtrr: replace MTRRfix16K_80000_MSR with msr-index's MSR_MTRRfix16K_80000
  x86, mtrr: replace MTRRfix64K_00000_MSR with msr-index's MSR_MTRRfix64K_00000
  x86, mtrr: replace MTRRcap_MSR with msr-index's MSR_MTRRcap
  x86: mce: remove duplicated #include
  x86: msr-index.h remove duplicate MSR C001_0015 declaration
  x86: clean up arch/x86/kernel/tsc_sync.c a bit
  x86: use symbolic name for VM86_SIGNAL when used as vm86 default return
  x86: added 'ifndef _ASM_X86_IOMAP_H' to iomap.h
  x86: avoid multiple declaration of kstack_depth_to_print
  x86: vdso/vma.c declare vdso_enabled and arch_setup_additional_pages before they get used
  x86: clean up declarations and variables
  x86: apic/x2apic_cluster.c x86_cpu_to_logical_apicid should be static
  x86 early quirks: eliminate unused function
Linus Torvalds 16 年之前
父節點
當前提交
7dc3ca39cb

+ 3 - 0
arch/x86/include/asm/apic.h

@@ -470,6 +470,9 @@ static inline unsigned int read_apic_id(void)
 extern void default_setup_apic_routing(void);
 extern void default_setup_apic_routing(void);
 
 
 #ifdef CONFIG_X86_32
 #ifdef CONFIG_X86_32
+
+extern struct apic apic_default;
+
 /*
 /*
  * Set up the logical destination ID.
  * Set up the logical destination ID.
  *
  *

+ 4 - 0
arch/x86/include/asm/hw_irq.h

@@ -97,7 +97,11 @@ extern void eisa_set_level_irq(unsigned int irq);
 /* SMP */
 /* SMP */
 extern void smp_apic_timer_interrupt(struct pt_regs *);
 extern void smp_apic_timer_interrupt(struct pt_regs *);
 extern void smp_spurious_interrupt(struct pt_regs *);
 extern void smp_spurious_interrupt(struct pt_regs *);
+extern void smp_generic_interrupt(struct pt_regs *);
 extern void smp_error_interrupt(struct pt_regs *);
 extern void smp_error_interrupt(struct pt_regs *);
+#ifdef CONFIG_X86_IO_APIC
+extern asmlinkage void smp_irq_move_cleanup_interrupt(void);
+#endif
 #ifdef CONFIG_SMP
 #ifdef CONFIG_SMP
 extern void smp_reschedule_interrupt(struct pt_regs *);
 extern void smp_reschedule_interrupt(struct pt_regs *);
 extern void smp_call_function_interrupt(struct pt_regs *);
 extern void smp_call_function_interrupt(struct pt_regs *);

+ 5 - 0
arch/x86/include/asm/iomap.h

@@ -1,3 +1,6 @@
+#ifndef _ASM_X86_IOMAP_H
+#define _ASM_X86_IOMAP_H
+
 /*
 /*
  * Copyright © 2008 Ingo Molnar
  * Copyright © 2008 Ingo Molnar
  *
  *
@@ -31,3 +34,5 @@ iomap_atomic_prot_pfn(unsigned long pfn, enum km_type type, pgprot_t prot);
 
 
 void
 void
 iounmap_atomic(void *kvaddr, enum km_type type);
 iounmap_atomic(void *kvaddr, enum km_type type);
+
+#endif /* _ASM_X86_IOMAP_H */

+ 0 - 1
arch/x86/include/asm/msr-index.h

@@ -121,7 +121,6 @@
 #define MSR_K8_TOP_MEM1			0xc001001a
 #define MSR_K8_TOP_MEM1			0xc001001a
 #define MSR_K8_TOP_MEM2			0xc001001d
 #define MSR_K8_TOP_MEM2			0xc001001d
 #define MSR_K8_SYSCFG			0xc0010010
 #define MSR_K8_SYSCFG			0xc0010010
-#define MSR_K8_HWCR			0xc0010015
 #define MSR_K8_INT_PENDING_MSG		0xc0010055
 #define MSR_K8_INT_PENDING_MSG		0xc0010055
 /* C1E active bits in int pending message */
 /* C1E active bits in int pending message */
 #define K8_INTP_C1E_ACTIVE_MASK		0x18000000
 #define K8_INTP_C1E_ACTIVE_MASK		0x18000000

+ 1 - 1
arch/x86/include/asm/nmi.h

@@ -64,7 +64,7 @@ static inline int nmi_watchdog_active(void)
 	 * but since they are power of two we could use a
 	 * but since they are power of two we could use a
 	 * cheaper way --cvg
 	 * cheaper way --cvg
 	 */
 	 */
-	return nmi_watchdog & 0x3;
+	return nmi_watchdog & (NMI_LOCAL_APIC | NMI_IO_APIC);
 }
 }
 #endif
 #endif
 
 

+ 2 - 0
arch/x86/include/asm/pgtable.h

@@ -503,6 +503,8 @@ static inline int pgd_none(pgd_t pgd)
 
 
 #ifndef __ASSEMBLY__
 #ifndef __ASSEMBLY__
 
 
+extern int direct_gbpages;
+
 /* local pte updates need not use xchg for locking */
 /* local pte updates need not use xchg for locking */
 static inline pte_t native_local_ptep_get_and_clear(pte_t *ptep)
 static inline pte_t native_local_ptep_get_and_clear(pte_t *ptep)
 {
 {

+ 0 - 6
arch/x86/include/asm/pgtable_64.h

@@ -25,10 +25,6 @@ extern pgd_t init_level4_pgt[];
 
 
 extern void paging_init(void);
 extern void paging_init(void);
 
 
-#endif /* !__ASSEMBLY__ */
-
-#ifndef __ASSEMBLY__
-
 #define pte_ERROR(e)					\
 #define pte_ERROR(e)					\
 	printk("%s:%d: bad pte %p(%016lx).\n",		\
 	printk("%s:%d: bad pte %p(%016lx).\n",		\
 	       __FILE__, __LINE__, &(e), pte_val(e))
 	       __FILE__, __LINE__, &(e), pte_val(e))
@@ -135,8 +131,6 @@ static inline int pgd_large(pgd_t pgd) { return 0; }
 
 
 #define update_mmu_cache(vma, address, pte) do { } while (0)
 #define update_mmu_cache(vma, address, pte) do { } while (0)
 
 
-extern int direct_gbpages;
-
 /* Encode and de-code a swap entry */
 /* Encode and de-code a swap entry */
 #if _PAGE_BIT_FILE < _PAGE_BIT_PROTNONE
 #if _PAGE_BIT_FILE < _PAGE_BIT_PROTNONE
 #define SWP_TYPE_BITS (_PAGE_BIT_FILE - _PAGE_BIT_PRESENT - 1)
 #define SWP_TYPE_BITS (_PAGE_BIT_FILE - _PAGE_BIT_PRESENT - 1)

+ 0 - 3
arch/x86/include/asm/processor.h

@@ -410,9 +410,6 @@ DECLARE_PER_CPU(unsigned long, stack_canary);
 extern unsigned int xstate_size;
 extern unsigned int xstate_size;
 extern void free_thread_xstate(struct task_struct *);
 extern void free_thread_xstate(struct task_struct *);
 extern struct kmem_cache *task_xstate_cachep;
 extern struct kmem_cache *task_xstate_cachep;
-extern void init_scattered_cpuid_features(struct cpuinfo_x86 *c);
-extern unsigned int init_intel_cacheinfo(struct cpuinfo_x86 *c);
-extern unsigned short num_cache_leaves;
 
 
 struct thread_struct {
 struct thread_struct {
 	/* Cached TLS descriptors: */
 	/* Cached TLS descriptors: */

+ 24 - 21
arch/x86/include/asm/syscalls.h

@@ -1,7 +1,7 @@
 /*
 /*
  * syscalls.h - Linux syscall interfaces (arch-specific)
  * syscalls.h - Linux syscall interfaces (arch-specific)
  *
  *
- * Copyright (c) 2008 Jaswinder Singh
+ * Copyright (c) 2008 Jaswinder Singh Rajput
  *
  *
  * This file is released under the GPLv2.
  * This file is released under the GPLv2.
  * See the file COPYING for more details.
  * See the file COPYING for more details.
@@ -12,50 +12,55 @@
 
 
 #include <linux/compiler.h>
 #include <linux/compiler.h>
 #include <linux/linkage.h>
 #include <linux/linkage.h>
-#include <linux/types.h>
 #include <linux/signal.h>
 #include <linux/signal.h>
+#include <linux/types.h>
 
 
 /* Common in X86_32 and X86_64 */
 /* Common in X86_32 and X86_64 */
 /* kernel/ioport.c */
 /* kernel/ioport.c */
 asmlinkage long sys_ioperm(unsigned long, unsigned long, int);
 asmlinkage long sys_ioperm(unsigned long, unsigned long, int);
 
 
+/* kernel/process.c */
+int sys_fork(struct pt_regs *);
+int sys_vfork(struct pt_regs *);
+
 /* kernel/ldt.c */
 /* kernel/ldt.c */
 asmlinkage int sys_modify_ldt(int, void __user *, unsigned long);
 asmlinkage int sys_modify_ldt(int, void __user *, unsigned long);
 
 
+/* kernel/signal.c */
+long sys_rt_sigreturn(struct pt_regs *);
+
 /* kernel/tls.c */
 /* kernel/tls.c */
 asmlinkage int sys_set_thread_area(struct user_desc __user *);
 asmlinkage int sys_set_thread_area(struct user_desc __user *);
 asmlinkage int sys_get_thread_area(struct user_desc __user *);
 asmlinkage int sys_get_thread_area(struct user_desc __user *);
 
 
 /* X86_32 only */
 /* X86_32 only */
 #ifdef CONFIG_X86_32
 #ifdef CONFIG_X86_32
+/* kernel/ioport.c */
+long sys_iopl(struct pt_regs *);
+
 /* kernel/process_32.c */
 /* kernel/process_32.c */
-int sys_fork(struct pt_regs *);
 int sys_clone(struct pt_regs *);
 int sys_clone(struct pt_regs *);
-int sys_vfork(struct pt_regs *);
 int sys_execve(struct pt_regs *);
 int sys_execve(struct pt_regs *);
 
 
-/* kernel/signal_32.c */
+/* kernel/signal.c */
 asmlinkage int sys_sigsuspend(int, int, old_sigset_t);
 asmlinkage int sys_sigsuspend(int, int, old_sigset_t);
 asmlinkage int sys_sigaction(int, const struct old_sigaction __user *,
 asmlinkage int sys_sigaction(int, const struct old_sigaction __user *,
 			     struct old_sigaction __user *);
 			     struct old_sigaction __user *);
 int sys_sigaltstack(struct pt_regs *);
 int sys_sigaltstack(struct pt_regs *);
 unsigned long sys_sigreturn(struct pt_regs *);
 unsigned long sys_sigreturn(struct pt_regs *);
-long sys_rt_sigreturn(struct pt_regs *);
-
-/* kernel/ioport.c */
-long sys_iopl(struct pt_regs *);
 
 
 /* kernel/sys_i386_32.c */
 /* kernel/sys_i386_32.c */
+struct mmap_arg_struct;
+struct sel_arg_struct;
+struct oldold_utsname;
+struct old_utsname;
+
 asmlinkage long sys_mmap2(unsigned long, unsigned long, unsigned long,
 asmlinkage long sys_mmap2(unsigned long, unsigned long, unsigned long,
 			  unsigned long, unsigned long, unsigned long);
 			  unsigned long, unsigned long, unsigned long);
-struct mmap_arg_struct;
 asmlinkage int old_mmap(struct mmap_arg_struct __user *);
 asmlinkage int old_mmap(struct mmap_arg_struct __user *);
-struct sel_arg_struct;
 asmlinkage int old_select(struct sel_arg_struct __user *);
 asmlinkage int old_select(struct sel_arg_struct __user *);
 asmlinkage int sys_ipc(uint, int, int, int, void __user *, long);
 asmlinkage int sys_ipc(uint, int, int, int, void __user *, long);
-struct old_utsname;
 asmlinkage int sys_uname(struct old_utsname __user *);
 asmlinkage int sys_uname(struct old_utsname __user *);
-struct oldold_utsname;
 asmlinkage int sys_olduname(struct oldold_utsname __user *);
 asmlinkage int sys_olduname(struct oldold_utsname __user *);
 
 
 /* kernel/vm86_32.c */
 /* kernel/vm86_32.c */
@@ -65,29 +70,27 @@ int sys_vm86(struct pt_regs *);
 #else /* CONFIG_X86_32 */
 #else /* CONFIG_X86_32 */
 
 
 /* X86_64 only */
 /* X86_64 only */
+/* kernel/ioport.c */
+asmlinkage long sys_iopl(unsigned int, struct pt_regs *);
+
 /* kernel/process_64.c */
 /* kernel/process_64.c */
-asmlinkage long sys_fork(struct pt_regs *);
 asmlinkage long sys_clone(unsigned long, unsigned long,
 asmlinkage long sys_clone(unsigned long, unsigned long,
 			  void __user *, void __user *,
 			  void __user *, void __user *,
 			  struct pt_regs *);
 			  struct pt_regs *);
-asmlinkage long sys_vfork(struct pt_regs *);
 asmlinkage long sys_execve(char __user *, char __user * __user *,
 asmlinkage long sys_execve(char __user *, char __user * __user *,
 			   char __user * __user *,
 			   char __user * __user *,
 			   struct pt_regs *);
 			   struct pt_regs *);
 long sys_arch_prctl(int, unsigned long);
 long sys_arch_prctl(int, unsigned long);
 
 
-/* kernel/ioport.c */
-asmlinkage long sys_iopl(unsigned int, struct pt_regs *);
-
-/* kernel/signal_64.c */
+/* kernel/signal.c */
 asmlinkage long sys_sigaltstack(const stack_t __user *, stack_t __user *,
 asmlinkage long sys_sigaltstack(const stack_t __user *, stack_t __user *,
 				struct pt_regs *);
 				struct pt_regs *);
-long sys_rt_sigreturn(struct pt_regs *);
 
 
 /* kernel/sys_x86_64.c */
 /* kernel/sys_x86_64.c */
+struct new_utsname;
+
 asmlinkage long sys_mmap(unsigned long, unsigned long, unsigned long,
 asmlinkage long sys_mmap(unsigned long, unsigned long, unsigned long,
 			 unsigned long, unsigned long, unsigned long);
 			 unsigned long, unsigned long, unsigned long);
-struct new_utsname;
 asmlinkage long sys_uname(struct new_utsname __user *);
 asmlinkage long sys_uname(struct new_utsname __user *);
 
 
 #endif /* CONFIG_X86_32 */
 #endif /* CONFIG_X86_32 */

+ 0 - 1
arch/x86/include/asm/traps.h

@@ -74,7 +74,6 @@ static inline int get_si_code(unsigned long condition)
 }
 }
 
 
 extern int panic_on_unrecovered_nmi;
 extern int panic_on_unrecovered_nmi;
-extern int kstack_depth_to_print;
 
 
 void math_error(void __user *);
 void math_error(void __user *);
 void math_emulate(struct math_emu_info *);
 void math_emulate(struct math_emu_info *);

+ 1 - 0
arch/x86/kernel/apic/io_apic.c

@@ -59,6 +59,7 @@
 #include <asm/setup.h>
 #include <asm/setup.h>
 #include <asm/irq_remapping.h>
 #include <asm/irq_remapping.h>
 #include <asm/hpet.h>
 #include <asm/hpet.h>
+#include <asm/hw_irq.h>
 #include <asm/uv/uv_hub.h>
 #include <asm/uv/uv_hub.h>
 #include <asm/uv/uv_irq.h>
 #include <asm/uv/uv_irq.h>
 
 

+ 1 - 1
arch/x86/kernel/apic/nmi.c

@@ -104,7 +104,7 @@ static __init void nmi_cpu_busy(void *data)
 }
 }
 #endif
 #endif
 
 
-static void report_broken_nmi(int cpu, int *prev_nmi_count)
+static void report_broken_nmi(int cpu, unsigned int *prev_nmi_count)
 {
 {
 	printk(KERN_CONT "\n");
 	printk(KERN_CONT "\n");
 
 

+ 0 - 1
arch/x86/kernel/apic/probe_32.c

@@ -160,7 +160,6 @@ extern struct apic apic_summit;
 extern struct apic apic_bigsmp;
 extern struct apic apic_bigsmp;
 extern struct apic apic_es7000;
 extern struct apic apic_es7000;
 extern struct apic apic_es7000_cluster;
 extern struct apic apic_es7000_cluster;
-extern struct apic apic_default;
 
 
 struct apic *apic = &apic_default;
 struct apic *apic = &apic_default;
 EXPORT_SYMBOL_GPL(apic);
 EXPORT_SYMBOL_GPL(apic);

+ 1 - 1
arch/x86/kernel/apic/x2apic_cluster.c

@@ -10,7 +10,7 @@
 #include <asm/apic.h>
 #include <asm/apic.h>
 #include <asm/ipi.h>
 #include <asm/ipi.h>
 
 
-DEFINE_PER_CPU(u32, x86_cpu_to_logical_apicid);
+static DEFINE_PER_CPU(u32, x86_cpu_to_logical_apicid);
 
 
 static int x2apic_acpi_madt_oem_check(char *oem_id, char *oem_table_id)
 static int x2apic_acpi_madt_oem_check(char *oem_id, char *oem_table_id)
 {
 {

+ 0 - 1
arch/x86/kernel/cpu/mcheck/mce_intel_64.c

@@ -15,7 +15,6 @@
 #include <asm/hw_irq.h>
 #include <asm/hw_irq.h>
 #include <asm/idle.h>
 #include <asm/idle.h>
 #include <asm/therm_throt.h>
 #include <asm/therm_throt.h>
-#include <asm/apic.h>
 
 
 asmlinkage void smp_thermal_interrupt(void)
 asmlinkage void smp_thermal_interrupt(void)
 {
 {

+ 2 - 2
arch/x86/kernel/cpu/mtrr/cleanup.c

@@ -808,7 +808,7 @@ int __init mtrr_cleanup(unsigned address_bits)
 
 
 	if (!is_cpu(INTEL) || enable_mtrr_cleanup < 1)
 	if (!is_cpu(INTEL) || enable_mtrr_cleanup < 1)
 		return 0;
 		return 0;
-	rdmsr(MTRRdefType_MSR, def, dummy);
+	rdmsr(MSR_MTRRdefType, def, dummy);
 	def &= 0xff;
 	def &= 0xff;
 	if (def != MTRR_TYPE_UNCACHABLE)
 	if (def != MTRR_TYPE_UNCACHABLE)
 		return 0;
 		return 0;
@@ -1003,7 +1003,7 @@ int __init mtrr_trim_uncached_memory(unsigned long end_pfn)
 	 */
 	 */
 	if (!is_cpu(INTEL) || disable_mtrr_trim)
 	if (!is_cpu(INTEL) || disable_mtrr_trim)
 		return 0;
 		return 0;
-	rdmsr(MTRRdefType_MSR, def, dummy);
+	rdmsr(MSR_MTRRdefType, def, dummy);
 	def &= 0xff;
 	def &= 0xff;
 	if (def != MTRR_TYPE_UNCACHABLE)
 	if (def != MTRR_TYPE_UNCACHABLE)
 		return 0;
 		return 0;

+ 12 - 12
arch/x86/kernel/cpu/mtrr/generic.c

@@ -20,9 +20,9 @@ struct fixed_range_block {
 };
 };
 
 
 static struct fixed_range_block fixed_range_blocks[] = {
 static struct fixed_range_block fixed_range_blocks[] = {
-	{ MTRRfix64K_00000_MSR, 1 }, /* one  64k MTRR  */
-	{ MTRRfix16K_80000_MSR, 2 }, /* two  16k MTRRs */
-	{ MTRRfix4K_C0000_MSR,  8 }, /* eight 4k MTRRs */
+	{ MSR_MTRRfix64K_00000, 1 }, /* one  64k MTRR  */
+	{ MSR_MTRRfix16K_80000, 2 }, /* two  16k MTRRs */
+	{ MSR_MTRRfix4K_C0000,  8 }, /* eight 4k MTRRs */
 	{}
 	{}
 };
 };
 
 
@@ -194,12 +194,12 @@ get_fixed_ranges(mtrr_type * frs)
 
 
 	k8_check_syscfg_dram_mod_en();
 	k8_check_syscfg_dram_mod_en();
 
 
-	rdmsr(MTRRfix64K_00000_MSR, p[0], p[1]);
+	rdmsr(MSR_MTRRfix64K_00000, p[0], p[1]);
 
 
 	for (i = 0; i < 2; i++)
 	for (i = 0; i < 2; i++)
-		rdmsr(MTRRfix16K_80000_MSR + i, p[2 + i * 2], p[3 + i * 2]);
+		rdmsr(MSR_MTRRfix16K_80000 + i, p[2 + i * 2], p[3 + i * 2]);
 	for (i = 0; i < 8; i++)
 	for (i = 0; i < 8; i++)
-		rdmsr(MTRRfix4K_C0000_MSR + i, p[6 + i * 2], p[7 + i * 2]);
+		rdmsr(MSR_MTRRfix4K_C0000 + i, p[6 + i * 2], p[7 + i * 2]);
 }
 }
 
 
 void mtrr_save_fixed_ranges(void *info)
 void mtrr_save_fixed_ranges(void *info)
@@ -310,7 +310,7 @@ void __init get_mtrr_state(void)
 
 
 	vrs = mtrr_state.var_ranges;
 	vrs = mtrr_state.var_ranges;
 
 
-	rdmsr(MTRRcap_MSR, lo, dummy);
+	rdmsr(MSR_MTRRcap, lo, dummy);
 	mtrr_state.have_fixed = (lo >> 8) & 1;
 	mtrr_state.have_fixed = (lo >> 8) & 1;
 
 
 	for (i = 0; i < num_var_ranges; i++)
 	for (i = 0; i < num_var_ranges; i++)
@@ -318,7 +318,7 @@ void __init get_mtrr_state(void)
 	if (mtrr_state.have_fixed)
 	if (mtrr_state.have_fixed)
 		get_fixed_ranges(mtrr_state.fixed_ranges);
 		get_fixed_ranges(mtrr_state.fixed_ranges);
 
 
-	rdmsr(MTRRdefType_MSR, lo, dummy);
+	rdmsr(MSR_MTRRdefType, lo, dummy);
 	mtrr_state.def_type = (lo & 0xff);
 	mtrr_state.def_type = (lo & 0xff);
 	mtrr_state.enabled = (lo & 0xc00) >> 10;
 	mtrr_state.enabled = (lo & 0xc00) >> 10;
 
 
@@ -583,10 +583,10 @@ static void prepare_set(void) __acquires(set_atomicity_lock)
 	__flush_tlb();
 	__flush_tlb();
 
 
 	/*  Save MTRR state */
 	/*  Save MTRR state */
-	rdmsr(MTRRdefType_MSR, deftype_lo, deftype_hi);
+	rdmsr(MSR_MTRRdefType, deftype_lo, deftype_hi);
 
 
 	/*  Disable MTRRs, and set the default type to uncached  */
 	/*  Disable MTRRs, and set the default type to uncached  */
-	mtrr_wrmsr(MTRRdefType_MSR, deftype_lo & ~0xcff, deftype_hi);
+	mtrr_wrmsr(MSR_MTRRdefType, deftype_lo & ~0xcff, deftype_hi);
 }
 }
 
 
 static void post_set(void) __releases(set_atomicity_lock)
 static void post_set(void) __releases(set_atomicity_lock)
@@ -595,7 +595,7 @@ static void post_set(void) __releases(set_atomicity_lock)
 	__flush_tlb();
 	__flush_tlb();
 
 
 	/* Intel (P6) standard MTRRs */
 	/* Intel (P6) standard MTRRs */
-	mtrr_wrmsr(MTRRdefType_MSR, deftype_lo, deftype_hi);
+	mtrr_wrmsr(MSR_MTRRdefType, deftype_lo, deftype_hi);
 		
 		
 	/*  Enable caches  */
 	/*  Enable caches  */
 	write_cr0(read_cr0() & 0xbfffffff);
 	write_cr0(read_cr0() & 0xbfffffff);
@@ -707,7 +707,7 @@ int generic_validate_add_page(unsigned long base, unsigned long size, unsigned i
 static int generic_have_wrcomb(void)
 static int generic_have_wrcomb(void)
 {
 {
 	unsigned long config, dummy;
 	unsigned long config, dummy;
-	rdmsr(MTRRcap_MSR, config, dummy);
+	rdmsr(MSR_MTRRcap, config, dummy);
 	return (config & (1 << 10));
 	return (config & (1 << 10));
 }
 }
 
 

+ 1 - 1
arch/x86/kernel/cpu/mtrr/main.c

@@ -104,7 +104,7 @@ static void __init set_num_var_ranges(void)
 	unsigned long config = 0, dummy;
 	unsigned long config = 0, dummy;
 
 
 	if (use_intel()) {
 	if (use_intel()) {
-		rdmsr(MTRRcap_MSR, config, dummy);
+		rdmsr(MSR_MTRRcap, config, dummy);
 	} else if (is_cpu(AMD))
 	} else if (is_cpu(AMD))
 		config = 2;
 		config = 2;
 	else if (is_cpu(CYRIX) || is_cpu(CENTAUR))
 	else if (is_cpu(CYRIX) || is_cpu(CENTAUR))

+ 0 - 15
arch/x86/kernel/cpu/mtrr/mtrr.h

@@ -5,21 +5,6 @@
 #include <linux/types.h>
 #include <linux/types.h>
 #include <linux/stddef.h>
 #include <linux/stddef.h>
 
 
-#define MTRRcap_MSR     0x0fe
-#define MTRRdefType_MSR 0x2ff
-
-#define MTRRfix64K_00000_MSR 0x250
-#define MTRRfix16K_80000_MSR 0x258
-#define MTRRfix16K_A0000_MSR 0x259
-#define MTRRfix4K_C0000_MSR 0x268
-#define MTRRfix4K_C8000_MSR 0x269
-#define MTRRfix4K_D0000_MSR 0x26a
-#define MTRRfix4K_D8000_MSR 0x26b
-#define MTRRfix4K_E0000_MSR 0x26c
-#define MTRRfix4K_E8000_MSR 0x26d
-#define MTRRfix4K_F0000_MSR 0x26e
-#define MTRRfix4K_F8000_MSR 0x26f
-
 #define MTRR_CHANGE_MASK_FIXED     0x01
 #define MTRR_CHANGE_MASK_FIXED     0x01
 #define MTRR_CHANGE_MASK_VARIABLE  0x02
 #define MTRR_CHANGE_MASK_VARIABLE  0x02
 #define MTRR_CHANGE_MASK_DEFTYPE   0x04
 #define MTRR_CHANGE_MASK_DEFTYPE   0x04

+ 3 - 3
arch/x86/kernel/cpu/mtrr/state.c

@@ -35,7 +35,7 @@ void set_mtrr_prepare_save(struct set_mtrr_context *ctxt)
 
 
 		if (use_intel())
 		if (use_intel())
 			/*  Save MTRR state */
 			/*  Save MTRR state */
-			rdmsr(MTRRdefType_MSR, ctxt->deftype_lo, ctxt->deftype_hi);
+			rdmsr(MSR_MTRRdefType, ctxt->deftype_lo, ctxt->deftype_hi);
 		else
 		else
 			/* Cyrix ARRs - everything else were excluded at the top */
 			/* Cyrix ARRs - everything else were excluded at the top */
 			ctxt->ccr3 = getCx86(CX86_CCR3);
 			ctxt->ccr3 = getCx86(CX86_CCR3);
@@ -46,7 +46,7 @@ void set_mtrr_cache_disable(struct set_mtrr_context *ctxt)
 {
 {
 	if (use_intel())
 	if (use_intel())
 		/*  Disable MTRRs, and set the default type to uncached  */
 		/*  Disable MTRRs, and set the default type to uncached  */
-		mtrr_wrmsr(MTRRdefType_MSR, ctxt->deftype_lo & 0xf300UL,
+		mtrr_wrmsr(MSR_MTRRdefType, ctxt->deftype_lo & 0xf300UL,
 		      ctxt->deftype_hi);
 		      ctxt->deftype_hi);
 	else if (is_cpu(CYRIX))
 	else if (is_cpu(CYRIX))
 		/* Cyrix ARRs - everything else were excluded at the top */
 		/* Cyrix ARRs - everything else were excluded at the top */
@@ -64,7 +64,7 @@ void set_mtrr_done(struct set_mtrr_context *ctxt)
 		/*  Restore MTRRdefType  */
 		/*  Restore MTRRdefType  */
 		if (use_intel())
 		if (use_intel())
 			/* Intel (P6) standard MTRRs */
 			/* Intel (P6) standard MTRRs */
-			mtrr_wrmsr(MTRRdefType_MSR, ctxt->deftype_lo, ctxt->deftype_hi);
+			mtrr_wrmsr(MSR_MTRRdefType, ctxt->deftype_lo, ctxt->deftype_hi);
 		else
 		else
 			/* Cyrix ARRs - everything else was excluded at the top */
 			/* Cyrix ARRs - everything else was excluded at the top */
 			setCx86(CX86_CCR3, ctxt->ccr3);
 			setCx86(CX86_CCR3, ctxt->ccr3);

+ 0 - 1
arch/x86/kernel/dumpstack.h

@@ -29,7 +29,6 @@ show_stack_log_lvl(struct task_struct *task, struct pt_regs *regs,
 		unsigned long *sp, unsigned long bp, char *log_lvl);
 		unsigned long *sp, unsigned long bp, char *log_lvl);
 
 
 extern unsigned int code_bytes;
 extern unsigned int code_bytes;
-extern int kstack_depth_to_print;
 
 
 /* The form of the top of the frame on the stack */
 /* The form of the top of the frame on the stack */
 struct stack_frame {
 struct stack_frame {

+ 2 - 0
arch/x86/kernel/early-quirks.c

@@ -96,6 +96,7 @@ static void __init nvidia_bugs(int num, int slot, int func)
 
 
 }
 }
 
 
+#if defined(CONFIG_ACPI) && defined(CONFIG_X86_IO_APIC)
 #if defined(CONFIG_ACPI) && defined(CONFIG_X86_IO_APIC)
 #if defined(CONFIG_ACPI) && defined(CONFIG_X86_IO_APIC)
 static u32 __init ati_ixp4x0_rev(int num, int slot, int func)
 static u32 __init ati_ixp4x0_rev(int num, int slot, int func)
 {
 {
@@ -114,6 +115,7 @@ static u32 __init ati_ixp4x0_rev(int num, int slot, int func)
 	d &= 0xff;
 	d &= 0xff;
 	return d;
 	return d;
 }
 }
+#endif
 
 
 static void __init ati_bugs(int num, int slot, int func)
 static void __init ati_bugs(int num, int slot, int func)
 {
 {

+ 1 - 0
arch/x86/kernel/irq.c

@@ -12,6 +12,7 @@
 #include <asm/io_apic.h>
 #include <asm/io_apic.h>
 #include <asm/irq.h>
 #include <asm/irq.h>
 #include <asm/idle.h>
 #include <asm/idle.h>
+#include <asm/hw_irq.h>
 
 
 atomic_t irq_err_count;
 atomic_t irq_err_count;
 
 

+ 1 - 0
arch/x86/kernel/process.c

@@ -11,6 +11,7 @@
 #include <trace/power.h>
 #include <trace/power.h>
 #include <asm/system.h>
 #include <asm/system.h>
 #include <asm/apic.h>
 #include <asm/apic.h>
+#include <asm/syscalls.h>
 #include <asm/idle.h>
 #include <asm/idle.h>
 #include <asm/uaccess.h>
 #include <asm/uaccess.h>
 #include <asm/i387.h>
 #include <asm/i387.h>

+ 4 - 4
arch/x86/kernel/tsc.c

@@ -384,13 +384,13 @@ unsigned long native_calibrate_tsc(void)
 {
 {
 	u64 tsc1, tsc2, delta, ref1, ref2;
 	u64 tsc1, tsc2, delta, ref1, ref2;
 	unsigned long tsc_pit_min = ULONG_MAX, tsc_ref_min = ULONG_MAX;
 	unsigned long tsc_pit_min = ULONG_MAX, tsc_ref_min = ULONG_MAX;
-	unsigned long flags, latch, ms, fast_calibrate, tsc_khz;
+	unsigned long flags, latch, ms, fast_calibrate, hv_tsc_khz;
 	int hpet = is_hpet_enabled(), i, loopmin;
 	int hpet = is_hpet_enabled(), i, loopmin;
 
 
-	tsc_khz = get_hypervisor_tsc_freq();
-	if (tsc_khz) {
+	hv_tsc_khz = get_hypervisor_tsc_freq();
+	if (hv_tsc_khz) {
 		printk(KERN_INFO "TSC: Frequency read from the hypervisor\n");
 		printk(KERN_INFO "TSC: Frequency read from the hypervisor\n");
-		return tsc_khz;
+		return hv_tsc_khz;
 	}
 	}
 
 
 	local_irq_save(flags);
 	local_irq_save(flags);

+ 6 - 8
arch/x86/kernel/tsc_sync.c

@@ -34,6 +34,7 @@ static __cpuinitdata atomic_t stop_count;
  * of a critical section, to be able to prove TSC time-warps:
  * of a critical section, to be able to prove TSC time-warps:
  */
  */
 static __cpuinitdata raw_spinlock_t sync_lock = __RAW_SPIN_LOCK_UNLOCKED;
 static __cpuinitdata raw_spinlock_t sync_lock = __RAW_SPIN_LOCK_UNLOCKED;
+
 static __cpuinitdata cycles_t last_tsc;
 static __cpuinitdata cycles_t last_tsc;
 static __cpuinitdata cycles_t max_warp;
 static __cpuinitdata cycles_t max_warp;
 static __cpuinitdata int nr_warps;
 static __cpuinitdata int nr_warps;
@@ -113,13 +114,12 @@ void __cpuinit check_tsc_sync_source(int cpu)
 		return;
 		return;
 
 
 	if (boot_cpu_has(X86_FEATURE_TSC_RELIABLE)) {
 	if (boot_cpu_has(X86_FEATURE_TSC_RELIABLE)) {
-		printk(KERN_INFO
-		       "Skipping synchronization checks as TSC is reliable.\n");
+		pr_info("Skipping synchronization checks as TSC is reliable.\n");
 		return;
 		return;
 	}
 	}
 
 
-	printk(KERN_INFO "checking TSC synchronization [CPU#%d -> CPU#%d]:",
-			  smp_processor_id(), cpu);
+	pr_info("checking TSC synchronization [CPU#%d -> CPU#%d]:",
+		smp_processor_id(), cpu);
 
 
 	/*
 	/*
 	 * Reset it - in case this is a second bootup:
 	 * Reset it - in case this is a second bootup:
@@ -143,8 +143,8 @@ void __cpuinit check_tsc_sync_source(int cpu)
 
 
 	if (nr_warps) {
 	if (nr_warps) {
 		printk("\n");
 		printk("\n");
-		printk(KERN_WARNING "Measured %Ld cycles TSC warp between CPUs,"
-				    " turning off TSC clock.\n", max_warp);
+		pr_warning("Measured %Ld cycles TSC warp between CPUs, "
+			   "turning off TSC clock.\n", max_warp);
 		mark_tsc_unstable("check_tsc_sync_source failed");
 		mark_tsc_unstable("check_tsc_sync_source failed");
 	} else {
 	} else {
 		printk(" passed.\n");
 		printk(" passed.\n");
@@ -195,5 +195,3 @@ void __cpuinit check_tsc_sync_target(void)
 	while (atomic_read(&stop_count) != cpus)
 	while (atomic_read(&stop_count) != cpus)
 		cpu_relax();
 		cpu_relax();
 }
 }
-#undef NR_LOOPS
-

+ 2 - 2
arch/x86/kernel/vm86_32.c

@@ -318,9 +318,9 @@ static void do_sys_vm86(struct kernel_vm86_struct *info, struct task_struct *tsk
 	}
 	}
 
 
 /*
 /*
- * Save old state, set default return value (%ax) to 0
+ * Save old state, set default return value (%ax) to 0 (VM86_SIGNAL)
  */
  */
-	info->regs32->ax = 0;
+	info->regs32->ax = VM86_SIGNAL;
 	tsk->thread.saved_sp0 = tsk->thread.sp0;
 	tsk->thread.saved_sp0 = tsk->thread.sp0;
 	tsk->thread.saved_fs = info->regs32->fs;
 	tsk->thread.saved_fs = info->regs32->fs;
 	tsk->thread.saved_gs = get_user_gs(info->regs32);
 	tsk->thread.saved_gs = get_user_gs(info->regs32);

+ 1 - 0
arch/x86/mm/init.c

@@ -1,3 +1,4 @@
+#include <linux/initrd.h>
 #include <linux/ioport.h>
 #include <linux/ioport.h>
 #include <linux/swap.h>
 #include <linux/swap.h>
 
 

+ 1 - 0
arch/x86/vdso/vma.c

@@ -8,6 +8,7 @@
 #include <linux/sched.h>
 #include <linux/sched.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/random.h>
 #include <linux/random.h>
+#include <linux/elf.h>
 #include <asm/vsyscall.h>
 #include <asm/vsyscall.h>
 #include <asm/vgtod.h>
 #include <asm/vgtod.h>
 #include <asm/proto.h>
 #include <asm/proto.h>