diff options
29 files changed, 78 insertions, 85 deletions
diff --git a/arch/x86/include/asm/apic.h b/arch/x86/include/asm/apic.h index 3738438a91f5..229d0be184a2 100644 --- a/arch/x86/include/asm/apic.h +++ b/arch/x86/include/asm/apic.h | |||
| @@ -470,6 +470,9 @@ static inline unsigned int read_apic_id(void) | |||
| 470 | extern void default_setup_apic_routing(void); | 470 | extern void default_setup_apic_routing(void); |
| 471 | 471 | ||
| 472 | #ifdef CONFIG_X86_32 | 472 | #ifdef CONFIG_X86_32 |
| 473 | |||
| 474 | extern struct apic apic_default; | ||
| 475 | |||
| 473 | /* | 476 | /* |
| 474 | * Set up the logical destination ID. | 477 | * Set up the logical destination ID. |
| 475 | * | 478 | * |
diff --git a/arch/x86/include/asm/hw_irq.h b/arch/x86/include/asm/hw_irq.h index a7d14bbae110..3bd1777a4c8b 100644 --- a/arch/x86/include/asm/hw_irq.h +++ b/arch/x86/include/asm/hw_irq.h | |||
| @@ -97,7 +97,11 @@ extern void eisa_set_level_irq(unsigned int irq); | |||
| 97 | /* SMP */ | 97 | /* SMP */ |
| 98 | extern void smp_apic_timer_interrupt(struct pt_regs *); | 98 | extern void smp_apic_timer_interrupt(struct pt_regs *); |
| 99 | extern void smp_spurious_interrupt(struct pt_regs *); | 99 | extern void smp_spurious_interrupt(struct pt_regs *); |
| 100 | extern void smp_generic_interrupt(struct pt_regs *); | ||
| 100 | extern void smp_error_interrupt(struct pt_regs *); | 101 | extern void smp_error_interrupt(struct pt_regs *); |
| 102 | #ifdef CONFIG_X86_IO_APIC | ||
| 103 | extern asmlinkage void smp_irq_move_cleanup_interrupt(void); | ||
| 104 | #endif | ||
| 101 | #ifdef CONFIG_SMP | 105 | #ifdef CONFIG_SMP |
| 102 | extern void smp_reschedule_interrupt(struct pt_regs *); | 106 | extern void smp_reschedule_interrupt(struct pt_regs *); |
| 103 | extern void smp_call_function_interrupt(struct pt_regs *); | 107 | extern void smp_call_function_interrupt(struct pt_regs *); |
diff --git a/arch/x86/include/asm/iomap.h b/arch/x86/include/asm/iomap.h index 86af26091d6c..0e9fe1d9d971 100644 --- a/arch/x86/include/asm/iomap.h +++ b/arch/x86/include/asm/iomap.h | |||
| @@ -1,3 +1,6 @@ | |||
| 1 | #ifndef _ASM_X86_IOMAP_H | ||
| 2 | #define _ASM_X86_IOMAP_H | ||
| 3 | |||
| 1 | /* | 4 | /* |
| 2 | * Copyright © 2008 Ingo Molnar | 5 | * Copyright © 2008 Ingo Molnar |
| 3 | * | 6 | * |
| @@ -31,3 +34,5 @@ iomap_atomic_prot_pfn(unsigned long pfn, enum km_type type, pgprot_t prot); | |||
| 31 | 34 | ||
| 32 | void | 35 | void |
| 33 | iounmap_atomic(void *kvaddr, enum km_type type); | 36 | iounmap_atomic(void *kvaddr, enum km_type type); |
| 37 | |||
| 38 | #endif /* _ASM_X86_IOMAP_H */ | ||
diff --git a/arch/x86/include/asm/msr-index.h b/arch/x86/include/asm/msr-index.h index ec41fc16c167..4d58d04fca83 100644 --- a/arch/x86/include/asm/msr-index.h +++ b/arch/x86/include/asm/msr-index.h | |||
| @@ -121,7 +121,6 @@ | |||
| 121 | #define MSR_K8_TOP_MEM1 0xc001001a | 121 | #define MSR_K8_TOP_MEM1 0xc001001a |
| 122 | #define MSR_K8_TOP_MEM2 0xc001001d | 122 | #define MSR_K8_TOP_MEM2 0xc001001d |
| 123 | #define MSR_K8_SYSCFG 0xc0010010 | 123 | #define MSR_K8_SYSCFG 0xc0010010 |
| 124 | #define MSR_K8_HWCR 0xc0010015 | ||
| 125 | #define MSR_K8_INT_PENDING_MSG 0xc0010055 | 124 | #define MSR_K8_INT_PENDING_MSG 0xc0010055 |
| 126 | /* C1E active bits in int pending message */ | 125 | /* C1E active bits in int pending message */ |
| 127 | #define K8_INTP_C1E_ACTIVE_MASK 0x18000000 | 126 | #define K8_INTP_C1E_ACTIVE_MASK 0x18000000 |
diff --git a/arch/x86/include/asm/nmi.h b/arch/x86/include/asm/nmi.h index c45a0a568dff..c97264409934 100644 --- a/arch/x86/include/asm/nmi.h +++ b/arch/x86/include/asm/nmi.h | |||
| @@ -64,7 +64,7 @@ static inline int nmi_watchdog_active(void) | |||
| 64 | * but since they are power of two we could use a | 64 | * but since they are power of two we could use a |
| 65 | * cheaper way --cvg | 65 | * cheaper way --cvg |
| 66 | */ | 66 | */ |
| 67 | return nmi_watchdog & 0x3; | 67 | return nmi_watchdog & (NMI_LOCAL_APIC | NMI_IO_APIC); |
| 68 | } | 68 | } |
| 69 | #endif | 69 | #endif |
| 70 | 70 | ||
diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h index 29d96d168bc0..3f8d09d94eb3 100644 --- a/arch/x86/include/asm/pgtable.h +++ b/arch/x86/include/asm/pgtable.h | |||
| @@ -503,6 +503,8 @@ static inline int pgd_none(pgd_t pgd) | |||
| 503 | 503 | ||
| 504 | #ifndef __ASSEMBLY__ | 504 | #ifndef __ASSEMBLY__ |
| 505 | 505 | ||
| 506 | extern int direct_gbpages; | ||
| 507 | |||
| 506 | /* local pte updates need not use xchg for locking */ | 508 | /* local pte updates need not use xchg for locking */ |
| 507 | static inline pte_t native_local_ptep_get_and_clear(pte_t *ptep) | 509 | static inline pte_t native_local_ptep_get_and_clear(pte_t *ptep) |
| 508 | { | 510 | { |
diff --git a/arch/x86/include/asm/pgtable_64.h b/arch/x86/include/asm/pgtable_64.h index 6b87bc6d5018..abde308fdb0f 100644 --- a/arch/x86/include/asm/pgtable_64.h +++ b/arch/x86/include/asm/pgtable_64.h | |||
| @@ -25,10 +25,6 @@ extern pgd_t init_level4_pgt[]; | |||
| 25 | 25 | ||
| 26 | extern void paging_init(void); | 26 | extern void paging_init(void); |
| 27 | 27 | ||
| 28 | #endif /* !__ASSEMBLY__ */ | ||
| 29 | |||
| 30 | #ifndef __ASSEMBLY__ | ||
| 31 | |||
| 32 | #define pte_ERROR(e) \ | 28 | #define pte_ERROR(e) \ |
| 33 | printk("%s:%d: bad pte %p(%016lx).\n", \ | 29 | printk("%s:%d: bad pte %p(%016lx).\n", \ |
| 34 | __FILE__, __LINE__, &(e), pte_val(e)) | 30 | __FILE__, __LINE__, &(e), pte_val(e)) |
| @@ -135,8 +131,6 @@ static inline int pgd_large(pgd_t pgd) { return 0; } | |||
| 135 | 131 | ||
| 136 | #define update_mmu_cache(vma, address, pte) do { } while (0) | 132 | #define update_mmu_cache(vma, address, pte) do { } while (0) |
| 137 | 133 | ||
| 138 | extern int direct_gbpages; | ||
| 139 | |||
| 140 | /* Encode and de-code a swap entry */ | 134 | /* Encode and de-code a swap entry */ |
| 141 | #if _PAGE_BIT_FILE < _PAGE_BIT_PROTNONE | 135 | #if _PAGE_BIT_FILE < _PAGE_BIT_PROTNONE |
| 142 | #define SWP_TYPE_BITS (_PAGE_BIT_FILE - _PAGE_BIT_PRESENT - 1) | 136 | #define SWP_TYPE_BITS (_PAGE_BIT_FILE - _PAGE_BIT_PRESENT - 1) |
diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h index b0431a4f066f..87ede2f31bc7 100644 --- a/arch/x86/include/asm/processor.h +++ b/arch/x86/include/asm/processor.h | |||
| @@ -410,9 +410,6 @@ DECLARE_PER_CPU(unsigned long, stack_canary); | |||
| 410 | extern unsigned int xstate_size; | 410 | extern unsigned int xstate_size; |
| 411 | extern void free_thread_xstate(struct task_struct *); | 411 | extern void free_thread_xstate(struct task_struct *); |
| 412 | extern struct kmem_cache *task_xstate_cachep; | 412 | extern struct kmem_cache *task_xstate_cachep; |
| 413 | extern void init_scattered_cpuid_features(struct cpuinfo_x86 *c); | ||
| 414 | extern unsigned int init_intel_cacheinfo(struct cpuinfo_x86 *c); | ||
| 415 | extern unsigned short num_cache_leaves; | ||
| 416 | 413 | ||
| 417 | struct thread_struct { | 414 | struct thread_struct { |
| 418 | /* Cached TLS descriptors: */ | 415 | /* Cached TLS descriptors: */ |
diff --git a/arch/x86/include/asm/syscalls.h b/arch/x86/include/asm/syscalls.h index 7043408f6904..372b76edd63f 100644 --- a/arch/x86/include/asm/syscalls.h +++ b/arch/x86/include/asm/syscalls.h | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * syscalls.h - Linux syscall interfaces (arch-specific) | 2 | * syscalls.h - Linux syscall interfaces (arch-specific) |
| 3 | * | 3 | * |
| 4 | * Copyright (c) 2008 Jaswinder Singh | 4 | * Copyright (c) 2008 Jaswinder Singh Rajput |
| 5 | * | 5 | * |
| 6 | * This file is released under the GPLv2. | 6 | * This file is released under the GPLv2. |
| 7 | * See the file COPYING for more details. | 7 | * See the file COPYING for more details. |
| @@ -12,50 +12,55 @@ | |||
| 12 | 12 | ||
| 13 | #include <linux/compiler.h> | 13 | #include <linux/compiler.h> |
| 14 | #include <linux/linkage.h> | 14 | #include <linux/linkage.h> |
| 15 | #include <linux/types.h> | ||
| 16 | #include <linux/signal.h> | 15 | #include <linux/signal.h> |
| 16 | #include <linux/types.h> | ||
| 17 | 17 | ||
| 18 | /* Common in X86_32 and X86_64 */ | 18 | /* Common in X86_32 and X86_64 */ |
| 19 | /* kernel/ioport.c */ | 19 | /* kernel/ioport.c */ |
| 20 | asmlinkage long sys_ioperm(unsigned long, unsigned long, int); | 20 | asmlinkage long sys_ioperm(unsigned long, unsigned long, int); |
| 21 | 21 | ||
| 22 | /* kernel/process.c */ | ||
| 23 | int sys_fork(struct pt_regs *); | ||
| 24 | int sys_vfork(struct pt_regs *); | ||
| 25 | |||
| 22 | /* kernel/ldt.c */ | 26 | /* kernel/ldt.c */ |
| 23 | asmlinkage int sys_modify_ldt(int, void __user *, unsigned long); | 27 | asmlinkage int sys_modify_ldt(int, void __user *, unsigned long); |
| 24 | 28 | ||
| 29 | /* kernel/signal.c */ | ||
| 30 | long sys_rt_sigreturn(struct pt_regs *); | ||
| 31 | |||
| 25 | /* kernel/tls.c */ | 32 | /* kernel/tls.c */ |
| 26 | asmlinkage int sys_set_thread_area(struct user_desc __user *); | 33 | asmlinkage int sys_set_thread_area(struct user_desc __user *); |
| 27 | asmlinkage int sys_get_thread_area(struct user_desc __user *); | 34 | asmlinkage int sys_get_thread_area(struct user_desc __user *); |
| 28 | 35 | ||
| 29 | /* X86_32 only */ | 36 | /* X86_32 only */ |
| 30 | #ifdef CONFIG_X86_32 | 37 | #ifdef CONFIG_X86_32 |
| 38 | /* kernel/ioport.c */ | ||
| 39 | long sys_iopl(struct pt_regs *); | ||
| 40 | |||
| 31 | /* kernel/process_32.c */ | 41 | /* kernel/process_32.c */ |
| 32 | int sys_fork(struct pt_regs *); | ||
| 33 | int sys_clone(struct pt_regs *); | 42 | int sys_clone(struct pt_regs *); |
| 34 | int sys_vfork(struct pt_regs *); | ||
| 35 | int sys_execve(struct pt_regs *); | 43 | int sys_execve(struct pt_regs *); |
| 36 | 44 | ||
| 37 | /* kernel/signal_32.c */ | 45 | /* kernel/signal.c */ |
| 38 | asmlinkage int sys_sigsuspend(int, int, old_sigset_t); | 46 | asmlinkage int sys_sigsuspend(int, int, old_sigset_t); |
| 39 | asmlinkage int sys_sigaction(int, const struct old_sigaction __user *, | 47 | asmlinkage int sys_sigaction(int, const struct old_sigaction __user *, |
| 40 | struct old_sigaction __user *); | 48 | struct old_sigaction __user *); |
| 41 | int sys_sigaltstack(struct pt_regs *); | 49 | int sys_sigaltstack(struct pt_regs *); |
| 42 | unsigned long sys_sigreturn(struct pt_regs *); | 50 | unsigned long sys_sigreturn(struct pt_regs *); |
| 43 | long sys_rt_sigreturn(struct pt_regs *); | ||
| 44 | |||
| 45 | /* kernel/ioport.c */ | ||
| 46 | long sys_iopl(struct pt_regs *); | ||
| 47 | 51 | ||
| 48 | /* kernel/sys_i386_32.c */ | 52 | /* kernel/sys_i386_32.c */ |
| 53 | struct mmap_arg_struct; | ||
| 54 | struct sel_arg_struct; | ||
| 55 | struct oldold_utsname; | ||
| 56 | struct old_utsname; | ||
| 57 | |||
| 49 | asmlinkage long sys_mmap2(unsigned long, unsigned long, unsigned long, | 58 | asmlinkage long sys_mmap2(unsigned long, unsigned long, unsigned long, |
| 50 | unsigned long, unsigned long, unsigned long); | 59 | unsigned long, unsigned long, unsigned long); |
| 51 | struct mmap_arg_struct; | ||
| 52 | asmlinkage int old_mmap(struct mmap_arg_struct __user *); | 60 | asmlinkage int old_mmap(struct mmap_arg_struct __user *); |
| 53 | struct sel_arg_struct; | ||
| 54 | asmlinkage int old_select(struct sel_arg_struct __user *); | 61 | asmlinkage int old_select(struct sel_arg_struct __user *); |
| 55 | asmlinkage int sys_ipc(uint, int, int, int, void __user *, long); | 62 | asmlinkage int sys_ipc(uint, int, int, int, void __user *, long); |
| 56 | struct old_utsname; | ||
| 57 | asmlinkage int sys_uname(struct old_utsname __user *); | 63 | asmlinkage int sys_uname(struct old_utsname __user *); |
| 58 | struct oldold_utsname; | ||
| 59 | asmlinkage int sys_olduname(struct oldold_utsname __user *); | 64 | asmlinkage int sys_olduname(struct oldold_utsname __user *); |
| 60 | 65 | ||
| 61 | /* kernel/vm86_32.c */ | 66 | /* kernel/vm86_32.c */ |
| @@ -65,29 +70,27 @@ int sys_vm86(struct pt_regs *); | |||
| 65 | #else /* CONFIG_X86_32 */ | 70 | #else /* CONFIG_X86_32 */ |
| 66 | 71 | ||
| 67 | /* X86_64 only */ | 72 | /* X86_64 only */ |
| 73 | /* kernel/ioport.c */ | ||
| 74 | asmlinkage long sys_iopl(unsigned int, struct pt_regs *); | ||
| 75 | |||
| 68 | /* kernel/process_64.c */ | 76 | /* kernel/process_64.c */ |
| 69 | asmlinkage long sys_fork(struct pt_regs *); | ||
| 70 | asmlinkage long sys_clone(unsigned long, unsigned long, | 77 | asmlinkage long sys_clone(unsigned long, unsigned long, |
| 71 | void __user *, void __user *, | 78 | void __user *, void __user *, |
| 72 | struct pt_regs *); | 79 | struct pt_regs *); |
| 73 | asmlinkage long sys_vfork(struct pt_regs *); | ||
| 74 | asmlinkage long sys_execve(char __user *, char __user * __user *, | 80 | asmlinkage long sys_execve(char __user *, char __user * __user *, |
| 75 | char __user * __user *, | 81 | char __user * __user *, |
| 76 | struct pt_regs *); | 82 | struct pt_regs *); |
| 77 | long sys_arch_prctl(int, unsigned long); | 83 | long sys_arch_prctl(int, unsigned long); |
| 78 | 84 | ||
| 79 | /* kernel/ioport.c */ | 85 | /* kernel/signal.c */ |
| 80 | asmlinkage long sys_iopl(unsigned int, struct pt_regs *); | ||
| 81 | |||
| 82 | /* kernel/signal_64.c */ | ||
| 83 | asmlinkage long sys_sigaltstack(const stack_t __user *, stack_t __user *, | 86 | asmlinkage long sys_sigaltstack(const stack_t __user *, stack_t __user *, |
| 84 | struct pt_regs *); | 87 | struct pt_regs *); |
| 85 | long sys_rt_sigreturn(struct pt_regs *); | ||
| 86 | 88 | ||
| 87 | /* kernel/sys_x86_64.c */ | 89 | /* kernel/sys_x86_64.c */ |
| 90 | struct new_utsname; | ||
| 91 | |||
| 88 | asmlinkage long sys_mmap(unsigned long, unsigned long, unsigned long, | 92 | asmlinkage long sys_mmap(unsigned long, unsigned long, unsigned long, |
| 89 | unsigned long, unsigned long, unsigned long); | 93 | unsigned long, unsigned long, unsigned long); |
| 90 | struct new_utsname; | ||
| 91 | asmlinkage long sys_uname(struct new_utsname __user *); | 94 | asmlinkage long sys_uname(struct new_utsname __user *); |
| 92 | 95 | ||
| 93 | #endif /* CONFIG_X86_32 */ | 96 | #endif /* CONFIG_X86_32 */ |
diff --git a/arch/x86/include/asm/traps.h b/arch/x86/include/asm/traps.h index 0d5342515b86..9aa3ab262055 100644 --- a/arch/x86/include/asm/traps.h +++ b/arch/x86/include/asm/traps.h | |||
| @@ -74,7 +74,6 @@ static inline int get_si_code(unsigned long condition) | |||
| 74 | } | 74 | } |
| 75 | 75 | ||
| 76 | extern int panic_on_unrecovered_nmi; | 76 | extern int panic_on_unrecovered_nmi; |
| 77 | extern int kstack_depth_to_print; | ||
| 78 | 77 | ||
| 79 | void math_error(void __user *); | 78 | void math_error(void __user *); |
| 80 | void math_emulate(struct math_emu_info *); | 79 | void math_emulate(struct math_emu_info *); |
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c index f712f8ff403c..1946fac42ab3 100644 --- a/arch/x86/kernel/apic/io_apic.c +++ b/arch/x86/kernel/apic/io_apic.c | |||
| @@ -59,6 +59,7 @@ | |||
| 59 | #include <asm/setup.h> | 59 | #include <asm/setup.h> |
| 60 | #include <asm/irq_remapping.h> | 60 | #include <asm/irq_remapping.h> |
| 61 | #include <asm/hpet.h> | 61 | #include <asm/hpet.h> |
| 62 | #include <asm/hw_irq.h> | ||
| 62 | #include <asm/uv/uv_hub.h> | 63 | #include <asm/uv/uv_hub.h> |
| 63 | #include <asm/uv/uv_irq.h> | 64 | #include <asm/uv/uv_irq.h> |
| 64 | 65 | ||
diff --git a/arch/x86/kernel/apic/nmi.c b/arch/x86/kernel/apic/nmi.c index ce4fbfa315a1..a691302dc3ff 100644 --- a/arch/x86/kernel/apic/nmi.c +++ b/arch/x86/kernel/apic/nmi.c | |||
| @@ -104,7 +104,7 @@ static __init void nmi_cpu_busy(void *data) | |||
| 104 | } | 104 | } |
| 105 | #endif | 105 | #endif |
| 106 | 106 | ||
| 107 | static void report_broken_nmi(int cpu, int *prev_nmi_count) | 107 | static void report_broken_nmi(int cpu, unsigned int *prev_nmi_count) |
| 108 | { | 108 | { |
| 109 | printk(KERN_CONT "\n"); | 109 | printk(KERN_CONT "\n"); |
| 110 | 110 | ||
diff --git a/arch/x86/kernel/apic/probe_32.c b/arch/x86/kernel/apic/probe_32.c index 01eda2ac65e4..440a8bccd91a 100644 --- a/arch/x86/kernel/apic/probe_32.c +++ b/arch/x86/kernel/apic/probe_32.c | |||
| @@ -160,7 +160,6 @@ extern struct apic apic_summit; | |||
| 160 | extern struct apic apic_bigsmp; | 160 | extern struct apic apic_bigsmp; |
| 161 | extern struct apic apic_es7000; | 161 | extern struct apic apic_es7000; |
| 162 | extern struct apic apic_es7000_cluster; | 162 | extern struct apic apic_es7000_cluster; |
| 163 | extern struct apic apic_default; | ||
| 164 | 163 | ||
| 165 | struct apic *apic = &apic_default; | 164 | struct apic *apic = &apic_default; |
| 166 | EXPORT_SYMBOL_GPL(apic); | 165 | EXPORT_SYMBOL_GPL(apic); |
diff --git a/arch/x86/kernel/apic/x2apic_cluster.c b/arch/x86/kernel/apic/x2apic_cluster.c index 4a903e2f0d17..8e4cbb255c38 100644 --- a/arch/x86/kernel/apic/x2apic_cluster.c +++ b/arch/x86/kernel/apic/x2apic_cluster.c | |||
| @@ -10,7 +10,7 @@ | |||
| 10 | #include <asm/apic.h> | 10 | #include <asm/apic.h> |
| 11 | #include <asm/ipi.h> | 11 | #include <asm/ipi.h> |
| 12 | 12 | ||
| 13 | DEFINE_PER_CPU(u32, x86_cpu_to_logical_apicid); | 13 | static DEFINE_PER_CPU(u32, x86_cpu_to_logical_apicid); |
| 14 | 14 | ||
| 15 | static int x2apic_acpi_madt_oem_check(char *oem_id, char *oem_table_id) | 15 | static int x2apic_acpi_madt_oem_check(char *oem_id, char *oem_table_id) |
| 16 | { | 16 | { |
diff --git a/arch/x86/kernel/cpu/mcheck/mce_intel_64.c b/arch/x86/kernel/cpu/mcheck/mce_intel_64.c index cef3ee30744b..65a0fceedcd7 100644 --- a/arch/x86/kernel/cpu/mcheck/mce_intel_64.c +++ b/arch/x86/kernel/cpu/mcheck/mce_intel_64.c | |||
| @@ -15,7 +15,6 @@ | |||
| 15 | #include <asm/hw_irq.h> | 15 | #include <asm/hw_irq.h> |
| 16 | #include <asm/idle.h> | 16 | #include <asm/idle.h> |
| 17 | #include <asm/therm_throt.h> | 17 | #include <asm/therm_throt.h> |
| 18 | #include <asm/apic.h> | ||
| 19 | 18 | ||
| 20 | asmlinkage void smp_thermal_interrupt(void) | 19 | asmlinkage void smp_thermal_interrupt(void) |
| 21 | { | 20 | { |
diff --git a/arch/x86/kernel/cpu/mtrr/cleanup.c b/arch/x86/kernel/cpu/mtrr/cleanup.c index ce0fe4b5c04f..1d584a18a50d 100644 --- a/arch/x86/kernel/cpu/mtrr/cleanup.c +++ b/arch/x86/kernel/cpu/mtrr/cleanup.c | |||
| @@ -808,7 +808,7 @@ int __init mtrr_cleanup(unsigned address_bits) | |||
| 808 | 808 | ||
| 809 | if (!is_cpu(INTEL) || enable_mtrr_cleanup < 1) | 809 | if (!is_cpu(INTEL) || enable_mtrr_cleanup < 1) |
| 810 | return 0; | 810 | return 0; |
| 811 | rdmsr(MTRRdefType_MSR, def, dummy); | 811 | rdmsr(MSR_MTRRdefType, def, dummy); |
| 812 | def &= 0xff; | 812 | def &= 0xff; |
| 813 | if (def != MTRR_TYPE_UNCACHABLE) | 813 | if (def != MTRR_TYPE_UNCACHABLE) |
| 814 | return 0; | 814 | return 0; |
| @@ -1003,7 +1003,7 @@ int __init mtrr_trim_uncached_memory(unsigned long end_pfn) | |||
| 1003 | */ | 1003 | */ |
| 1004 | if (!is_cpu(INTEL) || disable_mtrr_trim) | 1004 | if (!is_cpu(INTEL) || disable_mtrr_trim) |
| 1005 | return 0; | 1005 | return 0; |
| 1006 | rdmsr(MTRRdefType_MSR, def, dummy); | 1006 | rdmsr(MSR_MTRRdefType, def, dummy); |
| 1007 | def &= 0xff; | 1007 | def &= 0xff; |
| 1008 | if (def != MTRR_TYPE_UNCACHABLE) | 1008 | if (def != MTRR_TYPE_UNCACHABLE) |
| 1009 | return 0; | 1009 | return 0; |
diff --git a/arch/x86/kernel/cpu/mtrr/generic.c b/arch/x86/kernel/cpu/mtrr/generic.c index d21d4fb161f7..0543f69f0b27 100644 --- a/arch/x86/kernel/cpu/mtrr/generic.c +++ b/arch/x86/kernel/cpu/mtrr/generic.c | |||
| @@ -20,9 +20,9 @@ struct fixed_range_block { | |||
| 20 | }; | 20 | }; |
| 21 | 21 | ||
| 22 | static struct fixed_range_block fixed_range_blocks[] = { | 22 | static struct fixed_range_block fixed_range_blocks[] = { |
| 23 | { MTRRfix64K_00000_MSR, 1 }, /* one 64k MTRR */ | 23 | { MSR_MTRRfix64K_00000, 1 }, /* one 64k MTRR */ |
| 24 | { MTRRfix16K_80000_MSR, 2 }, /* two 16k MTRRs */ | 24 | { MSR_MTRRfix16K_80000, 2 }, /* two 16k MTRRs */ |
| 25 | { MTRRfix4K_C0000_MSR, 8 }, /* eight 4k MTRRs */ | 25 | { MSR_MTRRfix4K_C0000, 8 }, /* eight 4k MTRRs */ |
| 26 | {} | 26 | {} |
| 27 | }; | 27 | }; |
| 28 | 28 | ||
| @@ -194,12 +194,12 @@ get_fixed_ranges(mtrr_type * frs) | |||
| 194 | 194 | ||
| 195 | k8_check_syscfg_dram_mod_en(); | 195 | k8_check_syscfg_dram_mod_en(); |
| 196 | 196 | ||
| 197 | rdmsr(MTRRfix64K_00000_MSR, p[0], p[1]); | 197 | rdmsr(MSR_MTRRfix64K_00000, p[0], p[1]); |
| 198 | 198 | ||
| 199 | for (i = 0; i < 2; i++) | 199 | for (i = 0; i < 2; i++) |
| 200 | rdmsr(MTRRfix16K_80000_MSR + i, p[2 + i * 2], p[3 + i * 2]); | 200 | rdmsr(MSR_MTRRfix16K_80000 + i, p[2 + i * 2], p[3 + i * 2]); |
| 201 | for (i = 0; i < 8; i++) | 201 | for (i = 0; i < 8; i++) |
| 202 | rdmsr(MTRRfix4K_C0000_MSR + i, p[6 + i * 2], p[7 + i * 2]); | 202 | rdmsr(MSR_MTRRfix4K_C0000 + i, p[6 + i * 2], p[7 + i * 2]); |
| 203 | } | 203 | } |
| 204 | 204 | ||
| 205 | void mtrr_save_fixed_ranges(void *info) | 205 | void mtrr_save_fixed_ranges(void *info) |
| @@ -310,7 +310,7 @@ void __init get_mtrr_state(void) | |||
| 310 | 310 | ||
| 311 | vrs = mtrr_state.var_ranges; | 311 | vrs = mtrr_state.var_ranges; |
| 312 | 312 | ||
| 313 | rdmsr(MTRRcap_MSR, lo, dummy); | 313 | rdmsr(MSR_MTRRcap, lo, dummy); |
| 314 | mtrr_state.have_fixed = (lo >> 8) & 1; | 314 | mtrr_state.have_fixed = (lo >> 8) & 1; |
| 315 | 315 | ||
| 316 | for (i = 0; i < num_var_ranges; i++) | 316 | for (i = 0; i < num_var_ranges; i++) |
| @@ -318,7 +318,7 @@ void __init get_mtrr_state(void) | |||
| 318 | if (mtrr_state.have_fixed) | 318 | if (mtrr_state.have_fixed) |
| 319 | get_fixed_ranges(mtrr_state.fixed_ranges); | 319 | get_fixed_ranges(mtrr_state.fixed_ranges); |
| 320 | 320 | ||
| 321 | rdmsr(MTRRdefType_MSR, lo, dummy); | 321 | rdmsr(MSR_MTRRdefType, lo, dummy); |
| 322 | mtrr_state.def_type = (lo & 0xff); | 322 | mtrr_state.def_type = (lo & 0xff); |
| 323 | mtrr_state.enabled = (lo & 0xc00) >> 10; | 323 | mtrr_state.enabled = (lo & 0xc00) >> 10; |
| 324 | 324 | ||
| @@ -583,10 +583,10 @@ static void prepare_set(void) __acquires(set_atomicity_lock) | |||
| 583 | __flush_tlb(); | 583 | __flush_tlb(); |
| 584 | 584 | ||
| 585 | /* Save MTRR state */ | 585 | /* Save MTRR state */ |
| 586 | rdmsr(MTRRdefType_MSR, deftype_lo, deftype_hi); | 586 | rdmsr(MSR_MTRRdefType, deftype_lo, deftype_hi); |
| 587 | 587 | ||
| 588 | /* Disable MTRRs, and set the default type to uncached */ | 588 | /* Disable MTRRs, and set the default type to uncached */ |
| 589 | mtrr_wrmsr(MTRRdefType_MSR, deftype_lo & ~0xcff, deftype_hi); | 589 | mtrr_wrmsr(MSR_MTRRdefType, deftype_lo & ~0xcff, deftype_hi); |
| 590 | } | 590 | } |
| 591 | 591 | ||
| 592 | static void post_set(void) __releases(set_atomicity_lock) | 592 | static void post_set(void) __releases(set_atomicity_lock) |
| @@ -595,7 +595,7 @@ static void post_set(void) __releases(set_atomicity_lock) | |||
| 595 | __flush_tlb(); | 595 | __flush_tlb(); |
| 596 | 596 | ||
| 597 | /* Intel (P6) standard MTRRs */ | 597 | /* Intel (P6) standard MTRRs */ |
| 598 | mtrr_wrmsr(MTRRdefType_MSR, deftype_lo, deftype_hi); | 598 | mtrr_wrmsr(MSR_MTRRdefType, deftype_lo, deftype_hi); |
| 599 | 599 | ||
| 600 | /* Enable caches */ | 600 | /* Enable caches */ |
| 601 | write_cr0(read_cr0() & 0xbfffffff); | 601 | write_cr0(read_cr0() & 0xbfffffff); |
| @@ -707,7 +707,7 @@ int generic_validate_add_page(unsigned long base, unsigned long size, unsigned i | |||
| 707 | static int generic_have_wrcomb(void) | 707 | static int generic_have_wrcomb(void) |
| 708 | { | 708 | { |
| 709 | unsigned long config, dummy; | 709 | unsigned long config, dummy; |
| 710 | rdmsr(MTRRcap_MSR, config, dummy); | 710 | rdmsr(MSR_MTRRcap, config, dummy); |
| 711 | return (config & (1 << 10)); | 711 | return (config & (1 << 10)); |
| 712 | } | 712 | } |
| 713 | 713 | ||
diff --git a/arch/x86/kernel/cpu/mtrr/main.c b/arch/x86/kernel/cpu/mtrr/main.c index 03cda01f57c7..8fc248b5aeaf 100644 --- a/arch/x86/kernel/cpu/mtrr/main.c +++ b/arch/x86/kernel/cpu/mtrr/main.c | |||
| @@ -104,7 +104,7 @@ static void __init set_num_var_ranges(void) | |||
| 104 | unsigned long config = 0, dummy; | 104 | unsigned long config = 0, dummy; |
| 105 | 105 | ||
| 106 | if (use_intel()) { | 106 | if (use_intel()) { |
| 107 | rdmsr(MTRRcap_MSR, config, dummy); | 107 | rdmsr(MSR_MTRRcap, config, dummy); |
| 108 | } else if (is_cpu(AMD)) | 108 | } else if (is_cpu(AMD)) |
| 109 | config = 2; | 109 | config = 2; |
| 110 | else if (is_cpu(CYRIX) || is_cpu(CENTAUR)) | 110 | else if (is_cpu(CYRIX) || is_cpu(CENTAUR)) |
diff --git a/arch/x86/kernel/cpu/mtrr/mtrr.h b/arch/x86/kernel/cpu/mtrr/mtrr.h index 77f67f7b347a..7538b767f206 100644 --- a/arch/x86/kernel/cpu/mtrr/mtrr.h +++ b/arch/x86/kernel/cpu/mtrr/mtrr.h | |||
| @@ -5,21 +5,6 @@ | |||
| 5 | #include <linux/types.h> | 5 | #include <linux/types.h> |
| 6 | #include <linux/stddef.h> | 6 | #include <linux/stddef.h> |
| 7 | 7 | ||
| 8 | #define MTRRcap_MSR 0x0fe | ||
| 9 | #define MTRRdefType_MSR 0x2ff | ||
| 10 | |||
| 11 | #define MTRRfix64K_00000_MSR 0x250 | ||
| 12 | #define MTRRfix16K_80000_MSR 0x258 | ||
| 13 | #define MTRRfix16K_A0000_MSR 0x259 | ||
| 14 | #define MTRRfix4K_C0000_MSR 0x268 | ||
| 15 | #define MTRRfix4K_C8000_MSR 0x269 | ||
| 16 | #define MTRRfix4K_D0000_MSR 0x26a | ||
| 17 | #define MTRRfix4K_D8000_MSR 0x26b | ||
| 18 | #define MTRRfix4K_E0000_MSR 0x26c | ||
| 19 | #define MTRRfix4K_E8000_MSR 0x26d | ||
| 20 | #define MTRRfix4K_F0000_MSR 0x26e | ||
| 21 | #define MTRRfix4K_F8000_MSR 0x26f | ||
| 22 | |||
| 23 | #define MTRR_CHANGE_MASK_FIXED 0x01 | 8 | #define MTRR_CHANGE_MASK_FIXED 0x01 |
| 24 | #define MTRR_CHANGE_MASK_VARIABLE 0x02 | 9 | #define MTRR_CHANGE_MASK_VARIABLE 0x02 |
| 25 | #define MTRR_CHANGE_MASK_DEFTYPE 0x04 | 10 | #define MTRR_CHANGE_MASK_DEFTYPE 0x04 |
diff --git a/arch/x86/kernel/cpu/mtrr/state.c b/arch/x86/kernel/cpu/mtrr/state.c index 7f7e2753685b..1f5fb1588d1f 100644 --- a/arch/x86/kernel/cpu/mtrr/state.c +++ b/arch/x86/kernel/cpu/mtrr/state.c | |||
| @@ -35,7 +35,7 @@ void set_mtrr_prepare_save(struct set_mtrr_context *ctxt) | |||
| 35 | 35 | ||
| 36 | if (use_intel()) | 36 | if (use_intel()) |
| 37 | /* Save MTRR state */ | 37 | /* Save MTRR state */ |
| 38 | rdmsr(MTRRdefType_MSR, ctxt->deftype_lo, ctxt->deftype_hi); | 38 | rdmsr(MSR_MTRRdefType, ctxt->deftype_lo, ctxt->deftype_hi); |
| 39 | else | 39 | else |
| 40 | /* Cyrix ARRs - everything else were excluded at the top */ | 40 | /* Cyrix ARRs - everything else were excluded at the top */ |
| 41 | ctxt->ccr3 = getCx86(CX86_CCR3); | 41 | ctxt->ccr3 = getCx86(CX86_CCR3); |
| @@ -46,7 +46,7 @@ void set_mtrr_cache_disable(struct set_mtrr_context *ctxt) | |||
| 46 | { | 46 | { |
| 47 | if (use_intel()) | 47 | if (use_intel()) |
| 48 | /* Disable MTRRs, and set the default type to uncached */ | 48 | /* Disable MTRRs, and set the default type to uncached */ |
| 49 | mtrr_wrmsr(MTRRdefType_MSR, ctxt->deftype_lo & 0xf300UL, | 49 | mtrr_wrmsr(MSR_MTRRdefType, ctxt->deftype_lo & 0xf300UL, |
| 50 | ctxt->deftype_hi); | 50 | ctxt->deftype_hi); |
| 51 | else if (is_cpu(CYRIX)) | 51 | else if (is_cpu(CYRIX)) |
| 52 | /* Cyrix ARRs - everything else were excluded at the top */ | 52 | /* Cyrix ARRs - everything else were excluded at the top */ |
| @@ -64,7 +64,7 @@ void set_mtrr_done(struct set_mtrr_context *ctxt) | |||
| 64 | /* Restore MTRRdefType */ | 64 | /* Restore MTRRdefType */ |
| 65 | if (use_intel()) | 65 | if (use_intel()) |
| 66 | /* Intel (P6) standard MTRRs */ | 66 | /* Intel (P6) standard MTRRs */ |
| 67 | mtrr_wrmsr(MTRRdefType_MSR, ctxt->deftype_lo, ctxt->deftype_hi); | 67 | mtrr_wrmsr(MSR_MTRRdefType, ctxt->deftype_lo, ctxt->deftype_hi); |
| 68 | else | 68 | else |
| 69 | /* Cyrix ARRs - everything else was excluded at the top */ | 69 | /* Cyrix ARRs - everything else was excluded at the top */ |
| 70 | setCx86(CX86_CCR3, ctxt->ccr3); | 70 | setCx86(CX86_CCR3, ctxt->ccr3); |
diff --git a/arch/x86/kernel/dumpstack.h b/arch/x86/kernel/dumpstack.h index da87590b8698..81086c227ab7 100644 --- a/arch/x86/kernel/dumpstack.h +++ b/arch/x86/kernel/dumpstack.h | |||
| @@ -29,7 +29,6 @@ show_stack_log_lvl(struct task_struct *task, struct pt_regs *regs, | |||
| 29 | unsigned long *sp, unsigned long bp, char *log_lvl); | 29 | unsigned long *sp, unsigned long bp, char *log_lvl); |
| 30 | 30 | ||
| 31 | extern unsigned int code_bytes; | 31 | extern unsigned int code_bytes; |
| 32 | extern int kstack_depth_to_print; | ||
| 33 | 32 | ||
| 34 | /* The form of the top of the frame on the stack */ | 33 | /* The form of the top of the frame on the stack */ |
| 35 | struct stack_frame { | 34 | struct stack_frame { |
diff --git a/arch/x86/kernel/early-quirks.c b/arch/x86/kernel/early-quirks.c index 76b8cd953dee..ebdb85cf2686 100644 --- a/arch/x86/kernel/early-quirks.c +++ b/arch/x86/kernel/early-quirks.c | |||
| @@ -97,6 +97,7 @@ static void __init nvidia_bugs(int num, int slot, int func) | |||
| 97 | } | 97 | } |
| 98 | 98 | ||
| 99 | #if defined(CONFIG_ACPI) && defined(CONFIG_X86_IO_APIC) | 99 | #if defined(CONFIG_ACPI) && defined(CONFIG_X86_IO_APIC) |
| 100 | #if defined(CONFIG_ACPI) && defined(CONFIG_X86_IO_APIC) | ||
| 100 | static u32 __init ati_ixp4x0_rev(int num, int slot, int func) | 101 | static u32 __init ati_ixp4x0_rev(int num, int slot, int func) |
| 101 | { | 102 | { |
| 102 | u32 d; | 103 | u32 d; |
| @@ -114,6 +115,7 @@ static u32 __init ati_ixp4x0_rev(int num, int slot, int func) | |||
| 114 | d &= 0xff; | 115 | d &= 0xff; |
| 115 | return d; | 116 | return d; |
| 116 | } | 117 | } |
| 118 | #endif | ||
| 117 | 119 | ||
| 118 | static void __init ati_bugs(int num, int slot, int func) | 120 | static void __init ati_bugs(int num, int slot, int func) |
| 119 | { | 121 | { |
diff --git a/arch/x86/kernel/irq.c b/arch/x86/kernel/irq.c index c1739ac29708..9a391bbb8ba8 100644 --- a/arch/x86/kernel/irq.c +++ b/arch/x86/kernel/irq.c | |||
| @@ -12,6 +12,7 @@ | |||
| 12 | #include <asm/io_apic.h> | 12 | #include <asm/io_apic.h> |
| 13 | #include <asm/irq.h> | 13 | #include <asm/irq.h> |
| 14 | #include <asm/idle.h> | 14 | #include <asm/idle.h> |
| 15 | #include <asm/hw_irq.h> | ||
| 15 | 16 | ||
| 16 | atomic_t irq_err_count; | 17 | atomic_t irq_err_count; |
| 17 | 18 | ||
diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c index ca989158e847..3e21e38d7e37 100644 --- a/arch/x86/kernel/process.c +++ b/arch/x86/kernel/process.c | |||
| @@ -11,6 +11,7 @@ | |||
| 11 | #include <trace/power.h> | 11 | #include <trace/power.h> |
| 12 | #include <asm/system.h> | 12 | #include <asm/system.h> |
| 13 | #include <asm/apic.h> | 13 | #include <asm/apic.h> |
| 14 | #include <asm/syscalls.h> | ||
| 14 | #include <asm/idle.h> | 15 | #include <asm/idle.h> |
| 15 | #include <asm/uaccess.h> | 16 | #include <asm/uaccess.h> |
| 16 | #include <asm/i387.h> | 17 | #include <asm/i387.h> |
diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c index d57de05dc430..84d27356c3d0 100644 --- a/arch/x86/kernel/tsc.c +++ b/arch/x86/kernel/tsc.c | |||
| @@ -384,13 +384,13 @@ unsigned long native_calibrate_tsc(void) | |||
| 384 | { | 384 | { |
| 385 | u64 tsc1, tsc2, delta, ref1, ref2; | 385 | u64 tsc1, tsc2, delta, ref1, ref2; |
| 386 | unsigned long tsc_pit_min = ULONG_MAX, tsc_ref_min = ULONG_MAX; | 386 | unsigned long tsc_pit_min = ULONG_MAX, tsc_ref_min = ULONG_MAX; |
| 387 | unsigned long flags, latch, ms, fast_calibrate, tsc_khz; | 387 | unsigned long flags, latch, ms, fast_calibrate, hv_tsc_khz; |
| 388 | int hpet = is_hpet_enabled(), i, loopmin; | 388 | int hpet = is_hpet_enabled(), i, loopmin; |
| 389 | 389 | ||
| 390 | tsc_khz = get_hypervisor_tsc_freq(); | 390 | hv_tsc_khz = get_hypervisor_tsc_freq(); |
| 391 | if (tsc_khz) { | 391 | if (hv_tsc_khz) { |
| 392 | printk(KERN_INFO "TSC: Frequency read from the hypervisor\n"); | 392 | printk(KERN_INFO "TSC: Frequency read from the hypervisor\n"); |
| 393 | return tsc_khz; | 393 | return hv_tsc_khz; |
| 394 | } | 394 | } |
| 395 | 395 | ||
| 396 | local_irq_save(flags); | 396 | local_irq_save(flags); |
diff --git a/arch/x86/kernel/tsc_sync.c b/arch/x86/kernel/tsc_sync.c index bf36328f6ef9..027b5b498993 100644 --- a/arch/x86/kernel/tsc_sync.c +++ b/arch/x86/kernel/tsc_sync.c | |||
| @@ -34,6 +34,7 @@ static __cpuinitdata atomic_t stop_count; | |||
| 34 | * of a critical section, to be able to prove TSC time-warps: | 34 | * of a critical section, to be able to prove TSC time-warps: |
| 35 | */ | 35 | */ |
| 36 | static __cpuinitdata raw_spinlock_t sync_lock = __RAW_SPIN_LOCK_UNLOCKED; | 36 | static __cpuinitdata raw_spinlock_t sync_lock = __RAW_SPIN_LOCK_UNLOCKED; |
| 37 | |||
| 37 | static __cpuinitdata cycles_t last_tsc; | 38 | static __cpuinitdata cycles_t last_tsc; |
| 38 | static __cpuinitdata cycles_t max_warp; | 39 | static __cpuinitdata cycles_t max_warp; |
| 39 | static __cpuinitdata int nr_warps; | 40 | static __cpuinitdata int nr_warps; |
| @@ -113,13 +114,12 @@ void __cpuinit check_tsc_sync_source(int cpu) | |||
| 113 | return; | 114 | return; |
| 114 | 115 | ||
| 115 | if (boot_cpu_has(X86_FEATURE_TSC_RELIABLE)) { | 116 | if (boot_cpu_has(X86_FEATURE_TSC_RELIABLE)) { |
| 116 | printk(KERN_INFO | 117 | pr_info("Skipping synchronization checks as TSC is reliable.\n"); |
| 117 | "Skipping synchronization checks as TSC is reliable.\n"); | ||
| 118 | return; | 118 | return; |
| 119 | } | 119 | } |
| 120 | 120 | ||
| 121 | printk(KERN_INFO "checking TSC synchronization [CPU#%d -> CPU#%d]:", | 121 | pr_info("checking TSC synchronization [CPU#%d -> CPU#%d]:", |
| 122 | smp_processor_id(), cpu); | 122 | smp_processor_id(), cpu); |
| 123 | 123 | ||
| 124 | /* | 124 | /* |
| 125 | * Reset it - in case this is a second bootup: | 125 | * Reset it - in case this is a second bootup: |
| @@ -143,8 +143,8 @@ void __cpuinit check_tsc_sync_source(int cpu) | |||
| 143 | 143 | ||
| 144 | if (nr_warps) { | 144 | if (nr_warps) { |
| 145 | printk("\n"); | 145 | printk("\n"); |
| 146 | printk(KERN_WARNING "Measured %Ld cycles TSC warp between CPUs," | 146 | pr_warning("Measured %Ld cycles TSC warp between CPUs, " |
| 147 | " turning off TSC clock.\n", max_warp); | 147 | "turning off TSC clock.\n", max_warp); |
| 148 | mark_tsc_unstable("check_tsc_sync_source failed"); | 148 | mark_tsc_unstable("check_tsc_sync_source failed"); |
| 149 | } else { | 149 | } else { |
| 150 | printk(" passed.\n"); | 150 | printk(" passed.\n"); |
| @@ -195,5 +195,3 @@ void __cpuinit check_tsc_sync_target(void) | |||
| 195 | while (atomic_read(&stop_count) != cpus) | 195 | while (atomic_read(&stop_count) != cpus) |
| 196 | cpu_relax(); | 196 | cpu_relax(); |
| 197 | } | 197 | } |
| 198 | #undef NR_LOOPS | ||
| 199 | |||
diff --git a/arch/x86/kernel/vm86_32.c b/arch/x86/kernel/vm86_32.c index d7ac84e7fc1c..b8035a0f4048 100644 --- a/arch/x86/kernel/vm86_32.c +++ b/arch/x86/kernel/vm86_32.c | |||
| @@ -318,9 +318,9 @@ static void do_sys_vm86(struct kernel_vm86_struct *info, struct task_struct *tsk | |||
| 318 | } | 318 | } |
| 319 | 319 | ||
| 320 | /* | 320 | /* |
| 321 | * Save old state, set default return value (%ax) to 0 | 321 | * Save old state, set default return value (%ax) to 0 (VM86_SIGNAL) |
| 322 | */ | 322 | */ |
| 323 | info->regs32->ax = 0; | 323 | info->regs32->ax = VM86_SIGNAL; |
| 324 | tsk->thread.saved_sp0 = tsk->thread.sp0; | 324 | tsk->thread.saved_sp0 = tsk->thread.sp0; |
| 325 | tsk->thread.saved_fs = info->regs32->fs; | 325 | tsk->thread.saved_fs = info->regs32->fs; |
| 326 | tsk->thread.saved_gs = get_user_gs(info->regs32); | 326 | tsk->thread.saved_gs = get_user_gs(info->regs32); |
diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c index ae4f7b5d7104..4b98df0973b9 100644 --- a/arch/x86/mm/init.c +++ b/arch/x86/mm/init.c | |||
| @@ -1,3 +1,4 @@ | |||
| 1 | #include <linux/initrd.h> | ||
| 1 | #include <linux/ioport.h> | 2 | #include <linux/ioport.h> |
| 2 | #include <linux/swap.h> | 3 | #include <linux/swap.h> |
| 3 | 4 | ||
diff --git a/arch/x86/vdso/vma.c b/arch/x86/vdso/vma.c index 7133cdf9098b..cac083386e03 100644 --- a/arch/x86/vdso/vma.c +++ b/arch/x86/vdso/vma.c | |||
| @@ -8,6 +8,7 @@ | |||
| 8 | #include <linux/sched.h> | 8 | #include <linux/sched.h> |
| 9 | #include <linux/init.h> | 9 | #include <linux/init.h> |
| 10 | #include <linux/random.h> | 10 | #include <linux/random.h> |
| 11 | #include <linux/elf.h> | ||
| 11 | #include <asm/vsyscall.h> | 12 | #include <asm/vsyscall.h> |
| 12 | #include <asm/vgtod.h> | 13 | #include <asm/vgtod.h> |
| 13 | #include <asm/proto.h> | 14 | #include <asm/proto.h> |
