I did "hello world", finally, on the MVME5500 on 4.7
A few "heads up", though. Take these with a grain of salt since I'm
just starting out, but I think they're real problems.
1. The linkcmds in the BSP in 4.7 (and supplied for 4.6) don't seem to
correspond to the linkcmds used to build the "mvme5500-cexp.bin" that
came with the MVME5500 patches for 4.6. That binary obviously starts
at 4000000, but the linkcmds put the start at 4000100. Maybe the
folks at Brookhaven only use incremental linking using cexp as a boot
loader and haven't noticed? Don't get me started on "incremental
linking considered dangerous", you should see some of the vxWorks
startup scripts I've seen.
2. bspstart.c is calling "initialize_exceptions()" before setting up
Cpu_table. For me (and I hope this is how it should be) this results
in a call to mpc6xx/exceptions/raw_exception.c, and that checks
Cpu_table.exceptions_in_RAM as a boolean to decide what to do. Since
I kept carefully zeroing out memory for repeatability before starting
things up, that was testing false, and nothing was working. When I saw
what was going on I initialized Cpu_table.exceptions_in_RAM to 1
before calling initialize_exceptions(), and then things started
working. (I assume that test is done before BSS is defined to be
cleared out).