Port-powerpc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Pegasos port freezes at uvm_km_alloc1




On Dec 8, 2004, at 8:55 AM, Frank Wille wrote:

Matt Thomas wrote:

Status: I get the copyright-message on screen, UVM is initialized,
but the system freezes at the end of uvm_km_alloc1(), while trying
to clear the first page of kernel memory with memset().

Are the L1/L2/L3 caches enabled?

I think they're not. Should I enable the L2 caches before cpu_attach()?

I don't think this is required, but I tried to enable L2 (512K)
at the end of initppc() now. No effect.


BTW, where are the L1 caches enabled? I didn't find it in the source.

It's a 750CXe system, so L3 caches will be no problem.

L1 is usually tuned on in locore before you transfer control to initppc.

L1 was already turned on by OFW as it seems (I'm not doing it
in locore). I have inserted some debugging output in initppc():

before oea_init(): HID0=0x8090c28c, MSR=0x00000000
after oea_init():  HID0=0x8090c28c, MSR=0x00001032
                              ^
                           ICE|DCE

MMU is enabled, caches are enabled (even L2). Everything looks ok.


What bats are you initializing?

oea_batinit(0) should setup a but for the first 256M of RAM. Nothing
else... I think.

That's your problem.  oea_batinit should only get I/O bats. It'll init
the BATs needed to address physical RAM (including 0) by itself.

Now oea_batinit() got the following:
        oea_batinit(0x80000000,BAT_BL_256M,
                    0xc0000000,BAT_BL_256M,
                    0xd0000000,BAT_BL_256M,0);

This maps PCI-I/O and PCI-memory space. Maybe I should also map
ISA-space at 0xfe000000, but there are only four BAT registers.

The kernel will "page" between BATs so that even though there are
only 4, you can address as much memory as you need with them.

Anyway, it doesn't help. Still freezes when accessing 0x60001000
(KERNEL_SRs are 6,7).

You should be at getting a DSI fault.  What's your stack like before
accessing that location?




Home | Main Index | Thread Index | Old Index