diff options
Diffstat (limited to 'arch')
290 files changed, 397 insertions, 653 deletions
diff --git a/arch/alpha/Kconfig.debug b/arch/alpha/Kconfig.debug index 36d0106c32eb..f45f28cc10da 100644 --- a/arch/alpha/Kconfig.debug +++ b/arch/alpha/Kconfig.debug | |||
@@ -16,14 +16,6 @@ config DEBUG_RWLOCK | |||
16 | too many attempts. If you suspect a rwlock problem or a kernel | 16 | too many attempts. If you suspect a rwlock problem or a kernel |
17 | hacker asks for this option then say Y. Otherwise say N. | 17 | hacker asks for this option then say Y. Otherwise say N. |
18 | 18 | ||
19 | config DEBUG_SEMAPHORE | ||
20 | bool "Semaphore debugging" | ||
21 | depends on DEBUG_KERNEL | ||
22 | help | ||
23 | If you say Y here then semaphore processing will issue lots of | ||
24 | verbose debugging messages. If you suspect a semaphore problem or a | ||
25 | kernel hacker asks for this option then say Y. Otherwise say N. | ||
26 | |||
27 | config ALPHA_LEGACY_START_ADDRESS | 19 | config ALPHA_LEGACY_START_ADDRESS |
28 | bool "Legacy kernel start address" | 20 | bool "Legacy kernel start address" |
29 | depends on ALPHA_GENERIC | 21 | depends on ALPHA_GENERIC |
diff --git a/arch/alpha/kernel/osf_sys.c b/arch/alpha/kernel/osf_sys.c index ea405f5713ce..ce857158c1ea 100644 --- a/arch/alpha/kernel/osf_sys.c +++ b/arch/alpha/kernel/osf_sys.c | |||
@@ -953,15 +953,25 @@ osf_setitimer(int which, struct itimerval32 __user *in, struct itimerval32 __use | |||
953 | asmlinkage int | 953 | asmlinkage int |
954 | osf_utimes(char __user *filename, struct timeval32 __user *tvs) | 954 | osf_utimes(char __user *filename, struct timeval32 __user *tvs) |
955 | { | 955 | { |
956 | struct timeval ktvs[2]; | 956 | struct timespec tv[2]; |
957 | 957 | ||
958 | if (tvs) { | 958 | if (tvs) { |
959 | struct timeval ktvs[2]; | ||
959 | if (get_tv32(&ktvs[0], &tvs[0]) || | 960 | if (get_tv32(&ktvs[0], &tvs[0]) || |
960 | get_tv32(&ktvs[1], &tvs[1])) | 961 | get_tv32(&ktvs[1], &tvs[1])) |
961 | return -EFAULT; | 962 | return -EFAULT; |
963 | |||
964 | if (ktvs[0].tv_usec < 0 || ktvs[0].tv_usec >= 1000000 || | ||
965 | ktvs[1].tv_usec < 0 || ktvs[1].tv_usec >= 1000000) | ||
966 | return -EINVAL; | ||
967 | |||
968 | tv[0].tv_sec = ktvs[0].tv_sec; | ||
969 | tv[0].tv_nsec = 1000 * ktvs[0].tv_usec; | ||
970 | tv[1].tv_sec = ktvs[1].tv_sec; | ||
971 | tv[1].tv_nsec = 1000 * ktvs[1].tv_usec; | ||
962 | } | 972 | } |
963 | 973 | ||
964 | return do_utimes(AT_FDCWD, filename, tvs ? ktvs : NULL); | 974 | return do_utimes(AT_FDCWD, filename, tvs ? tv : NULL, 0); |
965 | } | 975 | } |
966 | 976 | ||
967 | #define MAX_SELECT_SECONDS \ | 977 | #define MAX_SELECT_SECONDS \ |
diff --git a/arch/alpha/kernel/process.c b/arch/alpha/kernel/process.c index c15186390693..92b61629fe3f 100644 --- a/arch/alpha/kernel/process.c +++ b/arch/alpha/kernel/process.c | |||
@@ -14,7 +14,6 @@ | |||
14 | #include <linux/kernel.h> | 14 | #include <linux/kernel.h> |
15 | #include <linux/mm.h> | 15 | #include <linux/mm.h> |
16 | #include <linux/smp.h> | 16 | #include <linux/smp.h> |
17 | #include <linux/smp_lock.h> | ||
18 | #include <linux/stddef.h> | 17 | #include <linux/stddef.h> |
19 | #include <linux/unistd.h> | 18 | #include <linux/unistd.h> |
20 | #include <linux/ptrace.h> | 19 | #include <linux/ptrace.h> |
diff --git a/arch/alpha/kernel/setup.c b/arch/alpha/kernel/setup.c index d352c2b05f1a..915f26345c45 100644 --- a/arch/alpha/kernel/setup.c +++ b/arch/alpha/kernel/setup.c | |||
@@ -744,15 +744,6 @@ setup_arch(char **cmdline_p) | |||
744 | paging_init(); | 744 | paging_init(); |
745 | } | 745 | } |
746 | 746 | ||
747 | void __init | ||
748 | disable_early_printk(void) | ||
749 | { | ||
750 | if (alpha_using_srm && srmcons_output) { | ||
751 | unregister_srm_console(); | ||
752 | srmcons_output = 0; | ||
753 | } | ||
754 | } | ||
755 | |||
756 | static char sys_unknown[] = "Unknown"; | 747 | static char sys_unknown[] = "Unknown"; |
757 | static char systype_names[][16] = { | 748 | static char systype_names[][16] = { |
758 | "0", | 749 | "0", |
diff --git a/arch/alpha/kernel/signal.c b/arch/alpha/kernel/signal.c index 741da0945dc4..7f64aa767d5a 100644 --- a/arch/alpha/kernel/signal.c +++ b/arch/alpha/kernel/signal.c | |||
@@ -15,7 +15,6 @@ | |||
15 | #include <linux/unistd.h> | 15 | #include <linux/unistd.h> |
16 | #include <linux/mm.h> | 16 | #include <linux/mm.h> |
17 | #include <linux/smp.h> | 17 | #include <linux/smp.h> |
18 | #include <linux/smp_lock.h> | ||
19 | #include <linux/stddef.h> | 18 | #include <linux/stddef.h> |
20 | #include <linux/tty.h> | 19 | #include <linux/tty.h> |
21 | #include <linux/binfmts.h> | 20 | #include <linux/binfmts.h> |
diff --git a/arch/alpha/kernel/smp.c b/arch/alpha/kernel/smp.c index d1ec4f51df1a..80cfb758ee2b 100644 --- a/arch/alpha/kernel/smp.c +++ b/arch/alpha/kernel/smp.c | |||
@@ -18,7 +18,6 @@ | |||
18 | #include <linux/mm.h> | 18 | #include <linux/mm.h> |
19 | #include <linux/threads.h> | 19 | #include <linux/threads.h> |
20 | #include <linux/smp.h> | 20 | #include <linux/smp.h> |
21 | #include <linux/smp_lock.h> | ||
22 | #include <linux/interrupt.h> | 21 | #include <linux/interrupt.h> |
23 | #include <linux/init.h> | 22 | #include <linux/init.h> |
24 | #include <linux/delay.h> | 23 | #include <linux/delay.h> |
diff --git a/arch/alpha/kernel/srmcons.c b/arch/alpha/kernel/srmcons.c index 85a821aaceb4..930cedc8be24 100644 --- a/arch/alpha/kernel/srmcons.c +++ b/arch/alpha/kernel/srmcons.c | |||
@@ -300,7 +300,7 @@ static struct console srmcons = { | |||
300 | .write = srm_console_write, | 300 | .write = srm_console_write, |
301 | .device = srm_console_device, | 301 | .device = srm_console_device, |
302 | .setup = srm_console_setup, | 302 | .setup = srm_console_setup, |
303 | .flags = CON_PRINTBUFFER, | 303 | .flags = CON_PRINTBUFFER | CON_BOOT, |
304 | .index = -1, | 304 | .index = -1, |
305 | }; | 305 | }; |
306 | 306 | ||
diff --git a/arch/alpha/mm/fault.c b/arch/alpha/mm/fault.c index 8aa9db834c11..f5862792a167 100644 --- a/arch/alpha/mm/fault.c +++ b/arch/alpha/mm/fault.c | |||
@@ -21,7 +21,6 @@ | |||
21 | #include <linux/ptrace.h> | 21 | #include <linux/ptrace.h> |
22 | #include <linux/mman.h> | 22 | #include <linux/mman.h> |
23 | #include <linux/smp.h> | 23 | #include <linux/smp.h> |
24 | #include <linux/smp_lock.h> | ||
25 | #include <linux/interrupt.h> | 24 | #include <linux/interrupt.h> |
26 | #include <linux/module.h> | 25 | #include <linux/module.h> |
27 | 26 | ||
diff --git a/arch/arm/kernel/ptrace.c b/arch/arm/kernel/ptrace.c index 13af4006a40f..6f2f46c2e406 100644 --- a/arch/arm/kernel/ptrace.c +++ b/arch/arm/kernel/ptrace.c | |||
@@ -13,7 +13,6 @@ | |||
13 | #include <linux/sched.h> | 13 | #include <linux/sched.h> |
14 | #include <linux/mm.h> | 14 | #include <linux/mm.h> |
15 | #include <linux/smp.h> | 15 | #include <linux/smp.h> |
16 | #include <linux/smp_lock.h> | ||
17 | #include <linux/ptrace.h> | 16 | #include <linux/ptrace.h> |
18 | #include <linux/user.h> | 17 | #include <linux/user.h> |
19 | #include <linux/security.h> | 18 | #include <linux/security.h> |
diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c index f05e66b0f868..10ff36e4e414 100644 --- a/arch/arm/kernel/traps.c +++ b/arch/arm/kernel/traps.c | |||
@@ -245,8 +245,8 @@ NORET_TYPE void die(const char *str, struct pt_regs *regs, int err) | |||
245 | do_exit(SIGSEGV); | 245 | do_exit(SIGSEGV); |
246 | } | 246 | } |
247 | 247 | ||
248 | void notify_die(const char *str, struct pt_regs *regs, struct siginfo *info, | 248 | void arm_notify_die(const char *str, struct pt_regs *regs, |
249 | unsigned long err, unsigned long trap) | 249 | struct siginfo *info, unsigned long err, unsigned long trap) |
250 | { | 250 | { |
251 | if (user_mode(regs)) { | 251 | if (user_mode(regs)) { |
252 | current->thread.error_code = err; | 252 | current->thread.error_code = err; |
@@ -330,7 +330,7 @@ asmlinkage void __exception do_undefinstr(struct pt_regs *regs) | |||
330 | info.si_code = ILL_ILLOPC; | 330 | info.si_code = ILL_ILLOPC; |
331 | info.si_addr = pc; | 331 | info.si_addr = pc; |
332 | 332 | ||
333 | notify_die("Oops - undefined instruction", regs, &info, 0, 6); | 333 | arm_notify_die("Oops - undefined instruction", regs, &info, 0, 6); |
334 | } | 334 | } |
335 | 335 | ||
336 | asmlinkage void do_unexp_fiq (struct pt_regs *regs) | 336 | asmlinkage void do_unexp_fiq (struct pt_regs *regs) |
@@ -384,7 +384,7 @@ static int bad_syscall(int n, struct pt_regs *regs) | |||
384 | info.si_addr = (void __user *)instruction_pointer(regs) - | 384 | info.si_addr = (void __user *)instruction_pointer(regs) - |
385 | (thumb_mode(regs) ? 2 : 4); | 385 | (thumb_mode(regs) ? 2 : 4); |
386 | 386 | ||
387 | notify_die("Oops - bad syscall", regs, &info, n, 0); | 387 | arm_notify_die("Oops - bad syscall", regs, &info, n, 0); |
388 | 388 | ||
389 | return regs->ARM_r0; | 389 | return regs->ARM_r0; |
390 | } | 390 | } |
@@ -428,7 +428,7 @@ asmlinkage int arm_syscall(int no, struct pt_regs *regs) | |||
428 | info.si_code = SEGV_MAPERR; | 428 | info.si_code = SEGV_MAPERR; |
429 | info.si_addr = NULL; | 429 | info.si_addr = NULL; |
430 | 430 | ||
431 | notify_die("branch through zero", regs, &info, 0, 0); | 431 | arm_notify_die("branch through zero", regs, &info, 0, 0); |
432 | return 0; | 432 | return 0; |
433 | 433 | ||
434 | case NR(breakpoint): /* SWI BREAK_POINT */ | 434 | case NR(breakpoint): /* SWI BREAK_POINT */ |
@@ -564,7 +564,7 @@ asmlinkage int arm_syscall(int no, struct pt_regs *regs) | |||
564 | info.si_addr = (void __user *)instruction_pointer(regs) - | 564 | info.si_addr = (void __user *)instruction_pointer(regs) - |
565 | (thumb_mode(regs) ? 2 : 4); | 565 | (thumb_mode(regs) ? 2 : 4); |
566 | 566 | ||
567 | notify_die("Oops - bad syscall(2)", regs, &info, no, 0); | 567 | arm_notify_die("Oops - bad syscall(2)", regs, &info, no, 0); |
568 | return 0; | 568 | return 0; |
569 | } | 569 | } |
570 | 570 | ||
@@ -638,7 +638,7 @@ baddataabort(int code, unsigned long instr, struct pt_regs *regs) | |||
638 | info.si_code = ILL_ILLOPC; | 638 | info.si_code = ILL_ILLOPC; |
639 | info.si_addr = (void __user *)addr; | 639 | info.si_addr = (void __user *)addr; |
640 | 640 | ||
641 | notify_die("unknown data abort code", regs, &info, instr, 0); | 641 | arm_notify_die("unknown data abort code", regs, &info, instr, 0); |
642 | } | 642 | } |
643 | 643 | ||
644 | void __attribute__((noreturn)) __bug(const char *file, int line) | 644 | void __attribute__((noreturn)) __bug(const char *file, int line) |
diff --git a/arch/arm/mach-aaec2000/core.c b/arch/arm/mach-aaec2000/core.c index a950160fcfb6..0446ef2f5bd6 100644 --- a/arch/arm/mach-aaec2000/core.c +++ b/arch/arm/mach-aaec2000/core.c | |||
@@ -142,7 +142,7 @@ aaec2000_timer_interrupt(int irq, void *dev_id) | |||
142 | 142 | ||
143 | static struct irqaction aaec2000_timer_irq = { | 143 | static struct irqaction aaec2000_timer_irq = { |
144 | .name = "AAEC-2000 Timer Tick", | 144 | .name = "AAEC-2000 Timer Tick", |
145 | .flags = IRQF_DISABLED | IRQF_TIMER, | 145 | .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, |
146 | .handler = aaec2000_timer_interrupt, | 146 | .handler = aaec2000_timer_interrupt, |
147 | }; | 147 | }; |
148 | 148 | ||
diff --git a/arch/arm/mach-at91/at91rm9200_time.c b/arch/arm/mach-at91/at91rm9200_time.c index 949199a244c7..a6340357585d 100644 --- a/arch/arm/mach-at91/at91rm9200_time.c +++ b/arch/arm/mach-at91/at91rm9200_time.c | |||
@@ -87,7 +87,7 @@ static irqreturn_t at91rm9200_timer_interrupt(int irq, void *dev_id) | |||
87 | 87 | ||
88 | static struct irqaction at91rm9200_timer_irq = { | 88 | static struct irqaction at91rm9200_timer_irq = { |
89 | .name = "at91_tick", | 89 | .name = "at91_tick", |
90 | .flags = IRQF_SHARED | IRQF_DISABLED | IRQF_TIMER, | 90 | .flags = IRQF_SHARED | IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, |
91 | .handler = at91rm9200_timer_interrupt | 91 | .handler = at91rm9200_timer_interrupt |
92 | }; | 92 | }; |
93 | 93 | ||
diff --git a/arch/arm/mach-at91/at91sam926x_time.c b/arch/arm/mach-at91/at91sam926x_time.c index a4dded27fa16..5c090c9442f5 100644 --- a/arch/arm/mach-at91/at91sam926x_time.c +++ b/arch/arm/mach-at91/at91sam926x_time.c | |||
@@ -66,7 +66,7 @@ static irqreturn_t at91sam926x_timer_interrupt(int irq, void *dev_id) | |||
66 | 66 | ||
67 | static struct irqaction at91sam926x_timer_irq = { | 67 | static struct irqaction at91sam926x_timer_irq = { |
68 | .name = "at91_tick", | 68 | .name = "at91_tick", |
69 | .flags = IRQF_SHARED | IRQF_DISABLED | IRQF_TIMER, | 69 | .flags = IRQF_SHARED | IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, |
70 | .handler = at91sam926x_timer_interrupt | 70 | .handler = at91sam926x_timer_interrupt |
71 | }; | 71 | }; |
72 | 72 | ||
diff --git a/arch/arm/mach-clps711x/time.c b/arch/arm/mach-clps711x/time.c index 428493dd4687..f428af7545b4 100644 --- a/arch/arm/mach-clps711x/time.c +++ b/arch/arm/mach-clps711x/time.c | |||
@@ -58,7 +58,7 @@ p720t_timer_interrupt(int irq, void *dev_id) | |||
58 | 58 | ||
59 | static struct irqaction clps711x_timer_irq = { | 59 | static struct irqaction clps711x_timer_irq = { |
60 | .name = "CLPS711x Timer Tick", | 60 | .name = "CLPS711x Timer Tick", |
61 | .flags = IRQF_DISABLED | IRQF_TIMER, | 61 | .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, |
62 | .handler = p720t_timer_interrupt, | 62 | .handler = p720t_timer_interrupt, |
63 | }; | 63 | }; |
64 | 64 | ||
diff --git a/arch/arm/mach-clps7500/core.c b/arch/arm/mach-clps7500/core.c index 231b90004736..4dde34f25e63 100644 --- a/arch/arm/mach-clps7500/core.c +++ b/arch/arm/mach-clps7500/core.c | |||
@@ -316,7 +316,7 @@ clps7500_timer_interrupt(int irq, void *dev_id) | |||
316 | 316 | ||
317 | static struct irqaction clps7500_timer_irq = { | 317 | static struct irqaction clps7500_timer_irq = { |
318 | .name = "CLPS7500 Timer Tick", | 318 | .name = "CLPS7500 Timer Tick", |
319 | .flags = IRQF_DISABLED | IRQF_TIMER, | 319 | .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, |
320 | .handler = clps7500_timer_interrupt, | 320 | .handler = clps7500_timer_interrupt, |
321 | }; | 321 | }; |
322 | 322 | ||
diff --git a/arch/arm/mach-ebsa110/core.c b/arch/arm/mach-ebsa110/core.c index 8459431cfd71..8c1b5690dfe8 100644 --- a/arch/arm/mach-ebsa110/core.c +++ b/arch/arm/mach-ebsa110/core.c | |||
@@ -199,7 +199,7 @@ ebsa110_timer_interrupt(int irq, void *dev_id) | |||
199 | 199 | ||
200 | static struct irqaction ebsa110_timer_irq = { | 200 | static struct irqaction ebsa110_timer_irq = { |
201 | .name = "EBSA110 Timer Tick", | 201 | .name = "EBSA110 Timer Tick", |
202 | .flags = IRQF_DISABLED | IRQF_TIMER, | 202 | .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, |
203 | .handler = ebsa110_timer_interrupt, | 203 | .handler = ebsa110_timer_interrupt, |
204 | }; | 204 | }; |
205 | 205 | ||
diff --git a/arch/arm/mach-ep93xx/core.c b/arch/arm/mach-ep93xx/core.c index 829aed696d98..851cc7158ca3 100644 --- a/arch/arm/mach-ep93xx/core.c +++ b/arch/arm/mach-ep93xx/core.c | |||
@@ -116,7 +116,7 @@ static int ep93xx_timer_interrupt(int irq, void *dev_id) | |||
116 | 116 | ||
117 | static struct irqaction ep93xx_timer_irq = { | 117 | static struct irqaction ep93xx_timer_irq = { |
118 | .name = "ep93xx timer", | 118 | .name = "ep93xx timer", |
119 | .flags = IRQF_DISABLED | IRQF_TIMER, | 119 | .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, |
120 | .handler = ep93xx_timer_interrupt, | 120 | .handler = ep93xx_timer_interrupt, |
121 | }; | 121 | }; |
122 | 122 | ||
diff --git a/arch/arm/mach-footbridge/dc21285-timer.c b/arch/arm/mach-footbridge/dc21285-timer.c index fa6be870c6c2..3a63941d43be 100644 --- a/arch/arm/mach-footbridge/dc21285-timer.c +++ b/arch/arm/mach-footbridge/dc21285-timer.c | |||
@@ -44,7 +44,7 @@ timer1_interrupt(int irq, void *dev_id) | |||
44 | static struct irqaction footbridge_timer_irq = { | 44 | static struct irqaction footbridge_timer_irq = { |
45 | .name = "Timer1 timer tick", | 45 | .name = "Timer1 timer tick", |
46 | .handler = timer1_interrupt, | 46 | .handler = timer1_interrupt, |
47 | .flags = IRQF_DISABLED | IRQF_TIMER, | 47 | .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, |
48 | }; | 48 | }; |
49 | 49 | ||
50 | /* | 50 | /* |
diff --git a/arch/arm/mach-footbridge/isa-timer.c b/arch/arm/mach-footbridge/isa-timer.c index d884a3954fb4..d08d64139d00 100644 --- a/arch/arm/mach-footbridge/isa-timer.c +++ b/arch/arm/mach-footbridge/isa-timer.c | |||
@@ -73,7 +73,7 @@ isa_timer_interrupt(int irq, void *dev_id) | |||
73 | static struct irqaction isa_timer_irq = { | 73 | static struct irqaction isa_timer_irq = { |
74 | .name = "ISA timer tick", | 74 | .name = "ISA timer tick", |
75 | .handler = isa_timer_interrupt, | 75 | .handler = isa_timer_interrupt, |
76 | .flags = IRQF_DISABLED | IRQF_TIMER, | 76 | .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, |
77 | }; | 77 | }; |
78 | 78 | ||
79 | static void __init isa_timer_init(void) | 79 | static void __init isa_timer_init(void) |
diff --git a/arch/arm/mach-h720x/cpu-h7201.c b/arch/arm/mach-h720x/cpu-h7201.c index 13f76bdb3d9d..9107b8e2ad6e 100644 --- a/arch/arm/mach-h720x/cpu-h7201.c +++ b/arch/arm/mach-h720x/cpu-h7201.c | |||
@@ -41,7 +41,7 @@ h7201_timer_interrupt(int irq, void *dev_id) | |||
41 | 41 | ||
42 | static struct irqaction h7201_timer_irq = { | 42 | static struct irqaction h7201_timer_irq = { |
43 | .name = "h7201 Timer Tick", | 43 | .name = "h7201 Timer Tick", |
44 | .flags = IRQF_DISABLED | IRQF_TIMER, | 44 | .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, |
45 | .handler = h7201_timer_interrupt, | 45 | .handler = h7201_timer_interrupt, |
46 | }; | 46 | }; |
47 | 47 | ||
diff --git a/arch/arm/mach-h720x/cpu-h7202.c b/arch/arm/mach-h720x/cpu-h7202.c index 703870f30adf..82e420d6fd19 100644 --- a/arch/arm/mach-h720x/cpu-h7202.c +++ b/arch/arm/mach-h720x/cpu-h7202.c | |||
@@ -170,7 +170,7 @@ static struct irq_chip h7202_timerx_chip = { | |||
170 | 170 | ||
171 | static struct irqaction h7202_timer_irq = { | 171 | static struct irqaction h7202_timer_irq = { |
172 | .name = "h7202 Timer Tick", | 172 | .name = "h7202 Timer Tick", |
173 | .flags = IRQF_DISABLED | IRQF_TIMER, | 173 | .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, |
174 | .handler = h7202_timer_interrupt, | 174 | .handler = h7202_timer_interrupt, |
175 | }; | 175 | }; |
176 | 176 | ||
diff --git a/arch/arm/mach-imx/time.c b/arch/arm/mach-imx/time.c index 2703a730baf7..6960a9d04217 100644 --- a/arch/arm/mach-imx/time.c +++ b/arch/arm/mach-imx/time.c | |||
@@ -56,7 +56,7 @@ imx_timer_interrupt(int irq, void *dev_id) | |||
56 | 56 | ||
57 | static struct irqaction imx_timer_irq = { | 57 | static struct irqaction imx_timer_irq = { |
58 | .name = "i.MX Timer Tick", | 58 | .name = "i.MX Timer Tick", |
59 | .flags = IRQF_DISABLED | IRQF_TIMER, | 59 | .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, |
60 | .handler = imx_timer_interrupt, | 60 | .handler = imx_timer_interrupt, |
61 | }; | 61 | }; |
62 | 62 | ||
diff --git a/arch/arm/mach-integrator/core.c b/arch/arm/mach-integrator/core.c index 8d880cb9ba39..897c21c2fb5b 100644 --- a/arch/arm/mach-integrator/core.c +++ b/arch/arm/mach-integrator/core.c | |||
@@ -282,7 +282,7 @@ integrator_timer_interrupt(int irq, void *dev_id) | |||
282 | 282 | ||
283 | static struct irqaction integrator_timer_irq = { | 283 | static struct irqaction integrator_timer_irq = { |
284 | .name = "Integrator Timer Tick", | 284 | .name = "Integrator Timer Tick", |
285 | .flags = IRQF_DISABLED | IRQF_TIMER, | 285 | .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, |
286 | .handler = integrator_timer_interrupt, | 286 | .handler = integrator_timer_interrupt, |
287 | }; | 287 | }; |
288 | 288 | ||
diff --git a/arch/arm/mach-ixp2000/core.c b/arch/arm/mach-ixp2000/core.c index 9cf2498dc99e..cb6ad211887a 100644 --- a/arch/arm/mach-ixp2000/core.c +++ b/arch/arm/mach-ixp2000/core.c | |||
@@ -224,7 +224,7 @@ static int ixp2000_timer_interrupt(int irq, void *dev_id) | |||
224 | 224 | ||
225 | static struct irqaction ixp2000_timer_irq = { | 225 | static struct irqaction ixp2000_timer_irq = { |
226 | .name = "IXP2000 Timer Tick", | 226 | .name = "IXP2000 Timer Tick", |
227 | .flags = IRQF_DISABLED | IRQF_TIMER, | 227 | .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, |
228 | .handler = ixp2000_timer_interrupt, | 228 | .handler = ixp2000_timer_interrupt, |
229 | }; | 229 | }; |
230 | 230 | ||
diff --git a/arch/arm/mach-ixp23xx/core.c b/arch/arm/mach-ixp23xx/core.c index ce6ad635a00c..b644bbab7d0a 100644 --- a/arch/arm/mach-ixp23xx/core.c +++ b/arch/arm/mach-ixp23xx/core.c | |||
@@ -363,7 +363,7 @@ ixp23xx_timer_interrupt(int irq, void *dev_id) | |||
363 | static struct irqaction ixp23xx_timer_irq = { | 363 | static struct irqaction ixp23xx_timer_irq = { |
364 | .name = "IXP23xx Timer Tick", | 364 | .name = "IXP23xx Timer Tick", |
365 | .handler = ixp23xx_timer_interrupt, | 365 | .handler = ixp23xx_timer_interrupt, |
366 | .flags = IRQF_DISABLED | IRQF_TIMER, | 366 | .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, |
367 | }; | 367 | }; |
368 | 368 | ||
369 | void __init ixp23xx_init_timer(void) | 369 | void __init ixp23xx_init_timer(void) |
diff --git a/arch/arm/mach-ixp4xx/common.c b/arch/arm/mach-ixp4xx/common.c index f5cae1e46b7e..64685da1462d 100644 --- a/arch/arm/mach-ixp4xx/common.c +++ b/arch/arm/mach-ixp4xx/common.c | |||
@@ -279,7 +279,7 @@ static irqreturn_t ixp4xx_timer_interrupt(int irq, void *dev_id) | |||
279 | 279 | ||
280 | static struct irqaction ixp4xx_timer_irq = { | 280 | static struct irqaction ixp4xx_timer_irq = { |
281 | .name = "timer1", | 281 | .name = "timer1", |
282 | .flags = IRQF_DISABLED | IRQF_TIMER, | 282 | .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, |
283 | .handler = ixp4xx_timer_interrupt, | 283 | .handler = ixp4xx_timer_interrupt, |
284 | }; | 284 | }; |
285 | 285 | ||
diff --git a/arch/arm/mach-lh7a40x/time.c b/arch/arm/mach-lh7a40x/time.c index bef3c4b68d3b..c25316d02537 100644 --- a/arch/arm/mach-lh7a40x/time.c +++ b/arch/arm/mach-lh7a40x/time.c | |||
@@ -53,7 +53,7 @@ lh7a40x_timer_interrupt(int irq, void *dev_id) | |||
53 | 53 | ||
54 | static struct irqaction lh7a40x_timer_irq = { | 54 | static struct irqaction lh7a40x_timer_irq = { |
55 | .name = "LHA740x Timer Tick", | 55 | .name = "LHA740x Timer Tick", |
56 | .flags = IRQF_DISABLED | IRQF_TIMER, | 56 | .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, |
57 | .handler = lh7a40x_timer_interrupt, | 57 | .handler = lh7a40x_timer_interrupt, |
58 | }; | 58 | }; |
59 | 59 | ||
diff --git a/arch/arm/mach-netx/time.c b/arch/arm/mach-netx/time.c index 7e132fcccd47..4762e207b0bf 100644 --- a/arch/arm/mach-netx/time.c +++ b/arch/arm/mach-netx/time.c | |||
@@ -47,7 +47,7 @@ netx_timer_interrupt(int irq, void *dev_id) | |||
47 | 47 | ||
48 | static struct irqaction netx_timer_irq = { | 48 | static struct irqaction netx_timer_irq = { |
49 | .name = "NetX Timer Tick", | 49 | .name = "NetX Timer Tick", |
50 | .flags = IRQF_DISABLED | IRQF_TIMER, | 50 | .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, |
51 | .handler = netx_timer_interrupt, | 51 | .handler = netx_timer_interrupt, |
52 | }; | 52 | }; |
53 | 53 | ||
diff --git a/arch/arm/mach-ns9xxx/time.c b/arch/arm/mach-ns9xxx/time.c index eec05f18714a..dd257084441c 100644 --- a/arch/arm/mach-ns9xxx/time.c +++ b/arch/arm/mach-ns9xxx/time.c | |||
@@ -53,7 +53,7 @@ static unsigned long ns9xxx_timer_gettimeoffset(void) | |||
53 | 53 | ||
54 | static struct irqaction ns9xxx_timer_irq = { | 54 | static struct irqaction ns9xxx_timer_irq = { |
55 | .name = "NS9xxx Timer Tick", | 55 | .name = "NS9xxx Timer Tick", |
56 | .flags = IRQF_DISABLED | IRQF_TIMER, | 56 | .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, |
57 | .handler = ns9xxx_timer_interrupt, | 57 | .handler = ns9xxx_timer_interrupt, |
58 | }; | 58 | }; |
59 | 59 | ||
diff --git a/arch/arm/mach-omap1/time.c b/arch/arm/mach-omap1/time.c index 85e048b259f5..3705d20c4e5c 100644 --- a/arch/arm/mach-omap1/time.c +++ b/arch/arm/mach-omap1/time.c | |||
@@ -179,7 +179,7 @@ static irqreturn_t omap_mpu_timer1_interrupt(int irq, void *dev_id) | |||
179 | 179 | ||
180 | static struct irqaction omap_mpu_timer1_irq = { | 180 | static struct irqaction omap_mpu_timer1_irq = { |
181 | .name = "mpu_timer1", | 181 | .name = "mpu_timer1", |
182 | .flags = IRQF_DISABLED | IRQF_TIMER, | 182 | .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, |
183 | .handler = omap_mpu_timer1_interrupt, | 183 | .handler = omap_mpu_timer1_interrupt, |
184 | }; | 184 | }; |
185 | 185 | ||
diff --git a/arch/arm/mach-omap2/timer-gp.c b/arch/arm/mach-omap2/timer-gp.c index 45d1aaa51b57..62e801ef9ad9 100644 --- a/arch/arm/mach-omap2/timer-gp.c +++ b/arch/arm/mach-omap2/timer-gp.c | |||
@@ -52,7 +52,7 @@ static irqreturn_t omap2_gp_timer_interrupt(int irq, void *dev_id) | |||
52 | 52 | ||
53 | static struct irqaction omap2_gp_timer_irq = { | 53 | static struct irqaction omap2_gp_timer_irq = { |
54 | .name = "gp timer", | 54 | .name = "gp timer", |
55 | .flags = IRQF_DISABLED | IRQF_TIMER, | 55 | .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, |
56 | .handler = omap2_gp_timer_interrupt, | 56 | .handler = omap2_gp_timer_interrupt, |
57 | }; | 57 | }; |
58 | 58 | ||
diff --git a/arch/arm/mach-pnx4008/time.c b/arch/arm/mach-pnx4008/time.c index 8621c206ac84..67e05f005a6b 100644 --- a/arch/arm/mach-pnx4008/time.c +++ b/arch/arm/mach-pnx4008/time.c | |||
@@ -82,7 +82,7 @@ static irqreturn_t pnx4008_timer_interrupt(int irq, void *dev_id) | |||
82 | 82 | ||
83 | static struct irqaction pnx4008_timer_irq = { | 83 | static struct irqaction pnx4008_timer_irq = { |
84 | .name = "PNX4008 Tick Timer", | 84 | .name = "PNX4008 Tick Timer", |
85 | .flags = IRQF_DISABLED | IRQF_TIMER, | 85 | .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, |
86 | .handler = pnx4008_timer_interrupt | 86 | .handler = pnx4008_timer_interrupt |
87 | }; | 87 | }; |
88 | 88 | ||
diff --git a/arch/arm/mach-pxa/time.c b/arch/arm/mach-pxa/time.c index fc3b82a740a0..5248abe334d2 100644 --- a/arch/arm/mach-pxa/time.c +++ b/arch/arm/mach-pxa/time.c | |||
@@ -97,7 +97,7 @@ pxa_timer_interrupt(int irq, void *dev_id) | |||
97 | 97 | ||
98 | static struct irqaction pxa_timer_irq = { | 98 | static struct irqaction pxa_timer_irq = { |
99 | .name = "PXA Timer Tick", | 99 | .name = "PXA Timer Tick", |
100 | .flags = IRQF_DISABLED | IRQF_TIMER, | 100 | .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, |
101 | .handler = pxa_timer_interrupt, | 101 | .handler = pxa_timer_interrupt, |
102 | }; | 102 | }; |
103 | 103 | ||
diff --git a/arch/arm/mach-realview/core.c b/arch/arm/mach-realview/core.c index 84d3fe76e94e..c7f1b44da40d 100644 --- a/arch/arm/mach-realview/core.c +++ b/arch/arm/mach-realview/core.c | |||
@@ -549,7 +549,7 @@ static irqreturn_t realview_timer_interrupt(int irq, void *dev_id) | |||
549 | 549 | ||
550 | static struct irqaction realview_timer_irq = { | 550 | static struct irqaction realview_timer_irq = { |
551 | .name = "RealView Timer Tick", | 551 | .name = "RealView Timer Tick", |
552 | .flags = IRQF_DISABLED | IRQF_TIMER, | 552 | .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, |
553 | .handler = realview_timer_interrupt, | 553 | .handler = realview_timer_interrupt, |
554 | }; | 554 | }; |
555 | 555 | ||
diff --git a/arch/arm/mach-sa1100/h3600.c b/arch/arm/mach-sa1100/h3600.c index b034ad69a324..b72fee0f2538 100644 --- a/arch/arm/mach-sa1100/h3600.c +++ b/arch/arm/mach-sa1100/h3600.c | |||
@@ -740,7 +740,7 @@ static void h3800_IRQ_demux(unsigned int irq, struct irq_desc *desc) | |||
740 | static struct irqaction h3800_irq = { | 740 | static struct irqaction h3800_irq = { |
741 | .name = "h3800_asic", | 741 | .name = "h3800_asic", |
742 | .handler = h3800_IRQ_demux, | 742 | .handler = h3800_IRQ_demux, |
743 | .flags = IRQF_DISABLED | IRQF_TIMER, | 743 | .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, |
744 | }; | 744 | }; |
745 | 745 | ||
746 | u32 kpio_int_shadow = 0; | 746 | u32 kpio_int_shadow = 0; |
diff --git a/arch/arm/mach-sa1100/time.c b/arch/arm/mach-sa1100/time.c index 29c89f9eb2ce..416e277054c2 100644 --- a/arch/arm/mach-sa1100/time.c +++ b/arch/arm/mach-sa1100/time.c | |||
@@ -111,7 +111,7 @@ sa1100_timer_interrupt(int irq, void *dev_id) | |||
111 | 111 | ||
112 | static struct irqaction sa1100_timer_irq = { | 112 | static struct irqaction sa1100_timer_irq = { |
113 | .name = "SA11xx Timer Tick", | 113 | .name = "SA11xx Timer Tick", |
114 | .flags = IRQF_DISABLED | IRQF_TIMER, | 114 | .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, |
115 | .handler = sa1100_timer_interrupt, | 115 | .handler = sa1100_timer_interrupt, |
116 | }; | 116 | }; |
117 | 117 | ||
diff --git a/arch/arm/mach-shark/core.c b/arch/arm/mach-shark/core.c index 0e480fae8ec5..a0545db2a34f 100644 --- a/arch/arm/mach-shark/core.c +++ b/arch/arm/mach-shark/core.c | |||
@@ -90,7 +90,7 @@ shark_timer_interrupt(int irq, void *dev_id) | |||
90 | 90 | ||
91 | static struct irqaction shark_timer_irq = { | 91 | static struct irqaction shark_timer_irq = { |
92 | .name = "Shark Timer Tick", | 92 | .name = "Shark Timer Tick", |
93 | .flags = IRQF_DISABLED | IRQF_TIMER, | 93 | .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, |
94 | .handler = shark_timer_interrupt, | 94 | .handler = shark_timer_interrupt, |
95 | }; | 95 | }; |
96 | 96 | ||
diff --git a/arch/arm/mach-versatile/core.c b/arch/arm/mach-versatile/core.c index 1275aa7d2eb1..a7dd09436cbc 100644 --- a/arch/arm/mach-versatile/core.c +++ b/arch/arm/mach-versatile/core.c | |||
@@ -891,7 +891,7 @@ static irqreturn_t versatile_timer_interrupt(int irq, void *dev_id) | |||
891 | 891 | ||
892 | static struct irqaction versatile_timer_irq = { | 892 | static struct irqaction versatile_timer_irq = { |
893 | .name = "Versatile Timer Tick", | 893 | .name = "Versatile Timer Tick", |
894 | .flags = IRQF_DISABLED | IRQF_TIMER, | 894 | .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, |
895 | .handler = versatile_timer_interrupt, | 895 | .handler = versatile_timer_interrupt, |
896 | }; | 896 | }; |
897 | 897 | ||
diff --git a/arch/arm/mm/fault.c b/arch/arm/mm/fault.c index 5d9ce7deb4a7..75d491448e45 100644 --- a/arch/arm/mm/fault.c +++ b/arch/arm/mm/fault.c | |||
@@ -453,7 +453,7 @@ do_DataAbort(unsigned long addr, unsigned int fsr, struct pt_regs *regs) | |||
453 | info.si_errno = 0; | 453 | info.si_errno = 0; |
454 | info.si_code = inf->code; | 454 | info.si_code = inf->code; |
455 | info.si_addr = (void __user *)addr; | 455 | info.si_addr = (void __user *)addr; |
456 | notify_die("", regs, &info, fsr, 0); | 456 | arm_notify_die("", regs, &info, fsr, 0); |
457 | } | 457 | } |
458 | 458 | ||
459 | asmlinkage void __exception | 459 | asmlinkage void __exception |
diff --git a/arch/arm/plat-iop/time.c b/arch/arm/plat-iop/time.c index 0cc26da034a1..100d57ad98ed 100644 --- a/arch/arm/plat-iop/time.c +++ b/arch/arm/plat-iop/time.c | |||
@@ -75,7 +75,7 @@ iop_timer_interrupt(int irq, void *dev_id) | |||
75 | static struct irqaction iop_timer_irq = { | 75 | static struct irqaction iop_timer_irq = { |
76 | .name = "IOP Timer Tick", | 76 | .name = "IOP Timer Tick", |
77 | .handler = iop_timer_interrupt, | 77 | .handler = iop_timer_interrupt, |
78 | .flags = IRQF_DISABLED | IRQF_TIMER, | 78 | .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, |
79 | }; | 79 | }; |
80 | 80 | ||
81 | void __init iop_init_time(unsigned long tick_rate) | 81 | void __init iop_init_time(unsigned long tick_rate) |
diff --git a/arch/arm/plat-omap/timer32k.c b/arch/arm/plat-omap/timer32k.c index 114f87151d60..2feceec8eccd 100644 --- a/arch/arm/plat-omap/timer32k.c +++ b/arch/arm/plat-omap/timer32k.c | |||
@@ -215,7 +215,7 @@ static irqreturn_t omap_32k_timer_interrupt(int irq, void *dev_id) | |||
215 | 215 | ||
216 | static struct irqaction omap_32k_timer_irq = { | 216 | static struct irqaction omap_32k_timer_irq = { |
217 | .name = "32KHz timer", | 217 | .name = "32KHz timer", |
218 | .flags = IRQF_DISABLED | IRQF_TIMER, | 218 | .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, |
219 | .handler = omap_32k_timer_interrupt, | 219 | .handler = omap_32k_timer_interrupt, |
220 | }; | 220 | }; |
221 | 221 | ||
diff --git a/arch/arm/plat-s3c24xx/time.c b/arch/arm/plat-s3c24xx/time.c index c523d1c9cce5..b7667375bcec 100644 --- a/arch/arm/plat-s3c24xx/time.c +++ b/arch/arm/plat-s3c24xx/time.c | |||
@@ -138,7 +138,7 @@ s3c2410_timer_interrupt(int irq, void *dev_id) | |||
138 | 138 | ||
139 | static struct irqaction s3c2410_timer_irq = { | 139 | static struct irqaction s3c2410_timer_irq = { |
140 | .name = "S3C2410 Timer Tick", | 140 | .name = "S3C2410 Timer Tick", |
141 | .flags = IRQF_DISABLED | IRQF_TIMER, | 141 | .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, |
142 | .handler = s3c2410_timer_interrupt, | 142 | .handler = s3c2410_timer_interrupt, |
143 | }; | 143 | }; |
144 | 144 | ||
diff --git a/arch/arm26/kernel/armksyms.c b/arch/arm26/kernel/armksyms.c index 93293d04b303..f735d7e018e4 100644 --- a/arch/arm26/kernel/armksyms.c +++ b/arch/arm26/kernel/armksyms.c | |||
@@ -20,7 +20,6 @@ | |||
20 | #include <linux/pm.h> | 20 | #include <linux/pm.h> |
21 | #include <linux/tty.h> | 21 | #include <linux/tty.h> |
22 | #include <linux/vt_kern.h> | 22 | #include <linux/vt_kern.h> |
23 | #include <linux/smp_lock.h> | ||
24 | #include <linux/syscalls.h> | 23 | #include <linux/syscalls.h> |
25 | 24 | ||
26 | #include <asm/byteorder.h> | 25 | #include <asm/byteorder.h> |
diff --git a/arch/arm26/kernel/ptrace.c b/arch/arm26/kernel/ptrace.c index 9343889b27fe..416927956721 100644 --- a/arch/arm26/kernel/ptrace.c +++ b/arch/arm26/kernel/ptrace.c | |||
@@ -13,7 +13,6 @@ | |||
13 | #include <linux/sched.h> | 13 | #include <linux/sched.h> |
14 | #include <linux/mm.h> | 14 | #include <linux/mm.h> |
15 | #include <linux/smp.h> | 15 | #include <linux/smp.h> |
16 | #include <linux/smp_lock.h> | ||
17 | #include <linux/ptrace.h> | 16 | #include <linux/ptrace.h> |
18 | #include <linux/user.h> | 17 | #include <linux/user.h> |
19 | #include <linux/security.h> | 18 | #include <linux/security.h> |
diff --git a/arch/arm26/kernel/signal.c b/arch/arm26/kernel/signal.c index 6a8ef8da6dab..379b82dc645f 100644 --- a/arch/arm26/kernel/signal.c +++ b/arch/arm26/kernel/signal.c | |||
@@ -13,7 +13,6 @@ | |||
13 | #include <linux/sched.h> | 13 | #include <linux/sched.h> |
14 | #include <linux/mm.h> | 14 | #include <linux/mm.h> |
15 | #include <linux/smp.h> | 15 | #include <linux/smp.h> |
16 | #include <linux/smp_lock.h> | ||
17 | #include <linux/kernel.h> | 16 | #include <linux/kernel.h> |
18 | #include <linux/errno.h> | 17 | #include <linux/errno.h> |
19 | #include <linux/signal.h> | 18 | #include <linux/signal.h> |
diff --git a/arch/arm26/mm/memc.c b/arch/arm26/mm/memc.c index f2901581d4da..42505541a9b1 100644 --- a/arch/arm26/mm/memc.c +++ b/arch/arm26/mm/memc.c | |||
@@ -176,13 +176,9 @@ void __init pgtable_cache_init(void) | |||
176 | { | 176 | { |
177 | pte_cache = kmem_cache_create("pte-cache", | 177 | pte_cache = kmem_cache_create("pte-cache", |
178 | sizeof(pte_t) * PTRS_PER_PTE, | 178 | sizeof(pte_t) * PTRS_PER_PTE, |
179 | 0, 0, pte_cache_ctor, NULL); | 179 | 0, SLAB_PANIC, pte_cache_ctor, NULL); |
180 | if (!pte_cache) | ||
181 | BUG(); | ||
182 | 180 | ||
183 | pgd_cache = kmem_cache_create("pgd-cache", MEMC_TABLE_SIZE + | 181 | pgd_cache = kmem_cache_create("pgd-cache", MEMC_TABLE_SIZE + |
184 | sizeof(pgd_t) * PTRS_PER_PGD, | 182 | sizeof(pgd_t) * PTRS_PER_PGD, |
185 | 0, 0, pgd_cache_ctor, NULL); | 183 | 0, SLAB_PANIC, pgd_cache_ctor, NULL); |
186 | if (!pgd_cache) | ||
187 | BUG(); | ||
188 | } | 184 | } |
diff --git a/arch/avr32/kernel/kprobes.c b/arch/avr32/kernel/kprobes.c index d0abbcaf1c1e..004c94b6fc1d 100644 --- a/arch/avr32/kernel/kprobes.c +++ b/arch/avr32/kernel/kprobes.c | |||
@@ -15,7 +15,7 @@ | |||
15 | #include <linux/ptrace.h> | 15 | #include <linux/ptrace.h> |
16 | 16 | ||
17 | #include <asm/cacheflush.h> | 17 | #include <asm/cacheflush.h> |
18 | #include <asm/kdebug.h> | 18 | #include <linux/kdebug.h> |
19 | #include <asm/ocd.h> | 19 | #include <asm/ocd.h> |
20 | 20 | ||
21 | DEFINE_PER_CPU(struct kprobe *, current_kprobe); | 21 | DEFINE_PER_CPU(struct kprobe *, current_kprobe); |
diff --git a/arch/avr32/kernel/ptrace.c b/arch/avr32/kernel/ptrace.c index 6f4388f7c20b..8ac74dddbbde 100644 --- a/arch/avr32/kernel/ptrace.c +++ b/arch/avr32/kernel/ptrace.c | |||
@@ -9,7 +9,6 @@ | |||
9 | #include <linux/kernel.h> | 9 | #include <linux/kernel.h> |
10 | #include <linux/sched.h> | 10 | #include <linux/sched.h> |
11 | #include <linux/mm.h> | 11 | #include <linux/mm.h> |
12 | #include <linux/smp_lock.h> | ||
13 | #include <linux/ptrace.h> | 12 | #include <linux/ptrace.h> |
14 | #include <linux/errno.h> | 13 | #include <linux/errno.h> |
15 | #include <linux/user.h> | 14 | #include <linux/user.h> |
@@ -21,7 +20,7 @@ | |||
21 | #include <asm/uaccess.h> | 20 | #include <asm/uaccess.h> |
22 | #include <asm/ocd.h> | 21 | #include <asm/ocd.h> |
23 | #include <asm/mmu_context.h> | 22 | #include <asm/mmu_context.h> |
24 | #include <asm/kdebug.h> | 23 | #include <linux/kdebug.h> |
25 | 24 | ||
26 | static struct pt_regs *get_user_regs(struct task_struct *tsk) | 25 | static struct pt_regs *get_user_regs(struct task_struct *tsk) |
27 | { | 26 | { |
@@ -300,7 +299,7 @@ asmlinkage void do_debug_priv(struct pt_regs *regs) | |||
300 | else | 299 | else |
301 | die_val = DIE_BREAKPOINT; | 300 | die_val = DIE_BREAKPOINT; |
302 | 301 | ||
303 | if (notify_die(die_val, regs, 0, SIGTRAP) == NOTIFY_STOP) | 302 | if (notify_die(die_val, "ptrace", regs, 0, 0, SIGTRAP) == NOTIFY_STOP) |
304 | return; | 303 | return; |
305 | 304 | ||
306 | if (likely(ds & DS_SSS)) { | 305 | if (likely(ds & DS_SSS)) { |
diff --git a/arch/avr32/kernel/traps.c b/arch/avr32/kernel/traps.c index 4f0382d8483f..4de9edf96ed2 100644 --- a/arch/avr32/kernel/traps.c +++ b/arch/avr32/kernel/traps.c | |||
@@ -20,20 +20,6 @@ | |||
20 | #include <asm/sysreg.h> | 20 | #include <asm/sysreg.h> |
21 | #include <asm/traps.h> | 21 | #include <asm/traps.h> |
22 | 22 | ||
23 | ATOMIC_NOTIFIER_HEAD(avr32_die_chain); | ||
24 | |||
25 | int register_die_notifier(struct notifier_block *nb) | ||
26 | { | ||
27 | return atomic_notifier_chain_register(&avr32_die_chain, nb); | ||
28 | } | ||
29 | EXPORT_SYMBOL(register_die_notifier); | ||
30 | |||
31 | int unregister_die_notifier(struct notifier_block *nb) | ||
32 | { | ||
33 | return atomic_notifier_chain_unregister(&avr32_die_chain, nb); | ||
34 | } | ||
35 | EXPORT_SYMBOL(unregister_die_notifier); | ||
36 | |||
37 | static DEFINE_SPINLOCK(die_lock); | 23 | static DEFINE_SPINLOCK(die_lock); |
38 | 24 | ||
39 | void NORET_TYPE die(const char *str, struct pt_regs *regs, long err) | 25 | void NORET_TYPE die(const char *str, struct pt_regs *regs, long err) |
diff --git a/arch/avr32/mm/fault.c b/arch/avr32/mm/fault.c index 146ebdbdc302..88b00b15970f 100644 --- a/arch/avr32/mm/fault.c +++ b/arch/avr32/mm/fault.c | |||
@@ -13,7 +13,7 @@ | |||
13 | #include <linux/module.h> | 13 | #include <linux/module.h> |
14 | #include <linux/pagemap.h> | 14 | #include <linux/pagemap.h> |
15 | 15 | ||
16 | #include <asm/kdebug.h> | 16 | #include <linux/kdebug.h> |
17 | #include <asm/mmu_context.h> | 17 | #include <asm/mmu_context.h> |
18 | #include <asm/sysreg.h> | 18 | #include <asm/sysreg.h> |
19 | #include <asm/tlb.h> | 19 | #include <asm/tlb.h> |
diff --git a/arch/cris/arch-v10/kernel/ptrace.c b/arch/cris/arch-v10/kernel/ptrace.c index 961c0d58ded4..fd2129a04586 100644 --- a/arch/cris/arch-v10/kernel/ptrace.c +++ b/arch/cris/arch-v10/kernel/ptrace.c | |||
@@ -6,7 +6,6 @@ | |||
6 | #include <linux/sched.h> | 6 | #include <linux/sched.h> |
7 | #include <linux/mm.h> | 7 | #include <linux/mm.h> |
8 | #include <linux/smp.h> | 8 | #include <linux/smp.h> |
9 | #include <linux/smp_lock.h> | ||
10 | #include <linux/errno.h> | 9 | #include <linux/errno.h> |
11 | #include <linux/ptrace.h> | 10 | #include <linux/ptrace.h> |
12 | #include <linux/user.h> | 11 | #include <linux/user.h> |
diff --git a/arch/cris/arch-v10/kernel/signal.c b/arch/cris/arch-v10/kernel/signal.c index 19bcad05716f..41d4a5f93284 100644 --- a/arch/cris/arch-v10/kernel/signal.c +++ b/arch/cris/arch-v10/kernel/signal.c | |||
@@ -16,7 +16,6 @@ | |||
16 | #include <linux/sched.h> | 16 | #include <linux/sched.h> |
17 | #include <linux/mm.h> | 17 | #include <linux/mm.h> |
18 | #include <linux/smp.h> | 18 | #include <linux/smp.h> |
19 | #include <linux/smp_lock.h> | ||
20 | #include <linux/kernel.h> | 19 | #include <linux/kernel.h> |
21 | #include <linux/signal.h> | 20 | #include <linux/signal.h> |
22 | #include <linux/errno.h> | 21 | #include <linux/errno.h> |
diff --git a/arch/cris/arch-v32/drivers/pci/dma.c b/arch/cris/arch-v32/drivers/pci/dma.c index 70d3bf0c92e8..832fc63504d4 100644 --- a/arch/cris/arch-v32/drivers/pci/dma.c +++ b/arch/cris/arch-v32/drivers/pci/dma.c | |||
@@ -76,7 +76,7 @@ int dma_declare_coherent_memory(struct device *dev, dma_addr_t bus_addr, | |||
76 | { | 76 | { |
77 | void __iomem *mem_base; | 77 | void __iomem *mem_base; |
78 | int pages = size >> PAGE_SHIFT; | 78 | int pages = size >> PAGE_SHIFT; |
79 | int bitmap_size = (pages + 31)/32; | 79 | int bitmap_size = BITS_TO_LONGS(pages) * sizeof(long); |
80 | 80 | ||
81 | if ((flags & (DMA_MEMORY_MAP | DMA_MEMORY_IO)) == 0) | 81 | if ((flags & (DMA_MEMORY_MAP | DMA_MEMORY_IO)) == 0) |
82 | goto out; | 82 | goto out; |
diff --git a/arch/cris/arch-v32/kernel/ptrace.c b/arch/cris/arch-v32/kernel/ptrace.c index 82cf2e3624a4..d4d57b741334 100644 --- a/arch/cris/arch-v32/kernel/ptrace.c +++ b/arch/cris/arch-v32/kernel/ptrace.c | |||
@@ -6,7 +6,6 @@ | |||
6 | #include <linux/sched.h> | 6 | #include <linux/sched.h> |
7 | #include <linux/mm.h> | 7 | #include <linux/mm.h> |
8 | #include <linux/smp.h> | 8 | #include <linux/smp.h> |
9 | #include <linux/smp_lock.h> | ||
10 | #include <linux/errno.h> | 9 | #include <linux/errno.h> |
11 | #include <linux/ptrace.h> | 10 | #include <linux/ptrace.h> |
12 | #include <linux/user.h> | 11 | #include <linux/user.h> |
diff --git a/arch/cris/kernel/crisksyms.c b/arch/cris/kernel/crisksyms.c index 1f20c16ac2a4..105bb5ed48f7 100644 --- a/arch/cris/kernel/crisksyms.c +++ b/arch/cris/kernel/crisksyms.c | |||
@@ -4,7 +4,6 @@ | |||
4 | #include <linux/sched.h> | 4 | #include <linux/sched.h> |
5 | #include <linux/in6.h> | 5 | #include <linux/in6.h> |
6 | #include <linux/interrupt.h> | 6 | #include <linux/interrupt.h> |
7 | #include <linux/smp_lock.h> | ||
8 | #include <linux/pm.h> | 7 | #include <linux/pm.h> |
9 | #include <linux/kernel.h> | 8 | #include <linux/kernel.h> |
10 | #include <linux/string.h> | 9 | #include <linux/string.h> |
diff --git a/arch/cris/kernel/ptrace.c b/arch/cris/kernel/ptrace.c index 2b6363cbe985..1085d037027b 100644 --- a/arch/cris/kernel/ptrace.c +++ b/arch/cris/kernel/ptrace.c | |||
@@ -67,7 +67,6 @@ | |||
67 | #include <linux/sched.h> | 67 | #include <linux/sched.h> |
68 | #include <linux/mm.h> | 68 | #include <linux/mm.h> |
69 | #include <linux/smp.h> | 69 | #include <linux/smp.h> |
70 | #include <linux/smp_lock.h> | ||
71 | #include <linux/errno.h> | 70 | #include <linux/errno.h> |
72 | #include <linux/ptrace.h> | 71 | #include <linux/ptrace.h> |
73 | #include <linux/user.h> | 72 | #include <linux/user.h> |
diff --git a/arch/frv/kernel/irq.c b/arch/frv/kernel/irq.c index 87f360a4ea27..c7e59dcadee4 100644 --- a/arch/frv/kernel/irq.c +++ b/arch/frv/kernel/irq.c | |||
@@ -18,7 +18,6 @@ | |||
18 | #include <linux/timex.h> | 18 | #include <linux/timex.h> |
19 | #include <linux/slab.h> | 19 | #include <linux/slab.h> |
20 | #include <linux/random.h> | 20 | #include <linux/random.h> |
21 | #include <linux/smp_lock.h> | ||
22 | #include <linux/init.h> | 21 | #include <linux/init.h> |
23 | #include <linux/kernel_stat.h> | 22 | #include <linux/kernel_stat.h> |
24 | #include <linux/irq.h> | 23 | #include <linux/irq.h> |
diff --git a/arch/frv/kernel/ptrace.c b/arch/frv/kernel/ptrace.c index fcff819b4340..ce88fb95ee59 100644 --- a/arch/frv/kernel/ptrace.c +++ b/arch/frv/kernel/ptrace.c | |||
@@ -14,7 +14,6 @@ | |||
14 | #include <linux/sched.h> | 14 | #include <linux/sched.h> |
15 | #include <linux/mm.h> | 15 | #include <linux/mm.h> |
16 | #include <linux/smp.h> | 16 | #include <linux/smp.h> |
17 | #include <linux/smp_lock.h> | ||
18 | #include <linux/errno.h> | 17 | #include <linux/errno.h> |
19 | #include <linux/ptrace.h> | 18 | #include <linux/ptrace.h> |
20 | #include <linux/user.h> | 19 | #include <linux/user.h> |
diff --git a/arch/frv/kernel/semaphore.c b/arch/frv/kernel/semaphore.c index f278cdf3a72f..8e182ced1a0f 100644 --- a/arch/frv/kernel/semaphore.c +++ b/arch/frv/kernel/semaphore.c | |||
@@ -19,7 +19,7 @@ struct sem_waiter { | |||
19 | struct task_struct *task; | 19 | struct task_struct *task; |
20 | }; | 20 | }; |
21 | 21 | ||
22 | #if SEMAPHORE_DEBUG | 22 | #ifdef CONFIG_DEBUG_SEMAPHORE |
23 | void semtrace(struct semaphore *sem, const char *str) | 23 | void semtrace(struct semaphore *sem, const char *str) |
24 | { | 24 | { |
25 | if (sem->debug) | 25 | if (sem->debug) |
diff --git a/arch/frv/kernel/signal.c b/arch/frv/kernel/signal.c index 85baeae9666a..d64bcaff54cd 100644 --- a/arch/frv/kernel/signal.c +++ b/arch/frv/kernel/signal.c | |||
@@ -13,7 +13,6 @@ | |||
13 | #include <linux/sched.h> | 13 | #include <linux/sched.h> |
14 | #include <linux/mm.h> | 14 | #include <linux/mm.h> |
15 | #include <linux/smp.h> | 15 | #include <linux/smp.h> |
16 | #include <linux/smp_lock.h> | ||
17 | #include <linux/kernel.h> | 16 | #include <linux/kernel.h> |
18 | #include <linux/signal.h> | 17 | #include <linux/signal.h> |
19 | #include <linux/errno.h> | 18 | #include <linux/errno.h> |
diff --git a/arch/frv/kernel/sys_frv.c b/arch/frv/kernel/sys_frv.c index c4d4348c9e8e..26b3df32b9a7 100644 --- a/arch/frv/kernel/sys_frv.c +++ b/arch/frv/kernel/sys_frv.c | |||
@@ -14,7 +14,6 @@ | |||
14 | #include <linux/sched.h> | 14 | #include <linux/sched.h> |
15 | #include <linux/mm.h> | 15 | #include <linux/mm.h> |
16 | #include <linux/smp.h> | 16 | #include <linux/smp.h> |
17 | #include <linux/smp_lock.h> | ||
18 | #include <linux/sem.h> | 17 | #include <linux/sem.h> |
19 | #include <linux/msg.h> | 18 | #include <linux/msg.h> |
20 | #include <linux/shm.h> | 19 | #include <linux/shm.h> |
diff --git a/arch/frv/mm/pgalloc.c b/arch/frv/mm/pgalloc.c index 19b13be114a2..598a26ab8ad8 100644 --- a/arch/frv/mm/pgalloc.c +++ b/arch/frv/mm/pgalloc.c | |||
@@ -151,9 +151,7 @@ void __init pgtable_cache_init(void) | |||
151 | pgd_cache = kmem_cache_create("pgd", | 151 | pgd_cache = kmem_cache_create("pgd", |
152 | PTRS_PER_PGD * sizeof(pgd_t), | 152 | PTRS_PER_PGD * sizeof(pgd_t), |
153 | PTRS_PER_PGD * sizeof(pgd_t), | 153 | PTRS_PER_PGD * sizeof(pgd_t), |
154 | 0, | 154 | SLAB_PANIC, |
155 | pgd_ctor, | 155 | pgd_ctor, |
156 | pgd_dtor); | 156 | pgd_dtor); |
157 | if (!pgd_cache) | ||
158 | panic("pgtable_cache_init(): Cannot create pgd cache"); | ||
159 | } | 157 | } |
diff --git a/arch/h8300/kernel/ptrace.c b/arch/h8300/kernel/ptrace.c index f6031373dc21..8f2411db7eaf 100644 --- a/arch/h8300/kernel/ptrace.c +++ b/arch/h8300/kernel/ptrace.c | |||
@@ -19,7 +19,6 @@ | |||
19 | #include <linux/sched.h> | 19 | #include <linux/sched.h> |
20 | #include <linux/mm.h> | 20 | #include <linux/mm.h> |
21 | #include <linux/smp.h> | 21 | #include <linux/smp.h> |
22 | #include <linux/smp_lock.h> | ||
23 | #include <linux/errno.h> | 22 | #include <linux/errno.h> |
24 | #include <linux/ptrace.h> | 23 | #include <linux/ptrace.h> |
25 | #include <linux/user.h> | 24 | #include <linux/user.h> |
diff --git a/arch/h8300/kernel/sys_h8300.c b/arch/h8300/kernel/sys_h8300.c index 302a2dfe634a..11ba75a05220 100644 --- a/arch/h8300/kernel/sys_h8300.c +++ b/arch/h8300/kernel/sys_h8300.c | |||
@@ -10,7 +10,6 @@ | |||
10 | #include <linux/sched.h> | 10 | #include <linux/sched.h> |
11 | #include <linux/mm.h> | 11 | #include <linux/mm.h> |
12 | #include <linux/smp.h> | 12 | #include <linux/smp.h> |
13 | #include <linux/smp_lock.h> | ||
14 | #include <linux/sem.h> | 13 | #include <linux/sem.h> |
15 | #include <linux/msg.h> | 14 | #include <linux/msg.h> |
16 | #include <linux/shm.h> | 15 | #include <linux/shm.h> |
diff --git a/arch/i386/boot/video.S b/arch/i386/boot/video.S index 8143c9516cb4..5e2280cf4456 100644 --- a/arch/i386/boot/video.S +++ b/arch/i386/boot/video.S | |||
@@ -496,9 +496,11 @@ mode_set: | |||
496 | cmpb $VIDEO_FIRST_V7>>8, %ah | 496 | cmpb $VIDEO_FIRST_V7>>8, %ah |
497 | jz setv7 | 497 | jz setv7 |
498 | 498 | ||
499 | #ifdef CONFIG_FB | ||
499 | cmpb $VIDEO_FIRST_VESA>>8, %ah | 500 | cmpb $VIDEO_FIRST_VESA>>8, %ah |
500 | jnc check_vesa | 501 | jnc check_vesa |
501 | 502 | #endif | |
503 | |||
502 | orb %ah, %ah | 504 | orb %ah, %ah |
503 | jz setmenu | 505 | jz setmenu |
504 | 506 | ||
diff --git a/arch/i386/kernel/Makefile b/arch/i386/kernel/Makefile index 4f98516b9f94..91cff8dc9e1a 100644 --- a/arch/i386/kernel/Makefile +++ b/arch/i386/kernel/Makefile | |||
@@ -34,6 +34,7 @@ obj-y += sysenter.o vsyscall.o | |||
34 | obj-$(CONFIG_ACPI_SRAT) += srat.o | 34 | obj-$(CONFIG_ACPI_SRAT) += srat.o |
35 | obj-$(CONFIG_EFI) += efi.o efi_stub.o | 35 | obj-$(CONFIG_EFI) += efi.o efi_stub.o |
36 | obj-$(CONFIG_DOUBLEFAULT) += doublefault.o | 36 | obj-$(CONFIG_DOUBLEFAULT) += doublefault.o |
37 | obj-$(CONFIG_SERIAL_8250) += legacy_serial.o | ||
37 | obj-$(CONFIG_VM86) += vm86.o | 38 | obj-$(CONFIG_VM86) += vm86.o |
38 | obj-$(CONFIG_EARLY_PRINTK) += early_printk.o | 39 | obj-$(CONFIG_EARLY_PRINTK) += early_printk.o |
39 | obj-$(CONFIG_HPET_TIMER) += hpet.o | 40 | obj-$(CONFIG_HPET_TIMER) += hpet.o |
diff --git a/arch/i386/kernel/apic.c b/arch/i386/kernel/apic.c index aca054cc0552..67824f3bb974 100644 --- a/arch/i386/kernel/apic.c +++ b/arch/i386/kernel/apic.c | |||
@@ -19,7 +19,6 @@ | |||
19 | #include <linux/mm.h> | 19 | #include <linux/mm.h> |
20 | #include <linux/delay.h> | 20 | #include <linux/delay.h> |
21 | #include <linux/bootmem.h> | 21 | #include <linux/bootmem.h> |
22 | #include <linux/smp_lock.h> | ||
23 | #include <linux/interrupt.h> | 22 | #include <linux/interrupt.h> |
24 | #include <linux/mc146818rtc.h> | 23 | #include <linux/mc146818rtc.h> |
25 | #include <linux/kernel_stat.h> | 24 | #include <linux/kernel_stat.h> |
diff --git a/arch/i386/kernel/apm.c b/arch/i386/kernel/apm.c index 367ff1d930cb..4112afe712b9 100644 --- a/arch/i386/kernel/apm.c +++ b/arch/i386/kernel/apm.c | |||
@@ -223,7 +223,6 @@ | |||
223 | #include <linux/device.h> | 223 | #include <linux/device.h> |
224 | #include <linux/kernel.h> | 224 | #include <linux/kernel.h> |
225 | #include <linux/smp.h> | 225 | #include <linux/smp.h> |
226 | #include <linux/smp_lock.h> | ||
227 | #include <linux/dmi.h> | 226 | #include <linux/dmi.h> |
228 | #include <linux/suspend.h> | 227 | #include <linux/suspend.h> |
229 | #include <linux/kthread.h> | 228 | #include <linux/kthread.h> |
@@ -1173,7 +1172,7 @@ static void reinit_timer(void) | |||
1173 | unsigned long flags; | 1172 | unsigned long flags; |
1174 | 1173 | ||
1175 | spin_lock_irqsave(&i8253_lock, flags); | 1174 | spin_lock_irqsave(&i8253_lock, flags); |
1176 | /* set the clock to 100 Hz */ | 1175 | /* set the clock to HZ */ |
1177 | outb_p(0x34, PIT_MODE); /* binary, mode 2, LSB/MSB, ch 0 */ | 1176 | outb_p(0x34, PIT_MODE); /* binary, mode 2, LSB/MSB, ch 0 */ |
1178 | udelay(10); | 1177 | udelay(10); |
1179 | outb_p(LATCH & 0xff, PIT_CH0); /* LSB */ | 1178 | outb_p(LATCH & 0xff, PIT_CH0); /* LSB */ |
diff --git a/arch/i386/kernel/crash.c b/arch/i386/kernel/crash.c index a5e0e990ea95..53589d1b1a05 100644 --- a/arch/i386/kernel/crash.c +++ b/arch/i386/kernel/crash.c | |||
@@ -22,7 +22,7 @@ | |||
22 | #include <asm/nmi.h> | 22 | #include <asm/nmi.h> |
23 | #include <asm/hw_irq.h> | 23 | #include <asm/hw_irq.h> |
24 | #include <asm/apic.h> | 24 | #include <asm/apic.h> |
25 | #include <asm/kdebug.h> | 25 | #include <linux/kdebug.h> |
26 | #include <asm/smp.h> | 26 | #include <asm/smp.h> |
27 | 27 | ||
28 | #include <mach_ipi.h> | 28 | #include <mach_ipi.h> |
diff --git a/arch/i386/kernel/efi.c b/arch/i386/kernel/efi.c index dd9e7faafa7c..a1808022ea19 100644 --- a/arch/i386/kernel/efi.c +++ b/arch/i386/kernel/efi.c | |||
@@ -347,14 +347,12 @@ void __init efi_init(void) | |||
347 | printk(KERN_ERR PFX "Woah! Couldn't map the EFI system table.\n"); | 347 | printk(KERN_ERR PFX "Woah! Couldn't map the EFI system table.\n"); |
348 | if (efi.systab->hdr.signature != EFI_SYSTEM_TABLE_SIGNATURE) | 348 | if (efi.systab->hdr.signature != EFI_SYSTEM_TABLE_SIGNATURE) |
349 | printk(KERN_ERR PFX "Woah! EFI system table signature incorrect\n"); | 349 | printk(KERN_ERR PFX "Woah! EFI system table signature incorrect\n"); |
350 | if ((efi.systab->hdr.revision ^ EFI_SYSTEM_TABLE_REVISION) >> 16 != 0) | 350 | if ((efi.systab->hdr.revision >> 16) == 0) |
351 | printk(KERN_ERR PFX | 351 | printk(KERN_ERR PFX "Warning: EFI system table version " |
352 | "Warning: EFI system table major version mismatch: " | 352 | "%d.%02d, expected 1.00 or greater\n", |
353 | "got %d.%02d, expected %d.%02d\n", | ||
354 | efi.systab->hdr.revision >> 16, | 353 | efi.systab->hdr.revision >> 16, |
355 | efi.systab->hdr.revision & 0xffff, | 354 | efi.systab->hdr.revision & 0xffff); |
356 | EFI_SYSTEM_TABLE_REVISION >> 16, | 355 | |
357 | EFI_SYSTEM_TABLE_REVISION & 0xffff); | ||
358 | /* | 356 | /* |
359 | * Grab some details from the system table | 357 | * Grab some details from the system table |
360 | */ | 358 | */ |
diff --git a/arch/i386/kernel/i8259.c b/arch/i386/kernel/i8259.c index 03abfdb1a6e4..0499cbe9871a 100644 --- a/arch/i386/kernel/i8259.c +++ b/arch/i386/kernel/i8259.c | |||
@@ -5,7 +5,6 @@ | |||
5 | #include <linux/interrupt.h> | 5 | #include <linux/interrupt.h> |
6 | #include <linux/slab.h> | 6 | #include <linux/slab.h> |
7 | #include <linux/random.h> | 7 | #include <linux/random.h> |
8 | #include <linux/smp_lock.h> | ||
9 | #include <linux/init.h> | 8 | #include <linux/init.h> |
10 | #include <linux/kernel_stat.h> | 9 | #include <linux/kernel_stat.h> |
11 | #include <linux/sysdev.h> | 10 | #include <linux/sysdev.h> |
diff --git a/arch/i386/kernel/io_apic.c b/arch/i386/kernel/io_apic.c index 1b623cda3a64..7f8b7af2b95f 100644 --- a/arch/i386/kernel/io_apic.c +++ b/arch/i386/kernel/io_apic.c | |||
@@ -25,7 +25,6 @@ | |||
25 | #include <linux/init.h> | 25 | #include <linux/init.h> |
26 | #include <linux/delay.h> | 26 | #include <linux/delay.h> |
27 | #include <linux/sched.h> | 27 | #include <linux/sched.h> |
28 | #include <linux/smp_lock.h> | ||
29 | #include <linux/mc146818rtc.h> | 28 | #include <linux/mc146818rtc.h> |
30 | #include <linux/compiler.h> | 29 | #include <linux/compiler.h> |
31 | #include <linux/acpi.h> | 30 | #include <linux/acpi.h> |
diff --git a/arch/i386/kernel/ioport.c b/arch/i386/kernel/ioport.c index d1e42e0dbe67..3d310a946d76 100644 --- a/arch/i386/kernel/ioport.c +++ b/arch/i386/kernel/ioport.c | |||
@@ -12,7 +12,6 @@ | |||
12 | #include <linux/types.h> | 12 | #include <linux/types.h> |
13 | #include <linux/ioport.h> | 13 | #include <linux/ioport.h> |
14 | #include <linux/smp.h> | 14 | #include <linux/smp.h> |
15 | #include <linux/smp_lock.h> | ||
16 | #include <linux/stddef.h> | 15 | #include <linux/stddef.h> |
17 | #include <linux/slab.h> | 16 | #include <linux/slab.h> |
18 | #include <linux/thread_info.h> | 17 | #include <linux/thread_info.h> |
diff --git a/arch/i386/kernel/kprobes.c b/arch/i386/kernel/kprobes.c index b545bc746fce..dde828a333c3 100644 --- a/arch/i386/kernel/kprobes.c +++ b/arch/i386/kernel/kprobes.c | |||
@@ -31,8 +31,8 @@ | |||
31 | #include <linux/kprobes.h> | 31 | #include <linux/kprobes.h> |
32 | #include <linux/ptrace.h> | 32 | #include <linux/ptrace.h> |
33 | #include <linux/preempt.h> | 33 | #include <linux/preempt.h> |
34 | #include <linux/kdebug.h> | ||
34 | #include <asm/cacheflush.h> | 35 | #include <asm/cacheflush.h> |
35 | #include <asm/kdebug.h> | ||
36 | #include <asm/desc.h> | 36 | #include <asm/desc.h> |
37 | #include <asm/uaccess.h> | 37 | #include <asm/uaccess.h> |
38 | 38 | ||
@@ -226,24 +226,15 @@ static void __kprobes prepare_singlestep(struct kprobe *p, struct pt_regs *regs) | |||
226 | } | 226 | } |
227 | 227 | ||
228 | /* Called with kretprobe_lock held */ | 228 | /* Called with kretprobe_lock held */ |
229 | void __kprobes arch_prepare_kretprobe(struct kretprobe *rp, | 229 | void __kprobes arch_prepare_kretprobe(struct kretprobe_instance *ri, |
230 | struct pt_regs *regs) | 230 | struct pt_regs *regs) |
231 | { | 231 | { |
232 | unsigned long *sara = (unsigned long *)®s->esp; | 232 | unsigned long *sara = (unsigned long *)®s->esp; |
233 | 233 | ||
234 | struct kretprobe_instance *ri; | 234 | ri->ret_addr = (kprobe_opcode_t *) *sara; |
235 | 235 | ||
236 | if ((ri = get_free_rp_inst(rp)) != NULL) { | 236 | /* Replace the return addr with trampoline addr */ |
237 | ri->rp = rp; | 237 | *sara = (unsigned long) &kretprobe_trampoline; |
238 | ri->task = current; | ||
239 | ri->ret_addr = (kprobe_opcode_t *) *sara; | ||
240 | |||
241 | /* Replace the return addr with trampoline addr */ | ||
242 | *sara = (unsigned long) &kretprobe_trampoline; | ||
243 | add_rp_inst(ri); | ||
244 | } else { | ||
245 | rp->nmissed++; | ||
246 | } | ||
247 | } | 238 | } |
248 | 239 | ||
249 | /* | 240 | /* |
@@ -449,8 +440,7 @@ fastcall void *__kprobes trampoline_handler(struct pt_regs *regs) | |||
449 | break; | 440 | break; |
450 | } | 441 | } |
451 | 442 | ||
452 | BUG_ON(!orig_ret_address || (orig_ret_address == trampoline_address)); | 443 | kretprobe_assert(ri, orig_ret_address, trampoline_address); |
453 | |||
454 | spin_unlock_irqrestore(&kretprobe_lock, flags); | 444 | spin_unlock_irqrestore(&kretprobe_lock, flags); |
455 | 445 | ||
456 | hlist_for_each_entry_safe(ri, node, tmp, &empty_rp, hlist) { | 446 | hlist_for_each_entry_safe(ri, node, tmp, &empty_rp, hlist) { |
@@ -753,6 +743,11 @@ int __kprobes longjmp_break_handler(struct kprobe *p, struct pt_regs *regs) | |||
753 | return 0; | 743 | return 0; |
754 | } | 744 | } |
755 | 745 | ||
746 | int __kprobes arch_trampoline_kprobe(struct kprobe *p) | ||
747 | { | ||
748 | return 0; | ||
749 | } | ||
750 | |||
756 | int __init arch_init_kprobes(void) | 751 | int __init arch_init_kprobes(void) |
757 | { | 752 | { |
758 | return 0; | 753 | return 0; |
diff --git a/arch/i386/kernel/ldt.c b/arch/i386/kernel/ldt.c index b410e5fb034f..e0b2d17f4f10 100644 --- a/arch/i386/kernel/ldt.c +++ b/arch/i386/kernel/ldt.c | |||
@@ -10,7 +10,6 @@ | |||
10 | #include <linux/string.h> | 10 | #include <linux/string.h> |
11 | #include <linux/mm.h> | 11 | #include <linux/mm.h> |
12 | #include <linux/smp.h> | 12 | #include <linux/smp.h> |
13 | #include <linux/smp_lock.h> | ||
14 | #include <linux/vmalloc.h> | 13 | #include <linux/vmalloc.h> |
15 | #include <linux/slab.h> | 14 | #include <linux/slab.h> |
16 | 15 | ||
diff --git a/arch/i386/kernel/legacy_serial.c b/arch/i386/kernel/legacy_serial.c new file mode 100644 index 000000000000..21510118544e --- /dev/null +++ b/arch/i386/kernel/legacy_serial.c | |||
@@ -0,0 +1,67 @@ | |||
1 | /* | ||
2 | * Legacy COM port devices for x86 platforms without PNPBIOS or ACPI. | ||
3 | * Data taken from include/asm-i386/serial.h. | ||
4 | * | ||
5 | * (c) Copyright 2007 Hewlett-Packard Development Company, L.P. | ||
6 | * Bjorn Helgaas <bjorn.helgaas@hp.com> | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 as | ||
10 | * published by the Free Software Foundation. | ||
11 | */ | ||
12 | #include <linux/module.h> | ||
13 | #include <linux/init.h> | ||
14 | #include <linux/pnp.h> | ||
15 | #include <linux/serial_8250.h> | ||
16 | |||
17 | /* Standard COM flags (except for COM4, because of the 8514 problem) */ | ||
18 | #ifdef CONFIG_SERIAL_DETECT_IRQ | ||
19 | #define COM_FLAGS (UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_AUTO_IRQ) | ||
20 | #define COM4_FLAGS (UPF_BOOT_AUTOCONF | UPF_AUTO_IRQ) | ||
21 | #else | ||
22 | #define COM_FLAGS (UPF_BOOT_AUTOCONF | UPF_SKIP_TEST) | ||
23 | #define COM4_FLAGS UPF_BOOT_AUTOCONF | ||
24 | #endif | ||
25 | |||
26 | #define PORT(_base,_irq,_flags) \ | ||
27 | { \ | ||
28 | .iobase = _base, \ | ||
29 | .irq = _irq, \ | ||
30 | .uartclk = 1843200, \ | ||
31 | .iotype = UPIO_PORT, \ | ||
32 | .flags = _flags, \ | ||
33 | } | ||
34 | |||
35 | static struct plat_serial8250_port x86_com_data[] = { | ||
36 | PORT(0x3F8, 4, COM_FLAGS), | ||
37 | PORT(0x2F8, 3, COM_FLAGS), | ||
38 | PORT(0x3E8, 4, COM_FLAGS), | ||
39 | PORT(0x2E8, 3, COM4_FLAGS), | ||
40 | { }, | ||
41 | }; | ||
42 | |||
43 | static struct platform_device x86_com_device = { | ||
44 | .name = "serial8250", | ||
45 | .id = PLAT8250_DEV_PLATFORM, | ||
46 | .dev = { | ||
47 | .platform_data = x86_com_data, | ||
48 | }, | ||
49 | }; | ||
50 | |||
51 | static int force_legacy_probe; | ||
52 | module_param_named(force, force_legacy_probe, bool, 0); | ||
53 | MODULE_PARM_DESC(force, "Force legacy serial port probe"); | ||
54 | |||
55 | static int __init serial8250_x86_com_init(void) | ||
56 | { | ||
57 | if (pnp_platform_devices && !force_legacy_probe) | ||
58 | return -ENODEV; | ||
59 | |||
60 | return platform_device_register(&x86_com_device); | ||
61 | } | ||
62 | |||
63 | module_init(serial8250_x86_com_init); | ||
64 | |||
65 | MODULE_AUTHOR("Bjorn Helgaas"); | ||
66 | MODULE_LICENSE("GPL"); | ||
67 | MODULE_DESCRIPTION("Generic 8250/16x50 legacy probe module"); | ||
diff --git a/arch/i386/kernel/mpparse.c b/arch/i386/kernel/mpparse.c index 0952eccd8f28..13abb4ebfb79 100644 --- a/arch/i386/kernel/mpparse.c +++ b/arch/i386/kernel/mpparse.c | |||
@@ -18,7 +18,6 @@ | |||
18 | #include <linux/acpi.h> | 18 | #include <linux/acpi.h> |
19 | #include <linux/delay.h> | 19 | #include <linux/delay.h> |
20 | #include <linux/bootmem.h> | 20 | #include <linux/bootmem.h> |
21 | #include <linux/smp_lock.h> | ||
22 | #include <linux/kernel_stat.h> | 21 | #include <linux/kernel_stat.h> |
23 | #include <linux/mc146818rtc.h> | 22 | #include <linux/mc146818rtc.h> |
24 | #include <linux/bitops.h> | 23 | #include <linux/bitops.h> |
diff --git a/arch/i386/kernel/nmi.c b/arch/i386/kernel/nmi.c index 33cf2f3c444f..fba121f7973f 100644 --- a/arch/i386/kernel/nmi.c +++ b/arch/i386/kernel/nmi.c | |||
@@ -23,10 +23,10 @@ | |||
23 | #include <linux/kprobes.h> | 23 | #include <linux/kprobes.h> |
24 | #include <linux/cpumask.h> | 24 | #include <linux/cpumask.h> |
25 | #include <linux/kernel_stat.h> | 25 | #include <linux/kernel_stat.h> |
26 | #include <linux/kdebug.h> | ||
26 | 27 | ||
27 | #include <asm/smp.h> | 28 | #include <asm/smp.h> |
28 | #include <asm/nmi.h> | 29 | #include <asm/nmi.h> |
29 | #include <asm/kdebug.h> | ||
30 | 30 | ||
31 | #include "mach_traps.h" | 31 | #include "mach_traps.h" |
32 | 32 | ||
diff --git a/arch/i386/kernel/pci-dma.c b/arch/i386/kernel/pci-dma.c index 3ebcea033623..30b754f7cbec 100644 --- a/arch/i386/kernel/pci-dma.c +++ b/arch/i386/kernel/pci-dma.c | |||
@@ -77,7 +77,7 @@ int dma_declare_coherent_memory(struct device *dev, dma_addr_t bus_addr, | |||
77 | { | 77 | { |
78 | void __iomem *mem_base = NULL; | 78 | void __iomem *mem_base = NULL; |
79 | int pages = size >> PAGE_SHIFT; | 79 | int pages = size >> PAGE_SHIFT; |
80 | int bitmap_size = (pages + 31)/32; | 80 | int bitmap_size = BITS_TO_LONGS(pages) * sizeof(long); |
81 | 81 | ||
82 | if ((flags & (DMA_MEMORY_MAP | DMA_MEMORY_IO)) == 0) | 82 | if ((flags & (DMA_MEMORY_MAP | DMA_MEMORY_IO)) == 0) |
83 | goto out; | 83 | goto out; |
diff --git a/arch/i386/kernel/process.c b/arch/i386/kernel/process.c index 61999479b7a4..d76d9bc33b30 100644 --- a/arch/i386/kernel/process.c +++ b/arch/i386/kernel/process.c | |||
@@ -21,7 +21,6 @@ | |||
21 | #include <linux/mm.h> | 21 | #include <linux/mm.h> |
22 | #include <linux/elfcore.h> | 22 | #include <linux/elfcore.h> |
23 | #include <linux/smp.h> | 23 | #include <linux/smp.h> |
24 | #include <linux/smp_lock.h> | ||
25 | #include <linux/stddef.h> | 24 | #include <linux/stddef.h> |
26 | #include <linux/slab.h> | 25 | #include <linux/slab.h> |
27 | #include <linux/vmalloc.h> | 26 | #include <linux/vmalloc.h> |
diff --git a/arch/i386/kernel/ptrace.c b/arch/i386/kernel/ptrace.c index 4a8f8a259723..0c0ceec5de00 100644 --- a/arch/i386/kernel/ptrace.c +++ b/arch/i386/kernel/ptrace.c | |||
@@ -9,7 +9,6 @@ | |||
9 | #include <linux/sched.h> | 9 | #include <linux/sched.h> |
10 | #include <linux/mm.h> | 10 | #include <linux/mm.h> |
11 | #include <linux/smp.h> | 11 | #include <linux/smp.h> |
12 | #include <linux/smp_lock.h> | ||
13 | #include <linux/errno.h> | 12 | #include <linux/errno.h> |
14 | #include <linux/ptrace.h> | 13 | #include <linux/ptrace.h> |
15 | #include <linux/user.h> | 14 | #include <linux/user.h> |
diff --git a/arch/i386/kernel/signal.c b/arch/i386/kernel/signal.c index 4f99e870c986..d574e38f0f77 100644 --- a/arch/i386/kernel/signal.c +++ b/arch/i386/kernel/signal.c | |||
@@ -10,7 +10,6 @@ | |||
10 | #include <linux/sched.h> | 10 | #include <linux/sched.h> |
11 | #include <linux/mm.h> | 11 | #include <linux/mm.h> |
12 | #include <linux/smp.h> | 12 | #include <linux/smp.h> |
13 | #include <linux/smp_lock.h> | ||
14 | #include <linux/kernel.h> | 13 | #include <linux/kernel.h> |
15 | #include <linux/signal.h> | 14 | #include <linux/signal.h> |
16 | #include <linux/errno.h> | 15 | #include <linux/errno.h> |
diff --git a/arch/i386/kernel/smp.c b/arch/i386/kernel/smp.c index 89a45a9ddcd4..93f202a855fa 100644 --- a/arch/i386/kernel/smp.c +++ b/arch/i386/kernel/smp.c | |||
@@ -13,7 +13,6 @@ | |||
13 | #include <linux/mm.h> | 13 | #include <linux/mm.h> |
14 | #include <linux/delay.h> | 14 | #include <linux/delay.h> |
15 | #include <linux/spinlock.h> | 15 | #include <linux/spinlock.h> |
16 | #include <linux/smp_lock.h> | ||
17 | #include <linux/kernel_stat.h> | 16 | #include <linux/kernel_stat.h> |
18 | #include <linux/mc146818rtc.h> | 17 | #include <linux/mc146818rtc.h> |
19 | #include <linux/cache.h> | 18 | #include <linux/cache.h> |
diff --git a/arch/i386/kernel/smpboot.c b/arch/i386/kernel/smpboot.c index a4b7ad283f49..b92cc4e8b3bb 100644 --- a/arch/i386/kernel/smpboot.c +++ b/arch/i386/kernel/smpboot.c | |||
@@ -40,7 +40,6 @@ | |||
40 | #include <linux/mm.h> | 40 | #include <linux/mm.h> |
41 | #include <linux/sched.h> | 41 | #include <linux/sched.h> |
42 | #include <linux/kernel_stat.h> | 42 | #include <linux/kernel_stat.h> |
43 | #include <linux/smp_lock.h> | ||
44 | #include <linux/bootmem.h> | 43 | #include <linux/bootmem.h> |
45 | #include <linux/notifier.h> | 44 | #include <linux/notifier.h> |
46 | #include <linux/cpu.h> | 45 | #include <linux/cpu.h> |
diff --git a/arch/i386/kernel/sys_i386.c b/arch/i386/kernel/sys_i386.c index 4048397f1740..e5dcb9379018 100644 --- a/arch/i386/kernel/sys_i386.c +++ b/arch/i386/kernel/sys_i386.c | |||
@@ -10,7 +10,6 @@ | |||
10 | #include <linux/sched.h> | 10 | #include <linux/sched.h> |
11 | #include <linux/mm.h> | 11 | #include <linux/mm.h> |
12 | #include <linux/smp.h> | 12 | #include <linux/smp.h> |
13 | #include <linux/smp_lock.h> | ||
14 | #include <linux/sem.h> | 13 | #include <linux/sem.h> |
15 | #include <linux/msg.h> | 14 | #include <linux/msg.h> |
16 | #include <linux/shm.h> | 15 | #include <linux/shm.h> |
diff --git a/arch/i386/kernel/syscall_table.S b/arch/i386/kernel/syscall_table.S index 2697e9210e92..0772678ceecf 100644 --- a/arch/i386/kernel/syscall_table.S +++ b/arch/i386/kernel/syscall_table.S | |||
@@ -319,3 +319,4 @@ ENTRY(sys_call_table) | |||
319 | .long sys_move_pages | 319 | .long sys_move_pages |
320 | .long sys_getcpu | 320 | .long sys_getcpu |
321 | .long sys_epoll_pwait | 321 | .long sys_epoll_pwait |
322 | .long sys_utimensat /* 320 */ | ||
diff --git a/arch/i386/kernel/traps.c b/arch/i386/kernel/traps.c index f21b41e7770c..4bec0cbf407a 100644 --- a/arch/i386/kernel/traps.c +++ b/arch/i386/kernel/traps.c | |||
@@ -52,7 +52,7 @@ | |||
52 | #include <asm/unwind.h> | 52 | #include <asm/unwind.h> |
53 | #include <asm/smp.h> | 53 | #include <asm/smp.h> |
54 | #include <asm/arch_hooks.h> | 54 | #include <asm/arch_hooks.h> |
55 | #include <asm/kdebug.h> | 55 | #include <linux/kdebug.h> |
56 | #include <asm/stacktrace.h> | 56 | #include <asm/stacktrace.h> |
57 | 57 | ||
58 | #include <linux/module.h> | 58 | #include <linux/module.h> |
@@ -95,20 +95,6 @@ asmlinkage void machine_check(void); | |||
95 | 95 | ||
96 | int kstack_depth_to_print = 24; | 96 | int kstack_depth_to_print = 24; |
97 | static unsigned int code_bytes = 64; | 97 | static unsigned int code_bytes = 64; |
98 | ATOMIC_NOTIFIER_HEAD(i386die_chain); | ||
99 | |||
100 | int register_die_notifier(struct notifier_block *nb) | ||
101 | { | ||
102 | vmalloc_sync_all(); | ||
103 | return atomic_notifier_chain_register(&i386die_chain, nb); | ||
104 | } | ||
105 | EXPORT_SYMBOL(register_die_notifier); /* used modular by kdb */ | ||
106 | |||
107 | int unregister_die_notifier(struct notifier_block *nb) | ||
108 | { | ||
109 | return atomic_notifier_chain_unregister(&i386die_chain, nb); | ||
110 | } | ||
111 | EXPORT_SYMBOL(unregister_die_notifier); /* used modular by kdb */ | ||
112 | 98 | ||
113 | static inline int valid_stack_ptr(struct thread_info *tinfo, void *p) | 99 | static inline int valid_stack_ptr(struct thread_info *tinfo, void *p) |
114 | { | 100 | { |
@@ -747,6 +733,11 @@ static __kprobes void default_do_nmi(struct pt_regs * regs) | |||
747 | */ | 733 | */ |
748 | if (nmi_watchdog_tick(regs, reason)) | 734 | if (nmi_watchdog_tick(regs, reason)) |
749 | return; | 735 | return; |
736 | #endif | ||
737 | if (notify_die(DIE_NMI_POST, "nmi_post", regs, reason, 2, 0) | ||
738 | == NOTIFY_STOP) | ||
739 | return; | ||
740 | #ifdef CONFIG_X86_LOCAL_APIC | ||
750 | if (!do_nmi_callback(regs, smp_processor_id())) | 741 | if (!do_nmi_callback(regs, smp_processor_id())) |
751 | #endif | 742 | #endif |
752 | unknown_nmi_error(reason, regs); | 743 | unknown_nmi_error(reason, regs); |
diff --git a/arch/i386/kernel/vm86.c b/arch/i386/kernel/vm86.c index d1b8f2b7aea6..f2dcd1d27c0a 100644 --- a/arch/i386/kernel/vm86.c +++ b/arch/i386/kernel/vm86.c | |||
@@ -39,7 +39,6 @@ | |||
39 | #include <linux/string.h> | 39 | #include <linux/string.h> |
40 | #include <linux/mm.h> | 40 | #include <linux/mm.h> |
41 | #include <linux/smp.h> | 41 | #include <linux/smp.h> |
42 | #include <linux/smp_lock.h> | ||
43 | #include <linux/highmem.h> | 42 | #include <linux/highmem.h> |
44 | #include <linux/ptrace.h> | 43 | #include <linux/ptrace.h> |
45 | #include <linux/audit.h> | 44 | #include <linux/audit.h> |
diff --git a/arch/i386/mach-default/setup.c b/arch/i386/mach-default/setup.c index c78816210706..7f635c7a2381 100644 --- a/arch/i386/mach-default/setup.c +++ b/arch/i386/mach-default/setup.c | |||
@@ -81,7 +81,7 @@ void __init trap_init_hook(void) | |||
81 | 81 | ||
82 | static struct irqaction irq0 = { | 82 | static struct irqaction irq0 = { |
83 | .handler = timer_interrupt, | 83 | .handler = timer_interrupt, |
84 | .flags = IRQF_DISABLED | IRQF_NOBALANCING, | 84 | .flags = IRQF_DISABLED | IRQF_NOBALANCING | IRQF_IRQPOLL, |
85 | .mask = CPU_MASK_NONE, | 85 | .mask = CPU_MASK_NONE, |
86 | .name = "timer" | 86 | .name = "timer" |
87 | }; | 87 | }; |
diff --git a/arch/i386/mach-visws/setup.c b/arch/i386/mach-visws/setup.c index 233ee20907b9..1f81f10e03a0 100644 --- a/arch/i386/mach-visws/setup.c +++ b/arch/i386/mach-visws/setup.c | |||
@@ -116,7 +116,7 @@ void __init pre_setup_arch_hook() | |||
116 | 116 | ||
117 | static struct irqaction irq0 = { | 117 | static struct irqaction irq0 = { |
118 | .handler = timer_interrupt, | 118 | .handler = timer_interrupt, |
119 | .flags = IRQF_DISABLED, | 119 | .flags = IRQF_DISABLED | IRQF_IRQPOLL, |
120 | .name = "timer", | 120 | .name = "timer", |
121 | }; | 121 | }; |
122 | 122 | ||
diff --git a/arch/i386/mach-visws/visws_apic.c b/arch/i386/mach-visws/visws_apic.c index 38c2b13124d9..710faf71a650 100644 --- a/arch/i386/mach-visws/visws_apic.c +++ b/arch/i386/mach-visws/visws_apic.c | |||
@@ -18,7 +18,6 @@ | |||
18 | 18 | ||
19 | #include <linux/kernel_stat.h> | 19 | #include <linux/kernel_stat.h> |
20 | #include <linux/interrupt.h> | 20 | #include <linux/interrupt.h> |
21 | #include <linux/smp_lock.h> | ||
22 | #include <linux/init.h> | 21 | #include <linux/init.h> |
23 | 22 | ||
24 | #include <asm/io.h> | 23 | #include <asm/io.h> |
diff --git a/arch/i386/mach-voyager/setup.c b/arch/i386/mach-voyager/setup.c index 447bb105cf58..2b55694e6400 100644 --- a/arch/i386/mach-voyager/setup.c +++ b/arch/i386/mach-voyager/setup.c | |||
@@ -42,7 +42,7 @@ void __init trap_init_hook(void) | |||
42 | 42 | ||
43 | static struct irqaction irq0 = { | 43 | static struct irqaction irq0 = { |
44 | .handler = timer_interrupt, | 44 | .handler = timer_interrupt, |
45 | .flags = IRQF_DISABLED | IRQF_NOBALANCING, | 45 | .flags = IRQF_DISABLED | IRQF_NOBALANCING | IRQF_IRQPOLL, |
46 | .mask = CPU_MASK_NONE, | 46 | .mask = CPU_MASK_NONE, |
47 | .name = "timer" | 47 | .name = "timer" |
48 | }; | 48 | }; |
diff --git a/arch/i386/mach-voyager/voyager_smp.c b/arch/i386/mach-voyager/voyager_smp.c index 1a5e448a29c7..50d9c52070b1 100644 --- a/arch/i386/mach-voyager/voyager_smp.c +++ b/arch/i386/mach-voyager/voyager_smp.c | |||
@@ -16,7 +16,6 @@ | |||
16 | #include <linux/mc146818rtc.h> | 16 | #include <linux/mc146818rtc.h> |
17 | #include <linux/cache.h> | 17 | #include <linux/cache.h> |
18 | #include <linux/interrupt.h> | 18 | #include <linux/interrupt.h> |
19 | #include <linux/smp_lock.h> | ||
20 | #include <linux/init.h> | 19 | #include <linux/init.h> |
21 | #include <linux/kernel.h> | 20 | #include <linux/kernel.h> |
22 | #include <linux/bootmem.h> | 21 | #include <linux/bootmem.h> |
diff --git a/arch/i386/mach-voyager/voyager_thread.c b/arch/i386/mach-voyager/voyager_thread.c index fdc1d926fb2a..b4b24e0e45e1 100644 --- a/arch/i386/mach-voyager/voyager_thread.c +++ b/arch/i386/mach-voyager/voyager_thread.c | |||
@@ -18,7 +18,6 @@ | |||
18 | #include <linux/kernel_stat.h> | 18 | #include <linux/kernel_stat.h> |
19 | #include <linux/delay.h> | 19 | #include <linux/delay.h> |
20 | #include <linux/mc146818rtc.h> | 20 | #include <linux/mc146818rtc.h> |
21 | #include <linux/smp_lock.h> | ||
22 | #include <linux/init.h> | 21 | #include <linux/init.h> |
23 | #include <linux/bootmem.h> | 22 | #include <linux/bootmem.h> |
24 | #include <linux/kmod.h> | 23 | #include <linux/kmod.h> |
diff --git a/arch/i386/mm/fault.c b/arch/i386/mm/fault.c index f534c29e80b2..29d7d61543a1 100644 --- a/arch/i386/mm/fault.c +++ b/arch/i386/mm/fault.c | |||
@@ -14,20 +14,20 @@ | |||
14 | #include <linux/mman.h> | 14 | #include <linux/mman.h> |
15 | #include <linux/mm.h> | 15 | #include <linux/mm.h> |
16 | #include <linux/smp.h> | 16 | #include <linux/smp.h> |
17 | #include <linux/smp_lock.h> | ||
18 | #include <linux/interrupt.h> | 17 | #include <linux/interrupt.h> |
19 | #include <linux/init.h> | 18 | #include <linux/init.h> |
20 | #include <linux/tty.h> | 19 | #include <linux/tty.h> |
21 | #include <linux/vt_kern.h> /* For unblank_screen() */ | 20 | #include <linux/vt_kern.h> /* For unblank_screen() */ |
22 | #include <linux/highmem.h> | 21 | #include <linux/highmem.h> |
23 | #include <linux/bootmem.h> /* for max_low_pfn */ | 22 | #include <linux/bootmem.h> /* for max_low_pfn */ |
23 | #include <linux/vmalloc.h> | ||
24 | #include <linux/module.h> | 24 | #include <linux/module.h> |
25 | #include <linux/kprobes.h> | 25 | #include <linux/kprobes.h> |
26 | #include <linux/uaccess.h> | 26 | #include <linux/uaccess.h> |
27 | #include <linux/kdebug.h> | ||
27 | 28 | ||
28 | #include <asm/system.h> | 29 | #include <asm/system.h> |
29 | #include <asm/desc.h> | 30 | #include <asm/desc.h> |
30 | #include <asm/kdebug.h> | ||
31 | #include <asm/segment.h> | 31 | #include <asm/segment.h> |
32 | 32 | ||
33 | extern void die(const char *,struct pt_regs *,long); | 33 | extern void die(const char *,struct pt_regs *,long); |
diff --git a/arch/i386/mm/hugetlbpage.c b/arch/i386/mm/hugetlbpage.c index 6272a4fd9e7c..efdf95ac8031 100644 --- a/arch/i386/mm/hugetlbpage.c +++ b/arch/i386/mm/hugetlbpage.c | |||
@@ -9,7 +9,6 @@ | |||
9 | #include <linux/mm.h> | 9 | #include <linux/mm.h> |
10 | #include <linux/hugetlb.h> | 10 | #include <linux/hugetlb.h> |
11 | #include <linux/pagemap.h> | 11 | #include <linux/pagemap.h> |
12 | #include <linux/smp_lock.h> | ||
13 | #include <linux/slab.h> | 12 | #include <linux/slab.h> |
14 | #include <linux/err.h> | 13 | #include <linux/err.h> |
15 | #include <linux/sysctl.h> | 14 | #include <linux/sysctl.h> |
diff --git a/arch/i386/mm/init.c b/arch/i386/mm/init.c index 1a7197e89eb4..c50782efa5c3 100644 --- a/arch/i386/mm/init.c +++ b/arch/i386/mm/init.c | |||
@@ -751,12 +751,9 @@ void __init pgtable_cache_init(void) | |||
751 | pmd_cache = kmem_cache_create("pmd", | 751 | pmd_cache = kmem_cache_create("pmd", |
752 | PTRS_PER_PMD*sizeof(pmd_t), | 752 | PTRS_PER_PMD*sizeof(pmd_t), |
753 | PTRS_PER_PMD*sizeof(pmd_t), | 753 | PTRS_PER_PMD*sizeof(pmd_t), |
754 | 0, | 754 | SLAB_PANIC, |
755 | pmd_ctor, | 755 | pmd_ctor, |
756 | NULL); | 756 | NULL); |
757 | if (!pmd_cache) | ||
758 | panic("pgtable_cache_init(): cannot create pmd cache"); | ||
759 | |||
760 | if (!SHARED_KERNEL_PMD) { | 757 | if (!SHARED_KERNEL_PMD) { |
761 | /* If we're in PAE mode and have a non-shared | 758 | /* If we're in PAE mode and have a non-shared |
762 | kernel pmd, then the pgd size must be a | 759 | kernel pmd, then the pgd size must be a |
@@ -770,11 +767,9 @@ void __init pgtable_cache_init(void) | |||
770 | pgd_cache = kmem_cache_create("pgd", | 767 | pgd_cache = kmem_cache_create("pgd", |
771 | pgd_size, | 768 | pgd_size, |
772 | pgd_size, | 769 | pgd_size, |
773 | 0, | 770 | SLAB_PANIC, |
774 | pgd_ctor, | 771 | pgd_ctor, |
775 | (!SHARED_KERNEL_PMD) ? pgd_dtor : NULL); | 772 | (!SHARED_KERNEL_PMD) ? pgd_dtor : NULL); |
776 | if (!pgd_cache) | ||
777 | panic("pgtable_cache_init(): Cannot create pgd cache"); | ||
778 | } | 773 | } |
779 | 774 | ||
780 | /* | 775 | /* |
diff --git a/arch/i386/oprofile/nmi_int.c b/arch/i386/oprofile/nmi_int.c index 695f737516ae..8e185208dfd4 100644 --- a/arch/i386/oprofile/nmi_int.c +++ b/arch/i386/oprofile/nmi_int.c | |||
@@ -14,10 +14,10 @@ | |||
14 | #include <linux/sysdev.h> | 14 | #include <linux/sysdev.h> |
15 | #include <linux/slab.h> | 15 | #include <linux/slab.h> |
16 | #include <linux/moduleparam.h> | 16 | #include <linux/moduleparam.h> |
17 | #include <linux/kdebug.h> | ||
17 | #include <asm/nmi.h> | 18 | #include <asm/nmi.h> |
18 | #include <asm/msr.h> | 19 | #include <asm/msr.h> |
19 | #include <asm/apic.h> | 20 | #include <asm/apic.h> |
20 | #include <asm/kdebug.h> | ||
21 | 21 | ||
22 | #include "op_counter.h" | 22 | #include "op_counter.h" |
23 | #include "op_x86_model.h" | 23 | #include "op_x86_model.h" |
diff --git a/arch/i386/oprofile/nmi_timer_int.c b/arch/i386/oprofile/nmi_timer_int.c index abf0ba52a635..1418e36ae7ab 100644 --- a/arch/i386/oprofile/nmi_timer_int.c +++ b/arch/i386/oprofile/nmi_timer_int.c | |||
@@ -12,12 +12,11 @@ | |||
12 | #include <linux/errno.h> | 12 | #include <linux/errno.h> |
13 | #include <linux/oprofile.h> | 13 | #include <linux/oprofile.h> |
14 | #include <linux/rcupdate.h> | 14 | #include <linux/rcupdate.h> |
15 | 15 | #include <linux/kdebug.h> | |
16 | 16 | ||
17 | #include <asm/nmi.h> | 17 | #include <asm/nmi.h> |
18 | #include <asm/apic.h> | 18 | #include <asm/apic.h> |
19 | #include <asm/ptrace.h> | 19 | #include <asm/ptrace.h> |
20 | #include <asm/kdebug.h> | ||
21 | 20 | ||
22 | static int profile_timer_exceptions_notify(struct notifier_block *self, | 21 | static int profile_timer_exceptions_notify(struct notifier_block *self, |
23 | unsigned long val, void *data) | 22 | unsigned long val, void *data) |
diff --git a/arch/ia64/hp/sim/boot/fw-emu.c b/arch/ia64/hp/sim/boot/fw-emu.c index 5a0a7afcfc3a..300acd913d9c 100644 --- a/arch/ia64/hp/sim/boot/fw-emu.c +++ b/arch/ia64/hp/sim/boot/fw-emu.c | |||
@@ -287,7 +287,7 @@ sys_fw_init (const char *args, int arglen) | |||
287 | 287 | ||
288 | memset(efi_systab, 0, sizeof(efi_systab)); | 288 | memset(efi_systab, 0, sizeof(efi_systab)); |
289 | efi_systab->hdr.signature = EFI_SYSTEM_TABLE_SIGNATURE; | 289 | efi_systab->hdr.signature = EFI_SYSTEM_TABLE_SIGNATURE; |
290 | efi_systab->hdr.revision = EFI_SYSTEM_TABLE_REVISION; | 290 | efi_systab->hdr.revision = ((1 << 16) | 00); |
291 | efi_systab->hdr.headersize = sizeof(efi_systab->hdr); | 291 | efi_systab->hdr.headersize = sizeof(efi_systab->hdr); |
292 | efi_systab->fw_vendor = __pa("H\0e\0w\0l\0e\0t\0t\0-\0P\0a\0c\0k\0a\0r\0d\0\0"); | 292 | efi_systab->fw_vendor = __pa("H\0e\0w\0l\0e\0t\0t\0-\0P\0a\0c\0k\0a\0r\0d\0\0"); |
293 | efi_systab->fw_revision = 1; | 293 | efi_systab->fw_revision = 1; |
diff --git a/arch/ia64/ia32/ia32_ldt.c b/arch/ia64/ia32/ia32_ldt.c index a152738c7d0d..16d51c146849 100644 --- a/arch/ia64/ia32/ia32_ldt.c +++ b/arch/ia64/ia32/ia32_ldt.c | |||
@@ -10,7 +10,6 @@ | |||
10 | #include <linux/string.h> | 10 | #include <linux/string.h> |
11 | #include <linux/mm.h> | 11 | #include <linux/mm.h> |
12 | #include <linux/smp.h> | 12 | #include <linux/smp.h> |
13 | #include <linux/smp_lock.h> | ||
14 | #include <linux/vmalloc.h> | 13 | #include <linux/vmalloc.h> |
15 | 14 | ||
16 | #include <asm/uaccess.h> | 15 | #include <asm/uaccess.h> |
diff --git a/arch/ia64/ia32/ia32_signal.c b/arch/ia64/ia32/ia32_signal.c index b3355a9ca2c3..10510e585204 100644 --- a/arch/ia64/ia32/ia32_signal.c +++ b/arch/ia64/ia32/ia32_signal.c | |||
@@ -18,7 +18,6 @@ | |||
18 | #include <linux/sched.h> | 18 | #include <linux/sched.h> |
19 | #include <linux/signal.h> | 19 | #include <linux/signal.h> |
20 | #include <linux/smp.h> | 20 | #include <linux/smp.h> |
21 | #include <linux/smp_lock.h> | ||
22 | #include <linux/stddef.h> | 21 | #include <linux/stddef.h> |
23 | #include <linux/syscalls.h> | 22 | #include <linux/syscalls.h> |
24 | #include <linux/unistd.h> | 23 | #include <linux/unistd.h> |
diff --git a/arch/ia64/ia32/ia32_support.c b/arch/ia64/ia32/ia32_support.c index 6af400a12ca1..beea7a0b9dc6 100644 --- a/arch/ia64/ia32/ia32_support.c +++ b/arch/ia64/ia32/ia32_support.c | |||
@@ -252,10 +252,8 @@ ia32_init (void) | |||
252 | extern struct kmem_cache *partial_page_cachep; | 252 | extern struct kmem_cache *partial_page_cachep; |
253 | 253 | ||
254 | partial_page_cachep = kmem_cache_create("partial_page_cache", | 254 | partial_page_cachep = kmem_cache_create("partial_page_cache", |
255 | sizeof(struct partial_page), 0, 0, | 255 | sizeof(struct partial_page), |
256 | NULL, NULL); | 256 | 0, SLAB_PANIC, NULL, NULL); |
257 | if (!partial_page_cachep) | ||
258 | panic("Cannot create partial page SLAB cache"); | ||
259 | } | 257 | } |
260 | #endif | 258 | #endif |
261 | return 0; | 259 | return 0; |
diff --git a/arch/ia64/kernel/crash.c b/arch/ia64/kernel/crash.c index 80a94e707827..aeb79fb28f0b 100644 --- a/arch/ia64/kernel/crash.c +++ b/arch/ia64/kernel/crash.c | |||
@@ -16,8 +16,8 @@ | |||
16 | #include <linux/elfcore.h> | 16 | #include <linux/elfcore.h> |
17 | #include <linux/sysctl.h> | 17 | #include <linux/sysctl.h> |
18 | #include <linux/init.h> | 18 | #include <linux/init.h> |
19 | #include <linux/kdebug.h> | ||
19 | 20 | ||
20 | #include <asm/kdebug.h> | ||
21 | #include <asm/mca.h> | 21 | #include <asm/mca.h> |
22 | 22 | ||
23 | int kdump_status[NR_CPUS]; | 23 | int kdump_status[NR_CPUS]; |
@@ -74,7 +74,7 @@ crash_save_this_cpu(void) | |||
74 | buf = (u64 *) per_cpu_ptr(crash_notes, cpu); | 74 | buf = (u64 *) per_cpu_ptr(crash_notes, cpu); |
75 | if (!buf) | 75 | if (!buf) |
76 | return; | 76 | return; |
77 | buf = append_elf_note(buf, "CORE", NT_PRSTATUS, prstatus, | 77 | buf = append_elf_note(buf, KEXEC_CORE_NOTE_NAME, NT_PRSTATUS, prstatus, |
78 | sizeof(*prstatus)); | 78 | sizeof(*prstatus)); |
79 | final_note(buf); | 79 | final_note(buf); |
80 | } | 80 | } |
diff --git a/arch/ia64/kernel/efi.c b/arch/ia64/kernel/efi.c index 78d29b79947d..75ec3478d8a2 100644 --- a/arch/ia64/kernel/efi.c +++ b/arch/ia64/kernel/efi.c | |||
@@ -445,11 +445,11 @@ efi_init (void) | |||
445 | panic("Woah! Can't find EFI system table.\n"); | 445 | panic("Woah! Can't find EFI system table.\n"); |
446 | if (efi.systab->hdr.signature != EFI_SYSTEM_TABLE_SIGNATURE) | 446 | if (efi.systab->hdr.signature != EFI_SYSTEM_TABLE_SIGNATURE) |
447 | panic("Woah! EFI system table signature incorrect\n"); | 447 | panic("Woah! EFI system table signature incorrect\n"); |
448 | if ((efi.systab->hdr.revision ^ EFI_SYSTEM_TABLE_REVISION) >> 16 != 0) | 448 | if ((efi.systab->hdr.revision >> 16) == 0) |
449 | printk(KERN_WARNING "Warning: EFI system table major version mismatch: " | 449 | printk(KERN_WARNING "Warning: EFI system table version " |
450 | "got %d.%02d, expected %d.%02d\n", | 450 | "%d.%02d, expected 1.00 or greater\n", |
451 | efi.systab->hdr.revision >> 16, efi.systab->hdr.revision & 0xffff, | 451 | efi.systab->hdr.revision >> 16, |
452 | EFI_SYSTEM_TABLE_REVISION >> 16, EFI_SYSTEM_TABLE_REVISION & 0xffff); | 452 | efi.systab->hdr.revision & 0xffff); |
453 | 453 | ||
454 | config_tables = __va(efi.systab->tables); | 454 | config_tables = __va(efi.systab->tables); |
455 | 455 | ||
diff --git a/arch/ia64/kernel/iosapic.c b/arch/ia64/kernel/iosapic.c index dcfbf3e7a9ef..93d9ab14ba24 100644 --- a/arch/ia64/kernel/iosapic.c +++ b/arch/ia64/kernel/iosapic.c | |||
@@ -87,7 +87,6 @@ | |||
87 | #include <linux/list.h> | 87 | #include <linux/list.h> |
88 | #include <linux/pci.h> | 88 | #include <linux/pci.h> |
89 | #include <linux/smp.h> | 89 | #include <linux/smp.h> |
90 | #include <linux/smp_lock.h> | ||
91 | #include <linux/string.h> | 90 | #include <linux/string.h> |
92 | #include <linux/bootmem.h> | 91 | #include <linux/bootmem.h> |
93 | 92 | ||
diff --git a/arch/ia64/kernel/irq_ia64.c b/arch/ia64/kernel/irq_ia64.c index 456f57b087ca..1c5044a80958 100644 --- a/arch/ia64/kernel/irq_ia64.c +++ b/arch/ia64/kernel/irq_ia64.c | |||
@@ -27,7 +27,6 @@ | |||
27 | #include <linux/random.h> /* for rand_initialize_irq() */ | 27 | #include <linux/random.h> /* for rand_initialize_irq() */ |
28 | #include <linux/signal.h> | 28 | #include <linux/signal.h> |
29 | #include <linux/smp.h> | 29 | #include <linux/smp.h> |
30 | #include <linux/smp_lock.h> | ||
31 | #include <linux/threads.h> | 30 | #include <linux/threads.h> |
32 | #include <linux/bitops.h> | 31 | #include <linux/bitops.h> |
33 | #include <linux/irq.h> | 32 | #include <linux/irq.h> |
diff --git a/arch/ia64/kernel/kprobes.c b/arch/ia64/kernel/kprobes.c index 6cb56dd4056d..4f5fd0960ba7 100644 --- a/arch/ia64/kernel/kprobes.c +++ b/arch/ia64/kernel/kprobes.c | |||
@@ -29,9 +29,9 @@ | |||
29 | #include <linux/slab.h> | 29 | #include <linux/slab.h> |
30 | #include <linux/preempt.h> | 30 | #include <linux/preempt.h> |
31 | #include <linux/moduleloader.h> | 31 | #include <linux/moduleloader.h> |
32 | #include <linux/kdebug.h> | ||
32 | 33 | ||
33 | #include <asm/pgtable.h> | 34 | #include <asm/pgtable.h> |
34 | #include <asm/kdebug.h> | ||
35 | #include <asm/sections.h> | 35 | #include <asm/sections.h> |
36 | #include <asm/uaccess.h> | 36 | #include <asm/uaccess.h> |
37 | 37 | ||
@@ -444,7 +444,8 @@ int __kprobes trampoline_probe_handler(struct kprobe *p, struct pt_regs *regs) | |||
444 | break; | 444 | break; |
445 | } | 445 | } |
446 | 446 | ||
447 | BUG_ON(!orig_ret_address || (orig_ret_address == trampoline_address)); | 447 | kretprobe_assert(ri, orig_ret_address, trampoline_address); |
448 | |||
448 | regs->cr_iip = orig_ret_address; | 449 | regs->cr_iip = orig_ret_address; |
449 | 450 | ||
450 | reset_current_kprobe(); | 451 | reset_current_kprobe(); |
@@ -464,23 +465,13 @@ int __kprobes trampoline_probe_handler(struct kprobe *p, struct pt_regs *regs) | |||
464 | } | 465 | } |
465 | 466 | ||
466 | /* Called with kretprobe_lock held */ | 467 | /* Called with kretprobe_lock held */ |
467 | void __kprobes arch_prepare_kretprobe(struct kretprobe *rp, | 468 | void __kprobes arch_prepare_kretprobe(struct kretprobe_instance *ri, |
468 | struct pt_regs *regs) | 469 | struct pt_regs *regs) |
469 | { | 470 | { |
470 | struct kretprobe_instance *ri; | 471 | ri->ret_addr = (kprobe_opcode_t *)regs->b0; |
471 | |||
472 | if ((ri = get_free_rp_inst(rp)) != NULL) { | ||
473 | ri->rp = rp; | ||
474 | ri->task = current; | ||
475 | ri->ret_addr = (kprobe_opcode_t *)regs->b0; | ||
476 | |||
477 | /* Replace the return addr with trampoline addr */ | ||
478 | regs->b0 = ((struct fnptr *)kretprobe_trampoline)->ip; | ||
479 | 472 | ||
480 | add_rp_inst(ri); | 473 | /* Replace the return addr with trampoline addr */ |
481 | } else { | 474 | regs->b0 = ((struct fnptr *)kretprobe_trampoline)->ip; |
482 | rp->nmissed++; | ||
483 | } | ||
484 | } | 475 | } |
485 | 476 | ||
486 | int __kprobes arch_prepare_kprobe(struct kprobe *p) | 477 | int __kprobes arch_prepare_kprobe(struct kprobe *p) |
@@ -1021,3 +1012,12 @@ int __init arch_init_kprobes(void) | |||
1021 | (kprobe_opcode_t *)((struct fnptr *)kretprobe_trampoline)->ip; | 1012 | (kprobe_opcode_t *)((struct fnptr *)kretprobe_trampoline)->ip; |
1022 | return register_kprobe(&trampoline_p); | 1013 | return register_kprobe(&trampoline_p); |
1023 | } | 1014 | } |
1015 | |||
1016 | int __kprobes arch_trampoline_kprobe(struct kprobe *p) | ||
1017 | { | ||
1018 | if (p->addr == | ||
1019 | (kprobe_opcode_t *)((struct fnptr *)kretprobe_trampoline)->ip) | ||
1020 | return 1; | ||
1021 | |||
1022 | return 0; | ||
1023 | } | ||
diff --git a/arch/ia64/kernel/mca.c b/arch/ia64/kernel/mca.c index 491687f84fb5..1d7cc7e2ce32 100644 --- a/arch/ia64/kernel/mca.c +++ b/arch/ia64/kernel/mca.c | |||
@@ -63,7 +63,6 @@ | |||
63 | #include <linux/sched.h> | 63 | #include <linux/sched.h> |
64 | #include <linux/interrupt.h> | 64 | #include <linux/interrupt.h> |
65 | #include <linux/irq.h> | 65 | #include <linux/irq.h> |
66 | #include <linux/smp_lock.h> | ||
67 | #include <linux/bootmem.h> | 66 | #include <linux/bootmem.h> |
68 | #include <linux/acpi.h> | 67 | #include <linux/acpi.h> |
69 | #include <linux/timer.h> | 68 | #include <linux/timer.h> |
@@ -72,9 +71,9 @@ | |||
72 | #include <linux/smp.h> | 71 | #include <linux/smp.h> |
73 | #include <linux/workqueue.h> | 72 | #include <linux/workqueue.h> |
74 | #include <linux/cpumask.h> | 73 | #include <linux/cpumask.h> |
74 | #include <linux/kdebug.h> | ||
75 | 75 | ||
76 | #include <asm/delay.h> | 76 | #include <asm/delay.h> |
77 | #include <asm/kdebug.h> | ||
78 | #include <asm/machvec.h> | 77 | #include <asm/machvec.h> |
79 | #include <asm/meminit.h> | 78 | #include <asm/meminit.h> |
80 | #include <asm/page.h> | 79 | #include <asm/page.h> |
diff --git a/arch/ia64/kernel/mca_drv.c b/arch/ia64/kernel/mca_drv.c index 832cf1e647e8..70b8bdbb7e6f 100644 --- a/arch/ia64/kernel/mca_drv.c +++ b/arch/ia64/kernel/mca_drv.c | |||
@@ -14,7 +14,6 @@ | |||
14 | #include <linux/interrupt.h> | 14 | #include <linux/interrupt.h> |
15 | #include <linux/irq.h> | 15 | #include <linux/irq.h> |
16 | #include <linux/kallsyms.h> | 16 | #include <linux/kallsyms.h> |
17 | #include <linux/smp_lock.h> | ||
18 | #include <linux/bootmem.h> | 17 | #include <linux/bootmem.h> |
19 | #include <linux/acpi.h> | 18 | #include <linux/acpi.h> |
20 | #include <linux/timer.h> | 19 | #include <linux/timer.h> |
diff --git a/arch/ia64/kernel/perfmon.c b/arch/ia64/kernel/perfmon.c index abc7ad035886..e7191ca30b16 100644 --- a/arch/ia64/kernel/perfmon.c +++ b/arch/ia64/kernel/perfmon.c | |||
@@ -23,7 +23,6 @@ | |||
23 | #include <linux/kernel.h> | 23 | #include <linux/kernel.h> |
24 | #include <linux/sched.h> | 24 | #include <linux/sched.h> |
25 | #include <linux/interrupt.h> | 25 | #include <linux/interrupt.h> |
26 | #include <linux/smp_lock.h> | ||
27 | #include <linux/proc_fs.h> | 26 | #include <linux/proc_fs.h> |
28 | #include <linux/seq_file.h> | 27 | #include <linux/seq_file.h> |
29 | #include <linux/init.h> | 28 | #include <linux/init.h> |
diff --git a/arch/ia64/kernel/process.c b/arch/ia64/kernel/process.c index ae96d4176995..8bb571a8a738 100644 --- a/arch/ia64/kernel/process.c +++ b/arch/ia64/kernel/process.c | |||
@@ -20,20 +20,19 @@ | |||
20 | #include <linux/personality.h> | 20 | #include <linux/personality.h> |
21 | #include <linux/sched.h> | 21 | #include <linux/sched.h> |
22 | #include <linux/slab.h> | 22 | #include <linux/slab.h> |
23 | #include <linux/smp_lock.h> | ||
24 | #include <linux/stddef.h> | 23 | #include <linux/stddef.h> |
25 | #include <linux/thread_info.h> | 24 | #include <linux/thread_info.h> |
26 | #include <linux/unistd.h> | 25 | #include <linux/unistd.h> |
27 | #include <linux/efi.h> | 26 | #include <linux/efi.h> |
28 | #include <linux/interrupt.h> | 27 | #include <linux/interrupt.h> |
29 | #include <linux/delay.h> | 28 | #include <linux/delay.h> |
29 | #include <linux/kdebug.h> | ||
30 | 30 | ||
31 | #include <asm/cpu.h> | 31 | #include <asm/cpu.h> |
32 | #include <asm/delay.h> | 32 | #include <asm/delay.h> |
33 | #include <asm/elf.h> | 33 | #include <asm/elf.h> |
34 | #include <asm/ia32.h> | 34 | #include <asm/ia32.h> |
35 | #include <asm/irq.h> | 35 | #include <asm/irq.h> |
36 | #include <asm/kdebug.h> | ||
37 | #include <asm/kexec.h> | 36 | #include <asm/kexec.h> |
38 | #include <asm/pgalloc.h> | 37 | #include <asm/pgalloc.h> |
39 | #include <asm/processor.h> | 38 | #include <asm/processor.h> |
diff --git a/arch/ia64/kernel/salinfo.c b/arch/ia64/kernel/salinfo.c index af9f8754d847..a51f1d0bfb70 100644 --- a/arch/ia64/kernel/salinfo.c +++ b/arch/ia64/kernel/salinfo.c | |||
@@ -42,7 +42,6 @@ | |||
42 | #include <linux/proc_fs.h> | 42 | #include <linux/proc_fs.h> |
43 | #include <linux/module.h> | 43 | #include <linux/module.h> |
44 | #include <linux/smp.h> | 44 | #include <linux/smp.h> |
45 | #include <linux/smp_lock.h> | ||
46 | #include <linux/timer.h> | 45 | #include <linux/timer.h> |
47 | #include <linux/vmalloc.h> | 46 | #include <linux/vmalloc.h> |
48 | 47 | ||
diff --git a/arch/ia64/kernel/signal.c b/arch/ia64/kernel/signal.c index 77f8b49c7882..0dcd56da6001 100644 --- a/arch/ia64/kernel/signal.c +++ b/arch/ia64/kernel/signal.c | |||
@@ -14,7 +14,6 @@ | |||
14 | #include <linux/sched.h> | 14 | #include <linux/sched.h> |
15 | #include <linux/signal.h> | 15 | #include <linux/signal.h> |
16 | #include <linux/smp.h> | 16 | #include <linux/smp.h> |
17 | #include <linux/smp_lock.h> | ||
18 | #include <linux/stddef.h> | 17 | #include <linux/stddef.h> |
19 | #include <linux/tty.h> | 18 | #include <linux/tty.h> |
20 | #include <linux/binfmts.h> | 19 | #include <linux/binfmts.h> |
diff --git a/arch/ia64/kernel/smpboot.c b/arch/ia64/kernel/smpboot.c index ff7df439da6d..a44792d0f3a9 100644 --- a/arch/ia64/kernel/smpboot.c +++ b/arch/ia64/kernel/smpboot.c | |||
@@ -35,7 +35,6 @@ | |||
35 | #include <linux/mm.h> | 35 | #include <linux/mm.h> |
36 | #include <linux/notifier.h> | 36 | #include <linux/notifier.h> |
37 | #include <linux/smp.h> | 37 | #include <linux/smp.h> |
38 | #include <linux/smp_lock.h> | ||
39 | #include <linux/spinlock.h> | 38 | #include <linux/spinlock.h> |
40 | #include <linux/efi.h> | 39 | #include <linux/efi.h> |
41 | #include <linux/percpu.h> | 40 | #include <linux/percpu.h> |
diff --git a/arch/ia64/kernel/sys_ia64.c b/arch/ia64/kernel/sys_ia64.c index 2fcaa2051aa3..1eda194b9559 100644 --- a/arch/ia64/kernel/sys_ia64.c +++ b/arch/ia64/kernel/sys_ia64.c | |||
@@ -13,7 +13,6 @@ | |||
13 | #include <linux/shm.h> | 13 | #include <linux/shm.h> |
14 | #include <linux/file.h> /* doh, must come after sched.h... */ | 14 | #include <linux/file.h> /* doh, must come after sched.h... */ |
15 | #include <linux/smp.h> | 15 | #include <linux/smp.h> |
16 | #include <linux/smp_lock.h> | ||
17 | #include <linux/syscalls.h> | 16 | #include <linux/syscalls.h> |
18 | #include <linux/highuid.h> | 17 | #include <linux/highuid.h> |
19 | #include <linux/hugetlb.h> | 18 | #include <linux/hugetlb.h> |
diff --git a/arch/ia64/kernel/time.c b/arch/ia64/kernel/time.c index 39e0cd3a0884..a06667c7acc0 100644 --- a/arch/ia64/kernel/time.c +++ b/arch/ia64/kernel/time.c | |||
@@ -235,7 +235,7 @@ ia64_init_itm (void) | |||
235 | 235 | ||
236 | static struct irqaction timer_irqaction = { | 236 | static struct irqaction timer_irqaction = { |
237 | .handler = timer_interrupt, | 237 | .handler = timer_interrupt, |
238 | .flags = IRQF_DISABLED, | 238 | .flags = IRQF_DISABLED | IRQF_IRQPOLL, |
239 | .name = "timer" | 239 | .name = "timer" |
240 | }; | 240 | }; |
241 | 241 | ||
diff --git a/arch/ia64/kernel/traps.c b/arch/ia64/kernel/traps.c index 765cbe5ba6ae..5bfb8be02b70 100644 --- a/arch/ia64/kernel/traps.c +++ b/arch/ia64/kernel/traps.c | |||
@@ -16,33 +16,17 @@ | |||
16 | #include <linux/hardirq.h> | 16 | #include <linux/hardirq.h> |
17 | #include <linux/kprobes.h> | 17 | #include <linux/kprobes.h> |
18 | #include <linux/delay.h> /* for ssleep() */ | 18 | #include <linux/delay.h> /* for ssleep() */ |
19 | #include <linux/kdebug.h> | ||
19 | 20 | ||
20 | #include <asm/fpswa.h> | 21 | #include <asm/fpswa.h> |
21 | #include <asm/ia32.h> | 22 | #include <asm/ia32.h> |
22 | #include <asm/intrinsics.h> | 23 | #include <asm/intrinsics.h> |
23 | #include <asm/processor.h> | 24 | #include <asm/processor.h> |
24 | #include <asm/uaccess.h> | 25 | #include <asm/uaccess.h> |
25 | #include <asm/kdebug.h> | ||
26 | 26 | ||
27 | fpswa_interface_t *fpswa_interface; | 27 | fpswa_interface_t *fpswa_interface; |
28 | EXPORT_SYMBOL(fpswa_interface); | 28 | EXPORT_SYMBOL(fpswa_interface); |
29 | 29 | ||
30 | ATOMIC_NOTIFIER_HEAD(ia64die_chain); | ||
31 | |||
32 | int | ||
33 | register_die_notifier(struct notifier_block *nb) | ||
34 | { | ||
35 | return atomic_notifier_chain_register(&ia64die_chain, nb); | ||
36 | } | ||
37 | EXPORT_SYMBOL_GPL(register_die_notifier); | ||
38 | |||
39 | int | ||
40 | unregister_die_notifier(struct notifier_block *nb) | ||
41 | { | ||
42 | return atomic_notifier_chain_unregister(&ia64die_chain, nb); | ||
43 | } | ||
44 | EXPORT_SYMBOL_GPL(unregister_die_notifier); | ||
45 | |||
46 | void __init | 30 | void __init |
47 | trap_init (void) | 31 | trap_init (void) |
48 | { | 32 | { |
diff --git a/arch/ia64/kernel/unaligned.c b/arch/ia64/kernel/unaligned.c index 1e357550c776..fe6aa5a9f8fa 100644 --- a/arch/ia64/kernel/unaligned.c +++ b/arch/ia64/kernel/unaligned.c | |||
@@ -15,7 +15,6 @@ | |||
15 | */ | 15 | */ |
16 | #include <linux/kernel.h> | 16 | #include <linux/kernel.h> |
17 | #include <linux/sched.h> | 17 | #include <linux/sched.h> |
18 | #include <linux/smp_lock.h> | ||
19 | #include <linux/tty.h> | 18 | #include <linux/tty.h> |
20 | 19 | ||
21 | #include <asm/intrinsics.h> | 20 | #include <asm/intrinsics.h> |
diff --git a/arch/ia64/mm/discontig.c b/arch/ia64/mm/discontig.c index 872da7a2accd..94844442812a 100644 --- a/arch/ia64/mm/discontig.c +++ b/arch/ia64/mm/discontig.c | |||
@@ -693,6 +693,7 @@ void __init paging_init(void) | |||
693 | zero_page_memmap_ptr = virt_to_page(ia64_imva(empty_zero_page)); | 693 | zero_page_memmap_ptr = virt_to_page(ia64_imva(empty_zero_page)); |
694 | } | 694 | } |
695 | 695 | ||
696 | #ifdef CONFIG_MEMORY_HOTPLUG | ||
696 | pg_data_t *arch_alloc_nodedata(int nid) | 697 | pg_data_t *arch_alloc_nodedata(int nid) |
697 | { | 698 | { |
698 | unsigned long size = compute_pernodesize(nid); | 699 | unsigned long size = compute_pernodesize(nid); |
@@ -710,3 +711,4 @@ void arch_refresh_nodedata(int update_node, pg_data_t *update_pgdat) | |||
710 | pgdat_list[update_node] = update_pgdat; | 711 | pgdat_list[update_node] = update_pgdat; |
711 | scatter_node_data(); | 712 | scatter_node_data(); |
712 | } | 713 | } |
714 | #endif | ||
diff --git a/arch/ia64/mm/fault.c b/arch/ia64/mm/fault.c index 59f3ab937615..21658e02116c 100644 --- a/arch/ia64/mm/fault.c +++ b/arch/ia64/mm/fault.c | |||
@@ -7,15 +7,14 @@ | |||
7 | #include <linux/sched.h> | 7 | #include <linux/sched.h> |
8 | #include <linux/kernel.h> | 8 | #include <linux/kernel.h> |
9 | #include <linux/mm.h> | 9 | #include <linux/mm.h> |
10 | #include <linux/smp_lock.h> | ||
11 | #include <linux/interrupt.h> | 10 | #include <linux/interrupt.h> |
12 | #include <linux/kprobes.h> | 11 | #include <linux/kprobes.h> |
12 | #include <linux/kdebug.h> | ||
13 | 13 | ||
14 | #include <asm/pgtable.h> | 14 | #include <asm/pgtable.h> |
15 | #include <asm/processor.h> | 15 | #include <asm/processor.h> |
16 | #include <asm/system.h> | 16 | #include <asm/system.h> |
17 | #include <asm/uaccess.h> | 17 | #include <asm/uaccess.h> |
18 | #include <asm/kdebug.h> | ||
19 | 18 | ||
20 | extern void die (char *, struct pt_regs *, long); | 19 | extern void die (char *, struct pt_regs *, long); |
21 | 20 | ||
diff --git a/arch/ia64/mm/hugetlbpage.c b/arch/ia64/mm/hugetlbpage.c index c7c90f4f4298..1346b7f05397 100644 --- a/arch/ia64/mm/hugetlbpage.c +++ b/arch/ia64/mm/hugetlbpage.c | |||
@@ -13,7 +13,6 @@ | |||
13 | #include <linux/mm.h> | 13 | #include <linux/mm.h> |
14 | #include <linux/hugetlb.h> | 14 | #include <linux/hugetlb.h> |
15 | #include <linux/pagemap.h> | 15 | #include <linux/pagemap.h> |
16 | #include <linux/smp_lock.h> | ||
17 | #include <linux/slab.h> | 16 | #include <linux/slab.h> |
18 | #include <linux/sysctl.h> | 17 | #include <linux/sysctl.h> |
19 | #include <asm/mman.h> | 18 | #include <asm/mman.h> |
diff --git a/arch/ia64/pci/pci.c b/arch/ia64/pci/pci.c index 9f635896d252..3549f3b42592 100644 --- a/arch/ia64/pci/pci.c +++ b/arch/ia64/pci/pci.c | |||
@@ -18,7 +18,6 @@ | |||
18 | #include <linux/init.h> | 18 | #include <linux/init.h> |
19 | #include <linux/ioport.h> | 19 | #include <linux/ioport.h> |
20 | #include <linux/slab.h> | 20 | #include <linux/slab.h> |
21 | #include <linux/smp_lock.h> | ||
22 | #include <linux/spinlock.h> | 21 | #include <linux/spinlock.h> |
23 | 22 | ||
24 | #include <asm/machvec.h> | 23 | #include <asm/machvec.h> |
diff --git a/arch/ia64/sn/kernel/xpc_main.c b/arch/ia64/sn/kernel/xpc_main.c index 68355ef6f841..e336e1692a73 100644 --- a/arch/ia64/sn/kernel/xpc_main.c +++ b/arch/ia64/sn/kernel/xpc_main.c | |||
@@ -55,9 +55,9 @@ | |||
55 | #include <linux/delay.h> | 55 | #include <linux/delay.h> |
56 | #include <linux/reboot.h> | 56 | #include <linux/reboot.h> |
57 | #include <linux/completion.h> | 57 | #include <linux/completion.h> |
58 | #include <linux/kdebug.h> | ||
58 | #include <asm/sn/intr.h> | 59 | #include <asm/sn/intr.h> |
59 | #include <asm/sn/sn_sal.h> | 60 | #include <asm/sn/sn_sal.h> |
60 | #include <asm/kdebug.h> | ||
61 | #include <asm/uaccess.h> | 61 | #include <asm/uaccess.h> |
62 | #include <asm/sn/xpc.h> | 62 | #include <asm/sn/xpc.h> |
63 | 63 | ||
@@ -1332,7 +1332,7 @@ xpc_init(void) | |||
1332 | dev_warn(xpc_part, "can't register reboot notifier\n"); | 1332 | dev_warn(xpc_part, "can't register reboot notifier\n"); |
1333 | } | 1333 | } |
1334 | 1334 | ||
1335 | /* add ourselves to the die_notifier list (i.e., ia64die_chain) */ | 1335 | /* add ourselves to the die_notifier list */ |
1336 | ret = register_die_notifier(&xpc_die_notifier); | 1336 | ret = register_die_notifier(&xpc_die_notifier); |
1337 | if (ret != 0) { | 1337 | if (ret != 0) { |
1338 | dev_warn(xpc_part, "can't register die notifier\n"); | 1338 | dev_warn(xpc_part, "can't register die notifier\n"); |
diff --git a/arch/m32r/kernel/m32r_ksyms.c b/arch/m32r/kernel/m32r_ksyms.c index 8cbbb0b11e0c..41a4c95e06d6 100644 --- a/arch/m32r/kernel/m32r_ksyms.c +++ b/arch/m32r/kernel/m32r_ksyms.c | |||
@@ -5,7 +5,6 @@ | |||
5 | #include <linux/sched.h> | 5 | #include <linux/sched.h> |
6 | #include <linux/in6.h> | 6 | #include <linux/in6.h> |
7 | #include <linux/interrupt.h> | 7 | #include <linux/interrupt.h> |
8 | #include <linux/smp_lock.h> | ||
9 | #include <linux/string.h> | 8 | #include <linux/string.h> |
10 | 9 | ||
11 | #include <asm/semaphore.h> | 10 | #include <asm/semaphore.h> |
diff --git a/arch/m32r/kernel/signal.c b/arch/m32r/kernel/signal.c index 4b156054baa6..916faf6070af 100644 --- a/arch/m32r/kernel/signal.c +++ b/arch/m32r/kernel/signal.c | |||
@@ -13,7 +13,6 @@ | |||
13 | #include <linux/sched.h> | 13 | #include <linux/sched.h> |
14 | #include <linux/mm.h> | 14 | #include <linux/mm.h> |
15 | #include <linux/smp.h> | 15 | #include <linux/smp.h> |
16 | #include <linux/smp_lock.h> | ||
17 | #include <linux/kernel.h> | 16 | #include <linux/kernel.h> |
18 | #include <linux/signal.h> | 17 | #include <linux/signal.h> |
19 | #include <linux/errno.h> | 18 | #include <linux/errno.h> |
diff --git a/arch/m32r/kernel/smpboot.c b/arch/m32r/kernel/smpboot.c index 48d376f47e1a..3eb305953497 100644 --- a/arch/m32r/kernel/smpboot.c +++ b/arch/m32r/kernel/smpboot.c | |||
@@ -43,7 +43,6 @@ | |||
43 | #include <linux/init.h> | 43 | #include <linux/init.h> |
44 | #include <linux/kernel.h> | 44 | #include <linux/kernel.h> |
45 | #include <linux/mm.h> | 45 | #include <linux/mm.h> |
46 | #include <linux/smp_lock.h> | ||
47 | #include <linux/irq.h> | 46 | #include <linux/irq.h> |
48 | #include <linux/bootmem.h> | 47 | #include <linux/bootmem.h> |
49 | #include <linux/delay.h> | 48 | #include <linux/delay.h> |
diff --git a/arch/m32r/kernel/sys_m32r.c b/arch/m32r/kernel/sys_m32r.c index b4e7bcb43540..bda85548de6c 100644 --- a/arch/m32r/kernel/sys_m32r.c +++ b/arch/m32r/kernel/sys_m32r.c | |||
@@ -11,7 +11,6 @@ | |||
11 | #include <linux/sched.h> | 11 | #include <linux/sched.h> |
12 | #include <linux/mm.h> | 12 | #include <linux/mm.h> |
13 | #include <linux/smp.h> | 13 | #include <linux/smp.h> |
14 | #include <linux/smp_lock.h> | ||
15 | #include <linux/sem.h> | 14 | #include <linux/sem.h> |
16 | #include <linux/msg.h> | 15 | #include <linux/msg.h> |
17 | #include <linux/shm.h> | 16 | #include <linux/shm.h> |
diff --git a/arch/m32r/mm/fault-nommu.c b/arch/m32r/mm/fault-nommu.c index 9880abac3f54..88469178ea6b 100644 --- a/arch/m32r/mm/fault-nommu.c +++ b/arch/m32r/mm/fault-nommu.c | |||
@@ -17,7 +17,6 @@ | |||
17 | #include <linux/mman.h> | 17 | #include <linux/mman.h> |
18 | #include <linux/mm.h> | 18 | #include <linux/mm.h> |
19 | #include <linux/smp.h> | 19 | #include <linux/smp.h> |
20 | #include <linux/smp_lock.h> | ||
21 | #include <linux/interrupt.h> | 20 | #include <linux/interrupt.h> |
22 | #include <linux/init.h> | 21 | #include <linux/init.h> |
23 | #include <linux/vt_kern.h> /* For unblank_screen() */ | 22 | #include <linux/vt_kern.h> /* For unblank_screen() */ |
diff --git a/arch/m32r/mm/fault.c b/arch/m32r/mm/fault.c index 037d58e82fb5..f3935ba24946 100644 --- a/arch/m32r/mm/fault.c +++ b/arch/m32r/mm/fault.c | |||
@@ -18,7 +18,6 @@ | |||
18 | #include <linux/mman.h> | 18 | #include <linux/mman.h> |
19 | #include <linux/mm.h> | 19 | #include <linux/mm.h> |
20 | #include <linux/smp.h> | 20 | #include <linux/smp.h> |
21 | #include <linux/smp_lock.h> | ||
22 | #include <linux/interrupt.h> | 21 | #include <linux/interrupt.h> |
23 | #include <linux/init.h> | 22 | #include <linux/init.h> |
24 | #include <linux/tty.h> | 23 | #include <linux/tty.h> |
diff --git a/arch/m68k/kernel/ptrace.c b/arch/m68k/kernel/ptrace.c index 7fd2720c3841..cdba9fd6d82f 100644 --- a/arch/m68k/kernel/ptrace.c +++ b/arch/m68k/kernel/ptrace.c | |||
@@ -14,7 +14,6 @@ | |||
14 | #include <linux/sched.h> | 14 | #include <linux/sched.h> |
15 | #include <linux/mm.h> | 15 | #include <linux/mm.h> |
16 | #include <linux/smp.h> | 16 | #include <linux/smp.h> |
17 | #include <linux/smp_lock.h> | ||
18 | #include <linux/errno.h> | 17 | #include <linux/errno.h> |
19 | #include <linux/ptrace.h> | 18 | #include <linux/ptrace.h> |
20 | #include <linux/user.h> | 19 | #include <linux/user.h> |
diff --git a/arch/m68k/mvme16x/rtc.c b/arch/m68k/mvme16x/rtc.c index 272d47eac58d..e341387787ab 100644 --- a/arch/m68k/mvme16x/rtc.c +++ b/arch/m68k/mvme16x/rtc.c | |||
@@ -16,7 +16,6 @@ | |||
16 | #include <linux/init.h> | 16 | #include <linux/init.h> |
17 | #include <linux/poll.h> | 17 | #include <linux/poll.h> |
18 | #include <linux/mc146818rtc.h> /* For struct rtc_time and ioctls, etc */ | 18 | #include <linux/mc146818rtc.h> /* For struct rtc_time and ioctls, etc */ |
19 | #include <linux/smp_lock.h> | ||
20 | #include <linux/bcd.h> | 19 | #include <linux/bcd.h> |
21 | #include <asm/mvme16xhw.h> | 20 | #include <asm/mvme16xhw.h> |
22 | 21 | ||
diff --git a/arch/m68knommu/kernel/ptrace.c b/arch/m68knommu/kernel/ptrace.c index 72d349623575..f54b6a3dfecb 100644 --- a/arch/m68knommu/kernel/ptrace.c +++ b/arch/m68knommu/kernel/ptrace.c | |||
@@ -14,7 +14,6 @@ | |||
14 | #include <linux/sched.h> | 14 | #include <linux/sched.h> |
15 | #include <linux/mm.h> | 15 | #include <linux/mm.h> |
16 | #include <linux/smp.h> | 16 | #include <linux/smp.h> |
17 | #include <linux/smp_lock.h> | ||
18 | #include <linux/errno.h> | 17 | #include <linux/errno.h> |
19 | #include <linux/ptrace.h> | 18 | #include <linux/ptrace.h> |
20 | #include <linux/user.h> | 19 | #include <linux/user.h> |
diff --git a/arch/m68knommu/kernel/sys_m68k.c b/arch/m68knommu/kernel/sys_m68k.c index 3265b2d734db..48e6b33e8b44 100644 --- a/arch/m68knommu/kernel/sys_m68k.c +++ b/arch/m68knommu/kernel/sys_m68k.c | |||
@@ -10,7 +10,6 @@ | |||
10 | #include <linux/sched.h> | 10 | #include <linux/sched.h> |
11 | #include <linux/mm.h> | 11 | #include <linux/mm.h> |
12 | #include <linux/smp.h> | 12 | #include <linux/smp.h> |
13 | #include <linux/smp_lock.h> | ||
14 | #include <linux/sem.h> | 13 | #include <linux/sem.h> |
15 | #include <linux/msg.h> | 14 | #include <linux/msg.h> |
16 | #include <linux/shm.h> | 15 | #include <linux/shm.h> |
diff --git a/arch/mips/kernel/early_printk.c b/arch/mips/kernel/early_printk.c index 304efdc5682f..4fa54b230c09 100644 --- a/arch/mips/kernel/early_printk.c +++ b/arch/mips/kernel/early_printk.c | |||
@@ -33,8 +33,3 @@ void __init setup_early_printk(void) | |||
33 | { | 33 | { |
34 | register_console(&early_console); | 34 | register_console(&early_console); |
35 | } | 35 | } |
36 | |||
37 | void __init disable_early_printk(void) | ||
38 | { | ||
39 | unregister_console(&early_console); | ||
40 | } | ||
diff --git a/arch/mips/kernel/irixelf.c b/arch/mips/kernel/irixelf.c index 3cc25c05d367..403d96f99e77 100644 --- a/arch/mips/kernel/irixelf.c +++ b/arch/mips/kernel/irixelf.c | |||
@@ -31,7 +31,6 @@ | |||
31 | #include <linux/shm.h> | 31 | #include <linux/shm.h> |
32 | #include <linux/personality.h> | 32 | #include <linux/personality.h> |
33 | #include <linux/elfcore.h> | 33 | #include <linux/elfcore.h> |
34 | #include <linux/smp_lock.h> | ||
35 | 34 | ||
36 | #include <asm/mipsregs.h> | 35 | #include <asm/mipsregs.h> |
37 | #include <asm/namei.h> | 36 | #include <asm/namei.h> |
diff --git a/arch/mips/kernel/irixioctl.c b/arch/mips/kernel/irixioctl.c index e2863821a3dd..30f9eb09db3f 100644 --- a/arch/mips/kernel/irixioctl.c +++ b/arch/mips/kernel/irixioctl.c | |||
@@ -9,7 +9,6 @@ | |||
9 | #include <linux/fs.h> | 9 | #include <linux/fs.h> |
10 | #include <linux/mm.h> | 10 | #include <linux/mm.h> |
11 | #include <linux/smp.h> | 11 | #include <linux/smp.h> |
12 | #include <linux/smp_lock.h> | ||
13 | #include <linux/sockios.h> | 12 | #include <linux/sockios.h> |
14 | #include <linux/syscalls.h> | 13 | #include <linux/syscalls.h> |
15 | #include <linux/tty.h> | 14 | #include <linux/tty.h> |
diff --git a/arch/mips/kernel/irixsig.c b/arch/mips/kernel/irixsig.c index 2132485caa74..6980deb6dced 100644 --- a/arch/mips/kernel/irixsig.c +++ b/arch/mips/kernel/irixsig.c | |||
@@ -10,7 +10,6 @@ | |||
10 | #include <linux/mm.h> | 10 | #include <linux/mm.h> |
11 | #include <linux/errno.h> | 11 | #include <linux/errno.h> |
12 | #include <linux/smp.h> | 12 | #include <linux/smp.h> |
13 | #include <linux/smp_lock.h> | ||
14 | #include <linux/time.h> | 13 | #include <linux/time.h> |
15 | #include <linux/ptrace.h> | 14 | #include <linux/ptrace.h> |
16 | #include <linux/resource.h> | 15 | #include <linux/resource.h> |
diff --git a/arch/mips/kernel/ptrace.c b/arch/mips/kernel/ptrace.c index 201ae194d1b8..b5a7b46bbc49 100644 --- a/arch/mips/kernel/ptrace.c +++ b/arch/mips/kernel/ptrace.c | |||
@@ -22,7 +22,6 @@ | |||
22 | #include <linux/ptrace.h> | 22 | #include <linux/ptrace.h> |
23 | #include <linux/audit.h> | 23 | #include <linux/audit.h> |
24 | #include <linux/smp.h> | 24 | #include <linux/smp.h> |
25 | #include <linux/smp_lock.h> | ||
26 | #include <linux/user.h> | 25 | #include <linux/user.h> |
27 | #include <linux/security.h> | 26 | #include <linux/security.h> |
28 | #include <linux/signal.h> | 27 | #include <linux/signal.h> |
diff --git a/arch/mips/kernel/signal.c b/arch/mips/kernel/signal.c index 07d67309451a..2a08ce41bf2b 100644 --- a/arch/mips/kernel/signal.c +++ b/arch/mips/kernel/signal.c | |||
@@ -12,7 +12,6 @@ | |||
12 | #include <linux/mm.h> | 12 | #include <linux/mm.h> |
13 | #include <linux/personality.h> | 13 | #include <linux/personality.h> |
14 | #include <linux/smp.h> | 14 | #include <linux/smp.h> |
15 | #include <linux/smp_lock.h> | ||
16 | #include <linux/kernel.h> | 15 | #include <linux/kernel.h> |
17 | #include <linux/signal.h> | 16 | #include <linux/signal.h> |
18 | #include <linux/errno.h> | 17 | #include <linux/errno.h> |
diff --git a/arch/mips/kernel/signal32.c b/arch/mips/kernel/signal32.c index b9a014411f83..003f8152b9ed 100644 --- a/arch/mips/kernel/signal32.c +++ b/arch/mips/kernel/signal32.c | |||
@@ -12,7 +12,6 @@ | |||
12 | #include <linux/sched.h> | 12 | #include <linux/sched.h> |
13 | #include <linux/mm.h> | 13 | #include <linux/mm.h> |
14 | #include <linux/smp.h> | 14 | #include <linux/smp.h> |
15 | #include <linux/smp_lock.h> | ||
16 | #include <linux/kernel.h> | 15 | #include <linux/kernel.h> |
17 | #include <linux/signal.h> | 16 | #include <linux/signal.h> |
18 | #include <linux/syscalls.h> | 17 | #include <linux/syscalls.h> |
diff --git a/arch/mips/kernel/signal_n32.c b/arch/mips/kernel/signal_n32.c index a9202fa95987..4cf9ff24d1f7 100644 --- a/arch/mips/kernel/signal_n32.c +++ b/arch/mips/kernel/signal_n32.c | |||
@@ -19,7 +19,6 @@ | |||
19 | #include <linux/sched.h> | 19 | #include <linux/sched.h> |
20 | #include <linux/mm.h> | 20 | #include <linux/mm.h> |
21 | #include <linux/smp.h> | 21 | #include <linux/smp.h> |
22 | #include <linux/smp_lock.h> | ||
23 | #include <linux/kernel.h> | 22 | #include <linux/kernel.h> |
24 | #include <linux/signal.h> | 23 | #include <linux/signal.h> |
25 | #include <linux/errno.h> | 24 | #include <linux/errno.h> |
diff --git a/arch/mips/kernel/stacktrace.c b/arch/mips/kernel/stacktrace.c index a586aba337a7..ebd9db8d1ece 100644 --- a/arch/mips/kernel/stacktrace.c +++ b/arch/mips/kernel/stacktrace.c | |||
@@ -31,8 +31,7 @@ static void save_raw_context_stack(struct stack_trace *trace, | |||
31 | } | 31 | } |
32 | } | 32 | } |
33 | 33 | ||
34 | static void save_context_stack(struct stack_trace *trace, | 34 | static void save_context_stack(struct stack_trace *trace, struct pt_regs *regs) |
35 | struct task_struct *task, struct pt_regs *regs) | ||
36 | { | 35 | { |
37 | unsigned long sp = regs->regs[29]; | 36 | unsigned long sp = regs->regs[29]; |
38 | #ifdef CONFIG_KALLSYMS | 37 | #ifdef CONFIG_KALLSYMS |
@@ -41,7 +40,7 @@ static void save_context_stack(struct stack_trace *trace, | |||
41 | 40 | ||
42 | if (raw_show_trace || !__kernel_text_address(pc)) { | 41 | if (raw_show_trace || !__kernel_text_address(pc)) { |
43 | unsigned long stack_page = | 42 | unsigned long stack_page = |
44 | (unsigned long)task_stack_page(task); | 43 | (unsigned long)task_stack_page(current); |
45 | if (stack_page && sp >= stack_page && | 44 | if (stack_page && sp >= stack_page && |
46 | sp <= stack_page + THREAD_SIZE - 32) | 45 | sp <= stack_page + THREAD_SIZE - 32) |
47 | save_raw_context_stack(trace, sp); | 46 | save_raw_context_stack(trace, sp); |
@@ -54,7 +53,7 @@ static void save_context_stack(struct stack_trace *trace, | |||
54 | trace->entries[trace->nr_entries++] = pc; | 53 | trace->entries[trace->nr_entries++] = pc; |
55 | if (trace->nr_entries >= trace->max_entries) | 54 | if (trace->nr_entries >= trace->max_entries) |
56 | break; | 55 | break; |
57 | pc = unwind_stack(task, &sp, pc, &ra); | 56 | pc = unwind_stack(current, &sp, pc, &ra); |
58 | } while (pc); | 57 | } while (pc); |
59 | #else | 58 | #else |
60 | save_raw_context_stack(trace, sp); | 59 | save_raw_context_stack(trace, sp); |
@@ -64,22 +63,13 @@ static void save_context_stack(struct stack_trace *trace, | |||
64 | /* | 63 | /* |
65 | * Save stack-backtrace addresses into a stack_trace buffer. | 64 | * Save stack-backtrace addresses into a stack_trace buffer. |
66 | */ | 65 | */ |
67 | void save_stack_trace(struct stack_trace *trace, struct task_struct *task) | 66 | void save_stack_trace(struct stack_trace *trace) |
68 | { | 67 | { |
69 | struct pt_regs dummyregs; | 68 | struct pt_regs dummyregs; |
70 | struct pt_regs *regs = &dummyregs; | 69 | struct pt_regs *regs = &dummyregs; |
71 | 70 | ||
72 | WARN_ON(trace->nr_entries || !trace->max_entries); | 71 | WARN_ON(trace->nr_entries || !trace->max_entries); |
73 | 72 | ||
74 | if (task && task != current) { | 73 | prepare_frametrace(regs); |
75 | regs->regs[29] = task->thread.reg29; | 74 | save_context_stack(trace, regs); |
76 | regs->regs[31] = 0; | ||
77 | regs->cp0_epc = task->thread.reg31; | ||
78 | } else { | ||
79 | if (!task) | ||
80 | task = current; | ||
81 | prepare_frametrace(regs); | ||
82 | } | ||
83 | |||
84 | save_context_stack(trace, task, regs); | ||
85 | } | 75 | } |
diff --git a/arch/mips/kernel/syscall.c b/arch/mips/kernel/syscall.c index 26e1a7e78d13..9dd5a2df8eac 100644 --- a/arch/mips/kernel/syscall.c +++ b/arch/mips/kernel/syscall.c | |||
@@ -13,7 +13,6 @@ | |||
13 | #include <linux/linkage.h> | 13 | #include <linux/linkage.h> |
14 | #include <linux/mm.h> | 14 | #include <linux/mm.h> |
15 | #include <linux/smp.h> | 15 | #include <linux/smp.h> |
16 | #include <linux/smp_lock.h> | ||
17 | #include <linux/mman.h> | 16 | #include <linux/mman.h> |
18 | #include <linux/ptrace.h> | 17 | #include <linux/ptrace.h> |
19 | #include <linux/sched.h> | 18 | #include <linux/sched.h> |
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c index 493cb29b8a42..ff45a4b8fbaa 100644 --- a/arch/mips/kernel/traps.c +++ b/arch/mips/kernel/traps.c | |||
@@ -16,7 +16,6 @@ | |||
16 | #include <linux/module.h> | 16 | #include <linux/module.h> |
17 | #include <linux/sched.h> | 17 | #include <linux/sched.h> |
18 | #include <linux/smp.h> | 18 | #include <linux/smp.h> |
19 | #include <linux/smp_lock.h> | ||
20 | #include <linux/spinlock.h> | 19 | #include <linux/spinlock.h> |
21 | #include <linux/kallsyms.h> | 20 | #include <linux/kallsyms.h> |
22 | #include <linux/bootmem.h> | 21 | #include <linux/bootmem.h> |
diff --git a/arch/mips/kernel/unaligned.c b/arch/mips/kernel/unaligned.c index 24b7b053cfe9..a7d49ae805b4 100644 --- a/arch/mips/kernel/unaligned.c +++ b/arch/mips/kernel/unaligned.c | |||
@@ -76,7 +76,6 @@ | |||
76 | #include <linux/module.h> | 76 | #include <linux/module.h> |
77 | #include <linux/signal.h> | 77 | #include <linux/signal.h> |
78 | #include <linux/smp.h> | 78 | #include <linux/smp.h> |
79 | #include <linux/smp_lock.h> | ||
80 | 79 | ||
81 | #include <asm/asm.h> | 80 | #include <asm/asm.h> |
82 | #include <asm/branch.h> | 81 | #include <asm/branch.h> |
diff --git a/arch/mips/math-emu/dsemul.c b/arch/mips/math-emu/dsemul.c index 8079f3d1eca0..ea6ba7248489 100644 --- a/arch/mips/math-emu/dsemul.c +++ b/arch/mips/math-emu/dsemul.c | |||
@@ -2,7 +2,6 @@ | |||
2 | #include <linux/mm.h> | 2 | #include <linux/mm.h> |
3 | #include <linux/signal.h> | 3 | #include <linux/signal.h> |
4 | #include <linux/smp.h> | 4 | #include <linux/smp.h> |
5 | #include <linux/smp_lock.h> | ||
6 | 5 | ||
7 | #include <asm/asm.h> | 6 | #include <asm/asm.h> |
8 | #include <asm/bootinfo.h> | 7 | #include <asm/bootinfo.h> |
diff --git a/arch/mips/mm/fault.c b/arch/mips/mm/fault.c index f9c595dceba9..7ebea331edb8 100644 --- a/arch/mips/mm/fault.c +++ b/arch/mips/mm/fault.c | |||
@@ -16,7 +16,6 @@ | |||
16 | #include <linux/mman.h> | 16 | #include <linux/mman.h> |
17 | #include <linux/mm.h> | 17 | #include <linux/mm.h> |
18 | #include <linux/smp.h> | 18 | #include <linux/smp.h> |
19 | #include <linux/smp_lock.h> | ||
20 | #include <linux/vt_kern.h> /* For unblank_screen() */ | 19 | #include <linux/vt_kern.h> /* For unblank_screen() */ |
21 | #include <linux/module.h> | 20 | #include <linux/module.h> |
22 | 21 | ||
diff --git a/arch/mips/sgi-ip27/ip27-irq.c b/arch/mips/sgi-ip27/ip27-irq.c index 60ade7690e09..ba8e0794630c 100644 --- a/arch/mips/sgi-ip27/ip27-irq.c +++ b/arch/mips/sgi-ip27/ip27-irq.c | |||
@@ -19,7 +19,6 @@ | |||
19 | #include <linux/timex.h> | 19 | #include <linux/timex.h> |
20 | #include <linux/slab.h> | 20 | #include <linux/slab.h> |
21 | #include <linux/random.h> | 21 | #include <linux/random.h> |
22 | #include <linux/smp_lock.h> | ||
23 | #include <linux/kernel.h> | 22 | #include <linux/kernel.h> |
24 | #include <linux/kernel_stat.h> | 23 | #include <linux/kernel_stat.h> |
25 | #include <linux/delay.h> | 24 | #include <linux/delay.h> |
diff --git a/arch/mips/sni/irq.c b/arch/mips/sni/irq.c index ad5fc471a004..9ccffdfb8289 100644 --- a/arch/mips/sni/irq.c +++ b/arch/mips/sni/irq.c | |||
@@ -42,7 +42,7 @@ static irqreturn_t sni_isa_irq_handler(int dummy, void *p) | |||
42 | struct irqaction sni_isa_irq = { | 42 | struct irqaction sni_isa_irq = { |
43 | .handler = sni_isa_irq_handler, | 43 | .handler = sni_isa_irq_handler, |
44 | .name = "ISA", | 44 | .name = "ISA", |
45 | .flags = SA_SHIRQ | 45 | .flags = IRQF_SHARED |
46 | }; | 46 | }; |
47 | 47 | ||
48 | /* | 48 | /* |
diff --git a/arch/parisc/hpux/fs.c b/arch/parisc/hpux/fs.c index c7a81a2c014c..d86e15776779 100644 --- a/arch/parisc/hpux/fs.c +++ b/arch/parisc/hpux/fs.c | |||
@@ -24,7 +24,6 @@ | |||
24 | #include <linux/mm.h> | 24 | #include <linux/mm.h> |
25 | #include <linux/sched.h> | 25 | #include <linux/sched.h> |
26 | #include <linux/file.h> | 26 | #include <linux/file.h> |
27 | #include <linux/smp_lock.h> | ||
28 | #include <linux/slab.h> | 27 | #include <linux/slab.h> |
29 | #include <linux/ptrace.h> | 28 | #include <linux/ptrace.h> |
30 | #include <asm/errno.h> | 29 | #include <asm/errno.h> |
diff --git a/arch/parisc/hpux/ioctl.c b/arch/parisc/hpux/ioctl.c index b34b4f3c60ec..dede4765852e 100644 --- a/arch/parisc/hpux/ioctl.c +++ b/arch/parisc/hpux/ioctl.c | |||
@@ -34,7 +34,6 @@ | |||
34 | */ | 34 | */ |
35 | 35 | ||
36 | #include <linux/sched.h> | 36 | #include <linux/sched.h> |
37 | #include <linux/smp_lock.h> | ||
38 | #include <linux/syscalls.h> | 37 | #include <linux/syscalls.h> |
39 | #include <asm/errno.h> | 38 | #include <asm/errno.h> |
40 | #include <asm/ioctl.h> | 39 | #include <asm/ioctl.h> |
diff --git a/arch/parisc/kernel/irq.c b/arch/parisc/kernel/irq.c index e9d09b020e86..c5c9125dacec 100644 --- a/arch/parisc/kernel/irq.c +++ b/arch/parisc/kernel/irq.c | |||
@@ -388,7 +388,7 @@ void do_cpu_irq_mask(struct pt_regs *regs) | |||
388 | static struct irqaction timer_action = { | 388 | static struct irqaction timer_action = { |
389 | .handler = timer_interrupt, | 389 | .handler = timer_interrupt, |
390 | .name = "timer", | 390 | .name = "timer", |
391 | .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_PERCPU, | 391 | .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_PERCPU | IRQF_IRQPOLL, |
392 | }; | 392 | }; |
393 | 393 | ||
394 | #ifdef CONFIG_SMP | 394 | #ifdef CONFIG_SMP |
diff --git a/arch/parisc/kernel/ptrace.c b/arch/parisc/kernel/ptrace.c index 0d0d617b6f21..8a0db376e91e 100644 --- a/arch/parisc/kernel/ptrace.c +++ b/arch/parisc/kernel/ptrace.c | |||
@@ -10,7 +10,6 @@ | |||
10 | #include <linux/sched.h> | 10 | #include <linux/sched.h> |
11 | #include <linux/mm.h> | 11 | #include <linux/mm.h> |
12 | #include <linux/smp.h> | 12 | #include <linux/smp.h> |
13 | #include <linux/smp_lock.h> | ||
14 | #include <linux/errno.h> | 13 | #include <linux/errno.h> |
15 | #include <linux/ptrace.h> | 14 | #include <linux/ptrace.h> |
16 | #include <linux/user.h> | 15 | #include <linux/user.h> |
diff --git a/arch/parisc/kernel/signal.c b/arch/parisc/kernel/signal.c index 9784e405f849..fb35ebc0c4da 100644 --- a/arch/parisc/kernel/signal.c +++ b/arch/parisc/kernel/signal.c | |||
@@ -16,7 +16,6 @@ | |||
16 | #include <linux/sched.h> | 16 | #include <linux/sched.h> |
17 | #include <linux/mm.h> | 17 | #include <linux/mm.h> |
18 | #include <linux/smp.h> | 18 | #include <linux/smp.h> |
19 | #include <linux/smp_lock.h> | ||
20 | #include <linux/kernel.h> | 19 | #include <linux/kernel.h> |
21 | #include <linux/signal.h> | 20 | #include <linux/signal.h> |
22 | #include <linux/errno.h> | 21 | #include <linux/errno.h> |
diff --git a/arch/parisc/kernel/signal32.c b/arch/parisc/kernel/signal32.c index 1c1a37f73053..db94affe5c71 100644 --- a/arch/parisc/kernel/signal32.c +++ b/arch/parisc/kernel/signal32.c | |||
@@ -26,7 +26,6 @@ | |||
26 | #include <linux/slab.h> | 26 | #include <linux/slab.h> |
27 | #include <linux/module.h> | 27 | #include <linux/module.h> |
28 | #include <linux/unistd.h> | 28 | #include <linux/unistd.h> |
29 | #include <linux/smp_lock.h> | ||
30 | #include <linux/init.h> | 29 | #include <linux/init.h> |
31 | #include <linux/sched.h> | 30 | #include <linux/sched.h> |
32 | #include <linux/syscalls.h> | 31 | #include <linux/syscalls.h> |
diff --git a/arch/parisc/kernel/sys_parisc.c b/arch/parisc/kernel/sys_parisc.c index 6fed0803c593..4f589216b39e 100644 --- a/arch/parisc/kernel/sys_parisc.c +++ b/arch/parisc/kernel/sys_parisc.c | |||
@@ -29,7 +29,6 @@ | |||
29 | #include <linux/mm.h> | 29 | #include <linux/mm.h> |
30 | #include <linux/mman.h> | 30 | #include <linux/mman.h> |
31 | #include <linux/shm.h> | 31 | #include <linux/shm.h> |
32 | #include <linux/smp_lock.h> | ||
33 | #include <linux/syscalls.h> | 32 | #include <linux/syscalls.h> |
34 | #include <linux/utsname.h> | 33 | #include <linux/utsname.h> |
35 | #include <linux/personality.h> | 34 | #include <linux/personality.h> |
diff --git a/arch/parisc/kernel/traps.c b/arch/parisc/kernel/traps.c index 55bc1471967d..745ff741490a 100644 --- a/arch/parisc/kernel/traps.c +++ b/arch/parisc/kernel/traps.c | |||
@@ -20,7 +20,6 @@ | |||
20 | #include <linux/mm.h> | 20 | #include <linux/mm.h> |
21 | #include <linux/module.h> | 21 | #include <linux/module.h> |
22 | #include <linux/smp.h> | 22 | #include <linux/smp.h> |
23 | #include <linux/smp_lock.h> | ||
24 | #include <linux/spinlock.h> | 23 | #include <linux/spinlock.h> |
25 | #include <linux/init.h> | 24 | #include <linux/init.h> |
26 | #include <linux/interrupt.h> | 25 | #include <linux/interrupt.h> |
diff --git a/arch/parisc/kernel/unwind.c b/arch/parisc/kernel/unwind.c index 5f75b3e65986..89c03707eccc 100644 --- a/arch/parisc/kernel/unwind.c +++ b/arch/parisc/kernel/unwind.c | |||
@@ -216,11 +216,8 @@ static void unwind_frame_regs(struct unwind_frame_info *info) | |||
216 | /* Handle some frequent special cases.... */ | 216 | /* Handle some frequent special cases.... */ |
217 | { | 217 | { |
218 | char symname[KSYM_NAME_LEN+1]; | 218 | char symname[KSYM_NAME_LEN+1]; |
219 | char *modname; | ||
220 | unsigned long symsize, offset; | ||
221 | 219 | ||
222 | kallsyms_lookup(info->ip, &symsize, &offset, | 220 | kallsyms_lookup(info->ip, NULL, NULL, NULL, symname); |
223 | &modname, symname); | ||
224 | 221 | ||
225 | dbg("info->ip = 0x%lx, name = %s\n", info->ip, symname); | 222 | dbg("info->ip = 0x%lx, name = %s\n", info->ip, symname); |
226 | 223 | ||
diff --git a/arch/powerpc/kernel/kprobes.c b/arch/powerpc/kernel/kprobes.c index c27f41870c8f..0c96611f02f4 100644 --- a/arch/powerpc/kernel/kprobes.c +++ b/arch/powerpc/kernel/kprobes.c | |||
@@ -30,8 +30,8 @@ | |||
30 | #include <linux/ptrace.h> | 30 | #include <linux/ptrace.h> |
31 | #include <linux/preempt.h> | 31 | #include <linux/preempt.h> |
32 | #include <linux/module.h> | 32 | #include <linux/module.h> |
33 | #include <linux/kdebug.h> | ||
33 | #include <asm/cacheflush.h> | 34 | #include <asm/cacheflush.h> |
34 | #include <asm/kdebug.h> | ||
35 | #include <asm/sstep.h> | 35 | #include <asm/sstep.h> |
36 | #include <asm/uaccess.h> | 36 | #include <asm/uaccess.h> |
37 | 37 | ||
@@ -126,22 +126,13 @@ static void __kprobes set_current_kprobe(struct kprobe *p, struct pt_regs *regs, | |||
126 | } | 126 | } |
127 | 127 | ||
128 | /* Called with kretprobe_lock held */ | 128 | /* Called with kretprobe_lock held */ |
129 | void __kprobes arch_prepare_kretprobe(struct kretprobe *rp, | 129 | void __kprobes arch_prepare_kretprobe(struct kretprobe_instance *ri, |
130 | struct pt_regs *regs) | 130 | struct pt_regs *regs) |
131 | { | 131 | { |
132 | struct kretprobe_instance *ri; | 132 | ri->ret_addr = (kprobe_opcode_t *)regs->link; |
133 | 133 | ||
134 | if ((ri = get_free_rp_inst(rp)) != NULL) { | 134 | /* Replace the return addr with trampoline addr */ |
135 | ri->rp = rp; | 135 | regs->link = (unsigned long)kretprobe_trampoline; |
136 | ri->task = current; | ||
137 | ri->ret_addr = (kprobe_opcode_t *)regs->link; | ||
138 | |||
139 | /* Replace the return addr with trampoline addr */ | ||
140 | regs->link = (unsigned long)kretprobe_trampoline; | ||
141 | add_rp_inst(ri); | ||
142 | } else { | ||
143 | rp->nmissed++; | ||
144 | } | ||
145 | } | 136 | } |
146 | 137 | ||
147 | static int __kprobes kprobe_handler(struct pt_regs *regs) | 138 | static int __kprobes kprobe_handler(struct pt_regs *regs) |
@@ -336,7 +327,7 @@ int __kprobes trampoline_probe_handler(struct kprobe *p, struct pt_regs *regs) | |||
336 | break; | 327 | break; |
337 | } | 328 | } |
338 | 329 | ||
339 | BUG_ON(!orig_ret_address || (orig_ret_address == trampoline_address)); | 330 | kretprobe_assert(ri, orig_ret_address, trampoline_address); |
340 | regs->nip = orig_ret_address; | 331 | regs->nip = orig_ret_address; |
341 | 332 | ||
342 | reset_current_kprobe(); | 333 | reset_current_kprobe(); |
@@ -551,3 +542,11 @@ int __init arch_init_kprobes(void) | |||
551 | { | 542 | { |
552 | return register_kprobe(&trampoline_p); | 543 | return register_kprobe(&trampoline_p); |
553 | } | 544 | } |
545 | |||
546 | int __kprobes arch_trampoline_kprobe(struct kprobe *p) | ||
547 | { | ||
548 | if (p->addr == (kprobe_opcode_t *)&kretprobe_trampoline) | ||
549 | return 1; | ||
550 | |||
551 | return 0; | ||
552 | } | ||
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c index e509aae2feb3..6e2f03566b0d 100644 --- a/arch/powerpc/kernel/process.c +++ b/arch/powerpc/kernel/process.c | |||
@@ -19,7 +19,6 @@ | |||
19 | #include <linux/kernel.h> | 19 | #include <linux/kernel.h> |
20 | #include <linux/mm.h> | 20 | #include <linux/mm.h> |
21 | #include <linux/smp.h> | 21 | #include <linux/smp.h> |
22 | #include <linux/smp_lock.h> | ||
23 | #include <linux/stddef.h> | 22 | #include <linux/stddef.h> |
24 | #include <linux/unistd.h> | 23 | #include <linux/unistd.h> |
25 | #include <linux/ptrace.h> | 24 | #include <linux/ptrace.h> |
diff --git a/arch/powerpc/kernel/ptrace.c b/arch/powerpc/kernel/ptrace.c index cc44c7b975aa..f4f391cdd8f5 100644 --- a/arch/powerpc/kernel/ptrace.c +++ b/arch/powerpc/kernel/ptrace.c | |||
@@ -19,7 +19,6 @@ | |||
19 | #include <linux/sched.h> | 19 | #include <linux/sched.h> |
20 | #include <linux/mm.h> | 20 | #include <linux/mm.h> |
21 | #include <linux/smp.h> | 21 | #include <linux/smp.h> |
22 | #include <linux/smp_lock.h> | ||
23 | #include <linux/errno.h> | 22 | #include <linux/errno.h> |
24 | #include <linux/ptrace.h> | 23 | #include <linux/ptrace.h> |
25 | #include <linux/user.h> | 24 | #include <linux/user.h> |
diff --git a/arch/powerpc/kernel/signal_32.c b/arch/powerpc/kernel/signal_32.c index 6b405a3f43f9..dd1dca5bfa81 100644 --- a/arch/powerpc/kernel/signal_32.c +++ b/arch/powerpc/kernel/signal_32.c | |||
@@ -20,7 +20,6 @@ | |||
20 | #include <linux/sched.h> | 20 | #include <linux/sched.h> |
21 | #include <linux/mm.h> | 21 | #include <linux/mm.h> |
22 | #include <linux/smp.h> | 22 | #include <linux/smp.h> |
23 | #include <linux/smp_lock.h> | ||
24 | #include <linux/kernel.h> | 23 | #include <linux/kernel.h> |
25 | #include <linux/signal.h> | 24 | #include <linux/signal.h> |
26 | #include <linux/errno.h> | 25 | #include <linux/errno.h> |
diff --git a/arch/powerpc/kernel/signal_64.c b/arch/powerpc/kernel/signal_64.c index f72e8e823d78..1ce0ae3f6ffc 100644 --- a/arch/powerpc/kernel/signal_64.c +++ b/arch/powerpc/kernel/signal_64.c | |||
@@ -15,7 +15,6 @@ | |||
15 | #include <linux/sched.h> | 15 | #include <linux/sched.h> |
16 | #include <linux/mm.h> | 16 | #include <linux/mm.h> |
17 | #include <linux/smp.h> | 17 | #include <linux/smp.h> |
18 | #include <linux/smp_lock.h> | ||
19 | #include <linux/kernel.h> | 18 | #include <linux/kernel.h> |
20 | #include <linux/signal.h> | 19 | #include <linux/signal.h> |
21 | #include <linux/errno.h> | 20 | #include <linux/errno.h> |
diff --git a/arch/powerpc/kernel/syscalls.c b/arch/powerpc/kernel/syscalls.c index d358866b880f..fc6647d332cb 100644 --- a/arch/powerpc/kernel/syscalls.c +++ b/arch/powerpc/kernel/syscalls.c | |||
@@ -24,7 +24,6 @@ | |||
24 | #include <linux/syscalls.h> | 24 | #include <linux/syscalls.h> |
25 | #include <linux/mm.h> | 25 | #include <linux/mm.h> |
26 | #include <linux/smp.h> | 26 | #include <linux/smp.h> |
27 | #include <linux/smp_lock.h> | ||
28 | #include <linux/sem.h> | 27 | #include <linux/sem.h> |
29 | #include <linux/msg.h> | 28 | #include <linux/msg.h> |
30 | #include <linux/shm.h> | 29 | #include <linux/shm.h> |
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c index f7862224fe85..bf6445ac9f1c 100644 --- a/arch/powerpc/kernel/traps.c +++ b/arch/powerpc/kernel/traps.c | |||
@@ -33,8 +33,8 @@ | |||
33 | #include <linux/kexec.h> | 33 | #include <linux/kexec.h> |
34 | #include <linux/backlight.h> | 34 | #include <linux/backlight.h> |
35 | #include <linux/bug.h> | 35 | #include <linux/bug.h> |
36 | #include <linux/kdebug.h> | ||
36 | 37 | ||
37 | #include <asm/kdebug.h> | ||
38 | #include <asm/pgtable.h> | 38 | #include <asm/pgtable.h> |
39 | #include <asm/uaccess.h> | 39 | #include <asm/uaccess.h> |
40 | #include <asm/system.h> | 40 | #include <asm/system.h> |
@@ -72,20 +72,6 @@ EXPORT_SYMBOL(__debugger_dabr_match); | |||
72 | EXPORT_SYMBOL(__debugger_fault_handler); | 72 | EXPORT_SYMBOL(__debugger_fault_handler); |
73 | #endif | 73 | #endif |
74 | 74 | ||
75 | ATOMIC_NOTIFIER_HEAD(powerpc_die_chain); | ||
76 | |||
77 | int register_die_notifier(struct notifier_block *nb) | ||
78 | { | ||
79 | return atomic_notifier_chain_register(&powerpc_die_chain, nb); | ||
80 | } | ||
81 | EXPORT_SYMBOL(register_die_notifier); | ||
82 | |||
83 | int unregister_die_notifier(struct notifier_block *nb) | ||
84 | { | ||
85 | return atomic_notifier_chain_unregister(&powerpc_die_chain, nb); | ||
86 | } | ||
87 | EXPORT_SYMBOL(unregister_die_notifier); | ||
88 | |||
89 | /* | 75 | /* |
90 | * Trap & Exception support | 76 | * Trap & Exception support |
91 | */ | 77 | */ |
diff --git a/arch/powerpc/kernel/udbg.c b/arch/powerpc/kernel/udbg.c index 7ef97ea8b3ef..87703df87509 100644 --- a/arch/powerpc/kernel/udbg.c +++ b/arch/powerpc/kernel/udbg.c | |||
@@ -145,29 +145,22 @@ static void udbg_console_write(struct console *con, const char *s, | |||
145 | static struct console udbg_console = { | 145 | static struct console udbg_console = { |
146 | .name = "udbg", | 146 | .name = "udbg", |
147 | .write = udbg_console_write, | 147 | .write = udbg_console_write, |
148 | .flags = CON_PRINTBUFFER | CON_ENABLED, | 148 | .flags = CON_PRINTBUFFER | CON_ENABLED | CON_BOOT, |
149 | .index = -1, | 149 | .index = -1, |
150 | }; | 150 | }; |
151 | 151 | ||
152 | static int early_console_initialized; | 152 | static int early_console_initialized; |
153 | 153 | ||
154 | void __init disable_early_printk(void) | ||
155 | { | ||
156 | if (!early_console_initialized) | ||
157 | return; | ||
158 | if (strstr(boot_command_line, "udbg-immortal")) { | ||
159 | printk(KERN_INFO "early console immortal !\n"); | ||
160 | return; | ||
161 | } | ||
162 | unregister_console(&udbg_console); | ||
163 | early_console_initialized = 0; | ||
164 | } | ||
165 | |||
166 | /* called by setup_system */ | 154 | /* called by setup_system */ |
167 | void register_early_udbg_console(void) | 155 | void register_early_udbg_console(void) |
168 | { | 156 | { |
169 | if (early_console_initialized) | 157 | if (early_console_initialized) |
170 | return; | 158 | return; |
159 | |||
160 | if (strstr(boot_command_line, "udbg-immortal")) { | ||
161 | printk(KERN_INFO "early console immortal !\n"); | ||
162 | udbg_console.flags &= ~CON_BOOT; | ||
163 | } | ||
171 | early_console_initialized = 1; | 164 | early_console_initialized = 1; |
172 | register_console(&udbg_console); | 165 | register_console(&udbg_console); |
173 | } | 166 | } |
diff --git a/arch/powerpc/kernel/vdso.c b/arch/powerpc/kernel/vdso.c index e46c31b36641..4245579edb4e 100644 --- a/arch/powerpc/kernel/vdso.c +++ b/arch/powerpc/kernel/vdso.c | |||
@@ -14,7 +14,6 @@ | |||
14 | #include <linux/kernel.h> | 14 | #include <linux/kernel.h> |
15 | #include <linux/mm.h> | 15 | #include <linux/mm.h> |
16 | #include <linux/smp.h> | 16 | #include <linux/smp.h> |
17 | #include <linux/smp_lock.h> | ||
18 | #include <linux/stddef.h> | 17 | #include <linux/stddef.h> |
19 | #include <linux/unistd.h> | 18 | #include <linux/unistd.h> |
20 | #include <linux/slab.h> | 19 | #include <linux/slab.h> |
diff --git a/arch/powerpc/mm/fault.c b/arch/powerpc/mm/fault.c index a0f88026e464..bfe901353142 100644 --- a/arch/powerpc/mm/fault.c +++ b/arch/powerpc/mm/fault.c | |||
@@ -28,6 +28,7 @@ | |||
28 | #include <linux/highmem.h> | 28 | #include <linux/highmem.h> |
29 | #include <linux/module.h> | 29 | #include <linux/module.h> |
30 | #include <linux/kprobes.h> | 30 | #include <linux/kprobes.h> |
31 | #include <linux/kdebug.h> | ||
31 | 32 | ||
32 | #include <asm/page.h> | 33 | #include <asm/page.h> |
33 | #include <asm/pgtable.h> | 34 | #include <asm/pgtable.h> |
@@ -36,7 +37,6 @@ | |||
36 | #include <asm/system.h> | 37 | #include <asm/system.h> |
37 | #include <asm/uaccess.h> | 38 | #include <asm/uaccess.h> |
38 | #include <asm/tlbflush.h> | 39 | #include <asm/tlbflush.h> |
39 | #include <asm/kdebug.h> | ||
40 | #include <asm/siginfo.h> | 40 | #include <asm/siginfo.h> |
41 | 41 | ||
42 | 42 | ||
diff --git a/arch/powerpc/mm/hugetlbpage.c b/arch/powerpc/mm/hugetlbpage.c index 1f07f70ac89f..fb959264c104 100644 --- a/arch/powerpc/mm/hugetlbpage.c +++ b/arch/powerpc/mm/hugetlbpage.c | |||
@@ -12,7 +12,6 @@ | |||
12 | #include <linux/mm.h> | 12 | #include <linux/mm.h> |
13 | #include <linux/hugetlb.h> | 13 | #include <linux/hugetlb.h> |
14 | #include <linux/pagemap.h> | 14 | #include <linux/pagemap.h> |
15 | #include <linux/smp_lock.h> | ||
16 | #include <linux/slab.h> | 15 | #include <linux/slab.h> |
17 | #include <linux/err.h> | 16 | #include <linux/err.h> |
18 | #include <linux/sysctl.h> | 17 | #include <linux/sysctl.h> |
diff --git a/arch/powerpc/mm/init_64.c b/arch/powerpc/mm/init_64.c index 4416d5140c53..fe1fe852181a 100644 --- a/arch/powerpc/mm/init_64.c +++ b/arch/powerpc/mm/init_64.c | |||
@@ -183,11 +183,8 @@ void pgtable_cache_init(void) | |||
183 | "for size: %08x...\n", name, i, size); | 183 | "for size: %08x...\n", name, i, size); |
184 | pgtable_cache[i] = kmem_cache_create(name, | 184 | pgtable_cache[i] = kmem_cache_create(name, |
185 | size, size, | 185 | size, size, |
186 | 0, | 186 | SLAB_PANIC, |
187 | zero_ctor, | 187 | zero_ctor, |
188 | NULL); | 188 | NULL); |
189 | if (! pgtable_cache[i]) | ||
190 | panic("pgtable_cache_init(): could not create %s!\n", | ||
191 | name); | ||
192 | } | 189 | } |
193 | } | 190 | } |
diff --git a/arch/powerpc/platforms/cell/spufs/backing_ops.c b/arch/powerpc/platforms/cell/spufs/backing_ops.c index 3322528fa6eb..d32db9ffc6eb 100644 --- a/arch/powerpc/platforms/cell/spufs/backing_ops.c +++ b/arch/powerpc/platforms/cell/spufs/backing_ops.c | |||
@@ -28,7 +28,6 @@ | |||
28 | #include <linux/mm.h> | 28 | #include <linux/mm.h> |
29 | #include <linux/vmalloc.h> | 29 | #include <linux/vmalloc.h> |
30 | #include <linux/smp.h> | 30 | #include <linux/smp.h> |
31 | #include <linux/smp_lock.h> | ||
32 | #include <linux/stddef.h> | 31 | #include <linux/stddef.h> |
33 | #include <linux/unistd.h> | 32 | #include <linux/unistd.h> |
34 | #include <linux/poll.h> | 33 | #include <linux/poll.h> |
diff --git a/arch/powerpc/platforms/cell/spufs/hw_ops.c b/arch/powerpc/platforms/cell/spufs/hw_ops.c index 428875c5e4ec..fc4ed1ffbd4f 100644 --- a/arch/powerpc/platforms/cell/spufs/hw_ops.c +++ b/arch/powerpc/platforms/cell/spufs/hw_ops.c | |||
@@ -25,7 +25,6 @@ | |||
25 | #include <linux/mm.h> | 25 | #include <linux/mm.h> |
26 | #include <linux/poll.h> | 26 | #include <linux/poll.h> |
27 | #include <linux/smp.h> | 27 | #include <linux/smp.h> |
28 | #include <linux/smp_lock.h> | ||
29 | #include <linux/stddef.h> | 28 | #include <linux/stddef.h> |
30 | #include <linux/unistd.h> | 29 | #include <linux/unistd.h> |
31 | 30 | ||
diff --git a/arch/powerpc/platforms/cell/spufs/sched.c b/arch/powerpc/platforms/cell/spufs/sched.c index 91030b8abdca..b6ecb30e7d58 100644 --- a/arch/powerpc/platforms/cell/spufs/sched.c +++ b/arch/powerpc/platforms/cell/spufs/sched.c | |||
@@ -30,7 +30,6 @@ | |||
30 | #include <linux/completion.h> | 30 | #include <linux/completion.h> |
31 | #include <linux/vmalloc.h> | 31 | #include <linux/vmalloc.h> |
32 | #include <linux/smp.h> | 32 | #include <linux/smp.h> |
33 | #include <linux/smp_lock.h> | ||
34 | #include <linux/stddef.h> | 33 | #include <linux/stddef.h> |
35 | #include <linux/unistd.h> | 34 | #include <linux/unistd.h> |
36 | #include <linux/numa.h> | 35 | #include <linux/numa.h> |
diff --git a/arch/powerpc/platforms/cell/spufs/switch.c b/arch/powerpc/platforms/cell/spufs/switch.c index 8347c4a3f894..29dc59cefc38 100644 --- a/arch/powerpc/platforms/cell/spufs/switch.c +++ b/arch/powerpc/platforms/cell/spufs/switch.c | |||
@@ -39,7 +39,6 @@ | |||
39 | #include <linux/mm.h> | 39 | #include <linux/mm.h> |
40 | #include <linux/vmalloc.h> | 40 | #include <linux/vmalloc.h> |
41 | #include <linux/smp.h> | 41 | #include <linux/smp.h> |
42 | #include <linux/smp_lock.h> | ||
43 | #include <linux/stddef.h> | 42 | #include <linux/stddef.h> |
44 | #include <linux/unistd.h> | 43 | #include <linux/unistd.h> |
45 | 44 | ||
diff --git a/arch/powerpc/platforms/chrp/smp.c b/arch/powerpc/platforms/chrp/smp.c index 1d2307e87c30..3ea0eb78568e 100644 --- a/arch/powerpc/platforms/chrp/smp.c +++ b/arch/powerpc/platforms/chrp/smp.c | |||
@@ -11,7 +11,6 @@ | |||
11 | #include <linux/kernel.h> | 11 | #include <linux/kernel.h> |
12 | #include <linux/sched.h> | 12 | #include <linux/sched.h> |
13 | #include <linux/smp.h> | 13 | #include <linux/smp.h> |
14 | #include <linux/smp_lock.h> | ||
15 | #include <linux/interrupt.h> | 14 | #include <linux/interrupt.h> |
16 | #include <linux/kernel_stat.h> | 15 | #include <linux/kernel_stat.h> |
17 | #include <linux/delay.h> | 16 | #include <linux/delay.h> |
diff --git a/arch/powerpc/platforms/iseries/smp.c b/arch/powerpc/platforms/iseries/smp.c index aee5908df700..722335e32fd4 100644 --- a/arch/powerpc/platforms/iseries/smp.c +++ b/arch/powerpc/platforms/iseries/smp.c | |||
@@ -18,7 +18,6 @@ | |||
18 | #include <linux/module.h> | 18 | #include <linux/module.h> |
19 | #include <linux/sched.h> | 19 | #include <linux/sched.h> |
20 | #include <linux/smp.h> | 20 | #include <linux/smp.h> |
21 | #include <linux/smp_lock.h> | ||
22 | #include <linux/interrupt.h> | 21 | #include <linux/interrupt.h> |
23 | #include <linux/kernel_stat.h> | 22 | #include <linux/kernel_stat.h> |
24 | #include <linux/delay.h> | 23 | #include <linux/delay.h> |
diff --git a/arch/powerpc/platforms/iseries/viopath.c b/arch/powerpc/platforms/iseries/viopath.c index 2ca2d8a9de97..354b8dd2a2c1 100644 --- a/arch/powerpc/platforms/iseries/viopath.c +++ b/arch/powerpc/platforms/iseries/viopath.c | |||
@@ -36,7 +36,6 @@ | |||
36 | #include <linux/dma-mapping.h> | 36 | #include <linux/dma-mapping.h> |
37 | #include <linux/wait.h> | 37 | #include <linux/wait.h> |
38 | #include <linux/seq_file.h> | 38 | #include <linux/seq_file.h> |
39 | #include <linux/smp_lock.h> | ||
40 | #include <linux/interrupt.h> | 39 | #include <linux/interrupt.h> |
41 | 40 | ||
42 | #include <asm/system.h> | 41 | #include <asm/system.h> |
diff --git a/arch/powerpc/platforms/powermac/smp.c b/arch/powerpc/platforms/powermac/smp.c index 84f1860493bb..686ed82bde79 100644 --- a/arch/powerpc/platforms/powermac/smp.c +++ b/arch/powerpc/platforms/powermac/smp.c | |||
@@ -24,7 +24,6 @@ | |||
24 | #include <linux/kernel.h> | 24 | #include <linux/kernel.h> |
25 | #include <linux/sched.h> | 25 | #include <linux/sched.h> |
26 | #include <linux/smp.h> | 26 | #include <linux/smp.h> |
27 | #include <linux/smp_lock.h> | ||
28 | #include <linux/interrupt.h> | 27 | #include <linux/interrupt.h> |
29 | #include <linux/kernel_stat.h> | 28 | #include <linux/kernel_stat.h> |
30 | #include <linux/delay.h> | 29 | #include <linux/delay.h> |
diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c index b481db1dacb4..28fdf4f50c27 100644 --- a/arch/powerpc/xmon/xmon.c +++ b/arch/powerpc/xmon/xmon.c | |||
@@ -1217,7 +1217,6 @@ static void get_function_bounds(unsigned long pc, unsigned long *startp, | |||
1217 | { | 1217 | { |
1218 | unsigned long size, offset; | 1218 | unsigned long size, offset; |
1219 | const char *name; | 1219 | const char *name; |
1220 | char *modname; | ||
1221 | 1220 | ||
1222 | *startp = *endp = 0; | 1221 | *startp = *endp = 0; |
1223 | if (pc == 0) | 1222 | if (pc == 0) |
@@ -1225,7 +1224,7 @@ static void get_function_bounds(unsigned long pc, unsigned long *startp, | |||
1225 | if (setjmp(bus_error_jmp) == 0) { | 1224 | if (setjmp(bus_error_jmp) == 0) { |
1226 | catch_memory_errors = 1; | 1225 | catch_memory_errors = 1; |
1227 | sync(); | 1226 | sync(); |
1228 | name = kallsyms_lookup(pc, &size, &offset, &modname, tmpstr); | 1227 | name = kallsyms_lookup(pc, &size, &offset, NULL, tmpstr); |
1229 | if (name != NULL) { | 1228 | if (name != NULL) { |
1230 | *startp = pc - offset; | 1229 | *startp = pc - offset; |
1231 | *endp = pc - offset + size; | 1230 | *endp = pc - offset + size; |
diff --git a/arch/ppc/kernel/ppc_htab.c b/arch/ppc/kernel/ppc_htab.c index 0a7e42d54eaf..aa07b63c0a6c 100644 --- a/arch/ppc/kernel/ppc_htab.c +++ b/arch/ppc/kernel/ppc_htab.c | |||
@@ -18,7 +18,6 @@ | |||
18 | #include <linux/capability.h> | 18 | #include <linux/capability.h> |
19 | #include <linux/ctype.h> | 19 | #include <linux/ctype.h> |
20 | #include <linux/threads.h> | 20 | #include <linux/threads.h> |
21 | #include <linux/smp_lock.h> | ||
22 | #include <linux/seq_file.h> | 21 | #include <linux/seq_file.h> |
23 | #include <linux/init.h> | 22 | #include <linux/init.h> |
24 | #include <linux/bitops.h> | 23 | #include <linux/bitops.h> |
diff --git a/arch/ppc/kernel/smp.c b/arch/ppc/kernel/smp.c index 96a55972b986..055998575cb4 100644 --- a/arch/ppc/kernel/smp.c +++ b/arch/ppc/kernel/smp.c | |||
@@ -12,7 +12,6 @@ | |||
12 | #include <linux/module.h> | 12 | #include <linux/module.h> |
13 | #include <linux/sched.h> | 13 | #include <linux/sched.h> |
14 | #include <linux/smp.h> | 14 | #include <linux/smp.h> |
15 | #include <linux/smp_lock.h> | ||
16 | #include <linux/interrupt.h> | 15 | #include <linux/interrupt.h> |
17 | #include <linux/kernel_stat.h> | 16 | #include <linux/kernel_stat.h> |
18 | #include <linux/delay.h> | 17 | #include <linux/delay.h> |
diff --git a/arch/ppc/syslib/virtex_devices.h b/arch/ppc/syslib/virtex_devices.h index 4a17dd3927c1..3d4be1412f60 100644 --- a/arch/ppc/syslib/virtex_devices.h +++ b/arch/ppc/syslib/virtex_devices.h | |||
@@ -13,6 +13,13 @@ | |||
13 | 13 | ||
14 | #include <linux/platform_device.h> | 14 | #include <linux/platform_device.h> |
15 | 15 | ||
16 | /* ML300/403 reference design framebuffer driver platform data struct */ | ||
17 | struct xilinxfb_platform_data { | ||
18 | u32 rotate_screen; | ||
19 | u32 screen_height_mm; | ||
20 | u32 screen_width_mm; | ||
21 | }; | ||
22 | |||
16 | void __init virtex_early_serial_map(void); | 23 | void __init virtex_early_serial_map(void); |
17 | 24 | ||
18 | /* Prototype for device fixup routine. Implement this routine in the | 25 | /* Prototype for device fixup routine. Implement this routine in the |
diff --git a/arch/s390/kernel/compat_signal.c b/arch/s390/kernel/compat_signal.c index 80a54a0149ab..a5692c460bad 100644 --- a/arch/s390/kernel/compat_signal.c +++ b/arch/s390/kernel/compat_signal.c | |||
@@ -14,7 +14,6 @@ | |||
14 | #include <linux/sched.h> | 14 | #include <linux/sched.h> |
15 | #include <linux/mm.h> | 15 | #include <linux/mm.h> |
16 | #include <linux/smp.h> | 16 | #include <linux/smp.h> |
17 | #include <linux/smp_lock.h> | ||
18 | #include <linux/kernel.h> | 17 | #include <linux/kernel.h> |
19 | #include <linux/signal.h> | 18 | #include <linux/signal.h> |
20 | #include <linux/errno.h> | 19 | #include <linux/errno.h> |
diff --git a/arch/s390/kernel/dis.c b/arch/s390/kernel/dis.c index dabaf98943d0..a057ebf108a7 100644 --- a/arch/s390/kernel/dis.c +++ b/arch/s390/kernel/dis.c | |||
@@ -23,6 +23,7 @@ | |||
23 | #include <linux/kallsyms.h> | 23 | #include <linux/kallsyms.h> |
24 | #include <linux/reboot.h> | 24 | #include <linux/reboot.h> |
25 | #include <linux/kprobes.h> | 25 | #include <linux/kprobes.h> |
26 | #include <linux/kdebug.h> | ||
26 | 27 | ||
27 | #include <asm/system.h> | 28 | #include <asm/system.h> |
28 | #include <asm/uaccess.h> | 29 | #include <asm/uaccess.h> |
@@ -33,7 +34,6 @@ | |||
33 | #include <asm/s390_ext.h> | 34 | #include <asm/s390_ext.h> |
34 | #include <asm/lowcore.h> | 35 | #include <asm/lowcore.h> |
35 | #include <asm/debug.h> | 36 | #include <asm/debug.h> |
36 | #include <asm/kdebug.h> | ||
37 | 37 | ||
38 | #ifndef CONFIG_64BIT | 38 | #ifndef CONFIG_64BIT |
39 | #define ONELONG "%08lx: " | 39 | #define ONELONG "%08lx: " |
diff --git a/arch/s390/kernel/kprobes.c b/arch/s390/kernel/kprobes.c index 23c61f6d965b..e39333ae0fcf 100644 --- a/arch/s390/kernel/kprobes.c +++ b/arch/s390/kernel/kprobes.c | |||
@@ -24,8 +24,8 @@ | |||
24 | #include <linux/ptrace.h> | 24 | #include <linux/ptrace.h> |
25 | #include <linux/preempt.h> | 25 | #include <linux/preempt.h> |
26 | #include <linux/stop_machine.h> | 26 | #include <linux/stop_machine.h> |
27 | #include <linux/kdebug.h> | ||
27 | #include <asm/cacheflush.h> | 28 | #include <asm/cacheflush.h> |
28 | #include <asm/kdebug.h> | ||
29 | #include <asm/sections.h> | 29 | #include <asm/sections.h> |
30 | #include <asm/uaccess.h> | 30 | #include <asm/uaccess.h> |
31 | #include <linux/module.h> | 31 | #include <linux/module.h> |
@@ -271,23 +271,13 @@ static void __kprobes set_current_kprobe(struct kprobe *p, struct pt_regs *regs, | |||
271 | } | 271 | } |
272 | 272 | ||
273 | /* Called with kretprobe_lock held */ | 273 | /* Called with kretprobe_lock held */ |
274 | void __kprobes arch_prepare_kretprobe(struct kretprobe *rp, | 274 | void __kprobes arch_prepare_kretprobe(struct kretprobe_instance *ri, |
275 | struct pt_regs *regs) | 275 | struct pt_regs *regs) |
276 | { | 276 | { |
277 | struct kretprobe_instance *ri; | 277 | ri->ret_addr = (kprobe_opcode_t *) regs->gprs[14]; |
278 | 278 | ||
279 | if ((ri = get_free_rp_inst(rp)) != NULL) { | 279 | /* Replace the return addr with trampoline addr */ |
280 | ri->rp = rp; | 280 | regs->gprs[14] = (unsigned long)&kretprobe_trampoline; |
281 | ri->task = current; | ||
282 | ri->ret_addr = (kprobe_opcode_t *) regs->gprs[14]; | ||
283 | |||
284 | /* Replace the return addr with trampoline addr */ | ||
285 | regs->gprs[14] = (unsigned long)&kretprobe_trampoline; | ||
286 | |||
287 | add_rp_inst(ri); | ||
288 | } else { | ||
289 | rp->nmissed++; | ||
290 | } | ||
291 | } | 281 | } |
292 | 282 | ||
293 | static int __kprobes kprobe_handler(struct pt_regs *regs) | 283 | static int __kprobes kprobe_handler(struct pt_regs *regs) |
@@ -671,3 +661,10 @@ int __init arch_init_kprobes(void) | |||
671 | { | 661 | { |
672 | return register_kprobe(&trampoline_p); | 662 | return register_kprobe(&trampoline_p); |
673 | } | 663 | } |
664 | |||
665 | int __kprobes arch_trampoline_kprobe(struct kprobe *p) | ||
666 | { | ||
667 | if (p->addr == (kprobe_opcode_t *) & kretprobe_trampoline) | ||
668 | return 1; | ||
669 | return 0; | ||
670 | } | ||
diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c index 11d9b0197626..eb43c3b31269 100644 --- a/arch/s390/kernel/process.c +++ b/arch/s390/kernel/process.c | |||
@@ -22,7 +22,6 @@ | |||
22 | #include <linux/kernel.h> | 22 | #include <linux/kernel.h> |
23 | #include <linux/mm.h> | 23 | #include <linux/mm.h> |
24 | #include <linux/smp.h> | 24 | #include <linux/smp.h> |
25 | #include <linux/smp_lock.h> | ||
26 | #include <linux/stddef.h> | 25 | #include <linux/stddef.h> |
27 | #include <linux/unistd.h> | 26 | #include <linux/unistd.h> |
28 | #include <linux/ptrace.h> | 27 | #include <linux/ptrace.h> |
diff --git a/arch/s390/kernel/signal.c b/arch/s390/kernel/signal.c index 3c41907799a1..d264671c1b71 100644 --- a/arch/s390/kernel/signal.c +++ b/arch/s390/kernel/signal.c | |||
@@ -14,7 +14,6 @@ | |||
14 | #include <linux/sched.h> | 14 | #include <linux/sched.h> |
15 | #include <linux/mm.h> | 15 | #include <linux/mm.h> |
16 | #include <linux/smp.h> | 16 | #include <linux/smp.h> |
17 | #include <linux/smp_lock.h> | ||
18 | #include <linux/kernel.h> | 17 | #include <linux/kernel.h> |
19 | #include <linux/signal.h> | 18 | #include <linux/signal.h> |
20 | #include <linux/errno.h> | 19 | #include <linux/errno.h> |
diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c index 3754e2031b39..b7977027a28f 100644 --- a/arch/s390/kernel/smp.c +++ b/arch/s390/kernel/smp.c | |||
@@ -25,7 +25,6 @@ | |||
25 | #include <linux/mm.h> | 25 | #include <linux/mm.h> |
26 | #include <linux/spinlock.h> | 26 | #include <linux/spinlock.h> |
27 | #include <linux/kernel_stat.h> | 27 | #include <linux/kernel_stat.h> |
28 | #include <linux/smp_lock.h> | ||
29 | #include <linux/delay.h> | 28 | #include <linux/delay.h> |
30 | #include <linux/cache.h> | 29 | #include <linux/cache.h> |
31 | #include <linux/interrupt.h> | 30 | #include <linux/interrupt.h> |
diff --git a/arch/s390/kernel/stacktrace.c b/arch/s390/kernel/stacktrace.c index 2e5c65a1863e..515ff9011dd7 100644 --- a/arch/s390/kernel/stacktrace.c +++ b/arch/s390/kernel/stacktrace.c | |||
@@ -59,7 +59,7 @@ static unsigned long save_context_stack(struct stack_trace *trace, | |||
59 | } | 59 | } |
60 | } | 60 | } |
61 | 61 | ||
62 | void save_stack_trace(struct stack_trace *trace, struct task_struct *task) | 62 | void save_stack_trace(struct stack_trace *trace) |
63 | { | 63 | { |
64 | register unsigned long sp asm ("15"); | 64 | register unsigned long sp asm ("15"); |
65 | unsigned long orig_sp, new_sp; | 65 | unsigned long orig_sp, new_sp; |
@@ -69,20 +69,16 @@ void save_stack_trace(struct stack_trace *trace, struct task_struct *task) | |||
69 | new_sp = save_context_stack(trace, &trace->skip, orig_sp, | 69 | new_sp = save_context_stack(trace, &trace->skip, orig_sp, |
70 | S390_lowcore.panic_stack - PAGE_SIZE, | 70 | S390_lowcore.panic_stack - PAGE_SIZE, |
71 | S390_lowcore.panic_stack); | 71 | S390_lowcore.panic_stack); |
72 | if ((new_sp != orig_sp) && !trace->all_contexts) | 72 | if (new_sp != orig_sp) |
73 | return; | 73 | return; |
74 | new_sp = save_context_stack(trace, &trace->skip, new_sp, | 74 | new_sp = save_context_stack(trace, &trace->skip, new_sp, |
75 | S390_lowcore.async_stack - ASYNC_SIZE, | 75 | S390_lowcore.async_stack - ASYNC_SIZE, |
76 | S390_lowcore.async_stack); | 76 | S390_lowcore.async_stack); |
77 | if ((new_sp != orig_sp) && !trace->all_contexts) | 77 | if (new_sp != orig_sp) |
78 | return; | 78 | return; |
79 | if (task) | 79 | |
80 | save_context_stack(trace, &trace->skip, new_sp, | 80 | save_context_stack(trace, &trace->skip, new_sp, |
81 | (unsigned long) task_stack_page(task), | 81 | S390_lowcore.thread_info, |
82 | (unsigned long) task_stack_page(task) + THREAD_SIZE); | 82 | S390_lowcore.thread_info + THREAD_SIZE); |
83 | else | ||
84 | save_context_stack(trace, &trace->skip, new_sp, | ||
85 | S390_lowcore.thread_info, | ||
86 | S390_lowcore.thread_info + THREAD_SIZE); | ||
87 | return; | 83 | return; |
88 | } | 84 | } |
diff --git a/arch/s390/kernel/sys_s390.c b/arch/s390/kernel/sys_s390.c index 3a77c22cda78..1c90c7e99978 100644 --- a/arch/s390/kernel/sys_s390.c +++ b/arch/s390/kernel/sys_s390.c | |||
@@ -17,7 +17,6 @@ | |||
17 | #include <linux/sched.h> | 17 | #include <linux/sched.h> |
18 | #include <linux/mm.h> | 18 | #include <linux/mm.h> |
19 | #include <linux/smp.h> | 19 | #include <linux/smp.h> |
20 | #include <linux/smp_lock.h> | ||
21 | #include <linux/sem.h> | 20 | #include <linux/sem.h> |
22 | #include <linux/msg.h> | 21 | #include <linux/msg.h> |
23 | #include <linux/shm.h> | 22 | #include <linux/shm.h> |
diff --git a/arch/s390/kernel/time.c b/arch/s390/kernel/time.c index 711dae8da7ad..9c2872a7cca7 100644 --- a/arch/s390/kernel/time.c +++ b/arch/s390/kernel/time.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <linux/mm.h> | 21 | #include <linux/mm.h> |
22 | #include <linux/interrupt.h> | 22 | #include <linux/interrupt.h> |
23 | #include <linux/time.h> | 23 | #include <linux/time.h> |
24 | #include <linux/sysdev.h> | ||
24 | #include <linux/delay.h> | 25 | #include <linux/delay.h> |
25 | #include <linux/init.h> | 26 | #include <linux/init.h> |
26 | #include <linux/smp.h> | 27 | #include <linux/smp.h> |
diff --git a/arch/s390/kernel/traps.c b/arch/s390/kernel/traps.c index 49dec830373a..cbfe73034c30 100644 --- a/arch/s390/kernel/traps.c +++ b/arch/s390/kernel/traps.c | |||
@@ -22,11 +22,11 @@ | |||
22 | #include <linux/timer.h> | 22 | #include <linux/timer.h> |
23 | #include <linux/mm.h> | 23 | #include <linux/mm.h> |
24 | #include <linux/smp.h> | 24 | #include <linux/smp.h> |
25 | #include <linux/smp_lock.h> | ||
26 | #include <linux/init.h> | 25 | #include <linux/init.h> |
27 | #include <linux/interrupt.h> | 26 | #include <linux/interrupt.h> |
28 | #include <linux/delay.h> | 27 | #include <linux/delay.h> |
29 | #include <linux/module.h> | 28 | #include <linux/module.h> |
29 | #include <linux/kdebug.h> | ||
30 | #include <linux/kallsyms.h> | 30 | #include <linux/kallsyms.h> |
31 | #include <linux/reboot.h> | 31 | #include <linux/reboot.h> |
32 | #include <linux/kprobes.h> | 32 | #include <linux/kprobes.h> |
@@ -40,7 +40,6 @@ | |||
40 | #include <asm/s390_ext.h> | 40 | #include <asm/s390_ext.h> |
41 | #include <asm/lowcore.h> | 41 | #include <asm/lowcore.h> |
42 | #include <asm/debug.h> | 42 | #include <asm/debug.h> |
43 | #include <asm/kdebug.h> | ||
44 | 43 | ||
45 | /* Called from entry.S only */ | 44 | /* Called from entry.S only */ |
46 | extern void handle_per_exception(struct pt_regs *regs); | 45 | extern void handle_per_exception(struct pt_regs *regs); |
@@ -70,20 +69,6 @@ static int kstack_depth_to_print = 12; | |||
70 | static int kstack_depth_to_print = 20; | 69 | static int kstack_depth_to_print = 20; |
71 | #endif /* CONFIG_64BIT */ | 70 | #endif /* CONFIG_64BIT */ |
72 | 71 | ||
73 | ATOMIC_NOTIFIER_HEAD(s390die_chain); | ||
74 | |||
75 | int register_die_notifier(struct notifier_block *nb) | ||
76 | { | ||
77 | return atomic_notifier_chain_register(&s390die_chain, nb); | ||
78 | } | ||
79 | EXPORT_SYMBOL(register_die_notifier); | ||
80 | |||
81 | int unregister_die_notifier(struct notifier_block *nb) | ||
82 | { | ||
83 | return atomic_notifier_chain_unregister(&s390die_chain, nb); | ||
84 | } | ||
85 | EXPORT_SYMBOL(unregister_die_notifier); | ||
86 | |||
87 | /* | 72 | /* |
88 | * For show_trace we have tree different stack to consider: | 73 | * For show_trace we have tree different stack to consider: |
89 | * - the panic stack which is used if the kernel stack has overflown | 74 | * - the panic stack which is used if the kernel stack has overflown |
diff --git a/arch/s390/mm/fault.c b/arch/s390/mm/fault.c index 91f705adc3f9..8b924b359774 100644 --- a/arch/s390/mm/fault.c +++ b/arch/s390/mm/fault.c | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <linux/mman.h> | 20 | #include <linux/mman.h> |
21 | #include <linux/mm.h> | 21 | #include <linux/mm.h> |
22 | #include <linux/smp.h> | 22 | #include <linux/smp.h> |
23 | #include <linux/kdebug.h> | ||
23 | #include <linux/smp_lock.h> | 24 | #include <linux/smp_lock.h> |
24 | #include <linux/init.h> | 25 | #include <linux/init.h> |
25 | #include <linux/console.h> | 26 | #include <linux/console.h> |
@@ -30,7 +31,6 @@ | |||
30 | 31 | ||
31 | #include <asm/system.h> | 32 | #include <asm/system.h> |
32 | #include <asm/pgtable.h> | 33 | #include <asm/pgtable.h> |
33 | #include <asm/kdebug.h> | ||
34 | #include <asm/s390_ext.h> | 34 | #include <asm/s390_ext.h> |
35 | 35 | ||
36 | #ifndef CONFIG_64BIT | 36 | #ifndef CONFIG_64BIT |
diff --git a/arch/sh/drivers/pci/pci-st40.c b/arch/sh/drivers/pci/pci-st40.c index efecb3d5995c..d67656a44b15 100644 --- a/arch/sh/drivers/pci/pci-st40.c +++ b/arch/sh/drivers/pci/pci-st40.c | |||
@@ -9,7 +9,6 @@ | |||
9 | 9 | ||
10 | #include <linux/kernel.h> | 10 | #include <linux/kernel.h> |
11 | #include <linux/smp.h> | 11 | #include <linux/smp.h> |
12 | #include <linux/smp_lock.h> | ||
13 | #include <linux/init.h> | 12 | #include <linux/init.h> |
14 | #include <linux/errno.h> | 13 | #include <linux/errno.h> |
15 | #include <linux/pci.h> | 14 | #include <linux/pci.h> |
diff --git a/arch/sh/kernel/early_printk.c b/arch/sh/kernel/early_printk.c index 9048c0326d87..9833493d8867 100644 --- a/arch/sh/kernel/early_printk.c +++ b/arch/sh/kernel/early_printk.c | |||
@@ -192,20 +192,14 @@ int __init setup_early_printk(char *buf) | |||
192 | } | 192 | } |
193 | #endif | 193 | #endif |
194 | 194 | ||
195 | if (likely(early_console)) | 195 | if (likely(early_console)) { |
196 | if (keep_early) | ||
197 | early_console->flags &= ~CON_BOOT; | ||
198 | else | ||
199 | early_console->flags |= CON_BOOT; | ||
196 | register_console(early_console); | 200 | register_console(early_console); |
201 | } | ||
197 | 202 | ||
198 | return 0; | 203 | return 0; |
199 | } | 204 | } |
200 | early_param("earlyprintk", setup_early_printk); | 205 | early_param("earlyprintk", setup_early_printk); |
201 | |||
202 | void __init disable_early_printk(void) | ||
203 | { | ||
204 | if (!early_console_initialized || !early_console) | ||
205 | return; | ||
206 | if (!keep_early) { | ||
207 | printk("disabling early console\n"); | ||
208 | unregister_console(early_console); | ||
209 | } else | ||
210 | printk("keeping early console\n"); | ||
211 | } | ||
diff --git a/arch/sh/kernel/ptrace.c b/arch/sh/kernel/ptrace.c index 855f7246cfff..3fb5fc0b550d 100644 --- a/arch/sh/kernel/ptrace.c +++ b/arch/sh/kernel/ptrace.c | |||
@@ -12,7 +12,6 @@ | |||
12 | #include <linux/sched.h> | 12 | #include <linux/sched.h> |
13 | #include <linux/mm.h> | 13 | #include <linux/mm.h> |
14 | #include <linux/smp.h> | 14 | #include <linux/smp.h> |
15 | #include <linux/smp_lock.h> | ||
16 | #include <linux/errno.h> | 15 | #include <linux/errno.h> |
17 | #include <linux/ptrace.h> | 16 | #include <linux/ptrace.h> |
18 | #include <linux/user.h> | 17 | #include <linux/user.h> |
diff --git a/arch/sh/kernel/sh_ksyms.c b/arch/sh/kernel/sh_ksyms.c index 17f0b50c5678..fa91641c1f62 100644 --- a/arch/sh/kernel/sh_ksyms.c +++ b/arch/sh/kernel/sh_ksyms.c | |||
@@ -5,7 +5,6 @@ | |||
5 | #include <linux/sched.h> | 5 | #include <linux/sched.h> |
6 | #include <linux/in6.h> | 6 | #include <linux/in6.h> |
7 | #include <linux/interrupt.h> | 7 | #include <linux/interrupt.h> |
8 | #include <linux/smp_lock.h> | ||
9 | #include <linux/vmalloc.h> | 8 | #include <linux/vmalloc.h> |
10 | #include <linux/pci.h> | 9 | #include <linux/pci.h> |
11 | #include <linux/irq.h> | 10 | #include <linux/irq.h> |
diff --git a/arch/sh/kernel/signal.c b/arch/sh/kernel/signal.c index 9f39ef1f73da..eb0191c374b6 100644 --- a/arch/sh/kernel/signal.c +++ b/arch/sh/kernel/signal.c | |||
@@ -11,7 +11,6 @@ | |||
11 | #include <linux/sched.h> | 11 | #include <linux/sched.h> |
12 | #include <linux/mm.h> | 12 | #include <linux/mm.h> |
13 | #include <linux/smp.h> | 13 | #include <linux/smp.h> |
14 | #include <linux/smp_lock.h> | ||
15 | #include <linux/kernel.h> | 14 | #include <linux/kernel.h> |
16 | #include <linux/signal.h> | 15 | #include <linux/signal.h> |
17 | #include <linux/errno.h> | 16 | #include <linux/errno.h> |
diff --git a/arch/sh/kernel/stacktrace.c b/arch/sh/kernel/stacktrace.c index 0d5268afe80f..4bdd2f83535d 100644 --- a/arch/sh/kernel/stacktrace.c +++ b/arch/sh/kernel/stacktrace.c | |||
@@ -19,14 +19,7 @@ | |||
19 | */ | 19 | */ |
20 | void save_stack_trace(struct stack_trace *trace, struct task_struct *task) | 20 | void save_stack_trace(struct stack_trace *trace, struct task_struct *task) |
21 | { | 21 | { |
22 | unsigned long *sp; | 22 | unsigned long *sp = (unsigned long *)current_stack_pointer; |
23 | |||
24 | if (!task) | ||
25 | task = current; | ||
26 | if (task == current) | ||
27 | sp = (unsigned long *)current_stack_pointer; | ||
28 | else | ||
29 | sp = (unsigned long *)task->thread.sp; | ||
30 | 23 | ||
31 | while (!kstack_end(sp)) { | 24 | while (!kstack_end(sp)) { |
32 | unsigned long addr = *sp++; | 25 | unsigned long addr = *sp++; |
diff --git a/arch/sh/kernel/sys_sh.c b/arch/sh/kernel/sys_sh.c index e18f183e1035..76b1bc7f7029 100644 --- a/arch/sh/kernel/sys_sh.c +++ b/arch/sh/kernel/sys_sh.c | |||
@@ -12,7 +12,6 @@ | |||
12 | #include <linux/sched.h> | 12 | #include <linux/sched.h> |
13 | #include <linux/mm.h> | 13 | #include <linux/mm.h> |
14 | #include <linux/smp.h> | 14 | #include <linux/smp.h> |
15 | #include <linux/smp_lock.h> | ||
16 | #include <linux/sem.h> | 15 | #include <linux/sem.h> |
17 | #include <linux/msg.h> | 16 | #include <linux/msg.h> |
18 | #include <linux/shm.h> | 17 | #include <linux/shm.h> |
diff --git a/arch/sh/kernel/timers/timer-cmt.c b/arch/sh/kernel/timers/timer-cmt.c index a574b93a4e7b..82de6895ade5 100644 --- a/arch/sh/kernel/timers/timer-cmt.c +++ b/arch/sh/kernel/timers/timer-cmt.c | |||
@@ -115,7 +115,7 @@ static irqreturn_t cmt_timer_interrupt(int irq, void *dev_id) | |||
115 | static struct irqaction cmt_irq = { | 115 | static struct irqaction cmt_irq = { |
116 | .name = "timer", | 116 | .name = "timer", |
117 | .handler = cmt_timer_interrupt, | 117 | .handler = cmt_timer_interrupt, |
118 | .flags = IRQF_DISABLED | IRQF_TIMER, | 118 | .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, |
119 | .mask = CPU_MASK_NONE, | 119 | .mask = CPU_MASK_NONE, |
120 | }; | 120 | }; |
121 | 121 | ||
diff --git a/arch/sh/kernel/timers/timer-mtu2.c b/arch/sh/kernel/timers/timer-mtu2.c index fffcd1c09873..b7499a2a9188 100644 --- a/arch/sh/kernel/timers/timer-mtu2.c +++ b/arch/sh/kernel/timers/timer-mtu2.c | |||
@@ -110,7 +110,7 @@ static irqreturn_t mtu2_timer_interrupt(int irq, void *dev_id) | |||
110 | static struct irqaction mtu2_irq = { | 110 | static struct irqaction mtu2_irq = { |
111 | .name = "timer", | 111 | .name = "timer", |
112 | .handler = mtu2_timer_interrupt, | 112 | .handler = mtu2_timer_interrupt, |
113 | .flags = IRQF_DISABLED | IRQF_TIMER, | 113 | .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, |
114 | .mask = CPU_MASK_NONE, | 114 | .mask = CPU_MASK_NONE, |
115 | }; | 115 | }; |
116 | 116 | ||
diff --git a/arch/sh/kernel/timers/timer-tmu.c b/arch/sh/kernel/timers/timer-tmu.c index ad1ede52fc9c..d9e3151c891e 100644 --- a/arch/sh/kernel/timers/timer-tmu.c +++ b/arch/sh/kernel/timers/timer-tmu.c | |||
@@ -99,7 +99,7 @@ static irqreturn_t tmu_timer_interrupt(int irq, void *dummy) | |||
99 | static struct irqaction tmu_irq = { | 99 | static struct irqaction tmu_irq = { |
100 | .name = "timer", | 100 | .name = "timer", |
101 | .handler = tmu_timer_interrupt, | 101 | .handler = tmu_timer_interrupt, |
102 | .flags = IRQF_DISABLED | IRQF_TIMER, | 102 | .flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, |
103 | .mask = CPU_MASK_NONE, | 103 | .mask = CPU_MASK_NONE, |
104 | }; | 104 | }; |
105 | 105 | ||
diff --git a/arch/sh/mm/fault-nommu.c b/arch/sh/mm/fault-nommu.c index 34d4e0c68fbb..923cb456819b 100644 --- a/arch/sh/mm/fault-nommu.c +++ b/arch/sh/mm/fault-nommu.c | |||
@@ -19,7 +19,6 @@ | |||
19 | #include <linux/mman.h> | 19 | #include <linux/mman.h> |
20 | #include <linux/mm.h> | 20 | #include <linux/mm.h> |
21 | #include <linux/smp.h> | 21 | #include <linux/smp.h> |
22 | #include <linux/smp_lock.h> | ||
23 | #include <linux/interrupt.h> | 22 | #include <linux/interrupt.h> |
24 | 23 | ||
25 | #include <asm/system.h> | 24 | #include <asm/system.h> |
diff --git a/arch/sh/mm/hugetlbpage.c b/arch/sh/mm/hugetlbpage.c index cf2c2ee35a37..ae8c321d6e2a 100644 --- a/arch/sh/mm/hugetlbpage.c +++ b/arch/sh/mm/hugetlbpage.c | |||
@@ -13,7 +13,6 @@ | |||
13 | #include <linux/mm.h> | 13 | #include <linux/mm.h> |
14 | #include <linux/hugetlb.h> | 14 | #include <linux/hugetlb.h> |
15 | #include <linux/pagemap.h> | 15 | #include <linux/pagemap.h> |
16 | #include <linux/smp_lock.h> | ||
17 | #include <linux/slab.h> | 16 | #include <linux/slab.h> |
18 | #include <linux/sysctl.h> | 17 | #include <linux/sysctl.h> |
19 | 18 | ||
diff --git a/arch/sh/mm/pmb.c b/arch/sh/mm/pmb.c index d0d45e2e0ab3..02aae06527dc 100644 --- a/arch/sh/mm/pmb.c +++ b/arch/sh/mm/pmb.c | |||
@@ -311,9 +311,9 @@ static int __init pmb_init(void) | |||
311 | 311 | ||
312 | BUG_ON(unlikely(nr_entries >= NR_PMB_ENTRIES)); | 312 | BUG_ON(unlikely(nr_entries >= NR_PMB_ENTRIES)); |
313 | 313 | ||
314 | pmb_cache = kmem_cache_create("pmb", sizeof(struct pmb_entry), | 314 | pmb_cache = kmem_cache_create("pmb", sizeof(struct pmb_entry), 0, |
315 | 0, 0, pmb_cache_ctor, pmb_cache_dtor); | 315 | SLAB_PANIC, pmb_cache_ctor, |
316 | BUG_ON(!pmb_cache); | 316 | pmb_cache_dtor); |
317 | 317 | ||
318 | jump_to_P2(); | 318 | jump_to_P2(); |
319 | 319 | ||
diff --git a/arch/sh64/kernel/early_printk.c b/arch/sh64/kernel/early_printk.c index 8c8a76e180aa..4f9131123672 100644 --- a/arch/sh64/kernel/early_printk.c +++ b/arch/sh64/kernel/early_printk.c | |||
@@ -79,7 +79,7 @@ static struct console sh_console = { | |||
79 | .name = "scifcon", | 79 | .name = "scifcon", |
80 | .write = sh_console_write, | 80 | .write = sh_console_write, |
81 | .setup = sh_console_setup, | 81 | .setup = sh_console_setup, |
82 | .flags = CON_PRINTBUFFER, | 82 | .flags = CON_PRINTBUFFER | CON_BOOT, |
83 | .index = -1, | 83 | .index = -1, |
84 | }; | 84 | }; |
85 | 85 | ||
@@ -97,9 +97,3 @@ void __init enable_early_printk(void) | |||
97 | 97 | ||
98 | register_console(&sh_console); | 98 | register_console(&sh_console); |
99 | } | 99 | } |
100 | |||
101 | void disable_early_printk(void) | ||
102 | { | ||
103 | unregister_console(&sh_console); | ||
104 | } | ||
105 | |||
diff --git a/arch/sh64/kernel/irq.c b/arch/sh64/kernel/irq.c index e7e07f8749c9..f68b4f6c9b31 100644 --- a/arch/sh64/kernel/irq.c +++ b/arch/sh64/kernel/irq.c | |||
@@ -26,7 +26,6 @@ | |||
26 | #include <linux/slab.h> | 26 | #include <linux/slab.h> |
27 | #include <linux/random.h> | 27 | #include <linux/random.h> |
28 | #include <linux/smp.h> | 28 | #include <linux/smp.h> |
29 | #include <linux/smp_lock.h> | ||
30 | #include <linux/init.h> | 29 | #include <linux/init.h> |
31 | #include <linux/seq_file.h> | 30 | #include <linux/seq_file.h> |
32 | #include <linux/bitops.h> | 31 | #include <linux/bitops.h> |
diff --git a/arch/sh64/kernel/pci_sh5.c b/arch/sh64/kernel/pci_sh5.c index 9dae689b6a9b..49862e165c06 100644 --- a/arch/sh64/kernel/pci_sh5.c +++ b/arch/sh64/kernel/pci_sh5.c | |||
@@ -12,7 +12,6 @@ | |||
12 | #include <linux/kernel.h> | 12 | #include <linux/kernel.h> |
13 | #include <linux/rwsem.h> | 13 | #include <linux/rwsem.h> |
14 | #include <linux/smp.h> | 14 | #include <linux/smp.h> |
15 | #include <linux/smp_lock.h> | ||
16 | #include <linux/interrupt.h> | 15 | #include <linux/interrupt.h> |
17 | #include <linux/init.h> | 16 | #include <linux/init.h> |
18 | #include <linux/errno.h> | 17 | #include <linux/errno.h> |
diff --git a/arch/sh64/kernel/sh_ksyms.c b/arch/sh64/kernel/sh_ksyms.c index 7aa4b4f7bc5e..461ea3de316f 100644 --- a/arch/sh64/kernel/sh_ksyms.c +++ b/arch/sh64/kernel/sh_ksyms.c | |||
@@ -17,7 +17,6 @@ | |||
17 | #include <linux/sched.h> | 17 | #include <linux/sched.h> |
18 | #include <linux/in6.h> | 18 | #include <linux/in6.h> |
19 | #include <linux/interrupt.h> | 19 | #include <linux/interrupt.h> |
20 | #include <linux/smp_lock.h> | ||
21 | #include <linux/screen_info.h> | 20 | #include <linux/screen_info.h> |
22 | 21 | ||
23 | #include <asm/semaphore.h> | 22 | #include <asm/semaphore.h> |
diff --git a/arch/sh64/kernel/signal.c b/arch/sh64/kernel/signal.c index 1666d3efb52e..b76bdfa473d6 100644 --- a/arch/sh64/kernel/signal.c +++ b/arch/sh64/kernel/signal.c | |||
@@ -16,7 +16,6 @@ | |||
16 | #include <linux/sched.h> | 16 | #include <linux/sched.h> |
17 | #include <linux/mm.h> | 17 | #include <linux/mm.h> |
18 | #include <linux/smp.h> | 18 | #include <linux/smp.h> |
19 | #include <linux/smp_lock.h> | ||
20 | #include <linux/kernel.h> | 19 | #include <linux/kernel.h> |
21 | #include <linux/signal.h> | 20 | #include <linux/signal.h> |
22 | #include <linux/errno.h> | 21 | #include <linux/errno.h> |
diff --git a/arch/sh64/kernel/sys_sh64.c b/arch/sh64/kernel/sys_sh64.c index ad0fa4e003e7..19126daf9f4c 100644 --- a/arch/sh64/kernel/sys_sh64.c +++ b/arch/sh64/kernel/sys_sh64.c | |||
@@ -20,7 +20,6 @@ | |||
20 | #include <linux/sched.h> | 20 | #include <linux/sched.h> |
21 | #include <linux/mm.h> | 21 | #include <linux/mm.h> |
22 | #include <linux/smp.h> | 22 | #include <linux/smp.h> |
23 | #include <linux/smp_lock.h> | ||
24 | #include <linux/sem.h> | 23 | #include <linux/sem.h> |
25 | #include <linux/msg.h> | 24 | #include <linux/msg.h> |
26 | #include <linux/shm.h> | 25 | #include <linux/shm.h> |
diff --git a/arch/sh64/kernel/traps.c b/arch/sh64/kernel/traps.c index c346d7ef9280..9d0d58fb29fa 100644 --- a/arch/sh64/kernel/traps.c +++ b/arch/sh64/kernel/traps.c | |||
@@ -23,7 +23,6 @@ | |||
23 | #include <linux/timer.h> | 23 | #include <linux/timer.h> |
24 | #include <linux/mm.h> | 24 | #include <linux/mm.h> |
25 | #include <linux/smp.h> | 25 | #include <linux/smp.h> |
26 | #include <linux/smp_lock.h> | ||
27 | #include <linux/init.h> | 26 | #include <linux/init.h> |
28 | #include <linux/delay.h> | 27 | #include <linux/delay.h> |
29 | #include <linux/spinlock.h> | 28 | #include <linux/spinlock.h> |
diff --git a/arch/sh64/kernel/unwind.c b/arch/sh64/kernel/unwind.c index f934f97f9f9c..1214c78e3584 100644 --- a/arch/sh64/kernel/unwind.c +++ b/arch/sh64/kernel/unwind.c | |||
@@ -46,15 +46,15 @@ static int lookup_prev_stack_frame(unsigned long fp, unsigned long pc, | |||
46 | struct pt_regs *regs) | 46 | struct pt_regs *regs) |
47 | { | 47 | { |
48 | const char *sym; | 48 | const char *sym; |
49 | char *modname, namebuf[128]; | 49 | char namebuf[128]; |
50 | unsigned long offset, size; | 50 | unsigned long offset; |
51 | unsigned long prologue = 0; | 51 | unsigned long prologue = 0; |
52 | unsigned long fp_displacement = 0; | 52 | unsigned long fp_displacement = 0; |
53 | unsigned long fp_prev = 0; | 53 | unsigned long fp_prev = 0; |
54 | unsigned long offset_r14 = 0, offset_r18 = 0; | 54 | unsigned long offset_r14 = 0, offset_r18 = 0; |
55 | int i, found_prologue_end = 0; | 55 | int i, found_prologue_end = 0; |
56 | 56 | ||
57 | sym = kallsyms_lookup(pc, &size, &offset, &modname, namebuf); | 57 | sym = kallsyms_lookup(pc, NULL, &offset, NULL, namebuf); |
58 | if (!sym) | 58 | if (!sym) |
59 | return -EINVAL; | 59 | return -EINVAL; |
60 | 60 | ||
diff --git a/arch/sh64/mm/fault.c b/arch/sh64/mm/fault.c index 4f72ab33bb2b..4dd8ee8f01ce 100644 --- a/arch/sh64/mm/fault.c +++ b/arch/sh64/mm/fault.c | |||
@@ -22,7 +22,6 @@ | |||
22 | #include <linux/mman.h> | 22 | #include <linux/mman.h> |
23 | #include <linux/mm.h> | 23 | #include <linux/mm.h> |
24 | #include <linux/smp.h> | 24 | #include <linux/smp.h> |
25 | #include <linux/smp_lock.h> | ||
26 | #include <linux/interrupt.h> | 25 | #include <linux/interrupt.h> |
27 | 26 | ||
28 | #include <asm/system.h> | 27 | #include <asm/system.h> |
diff --git a/arch/sh64/mm/hugetlbpage.c b/arch/sh64/mm/hugetlbpage.c index 4b455f611146..fa66daa2dfa9 100644 --- a/arch/sh64/mm/hugetlbpage.c +++ b/arch/sh64/mm/hugetlbpage.c | |||
@@ -13,7 +13,6 @@ | |||
13 | #include <linux/mm.h> | 13 | #include <linux/mm.h> |
14 | #include <linux/hugetlb.h> | 14 | #include <linux/hugetlb.h> |
15 | #include <linux/pagemap.h> | 15 | #include <linux/pagemap.h> |
16 | #include <linux/smp_lock.h> | ||
17 | #include <linux/slab.h> | 16 | #include <linux/slab.h> |
18 | #include <linux/sysctl.h> | 17 | #include <linux/sysctl.h> |
19 | 18 | ||
diff --git a/arch/sh64/mm/tlbmiss.c b/arch/sh64/mm/tlbmiss.c index c8615954aaa9..d4c5334186d0 100644 --- a/arch/sh64/mm/tlbmiss.c +++ b/arch/sh64/mm/tlbmiss.c | |||
@@ -32,7 +32,6 @@ | |||
32 | #include <linux/mman.h> | 32 | #include <linux/mman.h> |
33 | #include <linux/mm.h> | 33 | #include <linux/mm.h> |
34 | #include <linux/smp.h> | 34 | #include <linux/smp.h> |
35 | #include <linux/smp_lock.h> | ||
36 | #include <linux/interrupt.h> | 35 | #include <linux/interrupt.h> |
37 | 36 | ||
38 | #include <asm/system.h> | 37 | #include <asm/system.h> |
diff --git a/arch/sparc/kernel/head.S b/arch/sparc/kernel/head.S index 9a219e8b5ddb..97da13c52563 100644 --- a/arch/sparc/kernel/head.S +++ b/arch/sparc/kernel/head.S | |||
@@ -19,7 +19,7 @@ | |||
19 | #include <asm/ptrace.h> | 19 | #include <asm/ptrace.h> |
20 | #include <asm/psr.h> | 20 | #include <asm/psr.h> |
21 | #include <asm/page.h> | 21 | #include <asm/page.h> |
22 | #include <asm/kdebug.h> | 22 | #include <linux/kdebug.h> |
23 | #include <asm/winmacro.h> | 23 | #include <asm/winmacro.h> |
24 | #include <asm/thread_info.h> /* TI_UWINMASK */ | 24 | #include <asm/thread_info.h> /* TI_UWINMASK */ |
25 | #include <asm/errno.h> | 25 | #include <asm/errno.h> |
diff --git a/arch/sparc/kernel/irq.c b/arch/sparc/kernel/irq.c index 5b4841d067c1..bdbefa8a9742 100644 --- a/arch/sparc/kernel/irq.c +++ b/arch/sparc/kernel/irq.c | |||
@@ -24,7 +24,6 @@ | |||
24 | #include <linux/random.h> | 24 | #include <linux/random.h> |
25 | #include <linux/init.h> | 25 | #include <linux/init.h> |
26 | #include <linux/smp.h> | 26 | #include <linux/smp.h> |
27 | #include <linux/smp_lock.h> | ||
28 | #include <linux/delay.h> | 27 | #include <linux/delay.h> |
29 | #include <linux/threads.h> | 28 | #include <linux/threads.h> |
30 | #include <linux/spinlock.h> | 29 | #include <linux/spinlock.h> |
diff --git a/arch/sparc/kernel/process.c b/arch/sparc/kernel/process.c index fc874e63a499..2940d2c1a778 100644 --- a/arch/sparc/kernel/process.c +++ b/arch/sparc/kernel/process.c | |||
@@ -23,7 +23,6 @@ | |||
23 | #include <linux/user.h> | 23 | #include <linux/user.h> |
24 | #include <linux/a.out.h> | 24 | #include <linux/a.out.h> |
25 | #include <linux/smp.h> | 25 | #include <linux/smp.h> |
26 | #include <linux/smp_lock.h> | ||
27 | #include <linux/reboot.h> | 26 | #include <linux/reboot.h> |
28 | #include <linux/delay.h> | 27 | #include <linux/delay.h> |
29 | #include <linux/pm.h> | 28 | #include <linux/pm.h> |
diff --git a/arch/sparc/kernel/setup.c b/arch/sparc/kernel/setup.c index eccd8e87f529..64c0ed98820a 100644 --- a/arch/sparc/kernel/setup.c +++ b/arch/sparc/kernel/setup.c | |||
@@ -31,6 +31,7 @@ | |||
31 | #include <linux/spinlock.h> | 31 | #include <linux/spinlock.h> |
32 | #include <linux/root_dev.h> | 32 | #include <linux/root_dev.h> |
33 | #include <linux/cpu.h> | 33 | #include <linux/cpu.h> |
34 | #include <linux/kdebug.h> | ||
34 | 35 | ||
35 | #include <asm/system.h> | 36 | #include <asm/system.h> |
36 | #include <asm/io.h> | 37 | #include <asm/io.h> |
@@ -40,7 +41,6 @@ | |||
40 | #include <asm/pgtable.h> | 41 | #include <asm/pgtable.h> |
41 | #include <asm/traps.h> | 42 | #include <asm/traps.h> |
42 | #include <asm/vaddrs.h> | 43 | #include <asm/vaddrs.h> |
43 | #include <asm/kdebug.h> | ||
44 | #include <asm/mbus.h> | 44 | #include <asm/mbus.h> |
45 | #include <asm/idprom.h> | 45 | #include <asm/idprom.h> |
46 | #include <asm/machines.h> | 46 | #include <asm/machines.h> |
diff --git a/arch/sparc/kernel/signal.c b/arch/sparc/kernel/signal.c index c9301b9143ca..9994cac95078 100644 --- a/arch/sparc/kernel/signal.c +++ b/arch/sparc/kernel/signal.c | |||
@@ -17,7 +17,6 @@ | |||
17 | #include <linux/mm.h> | 17 | #include <linux/mm.h> |
18 | #include <linux/tty.h> | 18 | #include <linux/tty.h> |
19 | #include <linux/smp.h> | 19 | #include <linux/smp.h> |
20 | #include <linux/smp_lock.h> | ||
21 | #include <linux/binfmts.h> /* do_coredum */ | 20 | #include <linux/binfmts.h> /* do_coredum */ |
22 | #include <linux/bitops.h> | 21 | #include <linux/bitops.h> |
23 | 22 | ||
diff --git a/arch/sparc/kernel/smp.c b/arch/sparc/kernel/smp.c index 6b5f26b0fb75..4d9ad59031bb 100644 --- a/arch/sparc/kernel/smp.c +++ b/arch/sparc/kernel/smp.c | |||
@@ -11,7 +11,6 @@ | |||
11 | #include <linux/sched.h> | 11 | #include <linux/sched.h> |
12 | #include <linux/threads.h> | 12 | #include <linux/threads.h> |
13 | #include <linux/smp.h> | 13 | #include <linux/smp.h> |
14 | #include <linux/smp_lock.h> | ||
15 | #include <linux/interrupt.h> | 14 | #include <linux/interrupt.h> |
16 | #include <linux/kernel_stat.h> | 15 | #include <linux/kernel_stat.h> |
17 | #include <linux/init.h> | 16 | #include <linux/init.h> |
diff --git a/arch/sparc/kernel/sun4d_irq.c b/arch/sparc/kernel/sun4d_irq.c index 0e27e226e0e2..116d6a241ca2 100644 --- a/arch/sparc/kernel/sun4d_irq.c +++ b/arch/sparc/kernel/sun4d_irq.c | |||
@@ -17,7 +17,6 @@ | |||
17 | #include <linux/random.h> | 17 | #include <linux/random.h> |
18 | #include <linux/init.h> | 18 | #include <linux/init.h> |
19 | #include <linux/smp.h> | 19 | #include <linux/smp.h> |
20 | #include <linux/smp_lock.h> | ||
21 | #include <linux/spinlock.h> | 20 | #include <linux/spinlock.h> |
22 | #include <linux/seq_file.h> | 21 | #include <linux/seq_file.h> |
23 | 22 | ||
diff --git a/arch/sparc/kernel/sun4d_smp.c b/arch/sparc/kernel/sun4d_smp.c index c69de5d4863d..098c94f1a322 100644 --- a/arch/sparc/kernel/sun4d_smp.c +++ b/arch/sparc/kernel/sun4d_smp.c | |||
@@ -12,7 +12,6 @@ | |||
12 | #include <linux/sched.h> | 12 | #include <linux/sched.h> |
13 | #include <linux/threads.h> | 13 | #include <linux/threads.h> |
14 | #include <linux/smp.h> | 14 | #include <linux/smp.h> |
15 | #include <linux/smp_lock.h> | ||
16 | #include <linux/interrupt.h> | 15 | #include <linux/interrupt.h> |
17 | #include <linux/kernel_stat.h> | 16 | #include <linux/kernel_stat.h> |
18 | #include <linux/init.h> | 17 | #include <linux/init.h> |
diff --git a/arch/sparc/kernel/sun4m_smp.c b/arch/sparc/kernel/sun4m_smp.c index 4e07bdbbfb5d..63ed19bfd028 100644 --- a/arch/sparc/kernel/sun4m_smp.c +++ b/arch/sparc/kernel/sun4m_smp.c | |||
@@ -9,7 +9,6 @@ | |||
9 | #include <linux/sched.h> | 9 | #include <linux/sched.h> |
10 | #include <linux/threads.h> | 10 | #include <linux/threads.h> |
11 | #include <linux/smp.h> | 11 | #include <linux/smp.h> |
12 | #include <linux/smp_lock.h> | ||
13 | #include <linux/interrupt.h> | 12 | #include <linux/interrupt.h> |
14 | #include <linux/kernel_stat.h> | 13 | #include <linux/kernel_stat.h> |
15 | #include <linux/init.h> | 14 | #include <linux/init.h> |
diff --git a/arch/sparc/kernel/sunos_ioctl.c b/arch/sparc/kernel/sunos_ioctl.c index 32e8274e4357..e613cc6a10ba 100644 --- a/arch/sparc/kernel/sunos_ioctl.c +++ b/arch/sparc/kernel/sunos_ioctl.c | |||
@@ -21,7 +21,6 @@ | |||
21 | #include <linux/fs.h> | 21 | #include <linux/fs.h> |
22 | #include <linux/mm.h> | 22 | #include <linux/mm.h> |
23 | #include <linux/smp.h> | 23 | #include <linux/smp.h> |
24 | #include <linux/smp_lock.h> | ||
25 | #include <linux/syscalls.h> | 24 | #include <linux/syscalls.h> |
26 | #include <linux/file.h> | 25 | #include <linux/file.h> |
27 | 26 | ||
diff --git a/arch/sparc/kernel/sys_solaris.c b/arch/sparc/kernel/sys_solaris.c index 01b07bb440f0..2226a5992484 100644 --- a/arch/sparc/kernel/sys_solaris.c +++ b/arch/sparc/kernel/sys_solaris.c | |||
@@ -12,7 +12,6 @@ | |||
12 | #include <linux/ptrace.h> | 12 | #include <linux/ptrace.h> |
13 | #include <linux/mm.h> | 13 | #include <linux/mm.h> |
14 | #include <linux/smp.h> | 14 | #include <linux/smp.h> |
15 | #include <linux/smp_lock.h> | ||
16 | #include <linux/module.h> | 15 | #include <linux/module.h> |
17 | 16 | ||
18 | asmlinkage int | 17 | asmlinkage int |
diff --git a/arch/sparc/kernel/traps.c b/arch/sparc/kernel/traps.c index 527687afc1c4..dc9ffea2a4f7 100644 --- a/arch/sparc/kernel/traps.c +++ b/arch/sparc/kernel/traps.c | |||
@@ -15,6 +15,7 @@ | |||
15 | #include <linux/signal.h> | 15 | #include <linux/signal.h> |
16 | #include <linux/smp.h> | 16 | #include <linux/smp.h> |
17 | #include <linux/smp_lock.h> | 17 | #include <linux/smp_lock.h> |
18 | #include <linux/kdebug.h> | ||
18 | 19 | ||
19 | #include <asm/delay.h> | 20 | #include <asm/delay.h> |
20 | #include <asm/system.h> | 21 | #include <asm/system.h> |
@@ -22,7 +23,6 @@ | |||
22 | #include <asm/oplib.h> | 23 | #include <asm/oplib.h> |
23 | #include <asm/page.h> | 24 | #include <asm/page.h> |
24 | #include <asm/pgtable.h> | 25 | #include <asm/pgtable.h> |
25 | #include <asm/kdebug.h> | ||
26 | #include <asm/unistd.h> | 26 | #include <asm/unistd.h> |
27 | #include <asm/traps.h> | 27 | #include <asm/traps.h> |
28 | 28 | ||
diff --git a/arch/sparc/lib/bitext.c b/arch/sparc/lib/bitext.c index 2e168d16547f..764b3eb7b604 100644 --- a/arch/sparc/lib/bitext.c +++ b/arch/sparc/lib/bitext.c | |||
@@ -9,7 +9,6 @@ | |||
9 | * fragmentation. | 9 | * fragmentation. |
10 | */ | 10 | */ |
11 | 11 | ||
12 | #include <linux/smp_lock.h> | ||
13 | #include <linux/string.h> | 12 | #include <linux/string.h> |
14 | #include <linux/bitops.h> | 13 | #include <linux/bitops.h> |
15 | 14 | ||
diff --git a/arch/sparc/mm/fault.c b/arch/sparc/mm/fault.c index 9eeed3347df3..c3483365db4b 100644 --- a/arch/sparc/mm/fault.c +++ b/arch/sparc/mm/fault.c | |||
@@ -18,9 +18,9 @@ | |||
18 | #include <linux/signal.h> | 18 | #include <linux/signal.h> |
19 | #include <linux/mm.h> | 19 | #include <linux/mm.h> |
20 | #include <linux/smp.h> | 20 | #include <linux/smp.h> |
21 | #include <linux/smp_lock.h> | ||
22 | #include <linux/interrupt.h> | 21 | #include <linux/interrupt.h> |
23 | #include <linux/module.h> | 22 | #include <linux/module.h> |
23 | #include <linux/kdebug.h> | ||
24 | 24 | ||
25 | #include <asm/system.h> | 25 | #include <asm/system.h> |
26 | #include <asm/page.h> | 26 | #include <asm/page.h> |
@@ -30,7 +30,6 @@ | |||
30 | #include <asm/oplib.h> | 30 | #include <asm/oplib.h> |
31 | #include <asm/smp.h> | 31 | #include <asm/smp.h> |
32 | #include <asm/traps.h> | 32 | #include <asm/traps.h> |
33 | #include <asm/kdebug.h> | ||
34 | #include <asm/uaccess.h> | 33 | #include <asm/uaccess.h> |
35 | 34 | ||
36 | extern int prom_node_root; | 35 | extern int prom_node_root; |
diff --git a/arch/sparc/mm/srmmu.c b/arch/sparc/mm/srmmu.c index 0df7121cef07..e5eaa8072ae0 100644 --- a/arch/sparc/mm/srmmu.c +++ b/arch/sparc/mm/srmmu.c | |||
@@ -18,13 +18,13 @@ | |||
18 | #include <linux/bootmem.h> | 18 | #include <linux/bootmem.h> |
19 | #include <linux/fs.h> | 19 | #include <linux/fs.h> |
20 | #include <linux/seq_file.h> | 20 | #include <linux/seq_file.h> |
21 | #include <linux/kdebug.h> | ||
21 | 22 | ||
22 | #include <asm/bitext.h> | 23 | #include <asm/bitext.h> |
23 | #include <asm/page.h> | 24 | #include <asm/page.h> |
24 | #include <asm/pgalloc.h> | 25 | #include <asm/pgalloc.h> |
25 | #include <asm/pgtable.h> | 26 | #include <asm/pgtable.h> |
26 | #include <asm/io.h> | 27 | #include <asm/io.h> |
27 | #include <asm/kdebug.h> | ||
28 | #include <asm/vaddrs.h> | 28 | #include <asm/vaddrs.h> |
29 | #include <asm/traps.h> | 29 | #include <asm/traps.h> |
30 | #include <asm/smp.h> | 30 | #include <asm/smp.h> |
diff --git a/arch/sparc64/kernel/kprobes.c b/arch/sparc64/kernel/kprobes.c index ae221f0d4a6f..a44fe47a3c2b 100644 --- a/arch/sparc64/kernel/kprobes.c +++ b/arch/sparc64/kernel/kprobes.c | |||
@@ -6,7 +6,7 @@ | |||
6 | #include <linux/kernel.h> | 6 | #include <linux/kernel.h> |
7 | #include <linux/kprobes.h> | 7 | #include <linux/kprobes.h> |
8 | #include <linux/module.h> | 8 | #include <linux/module.h> |
9 | #include <asm/kdebug.h> | 9 | #include <linux/kdebug.h> |
10 | #include <asm/signal.h> | 10 | #include <asm/signal.h> |
11 | #include <asm/cacheflush.h> | 11 | #include <asm/cacheflush.h> |
12 | #include <asm/uaccess.h> | 12 | #include <asm/uaccess.h> |
diff --git a/arch/sparc64/kernel/pci.c b/arch/sparc64/kernel/pci.c index af2c7ff01eeb..966861b212be 100644 --- a/arch/sparc64/kernel/pci.c +++ b/arch/sparc64/kernel/pci.c | |||
@@ -14,7 +14,6 @@ | |||
14 | #include <linux/sched.h> | 14 | #include <linux/sched.h> |
15 | #include <linux/capability.h> | 15 | #include <linux/capability.h> |
16 | #include <linux/errno.h> | 16 | #include <linux/errno.h> |
17 | #include <linux/smp_lock.h> | ||
18 | #include <linux/msi.h> | 17 | #include <linux/msi.h> |
19 | #include <linux/irq.h> | 18 | #include <linux/irq.h> |
20 | #include <linux/init.h> | 19 | #include <linux/init.h> |
diff --git a/arch/sparc64/kernel/process.c b/arch/sparc64/kernel/process.c index a114151f9fbe..8e3c6e435110 100644 --- a/arch/sparc64/kernel/process.c +++ b/arch/sparc64/kernel/process.c | |||
@@ -19,7 +19,6 @@ | |||
19 | #include <linux/kallsyms.h> | 19 | #include <linux/kallsyms.h> |
20 | #include <linux/mm.h> | 20 | #include <linux/mm.h> |
21 | #include <linux/smp.h> | 21 | #include <linux/smp.h> |
22 | #include <linux/smp_lock.h> | ||
23 | #include <linux/stddef.h> | 22 | #include <linux/stddef.h> |
24 | #include <linux/ptrace.h> | 23 | #include <linux/ptrace.h> |
25 | #include <linux/slab.h> | 24 | #include <linux/slab.h> |
diff --git a/arch/sparc64/kernel/signal.c b/arch/sparc64/kernel/signal.c index 96d56a8410ad..203e87301005 100644 --- a/arch/sparc64/kernel/signal.c +++ b/arch/sparc64/kernel/signal.c | |||
@@ -20,7 +20,6 @@ | |||
20 | #include <linux/unistd.h> | 20 | #include <linux/unistd.h> |
21 | #include <linux/mm.h> | 21 | #include <linux/mm.h> |
22 | #include <linux/tty.h> | 22 | #include <linux/tty.h> |
23 | #include <linux/smp_lock.h> | ||
24 | #include <linux/binfmts.h> | 23 | #include <linux/binfmts.h> |
25 | #include <linux/bitops.h> | 24 | #include <linux/bitops.h> |
26 | 25 | ||
diff --git a/arch/sparc64/kernel/signal32.c b/arch/sparc64/kernel/signal32.c index c45f21b881d5..8c1c121330fb 100644 --- a/arch/sparc64/kernel/signal32.c +++ b/arch/sparc64/kernel/signal32.c | |||
@@ -17,7 +17,6 @@ | |||
17 | #include <linux/unistd.h> | 17 | #include <linux/unistd.h> |
18 | #include <linux/mm.h> | 18 | #include <linux/mm.h> |
19 | #include <linux/tty.h> | 19 | #include <linux/tty.h> |
20 | #include <linux/smp_lock.h> | ||
21 | #include <linux/binfmts.h> | 20 | #include <linux/binfmts.h> |
22 | #include <linux/compat.h> | 21 | #include <linux/compat.h> |
23 | #include <linux/bitops.h> | 22 | #include <linux/bitops.h> |
diff --git a/arch/sparc64/kernel/smp.c b/arch/sparc64/kernel/smp.c index 1fac215252e4..8087d67a0cf8 100644 --- a/arch/sparc64/kernel/smp.c +++ b/arch/sparc64/kernel/smp.c | |||
@@ -10,7 +10,6 @@ | |||
10 | #include <linux/pagemap.h> | 10 | #include <linux/pagemap.h> |
11 | #include <linux/threads.h> | 11 | #include <linux/threads.h> |
12 | #include <linux/smp.h> | 12 | #include <linux/smp.h> |
13 | #include <linux/smp_lock.h> | ||
14 | #include <linux/interrupt.h> | 13 | #include <linux/interrupt.h> |
15 | #include <linux/kernel_stat.h> | 14 | #include <linux/kernel_stat.h> |
16 | #include <linux/delay.h> | 15 | #include <linux/delay.h> |
diff --git a/arch/sparc64/kernel/stacktrace.c b/arch/sparc64/kernel/stacktrace.c index c4d15f2762b9..47f92a59be18 100644 --- a/arch/sparc64/kernel/stacktrace.c +++ b/arch/sparc64/kernel/stacktrace.c | |||
@@ -3,22 +3,16 @@ | |||
3 | #include <linux/thread_info.h> | 3 | #include <linux/thread_info.h> |
4 | #include <asm/ptrace.h> | 4 | #include <asm/ptrace.h> |
5 | 5 | ||
6 | void save_stack_trace(struct stack_trace *trace, struct task_struct *task) | 6 | void save_stack_trace(struct stack_trace *trace) |
7 | { | 7 | { |
8 | unsigned long ksp, fp, thread_base; | 8 | unsigned long ksp, fp, thread_base; |
9 | struct thread_info *tp; | 9 | struct thread_info *tp = task_thread_info(current); |
10 | 10 | ||
11 | if (!task) | 11 | flushw_all(); |
12 | task = current; | 12 | __asm__ __volatile__( |
13 | tp = task_thread_info(task); | 13 | "mov %%fp, %0" |
14 | if (task == current) { | 14 | : "=r" (ksp) |
15 | flushw_all(); | 15 | ); |
16 | __asm__ __volatile__( | ||
17 | "mov %%fp, %0" | ||
18 | : "=r" (ksp) | ||
19 | ); | ||
20 | } else | ||
21 | ksp = tp->ksp; | ||
22 | 16 | ||
23 | fp = ksp + STACK_BIAS; | 17 | fp = ksp + STACK_BIAS; |
24 | thread_base = (unsigned long) tp; | 18 | thread_base = (unsigned long) tp; |
diff --git a/arch/sparc64/kernel/sunos_ioctl32.c b/arch/sparc64/kernel/sunos_ioctl32.c index a05e43d51755..75d2bad49839 100644 --- a/arch/sparc64/kernel/sunos_ioctl32.c +++ b/arch/sparc64/kernel/sunos_ioctl32.c | |||
@@ -22,7 +22,6 @@ | |||
22 | #include <linux/file.h> | 22 | #include <linux/file.h> |
23 | #include <linux/mm.h> | 23 | #include <linux/mm.h> |
24 | #include <linux/smp.h> | 24 | #include <linux/smp.h> |
25 | #include <linux/smp_lock.h> | ||
26 | #include <linux/syscalls.h> | 25 | #include <linux/syscalls.h> |
27 | #include <linux/compat.h> | 26 | #include <linux/compat.h> |
28 | 27 | ||
diff --git a/arch/sparc64/kernel/sys_sparc.c b/arch/sparc64/kernel/sys_sparc.c index a53d4abb4b49..d108eeb0734f 100644 --- a/arch/sparc64/kernel/sys_sparc.c +++ b/arch/sparc64/kernel/sys_sparc.c | |||
@@ -19,7 +19,6 @@ | |||
19 | #include <linux/mman.h> | 19 | #include <linux/mman.h> |
20 | #include <linux/utsname.h> | 20 | #include <linux/utsname.h> |
21 | #include <linux/smp.h> | 21 | #include <linux/smp.h> |
22 | #include <linux/smp_lock.h> | ||
23 | #include <linux/slab.h> | 22 | #include <linux/slab.h> |
24 | #include <linux/syscalls.h> | 23 | #include <linux/syscalls.h> |
25 | #include <linux/ipc.h> | 24 | #include <linux/ipc.h> |
diff --git a/arch/sparc64/kernel/sys_sparc32.c b/arch/sparc64/kernel/sys_sparc32.c index 7876a0226285..692e46a6b8da 100644 --- a/arch/sparc64/kernel/sys_sparc32.c +++ b/arch/sparc64/kernel/sys_sparc32.c | |||
@@ -775,15 +775,25 @@ asmlinkage long sys32_settimeofday(struct compat_timeval __user *tv, | |||
775 | asmlinkage long sys32_utimes(char __user *filename, | 775 | asmlinkage long sys32_utimes(char __user *filename, |
776 | struct compat_timeval __user *tvs) | 776 | struct compat_timeval __user *tvs) |
777 | { | 777 | { |
778 | struct timeval ktvs[2]; | 778 | struct timespec tv[2]; |
779 | 779 | ||
780 | if (tvs) { | 780 | if (tvs) { |
781 | struct timeval ktvs[2]; | ||
781 | if (get_tv32(&ktvs[0], tvs) || | 782 | if (get_tv32(&ktvs[0], tvs) || |
782 | get_tv32(&ktvs[1], 1+tvs)) | 783 | get_tv32(&ktvs[1], 1+tvs)) |
783 | return -EFAULT; | 784 | return -EFAULT; |
785 | |||
786 | if (ktvs[0].tv_usec < 0 || ktvs[0].tv_usec >= 1000000 || | ||
787 | ktvs[1].tv_usec < 0 || ktvs[1].tv_usec >= 1000000) | ||
788 | return -EINVAL; | ||
789 | |||
790 | tv[0].tv_sec = ktvs[0].tv_sec; | ||
791 | tv[0].tv_nsec = 1000 * ktvs[0].tv_usec; | ||
792 | tv[1].tv_sec = ktvs[1].tv_sec; | ||
793 | tv[1].tv_nsec = 1000 * ktvs[1].tv_usec; | ||
784 | } | 794 | } |
785 | 795 | ||
786 | return do_utimes(AT_FDCWD, filename, (tvs ? &ktvs[0] : NULL)); | 796 | return do_utimes(AT_FDCWD, filename, tvs ? tv : NULL); |
787 | } | 797 | } |
788 | 798 | ||
789 | /* These are here just in case some old sparc32 binary calls it. */ | 799 | /* These are here just in case some old sparc32 binary calls it. */ |
diff --git a/arch/sparc64/kernel/traps.c b/arch/sparc64/kernel/traps.c index ad67784292db..dc652f210290 100644 --- a/arch/sparc64/kernel/traps.c +++ b/arch/sparc64/kernel/traps.c | |||
@@ -15,9 +15,9 @@ | |||
15 | #include <linux/kallsyms.h> | 15 | #include <linux/kallsyms.h> |
16 | #include <linux/signal.h> | 16 | #include <linux/signal.h> |
17 | #include <linux/smp.h> | 17 | #include <linux/smp.h> |
18 | #include <linux/smp_lock.h> | ||
19 | #include <linux/mm.h> | 18 | #include <linux/mm.h> |
20 | #include <linux/init.h> | 19 | #include <linux/init.h> |
20 | #include <linux/kdebug.h> | ||
21 | 21 | ||
22 | #include <asm/delay.h> | 22 | #include <asm/delay.h> |
23 | #include <asm/system.h> | 23 | #include <asm/system.h> |
@@ -36,26 +36,12 @@ | |||
36 | #include <asm/psrcompat.h> | 36 | #include <asm/psrcompat.h> |
37 | #include <asm/processor.h> | 37 | #include <asm/processor.h> |
38 | #include <asm/timer.h> | 38 | #include <asm/timer.h> |
39 | #include <asm/kdebug.h> | ||
40 | #include <asm/head.h> | 39 | #include <asm/head.h> |
41 | #ifdef CONFIG_KMOD | 40 | #ifdef CONFIG_KMOD |
42 | #include <linux/kmod.h> | 41 | #include <linux/kmod.h> |
43 | #endif | 42 | #endif |
44 | #include <asm/prom.h> | 43 | #include <asm/prom.h> |
45 | 44 | ||
46 | ATOMIC_NOTIFIER_HEAD(sparc64die_chain); | ||
47 | |||
48 | int register_die_notifier(struct notifier_block *nb) | ||
49 | { | ||
50 | return atomic_notifier_chain_register(&sparc64die_chain, nb); | ||
51 | } | ||
52 | EXPORT_SYMBOL(register_die_notifier); | ||
53 | |||
54 | int unregister_die_notifier(struct notifier_block *nb) | ||
55 | { | ||
56 | return atomic_notifier_chain_unregister(&sparc64die_chain, nb); | ||
57 | } | ||
58 | EXPORT_SYMBOL(unregister_die_notifier); | ||
59 | 45 | ||
60 | /* When an irrecoverable trap occurs at tl > 0, the trap entry | 46 | /* When an irrecoverable trap occurs at tl > 0, the trap entry |
61 | * code logs the trap state registers at every level in the trap | 47 | * code logs the trap state registers at every level in the trap |
diff --git a/arch/sparc64/kernel/unaligned.c b/arch/sparc64/kernel/unaligned.c index bc18d480dd1c..953be816fa25 100644 --- a/arch/sparc64/kernel/unaligned.c +++ b/arch/sparc64/kernel/unaligned.c | |||
@@ -18,7 +18,6 @@ | |||
18 | #include <asm/system.h> | 18 | #include <asm/system.h> |
19 | #include <asm/uaccess.h> | 19 | #include <asm/uaccess.h> |
20 | #include <linux/smp.h> | 20 | #include <linux/smp.h> |
21 | #include <linux/smp_lock.h> | ||
22 | #include <linux/bitops.h> | 21 | #include <linux/bitops.h> |
23 | #include <linux/kallsyms.h> | 22 | #include <linux/kallsyms.h> |
24 | #include <asm/fpumacro.h> | 23 | #include <asm/fpumacro.h> |
diff --git a/arch/sparc64/mm/fault.c b/arch/sparc64/mm/fault.c index 55ae802dc0ad..c32e309f7788 100644 --- a/arch/sparc64/mm/fault.c +++ b/arch/sparc64/mm/fault.c | |||
@@ -15,11 +15,11 @@ | |||
15 | #include <linux/signal.h> | 15 | #include <linux/signal.h> |
16 | #include <linux/mm.h> | 16 | #include <linux/mm.h> |
17 | #include <linux/module.h> | 17 | #include <linux/module.h> |
18 | #include <linux/smp_lock.h> | ||
19 | #include <linux/init.h> | 18 | #include <linux/init.h> |
20 | #include <linux/interrupt.h> | 19 | #include <linux/interrupt.h> |
21 | #include <linux/kprobes.h> | 20 | #include <linux/kprobes.h> |
22 | #include <linux/kallsyms.h> | 21 | #include <linux/kallsyms.h> |
22 | #include <linux/kdebug.h> | ||
23 | 23 | ||
24 | #include <asm/page.h> | 24 | #include <asm/page.h> |
25 | #include <asm/pgtable.h> | 25 | #include <asm/pgtable.h> |
@@ -29,7 +29,6 @@ | |||
29 | #include <asm/asi.h> | 29 | #include <asm/asi.h> |
30 | #include <asm/lsu.h> | 30 | #include <asm/lsu.h> |
31 | #include <asm/sections.h> | 31 | #include <asm/sections.h> |
32 | #include <asm/kdebug.h> | ||
33 | #include <asm/mmu_context.h> | 32 | #include <asm/mmu_context.h> |
34 | 33 | ||
35 | #ifdef CONFIG_KPROBES | 34 | #ifdef CONFIG_KPROBES |
diff --git a/arch/sparc64/mm/hugetlbpage.c b/arch/sparc64/mm/hugetlbpage.c index e224a94e6a1b..eaba9b70b184 100644 --- a/arch/sparc64/mm/hugetlbpage.c +++ b/arch/sparc64/mm/hugetlbpage.c | |||
@@ -10,7 +10,6 @@ | |||
10 | #include <linux/mm.h> | 10 | #include <linux/mm.h> |
11 | #include <linux/hugetlb.h> | 11 | #include <linux/hugetlb.h> |
12 | #include <linux/pagemap.h> | 12 | #include <linux/pagemap.h> |
13 | #include <linux/smp_lock.h> | ||
14 | #include <linux/slab.h> | 13 | #include <linux/slab.h> |
15 | #include <linux/sysctl.h> | 14 | #include <linux/sysctl.h> |
16 | 15 | ||
diff --git a/arch/sparc64/solaris/ipc.c b/arch/sparc64/solaris/ipc.c index 8cef5fd57b2e..a531a2cdb381 100644 --- a/arch/sparc64/solaris/ipc.c +++ b/arch/sparc64/solaris/ipc.c | |||
@@ -6,7 +6,6 @@ | |||
6 | 6 | ||
7 | #include <linux/kernel.h> | 7 | #include <linux/kernel.h> |
8 | #include <linux/types.h> | 8 | #include <linux/types.h> |
9 | #include <linux/smp_lock.h> | ||
10 | #include <linux/wait.h> | 9 | #include <linux/wait.h> |
11 | #include <linux/mm.h> | 10 | #include <linux/mm.h> |
12 | #include <linux/shm.h> | 11 | #include <linux/shm.h> |
diff --git a/arch/sparc64/solaris/misc.c b/arch/sparc64/solaris/misc.c index 542c808ec2c8..3b67de7455f1 100644 --- a/arch/sparc64/solaris/misc.c +++ b/arch/sparc64/solaris/misc.c | |||
@@ -6,7 +6,6 @@ | |||
6 | 6 | ||
7 | #include <linux/module.h> | 7 | #include <linux/module.h> |
8 | #include <linux/types.h> | 8 | #include <linux/types.h> |
9 | #include <linux/smp_lock.h> | ||
10 | #include <linux/utsname.h> | 9 | #include <linux/utsname.h> |
11 | #include <linux/limits.h> | 10 | #include <linux/limits.h> |
12 | #include <linux/mm.h> | 11 | #include <linux/mm.h> |
diff --git a/arch/sparc64/solaris/signal.c b/arch/sparc64/solaris/signal.c index 7fa2634e2085..de10c9716cfb 100644 --- a/arch/sparc64/solaris/signal.c +++ b/arch/sparc64/solaris/signal.c | |||
@@ -5,7 +5,6 @@ | |||
5 | */ | 5 | */ |
6 | 6 | ||
7 | #include <linux/types.h> | 7 | #include <linux/types.h> |
8 | #include <linux/smp_lock.h> | ||
9 | #include <linux/errno.h> | 8 | #include <linux/errno.h> |
10 | 9 | ||
11 | #include <asm/uaccess.h> | 10 | #include <asm/uaccess.h> |
diff --git a/arch/sparc64/solaris/socket.c b/arch/sparc64/solaris/socket.c index d3a66ea74a7f..cc69847cf240 100644 --- a/arch/sparc64/solaris/socket.c +++ b/arch/sparc64/solaris/socket.c | |||
@@ -8,7 +8,6 @@ | |||
8 | */ | 8 | */ |
9 | 9 | ||
10 | #include <linux/types.h> | 10 | #include <linux/types.h> |
11 | #include <linux/smp_lock.h> | ||
12 | #include <linux/mm.h> | 11 | #include <linux/mm.h> |
13 | #include <linux/slab.h> | 12 | #include <linux/slab.h> |
14 | #include <linux/socket.h> | 13 | #include <linux/socket.h> |
diff --git a/arch/sparc64/solaris/socksys.c b/arch/sparc64/solaris/socksys.c index c2864447de82..e94f6e5d9455 100644 --- a/arch/sparc64/solaris/socksys.c +++ b/arch/sparc64/solaris/socksys.c | |||
@@ -17,7 +17,6 @@ | |||
17 | #include <linux/kernel.h> | 17 | #include <linux/kernel.h> |
18 | #include <linux/sched.h> | 18 | #include <linux/sched.h> |
19 | #include <linux/smp.h> | 19 | #include <linux/smp.h> |
20 | #include <linux/smp_lock.h> | ||
21 | #include <linux/ioctl.h> | 20 | #include <linux/ioctl.h> |
22 | #include <linux/fs.h> | 21 | #include <linux/fs.h> |
23 | #include <linux/file.h> | 22 | #include <linux/file.h> |
diff --git a/arch/um/drivers/net_kern.c b/arch/um/drivers/net_kern.c index baac4ad5e68e..72773dd54425 100644 --- a/arch/um/drivers/net_kern.c +++ b/arch/um/drivers/net_kern.c | |||
@@ -316,12 +316,14 @@ static void setup_etheraddr(char *str, unsigned char *addr, char *name) | |||
316 | } | 316 | } |
317 | if (!is_local_ether_addr(addr)) { | 317 | if (!is_local_ether_addr(addr)) { |
318 | printk(KERN_WARNING | 318 | printk(KERN_WARNING |
319 | "Warning: attempt to assign a globally valid ethernet address to a " | 319 | "Warning: attempt to assign a globally valid ethernet " |
320 | "device\n"); | 320 | "address to a device\n"); |
321 | printk(KERN_WARNING "You should better enable the 2nd rightmost bit " | 321 | printk(KERN_WARNING "You should better enable the 2nd " |
322 | "in the first byte of the MAC, i.e. " | 322 | "rightmost bit in the first byte of the MAC,\n"); |
323 | "%02x:%02x:%02x:%02x:%02x:%02x\n", | 323 | printk(KERN_WARNING "i.e. %02x:%02x:%02x:%02x:%02x:%02x\n", |
324 | addr[0] | 0x02, addr[1], addr[2], addr[3], addr[4], addr[5]); | 324 | addr[0] | 0x02, addr[1], addr[2], addr[3], addr[4], |
325 | addr[5]); | ||
326 | goto random; | ||
325 | } | 327 | } |
326 | return; | 328 | return; |
327 | 329 | ||
@@ -478,6 +480,7 @@ out_undo_user_init: | |||
478 | (*transport->user->remove)(&lp->user); | 480 | (*transport->user->remove)(&lp->user); |
479 | out_unregister: | 481 | out_unregister: |
480 | platform_device_unregister(&device->pdev); | 482 | platform_device_unregister(&device->pdev); |
483 | return; /* platform_device_unregister frees dev and device */ | ||
481 | out_free_netdev: | 484 | out_free_netdev: |
482 | free_netdev(dev); | 485 | free_netdev(dev); |
483 | out_free_device: | 486 | out_free_device: |
diff --git a/arch/um/drivers/pcap_kern.c b/arch/um/drivers/pcap_kern.c index 948849343ca4..c329931673d6 100644 --- a/arch/um/drivers/pcap_kern.c +++ b/arch/um/drivers/pcap_kern.c | |||
@@ -29,21 +29,25 @@ void pcap_init(struct net_device *dev, void *data) | |||
29 | ppri->promisc = init->promisc; | 29 | ppri->promisc = init->promisc; |
30 | ppri->optimize = init->optimize; | 30 | ppri->optimize = init->optimize; |
31 | ppri->filter = init->filter; | 31 | ppri->filter = init->filter; |
32 | |||
33 | printk("pcap backend, host interface %s\n", ppri->host_if); | ||
32 | } | 34 | } |
33 | 35 | ||
34 | static int pcap_read(int fd, struct sk_buff **skb, | 36 | static int pcap_read(int fd, struct sk_buff **skb, |
35 | struct uml_net_private *lp) | 37 | struct uml_net_private *lp) |
36 | { | 38 | { |
37 | *skb = ether_adjust_skb(*skb, ETH_HEADER_OTHER); | 39 | *skb = ether_adjust_skb(*skb, ETH_HEADER_OTHER); |
38 | if(*skb == NULL) return(-ENOMEM); | 40 | if(*skb == NULL) |
39 | return(pcap_user_read(fd, skb_mac_header(*skb), | 41 | return -ENOMEM; |
42 | |||
43 | return pcap_user_read(fd, skb_mac_header(*skb), | ||
40 | (*skb)->dev->mtu + ETH_HEADER_OTHER, | 44 | (*skb)->dev->mtu + ETH_HEADER_OTHER, |
41 | (struct pcap_data *) &lp->user)); | 45 | (struct pcap_data *) &lp->user); |
42 | } | 46 | } |
43 | 47 | ||
44 | static int pcap_write(int fd, struct sk_buff **skb, struct uml_net_private *lp) | 48 | static int pcap_write(int fd, struct sk_buff **skb, struct uml_net_private *lp) |
45 | { | 49 | { |
46 | return(-EPERM); | 50 | return -EPERM; |
47 | } | 51 | } |
48 | 52 | ||
49 | static const struct net_kern_info pcap_kern_info = { | 53 | static const struct net_kern_info pcap_kern_info = { |
@@ -65,12 +69,12 @@ int pcap_setup(char *str, char **mac_out, void *data) | |||
65 | .optimize = 0, | 69 | .optimize = 0, |
66 | .filter = NULL }); | 70 | .filter = NULL }); |
67 | 71 | ||
68 | remain = split_if_spec(str, &host_if, &init->filter, | 72 | remain = split_if_spec(str, &host_if, &init->filter, |
69 | &options[0], &options[1], NULL); | 73 | &options[0], &options[1], mac_out, NULL); |
70 | if(remain != NULL){ | 74 | if(remain != NULL){ |
71 | printk(KERN_ERR "pcap_setup - Extra garbage on " | 75 | printk(KERN_ERR "pcap_setup - Extra garbage on " |
72 | "specification : '%s'\n", remain); | 76 | "specification : '%s'\n", remain); |
73 | return(0); | 77 | return 0; |
74 | } | 78 | } |
75 | 79 | ||
76 | if(host_if != NULL) | 80 | if(host_if != NULL) |
@@ -87,10 +91,13 @@ int pcap_setup(char *str, char **mac_out, void *data) | |||
87 | init->optimize = 1; | 91 | init->optimize = 1; |
88 | else if(!strcmp(options[i], "nooptimize")) | 92 | else if(!strcmp(options[i], "nooptimize")) |
89 | init->optimize = 0; | 93 | init->optimize = 0; |
90 | else printk("pcap_setup : bad option - '%s'\n", options[i]); | 94 | else { |
95 | printk("pcap_setup : bad option - '%s'\n", options[i]); | ||
96 | return 0; | ||
97 | } | ||
91 | } | 98 | } |
92 | 99 | ||
93 | return(1); | 100 | return 1; |
94 | } | 101 | } |
95 | 102 | ||
96 | static struct transport pcap_transport = { | 103 | static struct transport pcap_transport = { |
diff --git a/arch/um/drivers/pcap_user.c b/arch/um/drivers/pcap_user.c index dc0a903ef9a6..483aa15222a4 100644 --- a/arch/um/drivers/pcap_user.c +++ b/arch/um/drivers/pcap_user.c | |||
@@ -13,6 +13,7 @@ | |||
13 | #include "pcap_user.h" | 13 | #include "pcap_user.h" |
14 | #include "user.h" | 14 | #include "user.h" |
15 | #include "um_malloc.h" | 15 | #include "um_malloc.h" |
16 | #include "kern_constants.h" | ||
16 | 17 | ||
17 | #define MAX_PACKET (ETH_MAX_PACKET + ETH_HEADER_OTHER) | 18 | #define MAX_PACKET (ETH_MAX_PACKET + ETH_HEADER_OTHER) |
18 | 19 | ||
@@ -26,8 +27,8 @@ static int pcap_user_init(void *data, void *dev) | |||
26 | 27 | ||
27 | p = pcap_open_live(pri->host_if, MAX_PACKET, pri->promisc, 0, errors); | 28 | p = pcap_open_live(pri->host_if, MAX_PACKET, pri->promisc, 0, errors); |
28 | if(p == NULL){ | 29 | if(p == NULL){ |
29 | printk("pcap_user_init : pcap_open_live failed - '%s'\n", | 30 | printk(UM_KERN_ERR "pcap_user_init : pcap_open_live failed - " |
30 | errors); | 31 | "'%s'\n", errors); |
31 | return -EINVAL; | 32 | return -EINVAL; |
32 | } | 33 | } |
33 | 34 | ||
@@ -48,13 +49,13 @@ static int pcap_open(void *data) | |||
48 | if(pri->filter != NULL){ | 49 | if(pri->filter != NULL){ |
49 | err = dev_netmask(pri->dev, &netmask); | 50 | err = dev_netmask(pri->dev, &netmask); |
50 | if(err < 0){ | 51 | if(err < 0){ |
51 | printk("pcap_open : dev_netmask failed\n"); | 52 | printk(UM_KERN_ERR "pcap_open : dev_netmask failed\n"); |
52 | return -EIO; | 53 | return -EIO; |
53 | } | 54 | } |
54 | 55 | ||
55 | pri->compiled = um_kmalloc(sizeof(struct bpf_program)); | 56 | pri->compiled = um_kmalloc(sizeof(struct bpf_program)); |
56 | if(pri->compiled == NULL){ | 57 | if(pri->compiled == NULL){ |
57 | printk("pcap_open : kmalloc failed\n"); | 58 | printk(UM_KERN_ERR "pcap_open : kmalloc failed\n"); |
58 | return -ENOMEM; | 59 | return -ENOMEM; |
59 | } | 60 | } |
60 | 61 | ||
@@ -62,15 +63,15 @@ static int pcap_open(void *data) | |||
62 | (struct bpf_program *) pri->compiled, | 63 | (struct bpf_program *) pri->compiled, |
63 | pri->filter, pri->optimize, netmask); | 64 | pri->filter, pri->optimize, netmask); |
64 | if(err < 0){ | 65 | if(err < 0){ |
65 | printk("pcap_open : pcap_compile failed - '%s'\n", | 66 | printk(UM_KERN_ERR "pcap_open : pcap_compile failed - " |
66 | pcap_geterr(pri->pcap)); | 67 | "'%s'\n", pcap_geterr(pri->pcap)); |
67 | return -EIO; | 68 | return -EIO; |
68 | } | 69 | } |
69 | 70 | ||
70 | err = pcap_setfilter(pri->pcap, pri->compiled); | 71 | err = pcap_setfilter(pri->pcap, pri->compiled); |
71 | if(err < 0){ | 72 | if(err < 0){ |
72 | printk("pcap_open : pcap_setfilter failed - '%s'\n", | 73 | printk(UM_KERN_ERR "pcap_open : pcap_setfilter " |
73 | pcap_geterr(pri->pcap)); | 74 | "failed - '%s'\n", pcap_geterr(pri->pcap)); |
74 | return -EIO; | 75 | return -EIO; |
75 | } | 76 | } |
76 | } | 77 | } |
@@ -85,7 +86,8 @@ static void pcap_remove(void *data) | |||
85 | if(pri->compiled != NULL) | 86 | if(pri->compiled != NULL) |
86 | pcap_freecode(pri->compiled); | 87 | pcap_freecode(pri->compiled); |
87 | 88 | ||
88 | pcap_close(pri->pcap); | 89 | if(pri->pcap != NULL) |
90 | pcap_close(pri->pcap); | ||
89 | } | 91 | } |
90 | 92 | ||
91 | struct pcap_handler_data { | 93 | struct pcap_handler_data { |
@@ -114,7 +116,8 @@ int pcap_user_read(int fd, void *buffer, int len, struct pcap_data *pri) | |||
114 | 116 | ||
115 | n = pcap_dispatch(pri->pcap, 1, handler, (u_char *) &hdata); | 117 | n = pcap_dispatch(pri->pcap, 1, handler, (u_char *) &hdata); |
116 | if(n < 0){ | 118 | if(n < 0){ |
117 | printk("pcap_dispatch failed - %s\n", pcap_geterr(pri->pcap)); | 119 | printk(UM_KERN_ERR "pcap_dispatch failed - %s\n", |
120 | pcap_geterr(pri->pcap)); | ||
118 | return -EIO; | 121 | return -EIO; |
119 | } | 122 | } |
120 | else if(n == 0) | 123 | else if(n == 0) |
diff --git a/arch/um/kernel/time.c b/arch/um/kernel/time.c index cd7349de8ca6..259c49da7ff5 100644 --- a/arch/um/kernel/time.c +++ b/arch/um/kernel/time.c | |||
@@ -177,6 +177,8 @@ int do_settimeofday(struct timespec *tv) | |||
177 | 177 | ||
178 | void timer_handler(int sig, union uml_pt_regs *regs) | 178 | void timer_handler(int sig, union uml_pt_regs *regs) |
179 | { | 179 | { |
180 | if(current_thread->cpu == 0) | ||
181 | timer_irq(regs); | ||
180 | local_irq_disable(); | 182 | local_irq_disable(); |
181 | irq_enter(); | 183 | irq_enter(); |
182 | update_process_times(CHOOSE_MODE( | 184 | update_process_times(CHOOSE_MODE( |
@@ -184,6 +186,4 @@ void timer_handler(int sig, union uml_pt_regs *regs) | |||
184 | (regs)->skas.is_user)); | 186 | (regs)->skas.is_user)); |
185 | irq_exit(); | 187 | irq_exit(); |
186 | local_irq_enable(); | 188 | local_irq_enable(); |
187 | if(current_thread->cpu == 0) | ||
188 | timer_irq(regs); | ||
189 | } | 189 | } |
diff --git a/arch/v850/kernel/process.c b/arch/v850/kernel/process.c index c4f844c86e50..e4a4b8e7d5a3 100644 --- a/arch/v850/kernel/process.c +++ b/arch/v850/kernel/process.c | |||
@@ -16,7 +16,6 @@ | |||
16 | #include <linux/kernel.h> | 16 | #include <linux/kernel.h> |
17 | #include <linux/mm.h> | 17 | #include <linux/mm.h> |
18 | #include <linux/smp.h> | 18 | #include <linux/smp.h> |
19 | #include <linux/smp_lock.h> | ||
20 | #include <linux/stddef.h> | 19 | #include <linux/stddef.h> |
21 | #include <linux/unistd.h> | 20 | #include <linux/unistd.h> |
22 | #include <linux/ptrace.h> | 21 | #include <linux/ptrace.h> |
diff --git a/arch/v850/kernel/ptrace.c b/arch/v850/kernel/ptrace.c index 67e057509664..a9b09343097d 100644 --- a/arch/v850/kernel/ptrace.c +++ b/arch/v850/kernel/ptrace.c | |||
@@ -21,7 +21,6 @@ | |||
21 | #include <linux/kernel.h> | 21 | #include <linux/kernel.h> |
22 | #include <linux/mm.h> | 22 | #include <linux/mm.h> |
23 | #include <linux/sched.h> | 23 | #include <linux/sched.h> |
24 | #include <linux/smp_lock.h> | ||
25 | #include <linux/ptrace.h> | 24 | #include <linux/ptrace.h> |
26 | #include <linux/signal.h> | 25 | #include <linux/signal.h> |
27 | 26 | ||
diff --git a/arch/v850/kernel/signal.c b/arch/v850/kernel/signal.c index 17c2d4359b04..bf166e7e762c 100644 --- a/arch/v850/kernel/signal.c +++ b/arch/v850/kernel/signal.c | |||
@@ -17,7 +17,6 @@ | |||
17 | 17 | ||
18 | #include <linux/mm.h> | 18 | #include <linux/mm.h> |
19 | #include <linux/smp.h> | 19 | #include <linux/smp.h> |
20 | #include <linux/smp_lock.h> | ||
21 | #include <linux/kernel.h> | 20 | #include <linux/kernel.h> |
22 | #include <linux/signal.h> | 21 | #include <linux/signal.h> |
23 | #include <linux/errno.h> | 22 | #include <linux/errno.h> |
diff --git a/arch/v850/kernel/syscalls.c b/arch/v850/kernel/syscalls.c index d2b1fb19d243..f9f00ccf5324 100644 --- a/arch/v850/kernel/syscalls.c +++ b/arch/v850/kernel/syscalls.c | |||
@@ -18,7 +18,6 @@ | |||
18 | #include <linux/errno.h> | 18 | #include <linux/errno.h> |
19 | #include <linux/mm.h> | 19 | #include <linux/mm.h> |
20 | #include <linux/smp.h> | 20 | #include <linux/smp.h> |
21 | #include <linux/smp_lock.h> | ||
22 | #include <linux/syscalls.h> | 21 | #include <linux/syscalls.h> |
23 | #include <linux/sem.h> | 22 | #include <linux/sem.h> |
24 | #include <linux/msg.h> | 23 | #include <linux/msg.h> |
diff --git a/arch/x86_64/ia32/ia32_signal.c b/arch/x86_64/ia32/ia32_signal.c index 359eacc38509..6ea19c25f90d 100644 --- a/arch/x86_64/ia32/ia32_signal.c +++ b/arch/x86_64/ia32/ia32_signal.c | |||
@@ -11,7 +11,6 @@ | |||
11 | #include <linux/sched.h> | 11 | #include <linux/sched.h> |
12 | #include <linux/mm.h> | 12 | #include <linux/mm.h> |
13 | #include <linux/smp.h> | 13 | #include <linux/smp.h> |
14 | #include <linux/smp_lock.h> | ||
15 | #include <linux/kernel.h> | 14 | #include <linux/kernel.h> |
16 | #include <linux/signal.h> | 15 | #include <linux/signal.h> |
17 | #include <linux/errno.h> | 16 | #include <linux/errno.h> |
diff --git a/arch/x86_64/ia32/ia32entry.S b/arch/x86_64/ia32/ia32entry.S index c48087db6f75..f21068378272 100644 --- a/arch/x86_64/ia32/ia32entry.S +++ b/arch/x86_64/ia32/ia32entry.S | |||
@@ -710,9 +710,10 @@ ia32_sys_call_table: | |||
710 | .quad compat_sys_get_robust_list | 710 | .quad compat_sys_get_robust_list |
711 | .quad sys_splice | 711 | .quad sys_splice |
712 | .quad sys_sync_file_range | 712 | .quad sys_sync_file_range |
713 | .quad sys_tee | 713 | .quad sys_tee /* 315 */ |
714 | .quad compat_sys_vmsplice | 714 | .quad compat_sys_vmsplice |
715 | .quad compat_sys_move_pages | 715 | .quad compat_sys_move_pages |
716 | .quad sys_getcpu | 716 | .quad sys_getcpu |
717 | .quad sys_epoll_pwait | 717 | .quad sys_epoll_pwait |
718 | .quad compat_sys_utimensat /* 320 */ | ||
718 | ia32_syscall_end: | 719 | ia32_syscall_end: |
diff --git a/arch/x86_64/kernel/Makefile b/arch/x86_64/kernel/Makefile index 4d94c51803d8..de1de8a2fd84 100644 --- a/arch/x86_64/kernel/Makefile +++ b/arch/x86_64/kernel/Makefile | |||
@@ -32,6 +32,7 @@ obj-$(CONFIG_EARLY_PRINTK) += early_printk.o | |||
32 | obj-$(CONFIG_IOMMU) += pci-gart.o aperture.o | 32 | obj-$(CONFIG_IOMMU) += pci-gart.o aperture.o |
33 | obj-$(CONFIG_CALGARY_IOMMU) += pci-calgary.o tce.o | 33 | obj-$(CONFIG_CALGARY_IOMMU) += pci-calgary.o tce.o |
34 | obj-$(CONFIG_SWIOTLB) += pci-swiotlb.o | 34 | obj-$(CONFIG_SWIOTLB) += pci-swiotlb.o |
35 | obj-$(CONFIG_SERIAL_8250) += legacy_serial.o | ||
35 | obj-$(CONFIG_KPROBES) += kprobes.o | 36 | obj-$(CONFIG_KPROBES) += kprobes.o |
36 | obj-$(CONFIG_X86_PM_TIMER) += pmtimer.o | 37 | obj-$(CONFIG_X86_PM_TIMER) += pmtimer.o |
37 | obj-$(CONFIG_X86_VSMP) += vsmp.o | 38 | obj-$(CONFIG_X86_VSMP) += vsmp.o |
@@ -49,6 +50,7 @@ CFLAGS_vsyscall.o := $(PROFILING) -g0 | |||
49 | 50 | ||
50 | therm_throt-y += ../../i386/kernel/cpu/mcheck/therm_throt.o | 51 | therm_throt-y += ../../i386/kernel/cpu/mcheck/therm_throt.o |
51 | bootflag-y += ../../i386/kernel/bootflag.o | 52 | bootflag-y += ../../i386/kernel/bootflag.o |
53 | legacy_serial-y += ../../i386/kernel/legacy_serial.o | ||
52 | cpuid-$(subst m,y,$(CONFIG_X86_CPUID)) += ../../i386/kernel/cpuid.o | 54 | cpuid-$(subst m,y,$(CONFIG_X86_CPUID)) += ../../i386/kernel/cpuid.o |
53 | topology-y += ../../i386/kernel/topology.o | 55 | topology-y += ../../i386/kernel/topology.o |
54 | microcode-$(subst m,y,$(CONFIG_MICROCODE)) += ../../i386/kernel/microcode.o | 56 | microcode-$(subst m,y,$(CONFIG_MICROCODE)) += ../../i386/kernel/microcode.o |
diff --git a/arch/x86_64/kernel/apic.c b/arch/x86_64/kernel/apic.c index d198f7d82e5a..1b0e07bb8728 100644 --- a/arch/x86_64/kernel/apic.c +++ b/arch/x86_64/kernel/apic.c | |||
@@ -19,7 +19,6 @@ | |||
19 | #include <linux/mm.h> | 19 | #include <linux/mm.h> |
20 | #include <linux/delay.h> | 20 | #include <linux/delay.h> |
21 | #include <linux/bootmem.h> | 21 | #include <linux/bootmem.h> |
22 | #include <linux/smp_lock.h> | ||
23 | #include <linux/interrupt.h> | 22 | #include <linux/interrupt.h> |
24 | #include <linux/mc146818rtc.h> | 23 | #include <linux/mc146818rtc.h> |
25 | #include <linux/kernel_stat.h> | 24 | #include <linux/kernel_stat.h> |
diff --git a/arch/x86_64/kernel/crash.c b/arch/x86_64/kernel/crash.c index 95a7a2c13131..13432a1ae904 100644 --- a/arch/x86_64/kernel/crash.c +++ b/arch/x86_64/kernel/crash.c | |||
@@ -17,13 +17,13 @@ | |||
17 | #include <linux/delay.h> | 17 | #include <linux/delay.h> |
18 | #include <linux/elf.h> | 18 | #include <linux/elf.h> |
19 | #include <linux/elfcore.h> | 19 | #include <linux/elfcore.h> |
20 | #include <linux/kdebug.h> | ||
20 | 21 | ||
21 | #include <asm/processor.h> | 22 | #include <asm/processor.h> |
22 | #include <asm/hardirq.h> | 23 | #include <asm/hardirq.h> |
23 | #include <asm/nmi.h> | 24 | #include <asm/nmi.h> |
24 | #include <asm/hw_irq.h> | 25 | #include <asm/hw_irq.h> |
25 | #include <asm/mach_apic.h> | 26 | #include <asm/mach_apic.h> |
26 | #include <asm/kdebug.h> | ||
27 | 27 | ||
28 | /* This keeps a track of which one is crashing cpu. */ | 28 | /* This keeps a track of which one is crashing cpu. */ |
29 | static int crashing_cpu; | 29 | static int crashing_cpu; |
diff --git a/arch/x86_64/kernel/early_printk.c b/arch/x86_64/kernel/early_printk.c index 92213d2b7c11..56eaa259782b 100644 --- a/arch/x86_64/kernel/early_printk.c +++ b/arch/x86_64/kernel/early_printk.c | |||
@@ -243,22 +243,12 @@ static int __init setup_early_printk(char *buf) | |||
243 | early_console = &simnow_console; | 243 | early_console = &simnow_console; |
244 | keep_early = 1; | 244 | keep_early = 1; |
245 | } | 245 | } |
246 | |||
247 | if (keep_early) | ||
248 | early_console->flags &= ~CON_BOOT; | ||
249 | else | ||
250 | early_console->flags |= CON_BOOT; | ||
246 | register_console(early_console); | 251 | register_console(early_console); |
247 | return 0; | 252 | return 0; |
248 | } | 253 | } |
249 | |||
250 | early_param("earlyprintk", setup_early_printk); | 254 | early_param("earlyprintk", setup_early_printk); |
251 | |||
252 | void __init disable_early_printk(void) | ||
253 | { | ||
254 | if (!early_console_initialized || !early_console) | ||
255 | return; | ||
256 | if (!keep_early) { | ||
257 | printk("disabling early console\n"); | ||
258 | unregister_console(early_console); | ||
259 | early_console_initialized = 0; | ||
260 | } else { | ||
261 | printk("keeping early console\n"); | ||
262 | } | ||
263 | } | ||
264 | |||
diff --git a/arch/x86_64/kernel/i8259.c b/arch/x86_64/kernel/i8259.c index 489426682772..4b326655b208 100644 --- a/arch/x86_64/kernel/i8259.c +++ b/arch/x86_64/kernel/i8259.c | |||
@@ -7,7 +7,6 @@ | |||
7 | #include <linux/timex.h> | 7 | #include <linux/timex.h> |
8 | #include <linux/slab.h> | 8 | #include <linux/slab.h> |
9 | #include <linux/random.h> | 9 | #include <linux/random.h> |
10 | #include <linux/smp_lock.h> | ||
11 | #include <linux/init.h> | 10 | #include <linux/init.h> |
12 | #include <linux/kernel_stat.h> | 11 | #include <linux/kernel_stat.h> |
13 | #include <linux/sysdev.h> | 12 | #include <linux/sysdev.h> |
diff --git a/arch/x86_64/kernel/io_apic.c b/arch/x86_64/kernel/io_apic.c index 2a2df14dab7e..4d582589fa89 100644 --- a/arch/x86_64/kernel/io_apic.c +++ b/arch/x86_64/kernel/io_apic.c | |||
@@ -25,7 +25,6 @@ | |||
25 | #include <linux/init.h> | 25 | #include <linux/init.h> |
26 | #include <linux/delay.h> | 26 | #include <linux/delay.h> |
27 | #include <linux/sched.h> | 27 | #include <linux/sched.h> |
28 | #include <linux/smp_lock.h> | ||
29 | #include <linux/pci.h> | 28 | #include <linux/pci.h> |
30 | #include <linux/mc146818rtc.h> | 29 | #include <linux/mc146818rtc.h> |
31 | #include <linux/acpi.h> | 30 | #include <linux/acpi.h> |
diff --git a/arch/x86_64/kernel/ioport.c b/arch/x86_64/kernel/ioport.c index 387d347b0e07..653efa30b0f4 100644 --- a/arch/x86_64/kernel/ioport.c +++ b/arch/x86_64/kernel/ioport.c | |||
@@ -12,7 +12,6 @@ | |||
12 | #include <linux/types.h> | 12 | #include <linux/types.h> |
13 | #include <linux/ioport.h> | 13 | #include <linux/ioport.h> |
14 | #include <linux/smp.h> | 14 | #include <linux/smp.h> |
15 | #include <linux/smp_lock.h> | ||
16 | #include <linux/stddef.h> | 15 | #include <linux/stddef.h> |
17 | #include <linux/slab.h> | 16 | #include <linux/slab.h> |
18 | #include <linux/thread_info.h> | 17 | #include <linux/thread_info.h> |
diff --git a/arch/x86_64/kernel/kprobes.c b/arch/x86_64/kernel/kprobes.c index 209c8c0bec71..d4a0d0ac9935 100644 --- a/arch/x86_64/kernel/kprobes.c +++ b/arch/x86_64/kernel/kprobes.c | |||
@@ -37,10 +37,10 @@ | |||
37 | #include <linux/slab.h> | 37 | #include <linux/slab.h> |
38 | #include <linux/preempt.h> | 38 | #include <linux/preempt.h> |
39 | #include <linux/module.h> | 39 | #include <linux/module.h> |
40 | #include <linux/kdebug.h> | ||
40 | 41 | ||
41 | #include <asm/cacheflush.h> | 42 | #include <asm/cacheflush.h> |
42 | #include <asm/pgtable.h> | 43 | #include <asm/pgtable.h> |
43 | #include <asm/kdebug.h> | ||
44 | #include <asm/uaccess.h> | 44 | #include <asm/uaccess.h> |
45 | 45 | ||
46 | void jprobe_return_end(void); | 46 | void jprobe_return_end(void); |
@@ -266,23 +266,14 @@ static void __kprobes prepare_singlestep(struct kprobe *p, struct pt_regs *regs) | |||
266 | } | 266 | } |
267 | 267 | ||
268 | /* Called with kretprobe_lock held */ | 268 | /* Called with kretprobe_lock held */ |
269 | void __kprobes arch_prepare_kretprobe(struct kretprobe *rp, | 269 | void __kprobes arch_prepare_kretprobe(struct kretprobe_instance *ri, |
270 | struct pt_regs *regs) | 270 | struct pt_regs *regs) |
271 | { | 271 | { |
272 | unsigned long *sara = (unsigned long *)regs->rsp; | 272 | unsigned long *sara = (unsigned long *)regs->rsp; |
273 | struct kretprobe_instance *ri; | ||
274 | 273 | ||
275 | if ((ri = get_free_rp_inst(rp)) != NULL) { | 274 | ri->ret_addr = (kprobe_opcode_t *) *sara; |
276 | ri->rp = rp; | 275 | /* Replace the return addr with trampoline addr */ |
277 | ri->task = current; | 276 | *sara = (unsigned long) &kretprobe_trampoline; |
278 | ri->ret_addr = (kprobe_opcode_t *) *sara; | ||
279 | |||
280 | /* Replace the return addr with trampoline addr */ | ||
281 | *sara = (unsigned long) &kretprobe_trampoline; | ||
282 | add_rp_inst(ri); | ||
283 | } else { | ||
284 | rp->nmissed++; | ||
285 | } | ||
286 | } | 277 | } |
287 | 278 | ||
288 | int __kprobes kprobe_handler(struct pt_regs *regs) | 279 | int __kprobes kprobe_handler(struct pt_regs *regs) |
@@ -447,7 +438,7 @@ int __kprobes trampoline_probe_handler(struct kprobe *p, struct pt_regs *regs) | |||
447 | break; | 438 | break; |
448 | } | 439 | } |
449 | 440 | ||
450 | BUG_ON(!orig_ret_address || (orig_ret_address == trampoline_address)); | 441 | kretprobe_assert(ri, orig_ret_address, trampoline_address); |
451 | regs->rip = orig_ret_address; | 442 | regs->rip = orig_ret_address; |
452 | 443 | ||
453 | reset_current_kprobe(); | 444 | reset_current_kprobe(); |
@@ -752,3 +743,11 @@ int __init arch_init_kprobes(void) | |||
752 | { | 743 | { |
753 | return register_kprobe(&trampoline_p); | 744 | return register_kprobe(&trampoline_p); |
754 | } | 745 | } |
746 | |||
747 | int __kprobes arch_trampoline_kprobe(struct kprobe *p) | ||
748 | { | ||
749 | if (p->addr == (kprobe_opcode_t *)&kretprobe_trampoline) | ||
750 | return 1; | ||
751 | |||
752 | return 0; | ||
753 | } | ||
diff --git a/arch/x86_64/kernel/ldt.c b/arch/x86_64/kernel/ldt.c index d7e5d0cf4285..bc9ffd5c19cc 100644 --- a/arch/x86_64/kernel/ldt.c +++ b/arch/x86_64/kernel/ldt.c | |||
@@ -13,7 +13,6 @@ | |||
13 | #include <linux/string.h> | 13 | #include <linux/string.h> |
14 | #include <linux/mm.h> | 14 | #include <linux/mm.h> |
15 | #include <linux/smp.h> | 15 | #include <linux/smp.h> |
16 | #include <linux/smp_lock.h> | ||
17 | #include <linux/vmalloc.h> | 16 | #include <linux/vmalloc.h> |
18 | #include <linux/slab.h> | 17 | #include <linux/slab.h> |
19 | 18 | ||
diff --git a/arch/x86_64/kernel/mce.c b/arch/x86_64/kernel/mce.c index fa2672682477..442169640e45 100644 --- a/arch/x86_64/kernel/mce.c +++ b/arch/x86_64/kernel/mce.c | |||
@@ -20,10 +20,10 @@ | |||
20 | #include <linux/percpu.h> | 20 | #include <linux/percpu.h> |
21 | #include <linux/ctype.h> | 21 | #include <linux/ctype.h> |
22 | #include <linux/kmod.h> | 22 | #include <linux/kmod.h> |
23 | #include <linux/kdebug.h> | ||
23 | #include <asm/processor.h> | 24 | #include <asm/processor.h> |
24 | #include <asm/msr.h> | 25 | #include <asm/msr.h> |
25 | #include <asm/mce.h> | 26 | #include <asm/mce.h> |
26 | #include <asm/kdebug.h> | ||
27 | #include <asm/uaccess.h> | 27 | #include <asm/uaccess.h> |
28 | #include <asm/smp.h> | 28 | #include <asm/smp.h> |
29 | 29 | ||
diff --git a/arch/x86_64/kernel/mpparse.c b/arch/x86_64/kernel/mpparse.c index d0dc4891599b..61ae57eb9e4c 100644 --- a/arch/x86_64/kernel/mpparse.c +++ b/arch/x86_64/kernel/mpparse.c | |||
@@ -17,7 +17,6 @@ | |||
17 | #include <linux/init.h> | 17 | #include <linux/init.h> |
18 | #include <linux/delay.h> | 18 | #include <linux/delay.h> |
19 | #include <linux/bootmem.h> | 19 | #include <linux/bootmem.h> |
20 | #include <linux/smp_lock.h> | ||
21 | #include <linux/kernel_stat.h> | 20 | #include <linux/kernel_stat.h> |
22 | #include <linux/mc146818rtc.h> | 21 | #include <linux/mc146818rtc.h> |
23 | #include <linux/acpi.h> | 22 | #include <linux/acpi.h> |
diff --git a/arch/x86_64/kernel/nmi.c b/arch/x86_64/kernel/nmi.c index 6cd2b30e2ffc..931c64bad5e6 100644 --- a/arch/x86_64/kernel/nmi.c +++ b/arch/x86_64/kernel/nmi.c | |||
@@ -21,11 +21,11 @@ | |||
21 | #include <linux/sysctl.h> | 21 | #include <linux/sysctl.h> |
22 | #include <linux/kprobes.h> | 22 | #include <linux/kprobes.h> |
23 | #include <linux/cpumask.h> | 23 | #include <linux/cpumask.h> |
24 | #include <linux/kdebug.h> | ||
24 | 25 | ||
25 | #include <asm/smp.h> | 26 | #include <asm/smp.h> |
26 | #include <asm/nmi.h> | 27 | #include <asm/nmi.h> |
27 | #include <asm/proto.h> | 28 | #include <asm/proto.h> |
28 | #include <asm/kdebug.h> | ||
29 | #include <asm/mce.h> | 29 | #include <asm/mce.h> |
30 | 30 | ||
31 | int unknown_nmi_panic; | 31 | int unknown_nmi_panic; |
diff --git a/arch/x86_64/kernel/pci-gart.c b/arch/x86_64/kernel/pci-gart.c index 0a762e10f2be..373ef66ca1dc 100644 --- a/arch/x86_64/kernel/pci-gart.c +++ b/arch/x86_64/kernel/pci-gart.c | |||
@@ -22,13 +22,13 @@ | |||
22 | #include <linux/topology.h> | 22 | #include <linux/topology.h> |
23 | #include <linux/interrupt.h> | 23 | #include <linux/interrupt.h> |
24 | #include <linux/bitops.h> | 24 | #include <linux/bitops.h> |
25 | #include <linux/kdebug.h> | ||
25 | #include <asm/atomic.h> | 26 | #include <asm/atomic.h> |
26 | #include <asm/io.h> | 27 | #include <asm/io.h> |
27 | #include <asm/mtrr.h> | 28 | #include <asm/mtrr.h> |
28 | #include <asm/pgtable.h> | 29 | #include <asm/pgtable.h> |
29 | #include <asm/proto.h> | 30 | #include <asm/proto.h> |
30 | #include <asm/cacheflush.h> | 31 | #include <asm/cacheflush.h> |
31 | #include <asm/kdebug.h> | ||
32 | #include <asm/swiotlb.h> | 32 | #include <asm/swiotlb.h> |
33 | #include <asm/dma.h> | 33 | #include <asm/dma.h> |
34 | #include <asm/k8.h> | 34 | #include <asm/k8.h> |
diff --git a/arch/x86_64/kernel/process.c b/arch/x86_64/kernel/process.c index 4f21765078b7..5909039f37aa 100644 --- a/arch/x86_64/kernel/process.c +++ b/arch/x86_64/kernel/process.c | |||
@@ -36,6 +36,7 @@ | |||
36 | #include <linux/random.h> | 36 | #include <linux/random.h> |
37 | #include <linux/notifier.h> | 37 | #include <linux/notifier.h> |
38 | #include <linux/kprobes.h> | 38 | #include <linux/kprobes.h> |
39 | #include <linux/kdebug.h> | ||
39 | 40 | ||
40 | #include <asm/uaccess.h> | 41 | #include <asm/uaccess.h> |
41 | #include <asm/pgtable.h> | 42 | #include <asm/pgtable.h> |
@@ -46,7 +47,6 @@ | |||
46 | #include <asm/mmu_context.h> | 47 | #include <asm/mmu_context.h> |
47 | #include <asm/pda.h> | 48 | #include <asm/pda.h> |
48 | #include <asm/prctl.h> | 49 | #include <asm/prctl.h> |
49 | #include <asm/kdebug.h> | ||
50 | #include <asm/desc.h> | 50 | #include <asm/desc.h> |
51 | #include <asm/proto.h> | 51 | #include <asm/proto.h> |
52 | #include <asm/ia32.h> | 52 | #include <asm/ia32.h> |
diff --git a/arch/x86_64/kernel/ptrace.c b/arch/x86_64/kernel/ptrace.c index 4326a690a509..9409117b9f19 100644 --- a/arch/x86_64/kernel/ptrace.c +++ b/arch/x86_64/kernel/ptrace.c | |||
@@ -11,7 +11,6 @@ | |||
11 | #include <linux/sched.h> | 11 | #include <linux/sched.h> |
12 | #include <linux/mm.h> | 12 | #include <linux/mm.h> |
13 | #include <linux/smp.h> | 13 | #include <linux/smp.h> |
14 | #include <linux/smp_lock.h> | ||
15 | #include <linux/errno.h> | 14 | #include <linux/errno.h> |
16 | #include <linux/ptrace.h> | 15 | #include <linux/ptrace.h> |
17 | #include <linux/user.h> | 16 | #include <linux/user.h> |
diff --git a/arch/x86_64/kernel/reboot.c b/arch/x86_64/kernel/reboot.c index 2d6769847456..c116b54d422e 100644 --- a/arch/x86_64/kernel/reboot.c +++ b/arch/x86_64/kernel/reboot.c | |||
@@ -7,8 +7,8 @@ | |||
7 | #include <linux/ctype.h> | 7 | #include <linux/ctype.h> |
8 | #include <linux/string.h> | 8 | #include <linux/string.h> |
9 | #include <linux/pm.h> | 9 | #include <linux/pm.h> |
10 | #include <linux/kdebug.h> | ||
10 | #include <asm/io.h> | 11 | #include <asm/io.h> |
11 | #include <asm/kdebug.h> | ||
12 | #include <asm/delay.h> | 12 | #include <asm/delay.h> |
13 | #include <asm/hw_irq.h> | 13 | #include <asm/hw_irq.h> |
14 | #include <asm/system.h> | 14 | #include <asm/system.h> |
diff --git a/arch/x86_64/kernel/signal.c b/arch/x86_64/kernel/signal.c index c819625f3316..290f5d8037cd 100644 --- a/arch/x86_64/kernel/signal.c +++ b/arch/x86_64/kernel/signal.c | |||
@@ -12,7 +12,6 @@ | |||
12 | #include <linux/sched.h> | 12 | #include <linux/sched.h> |
13 | #include <linux/mm.h> | 13 | #include <linux/mm.h> |
14 | #include <linux/smp.h> | 14 | #include <linux/smp.h> |
15 | #include <linux/smp_lock.h> | ||
16 | #include <linux/kernel.h> | 15 | #include <linux/kernel.h> |
17 | #include <linux/signal.h> | 16 | #include <linux/signal.h> |
18 | #include <linux/errno.h> | 17 | #include <linux/errno.h> |
diff --git a/arch/x86_64/kernel/smp.c b/arch/x86_64/kernel/smp.c index bd1d123947ce..2ff468591625 100644 --- a/arch/x86_64/kernel/smp.c +++ b/arch/x86_64/kernel/smp.c | |||
@@ -14,7 +14,6 @@ | |||
14 | #include <linux/mm.h> | 14 | #include <linux/mm.h> |
15 | #include <linux/delay.h> | 15 | #include <linux/delay.h> |
16 | #include <linux/spinlock.h> | 16 | #include <linux/spinlock.h> |
17 | #include <linux/smp_lock.h> | ||
18 | #include <linux/smp.h> | 17 | #include <linux/smp.h> |
19 | #include <linux/kernel_stat.h> | 18 | #include <linux/kernel_stat.h> |
20 | #include <linux/mc146818rtc.h> | 19 | #include <linux/mc146818rtc.h> |
diff --git a/arch/x86_64/kernel/smpboot.c b/arch/x86_64/kernel/smpboot.c index 4d9dacfae575..32f50783edc8 100644 --- a/arch/x86_64/kernel/smpboot.c +++ b/arch/x86_64/kernel/smpboot.c | |||
@@ -42,18 +42,17 @@ | |||
42 | 42 | ||
43 | #include <linux/mm.h> | 43 | #include <linux/mm.h> |
44 | #include <linux/kernel_stat.h> | 44 | #include <linux/kernel_stat.h> |
45 | #include <linux/smp_lock.h> | ||
46 | #include <linux/bootmem.h> | 45 | #include <linux/bootmem.h> |
47 | #include <linux/thread_info.h> | 46 | #include <linux/thread_info.h> |
48 | #include <linux/module.h> | 47 | #include <linux/module.h> |
49 | #include <linux/delay.h> | 48 | #include <linux/delay.h> |
50 | #include <linux/mc146818rtc.h> | 49 | #include <linux/mc146818rtc.h> |
51 | #include <linux/smp.h> | 50 | #include <linux/smp.h> |
51 | #include <linux/kdebug.h> | ||
52 | 52 | ||
53 | #include <asm/mtrr.h> | 53 | #include <asm/mtrr.h> |
54 | #include <asm/pgalloc.h> | 54 | #include <asm/pgalloc.h> |
55 | #include <asm/desc.h> | 55 | #include <asm/desc.h> |
56 | #include <asm/kdebug.h> | ||
57 | #include <asm/tlbflush.h> | 56 | #include <asm/tlbflush.h> |
58 | #include <asm/proto.h> | 57 | #include <asm/proto.h> |
59 | #include <asm/nmi.h> | 58 | #include <asm/nmi.h> |
diff --git a/arch/x86_64/kernel/stacktrace.c b/arch/x86_64/kernel/stacktrace.c index 65ac2c6b34a6..cb9109113584 100644 --- a/arch/x86_64/kernel/stacktrace.c +++ b/arch/x86_64/kernel/stacktrace.c | |||
@@ -21,8 +21,7 @@ save_stack_warning_symbol(void *data, char *msg, unsigned long symbol) | |||
21 | 21 | ||
22 | static int save_stack_stack(void *data, char *name) | 22 | static int save_stack_stack(void *data, char *name) |
23 | { | 23 | { |
24 | struct stack_trace *trace = (struct stack_trace *)data; | 24 | return -1; |
25 | return trace->all_contexts ? 0 : -1; | ||
26 | } | 25 | } |
27 | 26 | ||
28 | static void save_stack_address(void *data, unsigned long addr) | 27 | static void save_stack_address(void *data, unsigned long addr) |
@@ -46,11 +45,10 @@ static struct stacktrace_ops save_stack_ops = { | |||
46 | /* | 45 | /* |
47 | * Save stack-backtrace addresses into a stack_trace buffer. | 46 | * Save stack-backtrace addresses into a stack_trace buffer. |
48 | */ | 47 | */ |
49 | void save_stack_trace(struct stack_trace *trace, struct task_struct *task) | 48 | void save_stack_trace(struct stack_trace *trace) |
50 | { | 49 | { |
51 | dump_trace(task, NULL, NULL, &save_stack_ops, trace); | 50 | dump_trace(current, NULL, NULL, &save_stack_ops, trace); |
52 | if (trace->nr_entries < trace->max_entries) | 51 | if (trace->nr_entries < trace->max_entries) |
53 | trace->entries[trace->nr_entries++] = ULONG_MAX; | 52 | trace->entries[trace->nr_entries++] = ULONG_MAX; |
54 | } | 53 | } |
55 | EXPORT_SYMBOL(save_stack_trace); | 54 | EXPORT_SYMBOL(save_stack_trace); |
56 | |||
diff --git a/arch/x86_64/kernel/sys_x86_64.c b/arch/x86_64/kernel/sys_x86_64.c index f891931eb753..d067d9a2ad27 100644 --- a/arch/x86_64/kernel/sys_x86_64.c +++ b/arch/x86_64/kernel/sys_x86_64.c | |||
@@ -7,7 +7,6 @@ | |||
7 | #include <linux/syscalls.h> | 7 | #include <linux/syscalls.h> |
8 | #include <linux/mm.h> | 8 | #include <linux/mm.h> |
9 | #include <linux/smp.h> | 9 | #include <linux/smp.h> |
10 | #include <linux/smp_lock.h> | ||
11 | #include <linux/sem.h> | 10 | #include <linux/sem.h> |
12 | #include <linux/msg.h> | 11 | #include <linux/msg.h> |
13 | #include <linux/shm.h> | 12 | #include <linux/shm.h> |
diff --git a/arch/x86_64/kernel/time.c b/arch/x86_64/kernel/time.c index 0652e173813b..4a0895bacf51 100644 --- a/arch/x86_64/kernel/time.c +++ b/arch/x86_64/kernel/time.c | |||
@@ -363,7 +363,10 @@ void stop_timer_interrupt(void) | |||
363 | } | 363 | } |
364 | 364 | ||
365 | static struct irqaction irq0 = { | 365 | static struct irqaction irq0 = { |
366 | timer_interrupt, IRQF_DISABLED, CPU_MASK_NONE, "timer", NULL, NULL | 366 | .handler = timer_interrupt, |
367 | .flags = IRQF_DISABLED | IRQF_IRQPOLL, | ||
368 | .mask = CPU_MASK_NONE, | ||
369 | .name = "timer" | ||
367 | }; | 370 | }; |
368 | 371 | ||
369 | void __init time_init(void) | 372 | void __init time_init(void) |
diff --git a/arch/x86_64/kernel/traps.c b/arch/x86_64/kernel/traps.c index d76fc32d4599..8c2ac41187c1 100644 --- a/arch/x86_64/kernel/traps.c +++ b/arch/x86_64/kernel/traps.c | |||
@@ -32,6 +32,7 @@ | |||
32 | #include <linux/unwind.h> | 32 | #include <linux/unwind.h> |
33 | #include <linux/uaccess.h> | 33 | #include <linux/uaccess.h> |
34 | #include <linux/bug.h> | 34 | #include <linux/bug.h> |
35 | #include <linux/kdebug.h> | ||
35 | 36 | ||
36 | #include <asm/system.h> | 37 | #include <asm/system.h> |
37 | #include <asm/io.h> | 38 | #include <asm/io.h> |
@@ -39,7 +40,6 @@ | |||
39 | #include <asm/debugreg.h> | 40 | #include <asm/debugreg.h> |
40 | #include <asm/desc.h> | 41 | #include <asm/desc.h> |
41 | #include <asm/i387.h> | 42 | #include <asm/i387.h> |
42 | #include <asm/kdebug.h> | ||
43 | #include <asm/processor.h> | 43 | #include <asm/processor.h> |
44 | #include <asm/unwind.h> | 44 | #include <asm/unwind.h> |
45 | #include <asm/smp.h> | 45 | #include <asm/smp.h> |
@@ -71,22 +71,6 @@ asmlinkage void alignment_check(void); | |||
71 | asmlinkage void machine_check(void); | 71 | asmlinkage void machine_check(void); |
72 | asmlinkage void spurious_interrupt_bug(void); | 72 | asmlinkage void spurious_interrupt_bug(void); |
73 | 73 | ||
74 | ATOMIC_NOTIFIER_HEAD(die_chain); | ||
75 | EXPORT_SYMBOL(die_chain); | ||
76 | |||
77 | int register_die_notifier(struct notifier_block *nb) | ||
78 | { | ||
79 | vmalloc_sync_all(); | ||
80 | return atomic_notifier_chain_register(&die_chain, nb); | ||
81 | } | ||
82 | EXPORT_SYMBOL(register_die_notifier); /* used modular by kdb */ | ||
83 | |||
84 | int unregister_die_notifier(struct notifier_block *nb) | ||
85 | { | ||
86 | return atomic_notifier_chain_unregister(&die_chain, nb); | ||
87 | } | ||
88 | EXPORT_SYMBOL(unregister_die_notifier); /* used modular by kdb */ | ||
89 | |||
90 | static inline void conditional_sti(struct pt_regs *regs) | 74 | static inline void conditional_sti(struct pt_regs *regs) |
91 | { | 75 | { |
92 | if (regs->eflags & X86_EFLAGS_IF) | 76 | if (regs->eflags & X86_EFLAGS_IF) |
@@ -792,6 +776,8 @@ asmlinkage __kprobes void default_do_nmi(struct pt_regs *regs) | |||
792 | */ | 776 | */ |
793 | if (nmi_watchdog_tick(regs,reason)) | 777 | if (nmi_watchdog_tick(regs,reason)) |
794 | return; | 778 | return; |
779 | if (notify_die(DIE_NMI_POST, "nmi_post", regs, reason, 2, 0) | ||
780 | == NOTIFY_STOP) | ||
795 | if (!do_nmi_callback(regs,cpu)) | 781 | if (!do_nmi_callback(regs,cpu)) |
796 | unknown_nmi_error(reason, regs); | 782 | unknown_nmi_error(reason, regs); |
797 | 783 | ||
diff --git a/arch/x86_64/mm/fault.c b/arch/x86_64/mm/fault.c index de99dba2c515..bfb62a13d7ee 100644 --- a/arch/x86_64/mm/fault.c +++ b/arch/x86_64/mm/fault.c | |||
@@ -15,22 +15,22 @@ | |||
15 | #include <linux/mman.h> | 15 | #include <linux/mman.h> |
16 | #include <linux/mm.h> | 16 | #include <linux/mm.h> |
17 | #include <linux/smp.h> | 17 | #include <linux/smp.h> |
18 | #include <linux/smp_lock.h> | ||
19 | #include <linux/interrupt.h> | 18 | #include <linux/interrupt.h> |
20 | #include <linux/init.h> | 19 | #include <linux/init.h> |
21 | #include <linux/tty.h> | 20 | #include <linux/tty.h> |
22 | #include <linux/vt_kern.h> /* For unblank_screen() */ | 21 | #include <linux/vt_kern.h> /* For unblank_screen() */ |
23 | #include <linux/compiler.h> | 22 | #include <linux/compiler.h> |
23 | #include <linux/vmalloc.h> | ||
24 | #include <linux/module.h> | 24 | #include <linux/module.h> |
25 | #include <linux/kprobes.h> | 25 | #include <linux/kprobes.h> |
26 | #include <linux/uaccess.h> | 26 | #include <linux/uaccess.h> |
27 | #include <linux/kdebug.h> | ||
27 | 28 | ||
28 | #include <asm/system.h> | 29 | #include <asm/system.h> |
29 | #include <asm/pgalloc.h> | 30 | #include <asm/pgalloc.h> |
30 | #include <asm/smp.h> | 31 | #include <asm/smp.h> |
31 | #include <asm/tlbflush.h> | 32 | #include <asm/tlbflush.h> |
32 | #include <asm/proto.h> | 33 | #include <asm/proto.h> |
33 | #include <asm/kdebug.h> | ||
34 | #include <asm-generic/sections.h> | 34 | #include <asm-generic/sections.h> |
35 | 35 | ||
36 | /* Page fault error code bits */ | 36 | /* Page fault error code bits */ |
diff --git a/arch/x86_64/mm/init.c b/arch/x86_64/mm/init.c index c0822683b916..1336da8bdee1 100644 --- a/arch/x86_64/mm/init.c +++ b/arch/x86_64/mm/init.c | |||
@@ -172,7 +172,7 @@ __set_fixmap (enum fixed_addresses idx, unsigned long phys, pgprot_t prot) | |||
172 | set_pte_phys(address, phys, prot); | 172 | set_pte_phys(address, phys, prot); |
173 | } | 173 | } |
174 | 174 | ||
175 | unsigned long __initdata table_start, table_end; | 175 | unsigned long __meminitdata table_start, table_end; |
176 | 176 | ||
177 | static __meminit void *alloc_low_page(unsigned long *phys) | 177 | static __meminit void *alloc_low_page(unsigned long *phys) |
178 | { | 178 | { |
@@ -204,7 +204,7 @@ static __meminit void unmap_low_page(void *adr) | |||
204 | } | 204 | } |
205 | 205 | ||
206 | /* Must run before zap_low_mappings */ | 206 | /* Must run before zap_low_mappings */ |
207 | __init void *early_ioremap(unsigned long addr, unsigned long size) | 207 | __meminit void *early_ioremap(unsigned long addr, unsigned long size) |
208 | { | 208 | { |
209 | unsigned long vaddr; | 209 | unsigned long vaddr; |
210 | pmd_t *pmd, *last_pmd; | 210 | pmd_t *pmd, *last_pmd; |
@@ -233,7 +233,7 @@ __init void *early_ioremap(unsigned long addr, unsigned long size) | |||
233 | } | 233 | } |
234 | 234 | ||
235 | /* To avoid virtual aliases later */ | 235 | /* To avoid virtual aliases later */ |
236 | __init void early_iounmap(void *addr, unsigned long size) | 236 | __meminit void early_iounmap(void *addr, unsigned long size) |
237 | { | 237 | { |
238 | unsigned long vaddr; | 238 | unsigned long vaddr; |
239 | pmd_t *pmd; | 239 | pmd_t *pmd; |
diff --git a/arch/xtensa/kernel/process.c b/arch/xtensa/kernel/process.c index 795bd5ac6f4c..ce758bab95b1 100644 --- a/arch/xtensa/kernel/process.c +++ b/arch/xtensa/kernel/process.c | |||
@@ -20,7 +20,6 @@ | |||
20 | #include <linux/kernel.h> | 20 | #include <linux/kernel.h> |
21 | #include <linux/mm.h> | 21 | #include <linux/mm.h> |
22 | #include <linux/smp.h> | 22 | #include <linux/smp.h> |
23 | #include <linux/smp_lock.h> | ||
24 | #include <linux/stddef.h> | 23 | #include <linux/stddef.h> |
25 | #include <linux/unistd.h> | 24 | #include <linux/unistd.h> |
26 | #include <linux/ptrace.h> | 25 | #include <linux/ptrace.h> |
diff --git a/arch/xtensa/kernel/ptrace.c b/arch/xtensa/kernel/ptrace.c index 8b6d3d0623b6..14104ff63093 100644 --- a/arch/xtensa/kernel/ptrace.c +++ b/arch/xtensa/kernel/ptrace.c | |||
@@ -19,7 +19,6 @@ | |||
19 | #include <linux/errno.h> | 19 | #include <linux/errno.h> |
20 | #include <linux/ptrace.h> | 20 | #include <linux/ptrace.h> |
21 | #include <linux/smp.h> | 21 | #include <linux/smp.h> |
22 | #include <linux/smp_lock.h> | ||
23 | #include <linux/security.h> | 22 | #include <linux/security.h> |
24 | #include <linux/signal.h> | 23 | #include <linux/signal.h> |
25 | 24 | ||
diff --git a/arch/xtensa/kernel/signal.c b/arch/xtensa/kernel/signal.c index c6d9880a4cdb..58107672a619 100644 --- a/arch/xtensa/kernel/signal.c +++ b/arch/xtensa/kernel/signal.c | |||
@@ -17,7 +17,6 @@ | |||
17 | #include <linux/sched.h> | 17 | #include <linux/sched.h> |
18 | #include <linux/mm.h> | 18 | #include <linux/mm.h> |
19 | #include <linux/smp.h> | 19 | #include <linux/smp.h> |
20 | #include <linux/smp_lock.h> | ||
21 | #include <linux/kernel.h> | 20 | #include <linux/kernel.h> |
22 | #include <linux/signal.h> | 21 | #include <linux/signal.h> |
23 | #include <linux/errno.h> | 22 | #include <linux/errno.h> |