aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-04-30 11:37:40 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-04-30 11:37:40 -0400
commitec31b2124158f60c515ed84bd5e40db1a883c7b6 (patch)
tree05de4bebce63cf1eaf25d24c9de4b59e5aa7e100 /arch/powerpc/kernel
parentca72cddfcb6afd75a808da4f027325fa63a1b856 (diff)
parenteabd90944b3a00766e84da3d117ea0f3e0a3b1a3 (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
* 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] Fix crashkernel= handling when no crashkernel= specified [POWERPC] Make emergency stack safe for current_thread_info() use [POWERPC] spufs: add .gitignore for spu_save_dump.h & spu_restore_dump.h [POWERPC] spufs: trace spu_acquire_saved events [POWERPC] spufs: fix marker name for find_victim [POWERPC] spufs: add marker for destroy_spu_context [POWERPC] spufs: add sputrace marker parameter names [POWERPC] spufs: add context switch notification log [POWERPC] mpc5200: defconfigs for CM5200, Lite5200B, Motion-PRO and TQM5200 [POWERPC] mpc5200: Switch mpc5200 dts files to dts-v1 format [POWERPC] mpc5200: Fix FEC error handling on FIFO errors [POWERPC] mpc5200: add Phytec pcm030 board support [POWERPC] mpc5200: add gpiolib support for mpc5200 [POWERPC] mpc5200: add interrupt type function [POWERPC] mpc5200: Fix unterminated of_device_id table
Diffstat (limited to 'arch/powerpc/kernel')
-rw-r--r--arch/powerpc/kernel/machine_kexec.c12
-rw-r--r--arch/powerpc/kernel/setup_64.c9
2 files changed, 12 insertions, 9 deletions
diff --git a/arch/powerpc/kernel/machine_kexec.c b/arch/powerpc/kernel/machine_kexec.c
index 2d202f274e73..29a0e039d436 100644
--- a/arch/powerpc/kernel/machine_kexec.c
+++ b/arch/powerpc/kernel/machine_kexec.c
@@ -74,20 +74,20 @@ void __init reserve_crashkernel(void)
74 ret = parse_crashkernel(boot_command_line, lmb_phys_mem_size(), 74 ret = parse_crashkernel(boot_command_line, lmb_phys_mem_size(),
75 &crash_size, &crash_base); 75 &crash_size, &crash_base);
76 if (ret == 0 && crash_size > 0) { 76 if (ret == 0 && crash_size > 0) {
77 if (crash_base == 0)
78 crash_base = KDUMP_KERNELBASE;
79 crashk_res.start = crash_base; 77 crashk_res.start = crash_base;
80 } else { 78 crashk_res.end = crash_base + crash_size - 1;
81 /* handle the device tree */
82 crash_size = crashk_res.end - crashk_res.start + 1;
83 } 79 }
84 80
85 if (crash_size == 0) 81 if (crashk_res.end == crashk_res.start) {
82 crashk_res.start = crashk_res.end = 0;
86 return; 83 return;
84 }
87 85
88 /* We might have got these values via the command line or the 86 /* We might have got these values via the command line or the
89 * device tree, either way sanitise them now. */ 87 * device tree, either way sanitise them now. */
90 88
89 crash_size = crashk_res.end - crashk_res.start + 1;
90
91 if (crashk_res.start != KDUMP_KERNELBASE) 91 if (crashk_res.start != KDUMP_KERNELBASE)
92 printk("Crash kernel location must be 0x%x\n", 92 printk("Crash kernel location must be 0x%x\n",
93 KDUMP_KERNELBASE); 93 KDUMP_KERNELBASE);
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c
index dff6308d1b5e..25e3fd8606ab 100644
--- a/arch/powerpc/kernel/setup_64.c
+++ b/arch/powerpc/kernel/setup_64.c
@@ -487,9 +487,12 @@ static void __init emergency_stack_init(void)
487 */ 487 */
488 limit = min(0x10000000UL, lmb.rmo_size); 488 limit = min(0x10000000UL, lmb.rmo_size);
489 489
490 for_each_possible_cpu(i) 490 for_each_possible_cpu(i) {
491 paca[i].emergency_sp = 491 unsigned long sp;
492 __va(lmb_alloc_base(HW_PAGE_SIZE, 128, limit)) + HW_PAGE_SIZE; 492 sp = lmb_alloc_base(THREAD_SIZE, THREAD_SIZE, limit);
493 sp += THREAD_SIZE;
494 paca[i].emergency_sp = __va(sp);
495 }
493} 496}
494 497
495/* 498/*