aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/machine_kexec_64.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/kernel/machine_kexec_64.c')
-rw-r--r--arch/powerpc/kernel/machine_kexec_64.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/machine_kexec_64.c b/arch/powerpc/kernel/machine_kexec_64.c
index a168514d860..4bd8b4f5e70 100644
--- a/arch/powerpc/kernel/machine_kexec_64.c
+++ b/arch/powerpc/kernel/machine_kexec_64.c
@@ -312,11 +312,24 @@ static struct property kernel_end_prop = {
312static void __init export_htab_values(void) 312static void __init export_htab_values(void)
313{ 313{
314 struct device_node *node; 314 struct device_node *node;
315 struct property *prop;
315 316
316 node = of_find_node_by_path("/chosen"); 317 node = of_find_node_by_path("/chosen");
317 if (!node) 318 if (!node)
318 return; 319 return;
319 320
321 /* remove any stale propertys so ours can be found */
322 prop = of_find_property(node, kernel_end_prop.name, NULL);
323 if (prop)
324 prom_remove_property(node, prop);
325 prop = of_find_property(node, htab_base_prop.name, NULL);
326 if (prop)
327 prom_remove_property(node, prop);
328 prop = of_find_property(node, htab_size_prop.name, NULL);
329 if (prop)
330 prom_remove_property(node, prop);
331
332 /* information needed by userspace when using default_machine_kexec */
320 kernel_end = __pa(_end); 333 kernel_end = __pa(_end);
321 prom_add_property(node, &kernel_end_prop); 334 prom_add_property(node, &kernel_end_prop);
322 335