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

Lukas HANEL lukas.hanel at st.com
Thu Jul 24 22:18:20 EST 2008


Hi,

during the creation of a ARM9 based platform in OKL4, I encountered 
maybe the same problem. The solution was to set in some 
pistachio/platform.cc file the cache specifications. But not only for 
ICache, but also for DCache (or the other way round).

Please take a look at this eMail:
http://n2.nabble.com/ARM-versatile-platform-tp10874p10877.html

Lukas Hänel

Geoffrey Lee wrote:
> On Thu, Jul 24, 2008 at 06:48:27PM +0800, Charles Chiou wrote:
>> Hi Geoffrey,
>>
>> Now I'm stuck with the second call to kspace->add_mapping() in init_memory()
>>
>> The first call kspace->add_mapping(0xf0022488, 0xf0000000, 0xc0100000, ...)
>> went through but the second kspace->add_mapping(0xf0022488, 0xff000000,
>> 0xc012d000, ...) is stuck in some sort of a polling code:
> 
> 
> This seems to be in cache_flush_ent() trying to invalidate
> the dcache lines?  I found that using the "grep" command.
> 
> 	-gl
> 
> 
> 
>> 0xF000EE2C EE07CF3E    MCR         CP15,0,R12,CR7,CR14,0x1
>> 0xF000EE30 E08CC000    ADD         R12,R12,R0
>> 0xF000EE34 E151000C    CMP         R1,R12
>> 0xF000EE38 8AFFFFFB    BHI         0xf000ee2c
>>
>> Am I still not configuring the memory correctly? I've changed the
>> machines.py to:
>>
>> class a2bub(arm926ejs):
>>     platform = "ambarella"
>>     virtual = False
>>     memory = arm926ejs.memory.copy()
>>     memory['physical'] =     [Region(0xc0100000L, 0xc1000000L)]
>>     zero_bss = True
>>     boot_binary = True
>>
>>
>> I load the image.boot.bin to 0xc0100000 and execute from there...
>>
>> Thanks
>>
>> Charles
>>
>> On 7/24/08 12:13 PM, "Geoffrey Lee" <glee at ok-labs.com> wrote:
>>
>>> On Thu, Jul 24, 2008 at 11:39:53AM +0800, Charles Chiou wrote:
>>>> Hi Geoffrey,
>>>>
>>>> I think I may know what's going on. It looks like the content in the BSS are
>>>> not cleared. So does the loader need to clear the BSS after loading
>>>> image.boot?
>>>>
>>>> I copied the file 'platform/pxa/pistachio/src/head.spp' for my own head.spp.
>>>> I suppose something could be added here to clear the sections "kernel.bss"
>>>> and "l4test.bss"?
>>> Hi Charles - you can zero the bss by setting zero_bss = True in the
>>> machine description file.  For an example have a look at our kzm machine
>>> target.
>>>
>>>> Thanks
>>>>
>>>> Charles
>>> -gl
>>
> 




More information about the Developer mailing list