mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH master 1/4] ARM: mmu64: request TTB region
@ 2023-05-26  6:33 Ahmad Fatoum
  2023-05-26  6:33 ` [PATCH master 2/4] ARM: mmu64: define early_remap_range for mmu_early_enable usage Ahmad Fatoum
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Ahmad Fatoum @ 2023-05-26  6:33 UTC (permalink / raw)
  To: barebox; +Cc: Ahmad Fatoum

ARM64 MMU code used to disable early MMU, reallocate TTB from malloc
area and then reenable it. This has recently been changed, so MMU is
left enabled like on ARM32, but unlike ARM32, the SDRAM region used in
PBL is not requested in barebox proper. Do that now.

Fixes: b53744ffe333 ("ARM: mmu64: Use two level pagetables in early code")
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
 arch/arm/cpu/mmu_64.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/arch/arm/cpu/mmu_64.c b/arch/arm/cpu/mmu_64.c
index cdc482542202..1d5a5355c6be 100644
--- a/arch/arm/cpu/mmu_64.c
+++ b/arch/arm/cpu/mmu_64.c
@@ -192,8 +192,20 @@ static void mmu_enable(void)
  */
 void __mmu_init(bool mmu_on)
 {
+	uint64_t *ttb = get_ttb();
 	struct memory_bank *bank;
 
+	if (!request_sdram_region("ttb", (unsigned long)ttb,
+				  ARM_EARLY_PAGETABLE_SIZE))
+		/*
+		 * This can mean that:
+		 * - the early MMU code has put the ttb into a place
+		 *   which we don't have inside our available memory
+		 * - Somebody else has occupied the ttb region which means
+		 *   the ttb will get corrupted.
+		 */
+		pr_crit("Can't request SDRAM region for ttb at %p\n", ttb);
+
 	for_each_memory_bank(bank) {
 		struct resource *rsv;
 		resource_size_t pos;
-- 
2.39.2




^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-05-30 10:27 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-26  6:33 [PATCH master 1/4] ARM: mmu64: request TTB region Ahmad Fatoum
2023-05-26  6:33 ` [PATCH master 2/4] ARM: mmu64: define early_remap_range for mmu_early_enable usage Ahmad Fatoum
2023-05-26  6:33 ` [PATCH master 3/4] ARM: mmu32: " Ahmad Fatoum
2023-05-26  6:33 ` [PATCH master 4/4] ARM: mmu: invalidate when mapping range uncached Ahmad Fatoum
2023-05-26 12:49   ` Ahmad Fatoum
2023-05-30 10:26 ` [PATCH master 1/4] ARM: mmu64: request TTB region Sascha Hauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox