* itron/include/rtems/itron/task.h, itron/src/del_tsk.c,
itron/src/exd_tsk.c, itron/src/task.c,
posix/include/rtems/posix/threadsup.h, posix/src/cancel.c,
posix/src/cancelrun.c, posix/src/pthread.c, posix/src/pthreadexit.c,
posix/src/setcancelstate.c, posix/src/setcanceltype.c,
posix/src/testcancel.c, rtems/src/taskdelete.c,
score/inline/rtems/score/object.inl, score/src/objectclose.c,
score/src/threadclose.c: Make all task delete/exit/cancel routines
follow the same critical section pattern. Also ensure that POSIX
cancelation routines are run at thread exit.
* libchip/Makefile.am: Move termios helper routines from libchip to
libcsupport. Add routine which makes it easy for a termios device
driver to inform termios of its default baud rate. This avoids
inconsistencies in later termios settings changes.
* libchip/serial/termios_baud2index.c,
libchip/serial/termios_baud2num.c: Removed.
* libcsupport/Makefile.am, libcsupport/preinstall.am,
libcsupport/include/rtems/termiostypes.h: Move termios helper
routines from libchip to libcsupport. Add routine which makes it easy
for a termios device driver to inform termios of its default baud
rate. This avoids inconsistencies in later termios settings changes.
* console/console.c: Properly inform termios of our initial baud rate.
If it is not the default, this causes problems when an application
changes any termios attributes since termios thinks our baud rate is
one thing when in fact, it is another.
* score/src/threadchangepriority.c: Just in case the transient
state was set when we entered, ensure that it is still set when
we exit.
* score/src/threadclose.c: When a thread is being deleted, it should
go into the dormant state -- not the transient state.
* bootcard.c: Add capability for bootcard.c BSP Initialization
Framework to ask the BSP where it has memory for the RTEMS Workspace
and C Program Heap. These collectively are referred to as work area.
If the BSP supports this, then it does not have to include code to
split the available memory between the two areas. This reduces the
amount of code in the BSP specific bspstart.c file. Additionally, the
shared framework can initialize the C Library, call
rtems_debug_enable(), and dirty the work area memory. Until most/all
BSPs support this new capability, if the BSP supports this, it should
call RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION from its configure.ac.
When the transition is complete, this autoconf macro can be removed.
* bsppretaskinghook.c: New file.
* startup/bspstart.c: Add capability for bootcard.c BSP Initialization
Framework to ask the BSP where it has memory for the RTEMS Workspace
and C Program Heap. These collectively are referred to as work area.
If the BSP supports this, then it does not have to include code to
split the available memory between the two areas. This reduces the
amount of code in the BSP specific bspstart.c file. Additionally, the
shared framework can initialize the C Library, call
rtems_debug_enable(), and dirty the work area memory. Until most/all
BSPs support this new capability, if the BSP supports this, it should
call RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION from its configure.ac.
When the transition is complete, this autoconf macro can be removed.
* configure.ac, startup/bspstart.c: Add capability for bootcard.c BSP
Initialization Framework to ask the BSP where it has memory for the
RTEMS Workspace and C Program Heap. These collectively are referred
to as work area. If the BSP supports this, then it does not have to
include code to split the available memory between the two areas.
This reduces the amount of code in the BSP specific bspstart.c file.
Additionally, the shared framework can initialize the C Library, call
rtems_debug_enable(), and dirty the work area memory. Until most/all
BSPs support this new capability, if the BSP supports this, it should
call RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION from its configure.ac.
When the transition is complete, this autoconf macro can be removed.
* shared/startup/pretaskinghook.c: Add capability for bootcard.c BSP
Initialization Framework to ask the BSP where it has memory for the
RTEMS Workspace and C Program Heap. These collectively are referred
to as work area. If the BSP supports this, then it does not have to
include code to split the available memory between the two areas.
This reduces the amount of code in the BSP specific bspstart.c file.
Additionally, the shared framework can initialize the C Library, call
rtems_debug_enable(), and dirty the work area memory. Until most/all
BSPs support this new capability, if the BSP supports this, it should
call RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION from its configure.ac.
When the transition is complete, this autoconf macro can be removed.
* Makefile.am, configure.ac, startup/bspstart.c: Add capability for
bootcard.c BSP Initialization Framework to ask the BSP where it has
memory for the RTEMS Workspace and C Program Heap. These collectively
are referred to as work area. If the BSP supports this, then it does
not have to include code to split the available memory between the
two areas. This reduces the amount of code in the BSP specific
bspstart.c file. Additionally, the shared framework can initialize
the C Library, call rtems_debug_enable(), and dirty the work area
memory. Until most/all BSPs support this new capability, if the BSP
supports this, it should call
RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION from its configure.ac. When
the transition is complete, this autoconf macro can be removed.
* startup/bspstart.c, startup/bspstart.c.nocache: Add capability for
bootcard.c BSP Initialization Framework to ask the BSP where it has
memory for the RTEMS Workspace and C Program Heap. These collectively
are referred to as work area. If the BSP supports this, then it does
not have to include code to split the available memory between the
two areas. This reduces the amount of code in the BSP specific
bspstart.c file. Additionally, the shared framework can initialize
the C Library, call rtems_debug_enable(), and dirty the work area
memory. Until most/all BSPs support this new capability, if the BSP
supports this, it should call
RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION from its configure.ac. When
the transition is complete, this autoconf macro can be removed.
* shared/bspstart.c, shared/start.S: Add capability for bootcard.c BSP
Initialization Framework to ask the BSP where it has memory for the
RTEMS Workspace and C Program Heap. These collectively are referred
to as work area. If the BSP supports this, then it does not have to
include code to split the available memory between the two areas.
This reduces the amount of code in the BSP specific bspstart.c file.
Additionally, the shared framework can initialize the C Library, call
rtems_debug_enable(), and dirty the work area memory. Until most/all
BSPs support this new capability, if the BSP supports this, it should
call RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION from its configure.ac.
When the transition is complete, this autoconf macro can be removed.
* Makefile.am, configure.ac: Add capability for bootcard.c BSP
Initialization Framework to ask the BSP where it has memory for the
RTEMS Workspace and C Program Heap. These collectively are referred
to as work area. If the BSP supports this, then it does not have to
include code to split the available memory between the two areas.
This reduces the amount of code in the BSP specific bspstart.c file.
Additionally, the shared framework can initialize the C Library, call
rtems_debug_enable(), and dirty the work area memory. Until most/all
BSPs support this new capability, if the BSP supports this, it should
call RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION from its configure.ac.
When the transition is complete, this autoconf macro can be removed.
* csb336/startup/bspstart.c, csb337/startup/bspstart.c,
edb7312/startup/bspstart.c, gba/startup/bspstart.c,
gp32/startup/bspstart.c, rtl22xx/startup/bspstart.c: Add capability
for bootcard.c BSP Initialization Framework to ask the BSP where it
has memory for the RTEMS Workspace and C Program Heap. These
collectively are referred to as work area. If the BSP supports this,
then it does not have to include code to split the available memory
between the two areas. This reduces the amount of code in the BSP
specific bspstart.c file. Additionally, the shared framework can
initialize the C Library, call rtems_debug_enable(), and dirty the
work area memory. Until most/all BSPs support this new capability, if
the BSP supports this, it should call
RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION from its configure.ac. When
the transition is complete, this autoconf macro can be removed.
* shared/m68kpretaskinghook.c: Add capability for bootcard.c BSP
Initialization Framework to ask the BSP where it has memory for the
RTEMS Workspace and C Program Heap. These collectively are referred
to as work area. If the BSP supports this, then it does not have to
include code to split the available memory between the two areas.
This reduces the amount of code in the BSP specific bspstart.c file.
Additionally, the shared framework can dirty the work area memory.
Until most/all BSPs support this new capability, if the BSP supports
this, it should call RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION from
its configure.ac. When the transition is complete, this autoconf
macro can be removed.
* shared/m68kbspgetworkarea.c: New file.
* Makefile.am, configure.ac, startup/bspstart.c: Add capability for
bootcard.c BSP Initialization Framework to ask the BSP where it has
memory for the RTEMS Workspace and C Program Heap. These collectively
are referred to as work area. If the BSP supports this, then it does
not have to include code to split the available memory between the
two areas. This reduces the amount of code in the BSP specific
bspstart.c file. Additionally, the shared framework can dirty the
work area memory. Until most/all BSPs support this new capability, if
the BSP supports this, it should call
RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION from its configure.ac. When
the transition is complete, this autoconf macro can be removed.
* tmoverhd/dumrtems.h: Refactored and renamed initialization routines
to rtems_initialize_data_structures, rtems_initialize_before_drivers,
rtems_initialize_device_drivers, and
rtems_initialize_start_multitasking. This opened the sequence up so
that bootcard() could provide a more robust and flexible framework
which is easier to explain and understand. This also lays the
groundwork for sharing the division of available memory between the
RTEMS workspace and heap and the C library initialization across all
BSPs.
* spfatal/fatal.c, spfatal06/testcase.h, spfatal07/testcase.h,
spfatal08/testcase.h, spfatal09/testcase.h, spfatal10/testcase.h:
Refactored and renamed initialization routines to
rtems_initialize_data_structures, rtems_initialize_before_drivers,
rtems_initialize_device_drivers, and
rtems_initialize_start_multitasking. This opened the sequence up so
that bootcard() could provide a more robust and flexible framework
which is easier to explain and understand. This also lays the
groundwork for sharing the division of available memory between the
RTEMS workspace and heap and the C library initialization across all
BSPs.