Skip to contentSkip to conversation

Porting Linux to Xilinx ML410

DISCUSSION khollan 3 participants 6 messages Jun 27, 2007 – Jul 5, 2007

lore
Share & tools
lore

khollan

author
#0 lore raw

Hi Im trying to get linux 2.6 to run on my ML410 board from xilinx. I just created a real simple system with a Uartlite DDR2 and DDR interupt controller and sysace. I installed the patches I found for Uartlite and sysace I found here. I boot the zImage with XMD with the following commands:
dow t:/zImage.elf
con
This is what I get out the serial port:

loaded at:     00400000 00537138
board data at: 00000000 00000018
relocated to:  00404064 0040407C
zimage at:     00404E6D 005345F1
avail ram:     00538000 7C7F1B78

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.
Thanks
Kevin

Signature · 2 lines
View this message in context: http://www.nabble.com/Porting-Linux-to-Xilinx-ML410-tf3989483.html#a11328063
Sent from the linuxppc-embedded mailing list archive at Nabble.com.
#1 lore raw

Hello,

Quoted 6 lines

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

author
#2 lore raw

I fixed my error. I was using gcc 4.1.0 and read some other threads here and found that there is a linker error in gcc 4.1.0 So I created a new toolchain with crosstool with gcc 4.0.2 and my system booted until it tried to mount the root file system like I had planned. Now Ill have to create a rfs and see if it will boot all the way.

Thanks for your replies

Kevin

Signature · 2 lines
View this message in context: http://www.nabble.com/Porting-Linux-to-Xilinx-ML410-tf3989483.html#a11347823
Sent from the linuxppc-embedded mailing list archive at Nabble.com.
author
#3 lore raw
In reply to khollan

Im trying to mount the root file system off of compact flash and now I get this happening during boot

xsysace xsa: kicking stalled fsm; state=2 task=0 iter=1 dc=0 xsysace xsa: kicking stalled fsm; state=2 task=0 iter=1 dc=0 xsysace xsa: kicking stalled fsm; state=2 task=0 iter=1 dc=0

any ideas what this is and how to fix it? I tried applying a patch that talked about this but my version of xsysace.c already had those changes.

Thanks

Kevin

Signature · 2 lines
View this message in context: http://www.nabble.com/Porting-Linux-to-Xilinx-ML410-tf3989483.html#a11401755
Sent from the linuxppc-embedded mailing list archive at Nabble.com.
#4 lore raw
Quoted 10 lines · khollan

Im trying to mount the root file system off of compact flash and now I get this happening during boot

xsysace xsa: kicking stalled fsm; state=2 task=0 iter=1 dc=0 xsysace xsa: kicking stalled fsm; state=2 task=0 iter=1 dc=0 xsysace xsa: kicking stalled fsm; state=2 task=0 iter=1 dc=0

any ideas what this is and how to fix it? I tried applying a patch that talked about this but my version of xsysace.c already had those changes.

It means the driver is not getting interrupts from the systemace device, so it's reverting to (extremely slow) polling.

g.

Signature · 4 lines
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
[email protected]
(403) 399-0195
author
#5 lore raw

Thanks I fixed the error, my system ace hardware wasn't working correctly. Now I have a new problem during the init process. It gives me this message

Starting pid 213 tty '': '/sbin/getty'
process '/sbin/getty 9600 ttyUL0 (pid 213) exited. Scheduling it for restart.

And it tries to respawn it indefinetly.
If I pass the kernel command Init=/bin/sh I can get into the shell correctly Any Ideas what this problem is?
Thanks for your help
Kevin

Signature · 2 lines
View this message in context: http://www.nabble.com/Porting-Linux-to-Xilinx-ML410-tf3989483.html#a11453962
Sent from the linuxppc-embedded mailing list archive at Nabble.com.