[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Yay! for mvme5500

Peter Dufault wrote:

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).

Hmm - this seems to be broken by 4.7 ? The code flow in my 4.6 BSP is different:

libbsp/powerpc/shared/vectors/vectors_init.c:initialize_exceptions() (calls)->

neither of which is using the Cpu_table...

-- Till

A quick check of other powerpc bspstart.c's shows that they also call initialize_exceptions before setting up Cpu_table, they should maybe be checked for similar problems.

3. I get all my "Hello World" output, but the Motorola "MOTBoot" dramatically complains when it finishes up. I assume this is just my getting started.


Peter Dufault
HD Associates, Inc.