I thought I would let you know that I have now got Linux booting and running a sash shell on the serial console.
I use the Microblaze serial driver, a little of the Mind patches (however I had to rewrite the interrupt controller driver because of the swapped registers and fix other bits) and stuff I have written myself. This runs on stock 2.4.21, not the Montavista kernel.
There are a few issues like busybox having problems because of a bug in the page table code which causes problems for shared binaries. I had to implement a fix for the Xilinx TLB errata and a few other bits and I think this has introduced a subtle bug somewhere.
More info when the port is complete at which point I will post a link.