diff options
author | Jimi Xenidis <jimix@watson.ibm.com> | 2006-05-18 17:03:05 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-05-19 15:02:26 +1000 |
commit | 4d1f3f25d9c303d1ce63b42cc94c54ac0ab2e950 (patch) | |
tree | ab418b136a78442fc4f0f8d3575da74b82df4bda /arch/powerpc/kernel/prom.c | |
parent | 1dc461f0b03fab309eb9214df1c9b586aeaf3b22 (diff) |
[PATCH] powerpc: Auto reserve of device tree blob
A devtree compiler (dtc) generated devtree blob is "relocatable" and so
does not contain a reserved_map entry for the blob itself. This means
that if passed to Linux, Linux will not get lmb_reserve() the blob and
it could be over. The following patch will explicitly reserve the
"blob" as it was given to us and stops prom_init.c from creating a
reserved mapping for the blob.
NOTE: that the dtc/kexec should not generate the blob reservation entry.
Although if they do, LMB reserver handles overlaps.
Signed-off-by: <jimix@watson.ibm.com>
Acked-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/kernel/prom.c')
-rw-r--r-- | arch/powerpc/kernel/prom.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c index 8d0415b080b..969f4abcc0b 100644 --- a/arch/powerpc/kernel/prom.c +++ b/arch/powerpc/kernel/prom.c @@ -1267,6 +1267,11 @@ static void __init early_reserve_mem(void) reserve_map = (u64 *)(((unsigned long)initial_boot_params) + initial_boot_params->off_mem_rsvmap); + + /* before we do anything, lets reserve the dt blob */ + lmb_reserve(__pa((unsigned long)initial_boot_params), + initial_boot_params->totalsize); + #ifdef CONFIG_PPC32 /* * Handle the case where we might be booting from an old kexec |