[okl4-developer] Stuck in kmem::free()
Charles Chiou
cchiou at ambarella.com
Sun Jul 20 19:31:48 EST 2008
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.
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
More information about the Developer
mailing list