diff options
Diffstat (limited to 'arch/powerpc/kernel/machine_kexec.c')
| -rw-r--r-- | arch/powerpc/kernel/machine_kexec.c | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/arch/powerpc/kernel/machine_kexec.c b/arch/powerpc/kernel/machine_kexec.c index 89f005116aac..dd6c141f1662 100644 --- a/arch/powerpc/kernel/machine_kexec.c +++ b/arch/powerpc/kernel/machine_kexec.c | |||
| @@ -45,6 +45,18 @@ void machine_kexec_cleanup(struct kimage *image) | |||
| 45 | ppc_md.machine_kexec_cleanup(image); | 45 | ppc_md.machine_kexec_cleanup(image); |
| 46 | } | 46 | } |
| 47 | 47 | ||
| 48 | void arch_crash_save_vmcoreinfo(void) | ||
| 49 | { | ||
| 50 | |||
| 51 | #ifdef CONFIG_NEED_MULTIPLE_NODES | ||
| 52 | VMCOREINFO_SYMBOL(node_data); | ||
| 53 | VMCOREINFO_LENGTH(node_data, MAX_NUMNODES); | ||
| 54 | #endif | ||
| 55 | #ifndef CONFIG_NEED_MULTIPLE_NODES | ||
| 56 | VMCOREINFO_SYMBOL(contig_page_data); | ||
| 57 | #endif | ||
| 58 | } | ||
| 59 | |||
| 48 | /* | 60 | /* |
| 49 | * Do not allocate memory (or fail in any way) in machine_kexec(). | 61 | * Do not allocate memory (or fail in any way) in machine_kexec(). |
| 50 | * We are past the point of no return, committed to rebooting now. | 62 | * We are past the point of no return, committed to rebooting now. |
| @@ -144,24 +156,24 @@ int overlaps_crashkernel(unsigned long start, unsigned long size) | |||
| 144 | } | 156 | } |
| 145 | 157 | ||
| 146 | /* Values we need to export to the second kernel via the device tree. */ | 158 | /* Values we need to export to the second kernel via the device tree. */ |
| 147 | static unsigned long kernel_end; | 159 | static phys_addr_t kernel_end; |
| 148 | static unsigned long crashk_size; | 160 | static phys_addr_t crashk_size; |
| 149 | 161 | ||
| 150 | static struct property kernel_end_prop = { | 162 | static struct property kernel_end_prop = { |
| 151 | .name = "linux,kernel-end", | 163 | .name = "linux,kernel-end", |
| 152 | .length = sizeof(unsigned long), | 164 | .length = sizeof(phys_addr_t), |
| 153 | .value = &kernel_end, | 165 | .value = &kernel_end, |
| 154 | }; | 166 | }; |
| 155 | 167 | ||
| 156 | static struct property crashk_base_prop = { | 168 | static struct property crashk_base_prop = { |
| 157 | .name = "linux,crashkernel-base", | 169 | .name = "linux,crashkernel-base", |
| 158 | .length = sizeof(unsigned long), | 170 | .length = sizeof(phys_addr_t), |
| 159 | .value = &crashk_res.start, | 171 | .value = &crashk_res.start, |
| 160 | }; | 172 | }; |
| 161 | 173 | ||
| 162 | static struct property crashk_size_prop = { | 174 | static struct property crashk_size_prop = { |
| 163 | .name = "linux,crashkernel-size", | 175 | .name = "linux,crashkernel-size", |
| 164 | .length = sizeof(unsigned long), | 176 | .length = sizeof(phys_addr_t), |
| 165 | .value = &crashk_size, | 177 | .value = &crashk_size, |
| 166 | }; | 178 | }; |
| 167 | 179 | ||
