[PATCH master 1/2] ARM: document PBL barebox memory layout
Ahmad Fatoum
a.fatoum at pengutronix.de
Thu May 16 23:10:56 PDT 2024
Apparently, we have an overlap between ramoops/barebox proper
and the early malloc area. Before fixing that, let's add a diagram
explaining the current state of affairs.
Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
arch/arm/include/asm/barebox-arm.h | 36 ++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/arch/arm/include/asm/barebox-arm.h b/arch/arm/include/asm/barebox-arm.h
index 4d70360b9121..30834233fb96 100644
--- a/arch/arm/include/asm/barebox-arm.h
+++ b/arch/arm/include/asm/barebox-arm.h
@@ -52,6 +52,42 @@ static inline void arm_fixup_vectors(void)
void *barebox_arm_boot_dtb(void);
+/*
+ * ----------------------------- endmem ------------------------------
+ * ↑
+ * OPTEE_SIZE (depends on CONFIG_OPTEE_SIZE)
+ * ↓
+ * ------------------------- arm_mem_optee() -------------------------
+ * ↑
+ * SZ_32K
+ * ↓
+ * ------------------------ arm_mem_scratch() ------------------------
+ * ↑
+ * STACK_SIZE
+ * ↓
+ * ------------------------- arm_mem_stack() -------------------------
+ * ↑
+ * PAGE_SIZE (depends on CONFIG_STACK_GUARD_PAGE)
+ * ↓
+ * ----------------------- arm_mem_guard_page() ----------------------
+ * ↑
+ * ARM_EARLY_PAGETABLE_SIZE
+ * ↓
+ * ------------ arm_mem_ttb() / arm_mem_early_malloc_end() ------------
+ * ↑ ↑
+ * CONFIG_FS_PSTORE_RAMOOPS_SIZE SZ_128K
+ * (depends on FS_PSTORE_RAMOOPS) |
+ * | ↓
+ * | ------ arm_mem_early_malloc() ---
+ * ↓
+ * ------------------------- arm_mem_ramoops() ------------------------
+ * ↑
+ * (barebox uncompressed image size
+ * + BSS) rounded to SZ_1M
+ * ↓
+ * ---------------------- arm_mem_barebox_image() ---------------------
+ */
+
static inline unsigned long arm_mem_optee(unsigned long endmem)
{
return endmem - OPTEE_SIZE;
--
2.39.2
More information about the barebox
mailing list