PR 761/rtems
* score/src/threadhandler.c: Add volatile cast so test is weak function
is present will do something. Otherwise, it can be assume by gcc to
always be a true condition.
PR 830/filesystem
* libcsupport/src/termios.c: termios ioctl(FIONREAD) reported wrong
number of characters. So add chars in low-level/raw buffer to total
count.
PR 850/rtems
* score/src/watchdogtickle.c: A Watchdog (used to timeout an event)
with a delay of 1 sometimes does not seem to timeout. The problem
occurs, because for whatever reason when the watchdog tickle function
executes, the watchdog->delta_interval is 0. it is then decremented
before being tested, becomes huge and so doesnt time out. It is
thought there is a race condition where the watchdog->delta_interval
is calculated by reference to a head (also with a delay of 1). But
before it can be added after the head, the head is removed, so the
new head now has a delay of 0.
PR 853/filesystem
* libchip/ide/ata.c, libchip/ide/ide_controller.c: The ata driver
should be modified to support the new exception scheme and to use the
handle parameter.
PR 852/filesystem
* libblock/src/bdbuf.c: Increase performance of MSDOS file accesses by
using a simple read-ahead and write-combining scheme. Improvement is
dramatic.
* at91rm9200/clock/clock.c: The clock tick is not very precise on
at91rm9200. The attached patch improves the situation by:
(1) Not reloading the "period interval timer" register in the
interrupt handler since this is done automatically.
(2) Use integer rounding in the calculation of the "period interval
timer" register value to get as close as posible to the
CONFIGURE_MICROSECONDS_PER_TICK value.
PR 866/rtems
* score/include/rtems/system.h, score/include/rtems/score/isr.h,
score/inline/rtems/score/thread.inl,
score/macros/rtems/score/thread.inl: Added memory barriers to enter
and exit of dispatching and interrupt critical sections so GCC will
not optimize and reorder code out of a critical section.