blob: 5a5c3b5ab1e0236686975c0abb9d94bb9a0ef9fd [file] [log] [blame]
Michael Ellerman0cc47462005-12-04 18:39:37 +11001#ifndef _PPC64_KDUMP_H
2#define _PPC64_KDUMP_H
3
Michael Ellerman47310412006-05-17 18:00:49 +10004/* Kdump kernel runs at 32 MB, change at your peril. */
5#define KDUMP_KERNELBASE 0x2000000
6
Michael Ellerman0cc47462005-12-04 18:39:37 +11007/* How many bytes to reserve at zero for kdump. The reserve limit should
Michael Ellerman47310412006-05-17 18:00:49 +10008 * be greater or equal to the trampoline's end address.
9 * Reserve to the end of the FWNMI area, see head_64.S */
Michael Ellerman0cc47462005-12-04 18:39:37 +110010#define KDUMP_RESERVE_LIMIT 0x8000
11
Michael Ellerman47310412006-05-17 18:00:49 +100012#ifdef CONFIG_CRASH_DUMP
13
14#define PHYSICAL_START KDUMP_KERNELBASE
Michael Ellerman0cc47462005-12-04 18:39:37 +110015#define KDUMP_TRAMPOLINE_START 0x0100
16#define KDUMP_TRAMPOLINE_END 0x3000
17
Michael Ellerman47310412006-05-17 18:00:49 +100018#else /* !CONFIG_CRASH_DUMP */
19
20#define PHYSICAL_START 0x0
21
22#endif /* CONFIG_CRASH_DUMP */
23
24#ifndef __ASSEMBLY__
25#ifdef CONFIG_CRASH_DUMP
26
27extern void reserve_kdump_trampoline(void);
28extern void setup_kdump_trampoline(void);
29
30#else /* !CONFIG_CRASH_DUMP */
31
32static inline void reserve_kdump_trampoline(void) { ; }
33static inline void setup_kdump_trampoline(void) { ; }
34
35#endif /* CONFIG_CRASH_DUMP */
36#endif /* __ASSEMBLY__ */
Michael Ellerman0cc47462005-12-04 18:39:37 +110037
38#endif /* __PPC64_KDUMP_H */