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 | ||