[okl4-developer] More NSLU2 debugging

Joshua Root jmr at cse.unsw.edu.au
Mon Jun 23 19:50:37 EST 2008


Joshua Root wrote:
> Geoffrey Lee wrote:
>> On Mon, Jun 23, 2008 at 04:40:18PM +1000, Joshua Root wrote:
>>> Geoffrey Lee wrote:
>>>> Hence, you get "start" and "end", which are physical.  In  
>>>> add_mapping_init() you do
>>>>
>>>> add_mapping(space, phys_to_virt(addr), addr, cache attrib);
>>>>
>>>> Can you confirm that this is what you see?
>>> With physical memory configured to start at 1 MB I'm getting  
>>> start=0xe73ffed7 and end=0xcffaffff, which is of course nonsense.
>> This does not seem very good.  Can you print out the following:
>>
>> *physbase
>> start_ram
>> end_kernel
>>
>> and see what their values are?
> 
> Disregard what I said about start and end before. Their actual values 
> are 0x00100000 and 0x0012e000, which seems reasonable. So also:
> 
> *physbase  = 0x00100000
> start_ram  = 0xf0020400
> end_kernel = 0xf002e000
> 
> What does seem to be wrong is that on the hardware, find_kernel_heap is 
> returning start_bootmem_phys=0 and bootmem_size=0, while on the 
> simulator it sets them to 0x00400000 and 0x00200000 respectively.
> 
> I'll investigate what's happening inside find_kernel_heap.

And the results of my investigations are rather odd. If I print out low, 
high and *size inside find_kernel_heap(), I get 0x00200000, 0x00600000 
and 0x00400000, which matches the results from the simulator. But right 
afterwards, back in init_memory(), start_bootmem_phys and bootmem_size 
are both 0.

- Josh




More information about the Developer mailing list