mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-11-29 06:31:28 +01:00
imx8m: Restrict usable memory based on rom_pointer[0]
When TEE is loaded, we need to restrict the memory usage based on rom_pointer[0] Signed-off-by: Ying-Chun Liu (PaulLiu) <paulliu@debian.org> Cc: Fabio Estevam <festevam@denx.de> Cc: Frieder Schrempf <frieder.schrempf@kontron.de> Cc: uboot-imx <uboot-imx@nxp.com> Reviewed-by: Frieder Schrempf <frieder.schrempf@kontron.de>
This commit is contained in:
parent
0cf5622998
commit
5a6af8c19a
@ -298,16 +298,26 @@ phys_size_t get_effective_memsize(void)
|
|||||||
|
|
||||||
ulong board_get_usable_ram_top(ulong total_size)
|
ulong board_get_usable_ram_top(ulong total_size)
|
||||||
{
|
{
|
||||||
|
ulong top_addr = PHYS_SDRAM + gd->ram_size;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Some IPs have their accessible address space restricted by
|
* Some IPs have their accessible address space restricted by
|
||||||
* the interconnect. Let's make sure U-Boot only ever uses the
|
* the interconnect. Let's make sure U-Boot only ever uses the
|
||||||
* space below the 4G address boundary (which is 3GiB big),
|
* space below the 4G address boundary (which is 3GiB big),
|
||||||
* even when the effective available memory is bigger.
|
* even when the effective available memory is bigger.
|
||||||
*/
|
*/
|
||||||
if (PHYS_SDRAM + gd->ram_size > 0x80000000)
|
if (top_addr > 0x80000000)
|
||||||
return 0x80000000;
|
top_addr = 0x80000000;
|
||||||
|
|
||||||
return PHYS_SDRAM + gd->ram_size;
|
/*
|
||||||
|
* rom_pointer[0] stores the TEE memory start address.
|
||||||
|
* rom_pointer[1] stores the size TEE uses.
|
||||||
|
* We need to reserve the memory region for TEE.
|
||||||
|
*/
|
||||||
|
if (rom_pointer[0] && rom_pointer[1] && top_addr > rom_pointer[0])
|
||||||
|
top_addr = rom_pointer[0];
|
||||||
|
|
||||||
|
return top_addr;
|
||||||
}
|
}
|
||||||
|
|
||||||
static u32 get_cpu_variant_type(u32 type)
|
static u32 get_cpu_variant_type(u32 type)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user