riscv/pgmap: Fix bug in kernel page directory init
The L2 table was not connected -> results in random crashes. Also add missing data sync barrier to the end.
This commit is contained in:
parent
cc9c3ed80b
commit
0cd5689bcb
@ -198,7 +198,7 @@ int up_addrenv_kmap_init(void)
|
||||
next = g_kernel_pgt_pbase;
|
||||
vaddr = CONFIG_ARCH_KMAP_VBASE;
|
||||
|
||||
for (i = 0; i < (ARCH_SPGTS - 1); i++)
|
||||
for (i = 0; i < ARCH_SPGTS; i++)
|
||||
{
|
||||
/* Connect the static page tables */
|
||||
|
||||
@ -211,6 +211,10 @@ int up_addrenv_kmap_init(void)
|
||||
|
||||
addrenv->satp = mmu_satp_reg(g_kernel_pgt_pbase, 0);
|
||||
|
||||
/* When all is set and done, flush the data caches */
|
||||
|
||||
__DMB();
|
||||
|
||||
return OK;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user