diff options
author | Till Straumann <strauman@slac.stanford.edu> | 2009-10-09 19:50:33 +0000 |
---|---|---|
committer | Till Straumann <strauman@slac.stanford.edu> | 2009-10-09 19:50:33 +0000 |
commit | 7cb7a5ef09718f8efab7fb67aa04618ec5f39d92 (patch) | |
tree | d5bd68e9639fa6090a3d770dbbba142749c88c95 /c | |
parent | 2009-10-09 Sebastian Huber <Sebastian.Huber@embedded-brains.de> (diff) | |
download | rtems-7cb7a5ef09718f8efab7fb67aa04618ec5f39d92.tar.bz2 |
2009-10-09 Till Straumann <strauman@slac.stanford.edu>
* shared/vmeUniverse/vmeUniverse.c: print message and
let vmeUniverseIntLoopbackTst() fail if odd-numbered
vector is used (cannot program the chip to reply with
such a vector).
Diffstat (limited to 'c')
-rw-r--r-- | c/src/lib/libbsp/ChangeLog | 7 | ||||
-rw-r--r-- | c/src/lib/libbsp/shared/vmeUniverse/vmeUniverse.c | 9 |
2 files changed, 15 insertions, 1 deletions
diff --git a/c/src/lib/libbsp/ChangeLog b/c/src/lib/libbsp/ChangeLog index a3e30e9f86..a5fcee78ff 100644 --- a/c/src/lib/libbsp/ChangeLog +++ b/c/src/lib/libbsp/ChangeLog @@ -1,3 +1,10 @@ +2009-10-09 Till Straumann <strauman@slac.stanford.edu> + + * shared/vmeUniverse/vmeUniverse.c: print message and + let vmeUniverseIntLoopbackTst() fail if odd-numbered + vector is used (cannot program the chip to reply with + such a vector). + 2009-04-28 Chris Johns <chrisj@rtems.org> * Makefile.am: Add bspinit.c, a common Init task that manages diff --git a/c/src/lib/libbsp/shared/vmeUniverse/vmeUniverse.c b/c/src/lib/libbsp/shared/vmeUniverse/vmeUniverse.c index 3858dd9454..3f5683f084 100644 --- a/c/src/lib/libbsp/shared/vmeUniverse/vmeUniverse.c +++ b/c/src/lib/libbsp/shared/vmeUniverse/vmeUniverse.c @@ -2377,8 +2377,15 @@ LoopbackTstArgs a; CHECK_DFLT_BASE(base); /* arg check */ - if ( level < 1 || level > 7 || vector > 255 ) + if ( level < 1 || level > 7 || vector > 255 ) { + fprintf(stderr,"Invalid level or vector argument\n"); return -1; + } + + if ( (vector & 1) ) { + fprintf(stderr,"Software interrupts can only use even-numbered vectors, sorry.\n"); + return -1; + } if ( UNIV_REV(base) < 2 && vector != 0 ) { fprintf(stderr, |