Commit f8f50b1bddd49eb171398cfc543c957884dc6e35
Committed by
Paul Mackerras
1 parent
ccdcef72c2
Exists in
master
and in
7 other branches
powerpc/32: Wire up the trampoline code for kdump
Wire up the trampoline code for ppc32 to relay exceptions from the vectors at address 0 to vectors at address 32MB, and modify Kconfig to enable Kdump support for all classic powerpcs. Signed-off-by: Dale Farnsworth <dale@farnsworth.org> Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
Showing 3 changed files with 16 additions and 1 deletions Side-by-side Diff
arch/powerpc/Kconfig
... | ... | @@ -326,7 +326,7 @@ |
326 | 326 | |
327 | 327 | config CRASH_DUMP |
328 | 328 | bool "Build a kdump crash kernel" |
329 | - depends on PPC_MULTIPLATFORM && PPC64 && RELOCATABLE | |
329 | + depends on (PPC64 && RELOCATABLE) || 6xx | |
330 | 330 | help |
331 | 331 | Build a kernel suitable for use as a kdump capture kernel. |
332 | 332 | The same kernel binary can be used as production kernel and dump |
arch/powerpc/include/asm/kdump.h
1 | 1 | #ifndef _PPC64_KDUMP_H |
2 | 2 | #define _PPC64_KDUMP_H |
3 | 3 | |
4 | +#include <asm/page.h> | |
5 | + | |
4 | 6 | /* Kdump kernel runs at 32 MB, change at your peril. */ |
5 | 7 | #define KDUMP_KERNELBASE 0x2000000 |
6 | 8 | |
7 | 9 | |
... | ... | @@ -11,8 +13,19 @@ |
11 | 13 | |
12 | 14 | #ifdef CONFIG_CRASH_DUMP |
13 | 15 | |
16 | +/* | |
17 | + * On PPC64 translation is disabled during trampoline setup, so we use | |
18 | + * physical addresses. Though on PPC32 translation is already enabled, | |
19 | + * so we can't do the same. Luckily create_trampoline() creates relative | |
20 | + * branches, so we can just add the PAGE_OFFSET and don't worry about it. | |
21 | + */ | |
22 | +#ifdef __powerpc64__ | |
14 | 23 | #define KDUMP_TRAMPOLINE_START 0x0100 |
15 | 24 | #define KDUMP_TRAMPOLINE_END 0x3000 |
25 | +#else | |
26 | +#define KDUMP_TRAMPOLINE_START (0x0100 + PAGE_OFFSET) | |
27 | +#define KDUMP_TRAMPOLINE_END (0x3000 + PAGE_OFFSET) | |
28 | +#endif /* __powerpc64__ */ | |
16 | 29 | |
17 | 30 | #define KDUMP_MIN_TCE_ENTRIES 2048 |
18 | 31 |