prom.c (6fae9c25134baffbeeb20031479e7ff6f6d8eec0) prom.c (6dd227002972be910c6191f38f8641e01796557f)
1/*
2 * Procedures for creating, accessing and interpreting the device tree.
3 *
4 * Paul Mackerras August 1996.
5 * Copyright (C) 1996-2005 Paul Mackerras.
6 *
7 * Adapted for 64bit PowerPC by Dave Engebretsen and Peter Bergner.
8 * {engebret|bergner}@us.ibm.com

--- 83 unchanged lines hidden (view full) ---

92 unsigned long start, size;
93 void *p;
94
95 DBG("-> move_device_tree\n");
96
97 start = __pa(initial_boot_params);
98 size = be32_to_cpu(initial_boot_params->totalsize);
99
1/*
2 * Procedures for creating, accessing and interpreting the device tree.
3 *
4 * Paul Mackerras August 1996.
5 * Copyright (C) 1996-2005 Paul Mackerras.
6 *
7 * Adapted for 64bit PowerPC by Dave Engebretsen and Peter Bergner.
8 * {engebret|bergner}@us.ibm.com

--- 83 unchanged lines hidden (view full) ---

92 unsigned long start, size;
93 void *p;
94
95 DBG("-> move_device_tree\n");
96
97 start = __pa(initial_boot_params);
98 size = be32_to_cpu(initial_boot_params->totalsize);
99
100 if ((memory_limit && (start + size) > memory_limit) ||
100 if ((memory_limit && (start + size) > PHYSICAL_START + memory_limit) ||
101 overlaps_crashkernel(start, size)) {
102 p = __va(memblock_alloc(size, PAGE_SIZE));
103 memcpy(p, initial_boot_params, size);
104 initial_boot_params = (struct boot_param_header *)p;
105 DBG("Moved device tree to 0x%p\n", p);
106 }
107
108 DBG("<- move_device_tree\n");

--- 818 unchanged lines hidden ---
101 overlaps_crashkernel(start, size)) {
102 p = __va(memblock_alloc(size, PAGE_SIZE));
103 memcpy(p, initial_boot_params, size);
104 initial_boot_params = (struct boot_param_header *)p;
105 DBG("Moved device tree to 0x%p\n", p);
106 }
107
108 DBG("<- move_device_tree\n");

--- 818 unchanged lines hidden ---