Porting base-hw to i.mx53

Norman Feske norman.feske at ...1...
Fri Aug 31 13:36:52 CEST 2012


Hi Timur,

welcome to the list! It's great to see 'base-hw' getting picked up. :-)

On 08/30/2012 08:25 PM, Timur wrote:
> I want to add support of i.mx53 to base-hw. I encounter a problem while 
> turning on MMU. Problem appears when i want to write a system control register 
> with setted mmu bit in enable_mmu function :
> 
>    Sctlr::access_t sctlr = Sctlr::read();
>    Sctlr::M::set(sctlr);
>    Sctlr::I::clear(sctlr);
>    Sctlr::C::clear(sctlr);
> -->Sctlr::write(sctlr);
> 
> after this string system freezes. 

It is quite difficult to guess what exactly goes wrong. For certain,
enabling the MMU is the first critical point. It is important that the
page directory base is correctly initialized. As 'base-hw' uses the high
exception entry table at 0xffff0000, the exception handling will rely on
a proper mapping at this location.

I suppose you are using the cortex-a9 code as blue print? I think there
are subtile differences with regard to accessing the control registers
(i.e., cp15) between cortex-a8 (i.MX53) and cortex-a9. It is worthwhile
to double-check all 'mcr/mrc' instructions used in the assembler code
paths of 'base-hw'.

Cheers
Norman

-- 
Dr.-Ing. Norman Feske
Genode Labs

http://www.genode-labs.com · http://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth




More information about the users mailing list