From e74395c23359668d5c923e81b63356676f2249d0 Mon Sep 17 00:00:00 2001 From: Etienne Carriere Date: Fri, 20 Oct 2023 16:52:39 +0200 Subject: [PATCH] core: arm: get DDR range from embedded DTB Find main memory (DDR) physical range(s) from the secure embedded DTB if not found from the external DDR. Signed-off-by: Etienne Carriere --- core/arch/arm/kernel/boot.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/core/arch/arm/kernel/boot.c b/core/arch/arm/kernel/boot.c index 275eb8cfb24..5db38079b30 100644 --- a/core/arch/arm/kernel/boot.c +++ b/core/arch/arm/kernel/boot.c @@ -1046,7 +1046,18 @@ static void discover_nsec_memory(void) return; } - DMSG("No non-secure memory found in FDT"); + DMSG("No non-secure memory found in external DT"); + } + + fdt = get_embedded_dt(); + if (fdt) { + mem = get_nsec_memory(fdt, &nelems); + if (mem) { + core_mmu_set_discovered_nsec_ddr(mem, nelems); + return; + } + + DMSG("No non-secure memory found in embedded DT"); } mem_begin = phys_ddr_overall_begin;