#ifndef _ASM_POWERPC_KEXEC_H #define _ASM_POWERPC_KEXEC_H #ifdef __KERNEL__ #if defined(CONFIG_FSL_BOOKE) || defined(CONFIG_44x) /* * On FSL-BookE we setup a 1:1 mapping which covers the first 2GiB of memory * and therefore we can only deal with memory within this range */ #define KEXEC_SOURCE_MEMORY_LIMIT (2 * 1024 * 1024 * 1024UL - 1) #define KEXEC_DESTINATION_MEMORY_LIMIT (2 * 1024 * 1024 * 1024UL - 1) #define KEXEC_CONTROL_MEMORY_LIMIT (2 * 1024 * 1024 * 1024UL - 1) #else /* * Maximum page that is mapped directly into kernel memory. * XXX: Since we copy virt we can use any page we allocate */ #define KEXEC_SOURCE_MEMORY_LIMIT (-1UL) /* * Maximum address we can reach in physical address mode. * XXX: I want to allow initrd in highmem. Otherwise set to rmo on LPAR. */ #define KEXEC_DESTINATION_MEMORY_LIMIT (-1UL) /* Maximum address we can use for the control code buffer */ #ifdef __powerpc64__ #define KEXEC_CONTROL_MEMORY_LIMIT (-1UL) #else /* TASK_SIZE, probably left over from use_mm ?? */ #define KEXEC_CONTROL_MEMORY_LIMIT TASK_SIZE #endif #endif #define KEXEC_CONTROL_PAGE_SIZE 4096 /* The native architecture */ #ifdef __powerpc64__ #define KEXEC_ARCH KEXEC_ARCH_PPC64 #else #define KEXEC_ARCH KEXEC_ARCH_PPC #endif #define KEXEC_STATE_NONE 0 #define KEXEC_STATE_IRQS_OFF 1 #define KEXEC_STATE_REAL_MODE 2 #ifndef __ASSEMBLY__ #include <asm/reg.h> typedef void (*crash_shutdown_t)(void); #ifdef CONFIG_KEXEC /* * This function is responsible for capturing register states if coming * via panic or invoking dump using sysrq-trigger. */
static inline void crash_setup_regs(struct pt_regs *newregs, struct pt_regs *oldregs) { if (oldregs) memcpy(newregs, oldregs, sizeof(*newregs)); else ppc_save_regs(newregs); }Contributors
| Person | Tokens | Prop | Commits | CommitProp | |
| haren myneni | haren myneni | 34 | 85.00% | 1 | 50.00% |
| anton vorontsov | anton vorontsov | 6 | 15.00% | 1 | 50.00% |
| Total | 40 | 100.00% | 2 | 100.00% |
| Person | Tokens | Prop | Commits | CommitProp | |
| hari bathini | hari bathini | 14 | 100.00% | 1 | 100.00% |
| Total | 14 | 100.00% | 1 | 100.00% |
| Person | Tokens | Prop | Commits | CommitProp | |
| david j. wilder | david j. wilder | 11 | 100.00% | 1 | 100.00% |
| Total | 11 | 100.00% | 1 | 100.00% |
| Person | Tokens | Prop | Commits | CommitProp | |
| michael ellerman | michael ellerman | 18 | 100.00% | 1 | 100.00% |
| Total | 18 | 100.00% | 1 | 100.00% |
| Person | Tokens | Prop | Commits | CommitProp | |
| michael ellerman | michael ellerman | 10 | 100.00% | 1 | 100.00% |
| Total | 10 | 100.00% | 1 | 100.00% |
| Person | Tokens | Prop | Commits | CommitProp | |
| arnd bergmann | arnd bergmann | 13 | 100.00% | 1 | 100.00% |
| Total | 13 | 100.00% | 1 | 100.00% |
| Person | Tokens | Prop | Commits | CommitProp | |
| arnd bergmann | arnd bergmann | 13 | 100.00% | 1 | 100.00% |
| Total | 13 | 100.00% | 1 | 100.00% |
| Person | Tokens | Prop | Commits | CommitProp | |
| hari bathini | hari bathini | 12 | 100.00% | 1 | 100.00% |
| Total | 12 | 100.00% | 1 | 100.00% |
| Person | Tokens | Prop | Commits | CommitProp | |
| michael ellerman | michael ellerman | 139 | 36.68% | 6 | 28.57% |
| arnd bergmann | arnd bergmann | 42 | 11.08% | 2 | 9.52% |
| r sharada | r sharada | 39 | 10.29% | 1 | 4.76% |
| haren myneni | haren myneni | 37 | 9.76% | 1 | 4.76% |
| michael neuling | michael neuling | 28 | 7.39% | 2 | 9.52% |
| hari bathini | hari bathini | 26 | 6.86% | 1 | 4.76% |
| david j. wilder | david j. wilder | 20 | 5.28% | 1 | 4.76% |
| sebastian andrzej siewior | sebastian andrzej siewior | 15 | 3.96% | 1 | 4.76% |
| suzuki k poulose | suzuki k poulose | 10 | 2.64% | 1 | 4.76% |
| matthew mcclintock | matthew mcclintock | 7 | 1.85% | 1 | 4.76% |
| anton vorontsov | anton vorontsov | 7 | 1.85% | 1 | 4.76% |
| albert herranz | albert herranz | 5 | 1.32% | 1 | 4.76% |
| kumar gala | kumar gala | 3 | 0.79% | 1 | 4.76% |
| huang ying | huang ying | 1 | 0.26% | 1 | 4.76% |
| Total | 379 | 100.00% | 21 | 100.00% |