I hate to say this, but it is probable that your dram is still not programmed correctly :-(
You might want to put code into auto.c to try to verify the image.
Another possibility is that your %esp is somehow wrong. Then function calls would not work correctly.
The jmp *%edi is simply the jmp to the start of linuxbios in ram.
ron