Timeline




matching tags

Jan 13, 1999:

2:13 PM Changeset in rtems [16a9ee1]4.104.114.84.9 by Joel Sherrill <joel.sherrill@…>
Bug report from Jiri Gaisler <jgais@…>: > > 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 …

Jan 5, 1999:

5:50 PM Changeset in rtems [97503aa5]4.104.114.84.9 by Joel Sherrill <joel.sherrill@…>
Patch from Chris Johns <ccj@…> to get around a C++ problem with psim. This problem should and likely was occurring with other BSPs. This is from Chris' email: I had a look in the psim bsp for the older snapshot I have and it looks like you are using the `libbsp/shared/main.c' and this is known to work. I have just built the powerpc tools, and compiled the bsp. I have not added the linker command file patch so got the list of linker warnings. It looks to me like a compiler bug. The `main' call is being inlined and when that happens the special code to call `eabi' is not being added to the inlined version. I have attached a patch which places `main' after `boot_card' and a call to main is now generated. I have not tested it but it should work. I also include a dump of boot_card' and main' showing the bug.

Jan 4, 1999:

4:35 PM Changeset in rtems [eb0d7ae]4.104.114.84.9 by Joel Sherrill <joel.sherrill@…>
Patch from D. V. Henkel-Wallace <gumby@…> to use puts and have prototype.
4:30 PM Changeset in rtems [88a0908]4.104.114.84.9 by Joel Sherrill <joel.sherrill@…>
Patch from D. V. Henkel-Wallace <gumby@…> to fix braces nesting problem.
4:28 PM Changeset in rtems [60a2d689]4.104.114.84.9 by Joel Sherrill <joel.sherrill@…>
Patch from D. V. Henkel-Wallace <gumby@…> to make macro nest properly in conditionals
4:26 PM Changeset in rtems [73441b6f]4.104.114.84.9 by Joel Sherrill <joel.sherrill@…>
Removed blank lines
4:24 PM Changeset in rtems [c1ee30f]4.104.114.84.9 by Joel Sherrill <joel.sherrill@…>
Patch from D. V. Henkel-Wallace <gumby@…> to remove unused variable.
4:23 PM Changeset in rtems [96b46bf]4.104.114.84.9 by Joel Sherrill <joel.sherrill@…>
Patch from D. V. Henkel-Wallace <gumby@…> to mark sav as unused.
Note: See TracTimeline for information about the timeline view.