[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