Porting Linux to Xilinx ML410

Thomas Glanzmann thomas at glanzmann.de
Thu Jun 28 07:18:25 EST 2007


Hello,

> Linux/PPC load: console=ttyUL0,9600 root=/dev/xsysace/disc0/part3 rw
> Uncompressing Linux...done.
> Now booting the kernel

> It always stall on the Now booting the kernel.  Im new to linux
> building and any help or suggestions are greatly appreciated.

I have the same problem on a Avnet Memev Virtex-4 FX12 LC Board. I typed
"stop" in the xmd and got an Instruction pointer. I took this
instruction pointer and called:

(thinkpad) [/scratch/tg/linux-2.6-ppc] powerpc-405-linux-gnu-objdump -dS vmlinux | less
/^c00045ac

c00045a0 <__delay>:
c00045a0:       2c 03 00 00     cmpwi   r3,0
c00045a4:       7c 69 03 a6     mtctr   r3
c00045a8:       4d 82 00 20     beqlr
c00045ac:       42 00 00 00     bdnz-   c00045ac <__delay+0xc> <<<< HERE
c00045b0:       4e 80 00 20     blr

which is called from the calibrating delay loop. The calibrating delay
loop is an endless loop if the jiffies do not get incremented. Which is
the case if there are no timer ticks for whatever reason. Reasons could
be:

        - PIT or FIT don't get initialized
        - Interrupts are disabled
        - No interrupt handler registerd or registered for the wrong iq.

However the calibrating delay loop is before the serial console
initialization code. The "Now booting the kernel" line comes from the in
kernel embedded bootloader just before it initalizes the MMU and jumps
to "start_kernel".

If you do any progress on that, please let me know. I am currently
extremly busy, so I don't have time at the moment to debug that any
further.

        Thomas



More information about the Linuxppc-embedded mailing list