| 1 |
|
| 2 | #ifndef _PPC64_KDUMP_H
|
| 3 | #define _PPC64_KDUMP_H
|
| 4 |
|
| 5 | #include <asm/page.h>
|
| 6 |
|
| 7 | #define KDUMP_KERNELBASE 0x2000000
|
| 8 |
|
| 9 | |
| 10 | * be greater or equal to the trampoline's end address.
|
| 11 | * Reserve to the end of the FWNMI area, see head_64.S
|
| 12 | #define KDUMP_RESERVE_LIMIT 0x10000
|
| 13 |
|
| 14 | #ifdef CONFIG_CRASH_DUMP
|
| 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__
|
| 23 | #define KDUMP_TRAMPOLINE_START 0x0100
|
| 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
|
| 29 |
|
| 30 | #define KDUMP_MIN_TCE_ENTRIES 2048
|
| 31 |
|
| 32 | #endif
|
| 33 |
|
| 34 | #ifndef __ASSEMBLER__
|
| 35 |
|
| 36 | #if defined(CONFIG_CRASH_DUMP) && !defined(CONFIG_NONSTATIC_KERNEL)
|
| 37 | extern void reserve_kdump_trampoline(void);
|
| 38 | extern void setup_kdump_trampoline(void);
|
| 39 | #else
|
| 40 |
|
| 41 | static inline void reserve_kdump_trampoline(void) { ; }
|
| 42 | static inline void setup_kdump_trampoline(void) { ; }
|
| 43 | #endif
|
| 44 |
|
| 45 | #endif
|
| 46 |
|
| 47 | #endif
|