mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 03:27:44 -04:00
of/fdt: split off FDT self reservation from memreserve processing
This splits off the reservation of the memory occupied by the FDT binary itself from the processing of the memory reservations it contains. This is necessary because the physical address of the FDT, which is needed to perform the reservation, may not be known to the FDT driver core, i.e., it may be mapped outside the linear direct mapping, in which case __pa() returns a bogus value. Cc: Russell King <[email protected]> Cc: Benjamin Herrenschmidt <[email protected]> Cc: Paul Mackerras <[email protected]> Acked-by: Rob Herring <[email protected]> Acked-by: Mark Rutland <[email protected]> Acked-by: Catalin Marinas <[email protected]> Signed-off-by: Ard Biesheuvel <[email protected]> Signed-off-by: Catalin Marinas <[email protected]>
This commit is contained in:
parent
d00a3810c1
commit
24bbd929e6
5 changed files with 19 additions and 5 deletions
|
|
@ -580,11 +580,6 @@ void __init early_init_fdt_scan_reserved_mem(void)
|
|||
if (!initial_boot_params)
|
||||
return;
|
||||
|
||||
/* Reserve the dtb region */
|
||||
early_init_dt_reserve_memory_arch(__pa(initial_boot_params),
|
||||
fdt_totalsize(initial_boot_params),
|
||||
0);
|
||||
|
||||
/* Process header /memreserve/ fields */
|
||||
for (n = 0; ; n++) {
|
||||
fdt_get_mem_rsv(initial_boot_params, n, &base, &size);
|
||||
|
|
@ -597,6 +592,20 @@ void __init early_init_fdt_scan_reserved_mem(void)
|
|||
fdt_init_reserved_mem();
|
||||
}
|
||||
|
||||
/**
|
||||
* early_init_fdt_reserve_self() - reserve the memory used by the FDT blob
|
||||
*/
|
||||
void __init early_init_fdt_reserve_self(void)
|
||||
{
|
||||
if (!initial_boot_params)
|
||||
return;
|
||||
|
||||
/* Reserve the dtb region */
|
||||
early_init_dt_reserve_memory_arch(__pa(initial_boot_params),
|
||||
fdt_totalsize(initial_boot_params),
|
||||
0);
|
||||
}
|
||||
|
||||
/**
|
||||
* of_scan_flat_dt - scan flattened tree blob and call callback on each.
|
||||
* @it: callback function
|
||||
|
|
|
|||
Loading…
Reference in a new issue