[U-Boot] Enabling ARM DCache (and MMU setup) in U-Boot

Drasko DRASKOVIC drasko.draskovic at gmail.com
Mon Apr 6 19:42:33 CEST 2009


On Tue, Mar 31, 2009 at 4:09 PM, Jean-Christophe PLAGNIOL-VILLARD wrote:
> if you want to use the dcache you must first correctly setup the MMU and
the TLB

I set-up :
1) pagetable in the SDRAM (one master pagetable, to map all 4096 pages of
address space to map from the virtual to the same addresses in physical
address)
2) I use client domain 3
3) set up all permissions to RW
4) attached pagetable (put info about master table address into CP15 reg)

When I try to switch MMU on after all of this (in CP15 reg), u-boot blocks.

I created one command to do all this init, and in the end write into CP15
reg to switch on MMU. Is this approach OK? but for some reason, u-boot
blocks there, right after switching MMU on.

I am sure that MMU works, because I can boot Linux on the same board, and
Linux works.

With JTAG I can see that pagetable is written on SDRAM on given address, so
I suspect on permissions, but from each pagetable entry I have that domain
and access permissions as I said (domain 3 client, RW).

Do you have any idea what can be wrong and where to look?

Best regards,
Drasko


More information about the U-Boot mailing list