mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-09-27 15:10:26 +09:00
ppc: qemu: Delete the temporary FDT virtual-physical mapping after U-Boot is relocated
After U-Boot is relocated to RAM already, the previous temporary FDT virtual-physical mapping that was used in the pre-relocation phase is no longer needed. Let's delete the mapping. get_fdt_virt() might be used before and after relocation, update it to return different virtual address of FDT. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
This commit is contained in:
parent
9a39f76c7a
commit
c8f911cb08
@ -31,7 +31,10 @@ DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
static void *get_fdt_virt(void)
|
||||
{
|
||||
return (void *)CONFIG_SYS_TMPVIRT;
|
||||
if (gd->flags & GD_FLG_RELOC)
|
||||
return (void *)gd->fdt_blob;
|
||||
else
|
||||
return (void *)CONFIG_SYS_TMPVIRT;
|
||||
}
|
||||
|
||||
static uint64_t get_fdt_phys(void)
|
||||
@ -138,6 +141,12 @@ int misc_init_r(void)
|
||||
*/
|
||||
virtio_init();
|
||||
|
||||
/*
|
||||
* U-Boot is relocated to RAM already, let's delete the temporary FDT
|
||||
* virtual-physical mapping that was used in the pre-relocation phase.
|
||||
*/
|
||||
disable_tlb(find_tlb_idx((void *)CONFIG_SYS_TMPVIRT, 1));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user