* configure.ac, score/inline/rtems/score/thread.inl,
score/src/threaddispatch.c: Add ability for user to disable inlining
of _Thread_Enable_dispatch. This can save code space but more
importantly it means the binary generated does not have code inlined
that is difficult to test and very seldom executed.
* sp07/sp07.scn, sp07/task1.c, sp09/screen01.c, sp09/screen05.c,
sp09/screen07.c, sp09/screen10.c, sp09/screen12.c, sp09/screen14.c,
sp09/sp09.scn, sp25/sp25.scn, sp25/task1.c: Added several test cases
to improve test coverage.
* Makefile.am, shared/flash, shared/flash/flash.c,
shared/flash/flashPgm.h, shared/flash/flashPgmPvt.h,
shared/flash/intelFlash.c, shared/flash/spansionFlash.c:
Added flash programmer API, implementation and chip drivers
for some intel + spansion flash chips (as found on mvme5500,
mvme6100 and mvme3100 boards).
A more appopriate place would probably be libchip but
I don't know if the API is acceptable and if the implementation
is generic enough (e.g., no CFI support) so I leave it here
for now.
* psxbarrier01/psxbarrier01.scn, psxbarrier01/test.c,
psxrwlock01/psxrwlock01.scn, psxrwlock01/test.c: Added several test
cases to improve test coverage.
* rtems/src/regioncreate.c, rtems/src/regiondelete.c,
rtems/src/regionextend.c, rtems/src/regiongetfreeinfo.c,
rtems/src/regiongetinfo.c, rtems/src/regiongetsegment.c,
rtems/src/regiongetsegmentsize.c, rtems/src/regionresizesegment.c,
rtems/src/regionreturnsegment.c: Restructed to move the OBJECTS_LOCAL
case to the top of the switch statement, have a single exit with one
call to _RTEMS_Unlock_allocator and eliminate the fall-through return
of RTEMS_INTERNAL_ERROR. These changes produced simplier assembly
code and allowed for complete test coverage.
* clock/ckinit.c, startup/bspstart.c: Eliminate the
clicks_per_microsecond field in the SuperH CPU Table and define
another mechanism for drivers to obtain this information.
* startup/bspstart.c: Eliminate the clicks_per_microsecond field in the
SuperH CPU Table and define another mechanism for drivers to obtain
this information.
* sh7032/clock/ckinit.c, sh7032/delay/delay.c, sh7032/timer/timer.c,
sh7045/clock/ckinit.c, sh7045/timer/timer.c, sh7750/clock/ckinit.c,
sh7750/timer/timer.c: Eliminate the clicks_per_microsecond field in
the SuperH CPU Table and define another mechanism for drivers to
obtain this information.
* rtems/score/cpu.h: Eliminate the clicks_per_microsecond field in the
SuperH CPU Table and define another mechanism for drivers to obtain
this information.
* cpu_supplement/sh.t: Eliminate the clicks_per_microsecond field in
the SuperH CPU Table and define another mechanism for drivers to
obtain this information.
* clock/ckinit.c: Eliminate the clicks_per_microsecond field in the
MIPS CPU Table and define another mechanism for drivers to obtain
this information.
* cpu_supplement/mips.t: Eliminate the clicks_per_microsecond field in
the MIPS CPU Table and define another mechanism for drivers to obtain
this information.
* clock/ckinit.c, startup/bspstart.c: Eliminate the
clicks_per_microsecond field in the MIPS CPU Table and define another
mechanism for drivers to obtain this information.
* rtems/score/cpu.h: Eliminate the clicks_per_microsecond field in the
MIPS CPU Table and define another mechanism for drivers to obtain
this information.
* shared/console/uart.c: when draining UART during
initialization (wait for possible printk() activity
to finish) look at TEMT (fifo, holding-reg and shift-reg)
rather than THRE (fifo, holding-reg only). This resolved
some scrambled output issues for me.
Enhanced semantics: if BSP initializes BSPBaseBaud to a negative
value then the driver interprets the modulus as a speed value
and uses the current setting of the divisor to compute the
clock speed (BSPBaseBaud). This is useful if you have a board
that you know is initialized e.g., to 9600 but you
don't know the clock speed.