From 6be9b619c666d758f1573a940a0e680009f45a8c Mon Sep 17 00:00:00 2001 From: Lup Yuen Lee Date: Tue, 16 Jul 2024 13:34:31 +0800 Subject: [PATCH] NOP Loop before and after initing MMU --- arch/risc-v/src/sg2000/sg2000_mm_init.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/arch/risc-v/src/sg2000/sg2000_mm_init.c b/arch/risc-v/src/sg2000/sg2000_mm_init.c index f41b6b9174cc2..b23e23c5a09fb 100644 --- a/arch/risc-v/src/sg2000/sg2000_mm_init.c +++ b/arch/risc-v/src/sg2000/sg2000_mm_init.c @@ -293,7 +293,24 @@ void sg2000_mm_init(void) /* Enable MMU */ binfo("mmu_enable: satp=%" PRIuPTR "\n", g_kernel_pgt_pbase); + + //// Begin Debug + up_putc('\n'); + _info("Before MMU: mmu_enable(g_kernel_pgt_pbase, 0);"); + up_putc('0'); + for (uint32_t i = 0; i < 40000000; i++) { asm("nop"); } + up_putc('1'); + //// End Debug + mmu_enable(g_kernel_pgt_pbase, 0); + + //// Begin Debug + up_putc('\n'); + _info("After MMU: mmu_enable(g_kernel_pgt_pbase, 0);"); + up_putc('0'); + for (uint32_t i = 0; i < 40000000; i++) { asm("nop"); } + up_putc('1'); + //// End Debug } /****************************************************************************