Subject: Xilinx Virtex4 FX PPC

From: Robert Woodworth <[email-masked]>
Date: Mon, 20 Aug 2007 10:00:54 -0600

Hello All!

I'm beginning development with a Xilinx PPC/FPGA.  I've now gotten my
feet wet and have a few successes and a few head scratches.

I have a Xilinx ML403 dev board.  I ran the Monta-Vista Linux 2.4 demo.
good.

Now for my own attempt.  
(Please reply if anything I'm doing is incorrect)

I found a pre-built toolchain for my i686 Debian host with 
gcc-4.1.1 + glibc6.  I downloaded kernel 2.6.23-rc3 after reading
several posts on this list about the ML403 and drivers in this kernel
version.

Problem 1:  The kernel did not have the correct memory information.  I
noticed in 'embed_config.c' that the board params are hard coded,
however my kernel was not linking with that version of embed_config().
It was linking with embed_config() in 'misc-embedded.c'   
Did I miss a config parameter in the kernel config??

My kernel now boots and mounts the MontaVista rootfs on the SystemACE
Flash!!! :)

Problem 2:  Build my own rootfs.
If I try to build my own programs (busybox and bash at this point) with
shared libc using the same glibc from my toolchain, I get an "Illegal
instruction" error.  Is my glibc not compatible with my Xilinx PPC 405??

If I try to build a rootfs with debian ppc packages I have the same
"Illegal instruction" error.

Question 1:
Do I need a special glibc for the Xilinx PPC 405????  
Does a normal PPC glibc have more "advanced" instructions compiled in
that will not work on a Xilinx PPC 405??

Question 2:
Is it true that the xparameters.h file produced by Xilinx EDK is not
compatible with the current 2.6.23 kernel??  It appears that if I change
params (addresses or IRQ's) in my Xilinx EDK I need to hand edit the
xparameters.h in the kernel source tree.  True?  

BTW: My Xilinx EDK is version 9.1i with full ISE 9.1i.

I'm looking forward to helping the Linux on Xilinx PPC effort!!

Woody.