summaryrefslogtreecommitdiffstats
path: root/c/src/exec/score/cpu/sparc/rtems/score/erc32.h (unfollow)
Commit message (Collapse)AuthorFilesLines
1999-02-19Accidentally moved erc32.hJoel Sherrill1-521/+0
1999-02-19Moved to proper rtems/scoreJoel Sherrill1-0/+0
1999-01-13Bug report from Jiri Gaisler <jgais@ws.estec.esa.nl>:Joel Sherrill1-1/+1
> > I think I have found a bug in src/exec/scor/sparc/cpu/erc32.h in: > > > > #define ERC32_Disable_interrupt( _source, _previous ) \ > > do { \ > > unsigned32 _level; \ > > unsigned32 _mask = 1 << (_source); \ > > \ > > sparc_disable_interrupts( _level ); \ > > (_previous) = ERC32_MEC.Interrupt_Mask; \ > > ERC32_MEC.Interrupt_Mask = _previous | _mask; \ > > sparc_enable_interrupts( _level ); \ > > (_previous) &= ~_mask; \ <- IS THIS CORRECT...? > > } while (0) > > > > The previous interrupt mask is returned after first clearing the > > bit to be disabled, regardless whether the bit was set before or > > not. If the bit was set (interrupt masked), subsequent call to > > ERC32_Restore_interrupt() will enable the interrupt even though > > it was supposed to be masked. This is indeed what happens in > > DEBUG_puts when polled console I/O is used. In my opinion, the > > last statement in the macro should be removed - what is your opinion? > > I think the "~" shouldn't be there. I recall that the intent of that line > is to only return the state of the interrupts you were concerned with. > Removing the line returns entire state. Given that the value returned > shuold only be used in conjunction with the map, I suppose either removing > the ~ or the entire line is correct? I can go either way. Just let me > know which you think is more correct and the source will change. :) Hmmm, just removing the '~' should be OK. DEBUG_puts() seems to be the only user of ERC32_Restore_interrupt() anyway ...
1998-02-17updated copyright to 1998Joel Sherrill1-1/+1
1997-10-08Fixed typo in the pointer to the license terms.Joel Sherrill1-2/+2
1997-04-22headers updated to reflect new style copyright notice as partJoel Sherrill1-5/+5
of switching to the modified GNU GPL.
1996-12-02Changes to reflect new revision of erc32 per Jiri Gaisler's suggestions.Joel Sherrill1-19/+17
This is current as of sis 2.6.
1996-10-14patches to erc32.h to correct handling of timer mirror from Jiri Gaisler.Joel Sherrill1-3/+3
1996-08-08ERC32_Force_interrupt implementation replaced per Jiri Gaisler's experienceJoel Sherrill1-0/+5
on the real erc32 hardware.
1995-10-31typos fixedJoel Sherrill1-0/+15
1995-10-30SPARC port passes all testsJoel Sherrill1-0/+503