* sapi/include/confdefs.h: Add CONFIGURE_MESSAGE_BUFFER_MEMORY so there
is less dependence on CONFIGURE_MEMORY_OVERHEAD. Do not arbitrarily
add 1 to CONFIGURE_MEMORY_OVERHEAD so we do not waste a kilobyte for
unused Workspace. Round the workspace required size to an 8 byte
boundary instead of a 0x400 byte one. We may end up needing to add 8
bytes again to account for the alignment rounding.
* rtems/src/region.c, sapi/src/exinit.c: Now that the Region is
an optional manager, we cannot depend on it do initialize the
internal Allocator Mutex. This was always a questionable place to
do it, so this is a cleanup.
* libcsupport/include/rtems/libcsupport.h, libcsupport/src/newlibc.c,
sapi/Makefile.am, sapi/include/confdefs.h, sapi/src/exinit.c,
score/Makefile.am, score/preinstall.am,
score/include/rtems/score/userext.h, score/src/chain.c,
score/src/userext.c: Switch to newlib reentrancy extension being
installed in the initial set instead of using rtems_extension_create.
While implementing this, noticed that user extensions and chain code
had multiple functions in a single file which is not desirable in the
SuperCore and API portions of RTEMS, so split these into multiple
files with one function per file. Also noticed that some of user
extension code was inlined for no particular reason so moved that to
C bodies. Split executive shutdown from initialization since not
every application shuts down. Moved __fini call to executive shutdown
to be more symmetrical with where it is called at startup.
* sapi/src/exshutdown.c, score/src/chainappend.c,
score/src/chainextract.c, score/src/chainget.c,
score/src/chaininsert.c, score/src/userextaddapiset.c,
score/src/userextaddset.c, score/src/userextremoveset.c,
score/src/userextthreadbegin.c, score/src/userextthreadcreate.c,
score/src/userextthreaddelete.c, score/src/userextthreadrestart.c,
score/src/userextthreadstart.c, score/src/userextthreadswitch.c: New
files.
* score/inline/rtems/score/userext.inl: Removed.
* ChangeLog, libcsupport/src/malloc.c,
libcsupport/src/mallocfreespace.c, sapi/include/confdefs.h,
score/Makefile.am, score/preinstall.am: malloc never blocks so the
Region Manager is quite heavy for implementing this. This patch
implements the C Program Heap directly in terms of the new Protected
Heap handler. This handler is a direct use of a SuperCore Heap in
conjunction with the Allocator Mutex used internally by RTEMS. This
saves 3184 bytes on most SPARC test executables.
* score/include/rtems/score/protectedheap.h, score/src/pheapallocate.c,
score/src/pheapallocatealigned.c, score/src/pheapextend.c,
score/src/pheapfree.c, score/src/pheapgetblocksize.c,
score/src/pheapgetfreeinfo.c, score/src/pheapgetinfo.c,
score/src/pheapinit.c, score/src/pheapresizeblock.c,
score/src/pheapwalk.c: New files.
* sapi/include/confdefs.h, telnetd/pty.c, telnetd/pty.h: Attempt
to fix MAX_PTYS and provide a real configuration entry. This should
make telnetd some suitable for inclusion in cpukit.
PR 790/rtems
* sapi/src/extensioncreate.c, sapi/src/extensionident.c: Correct use of
name. This was missed when the other ident services in rtems/src
where changed.
* libblock/include/rtems/bdbuf.h: Include <rtems/chain.h> instead of <chain.h>.
* libblock/include/rtems/ide_part_table.h: Include <rtems/chain.h> instead of <chain.h>.
* libcsupport/src/malloc.c: Include <rtems/chain.h> instead of <chain.h>.
* libcsupport/src/mount.c: Include <rtems/chain.h> instead of <chain.h>.
* libcsupport/src/unmount.c: Include <rtems/chain.h> instead of <chain.h>.
* libfs/src/imfs/imfs.h: Include <rtems/chain.h> instead of <chain.h>.
* libfs/src/imfs/imfs_directory.c: Include <rtems/chain.h> instead of <chain.h>.
* libfs/src/imfs/imfs_load_tar.c: Include <rtems/chain.h> instead of <chain.h>.
* sapi/include/confdefs.h: Include <rtems/clockdrv.h> instead of <clockdrv.h>.
* sapi/include/confdefs.h: Include <rtems/console.h> instead of <console.h>.
* libfs/src/imfs/imfs_load_tar.c: Include <rtems/imfs.h> instead of <imfs.h>.
* libmisc/shell/cmds.c: Include <rtems/imfs.h> instead of <imfs.h>.
* libmisc/fsmount/fsmount.c: Include <rtems/imfs.h> instead of <imfs.h>.
* sapi/include/confdefs.h: Include <rtems/imfs.h> instead of <imfs.h>.
* itron/src/can_wup.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/chg_pri.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/cre_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/cre_mbx.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/cre_sem.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/cre_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/del_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/del_mbx.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/del_sem.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/del_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/dis_dsp.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/ena_dsp.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/eventflags.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/exd_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/ext_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/fmempool.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/frsm_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/get_tid.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/itronintr.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/itronsem.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/itrontime.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/mbox.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/mboxtranslatereturncode.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/msgbuffer.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/msgbuffertranslatereturncode.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/network.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/port.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/prcv_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/prcv_mbx.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/preq_sem.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/psnd_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/rcv_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/rcv_mbx.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/ref_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/ref_mbx.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/ref_sem.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/ref_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/rel_wai.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/rot_rdq.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/rsm_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/sig_sem.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/slp_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/snd_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/snd_mbx.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/sta_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/sus_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/sysmgmt.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/task.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/ter_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/trcv_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/trcv_mbx.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/tslp_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/tsnd_mbf.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/twai_sem.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/vmempool.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/wai_sem.c: Include <rtems/itron.h> instead of <itron.h>.
* itron/src/wup_tsk.c: Include <rtems/itron.h> instead of <itron.h>.
* sapi/include/rtems/config.h: Include <rtems/itron.h> instead of <itron.h>.
* sapi/include/confdefs.h: Include <rtems/itron.h> instead of <itron.h>.
* sapi/src/itronapi.c: Include <rtems/itron.h> instead of <itron.h>.
* sapi/include/confdefs.h: Include <rtems/rtc.h> instead of <rtc.h>.
* sapi/include/confdefs.h: Include <rtems/timerdrv.h> instead of <timerdrv.h>.