[okl4-developer] Stuck in kmem::free()

Charles Chiou cchiou at ambarella.com
Wed Jul 23 12:06:19 EST 2008


Hi Geoffrey,

I'm loading image.boot to physical 0xc0100000. When it starts execution, the
MMU is turned off.

I've not modified kernel sources other than platform additions.

Thanks

Charles


On 7/22/08 11:53 AM, "Geoffrey Lee" <glee at ok-labs.com> wrote:

> On Sun, Jul 20, 2008 at 05:31:48PM +0800, Charles Chiou wrote:
>> Hi,
>> 
>> I'm in the process of trying to port pistachio to an SoC with an ARM926EJ-S
>> core. It seems to run into prefetch abort exception in kmem::free(). I'd
>> appreciate if somebody could shed some lights on what I'm doing wrong.
> 
> Hi Charles
> 
> How did you load your binary to the system and which address did you
> load it to?  Have you made any other modifications to the OKL4 source
> code other than adding in your platfrom description?
> 
> -gl
> 
>> 
>> The place it occurs is (where r3 is 0x10000100):
>> 
>> _ZN6kmem_t4freeEPvm:
>> 0xF0004268 E92D40F0    STMFD       SP!,{R4-R7,LR}
>> 0xF000426C E59F318C    LDR         R3,[PC,#+0x18c]
>> 0xF0004270 E5933000    LDR         R3,[R3,#+0]
>> 0xF0004274 E24DD010    SUB         SP,SP,#0x10
>> ...
>> 0xF00043E4 EAFFFFAD    B           0xf00042a0
>> 0xF00043E8 E5933010    LDR         R3,[R3,#+0x10]    <--- !!!
>> 0xF00043EC E3130002    TST         R3,#0x2
>> 0xF00043F0 0AFFFFA6    BEQ         0xf0004290
>> 0xF00043F4 E3A0003D    MOV         R0,#0x3d
>> 0xF00043F8 EB0026AB    BL          _Z12tb_log_eventm ;
>> _Z12tb_log_eventm=0xf000deac
>> 0xF00043FC EAFFFFA3    B           0xf0004290
>> 
>> It looks like kmem:free() is called with (start = 0xf0022590, end =
>> 0xf0100000).
>> 
>> I'm stuck before the console is up, which is makes debugging very difficult
>> :( However, I also think the init hasn't run into where I mapped the
>> physical memory of my uart to 0xf9000000 (writing there doesn't output
>> anything).
>> 
>> This is my machine.py:
>> 
>> class a2(arm926ejs):
>>     platform = "ambarella"
>> 
>> class a2bub(a2):
>>     virtual = False
>>     memory = a2.memory.copy()
>>     memory['physical'] =     [Region(0xc0100000L, 0xc1000000L)]
>>     bootimage = "binary"
>> 
>> 
>> Thanks for the help!
>> 
>> Charles
>> 
>> 
>> _______________________________________________
>> Developer mailing list
>> Developer at okl4.org
>> https://lists.okl4.org/mailman/listinfo/developer
>> 




More information about the Developer mailing list