PPC BSPs VME changes

Till Straumann strauman at slac.stanford.edu
Mon Jan 29 19:48:04 UTC 2007


FYI.

I am about to commit (to 4.7 branch and head) a few changes
to the VME support of PPC BSPs using the 'vmeUniverse' driver.

1) move the user API header 'VME.h' from powerpc/shared/vme/
   to shared/vmeUniverse -- eventually this header should be moved
   to 'cpukit' where other API headers (pci.h, irq.h) live.
2) cleanup of the 'ep1a, score3e, mvme5500' BSPs so that more
   code from the 'shared' area is used. The idea is that BSPs should
   define relevant constants in their VMEConfig.h and use the rest
   of the files from 'powerpc/shared/vme'.
3) I also removed the definition of 'BSP_PIC_DO_EOI' from
   BSPs that inappropriately defined it. I added more comments
   to motorola_powerpc/include/bsp.h explaining the purpose
   of this symbol so hopefully future BSPs won't commit the
   same error. The READMEs in the vmeUniverse driver
   directory have also been updated.
4) I added a API for VME DMA as well as code that implements
   it (using the tundra drivers).

I verified that 'ep1a', 'mvme2307', 'mvme2100', 'score3e', 'mvme5500'
build w/o errors or warnings [the VME pieces, that's to say]. I didn't
try to build all variants of 'motorola_powerpc', though.

I performed run-time tests on all platforms available to me ('mvme2307',
'mvme5500' as well as two other BSPs using vmeUniverse and/or vmeTsi148
that I use locally).

Users of 'ep1a', 'mvme2100', 'score3e' are encouraged to test
particularly the VME interrupt functionality [which may have been
broken all along]. For that purpose, the vmeUniverse driver features the 
routine

vmeUniverseIntLoopbackTst(int irq_level, unsigned vector)

It installs diagnostic ISRs, raises a VME interrupt and
verifies that the ISR are executed printing diagnostic
messages to the console. Consult 'vmeUniverse.h/vmeUniverse.c'
for more information.

If there are no serious objections then I'll go ahead and
commit the changes by the end of this business day.

Regards
-- Till



More information about the users mailing list