diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-30 11:37:40 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-30 11:37:40 -0400 |
commit | ec31b2124158f60c515ed84bd5e40db1a883c7b6 (patch) | |
tree | 05de4bebce63cf1eaf25d24c9de4b59e5aa7e100 /arch/powerpc/kernel | |
parent | ca72cddfcb6afd75a808da4f027325fa63a1b856 (diff) | |
parent | eabd90944b3a00766e84da3d117ea0f3e0a3b1a3 (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.c | 12 | ||||
-rw-r--r-- | arch/powerpc/kernel/setup_64.c | 9 |
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 | /* |