summaryrefslogtreecommitdiffstats
path: root/cpukit/libcsupport/include/rtems/libcsupport.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Remove make preinstallChris Johns2018-01-251-193/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A speciality of the RTEMS build system was the make preinstall step. It copied header files from arbitrary locations into the build tree. The header files were included via the -Bsome/build/tree/path GCC command line option. This has at least seven problems: * The make preinstall step itself needs time and disk space. * Errors in header files show up in the build tree copy. This makes it hard for editors to open the right file to fix the error. * There is no clear relationship between source and build tree header files. This makes an audit of the build process difficult. * The visibility of all header files in the build tree makes it difficult to enforce API barriers. For example it is discouraged to use BSP-specifics in the cpukit. * An introduction of a new build system is difficult. * Include paths specified by the -B option are system headers. This may suppress warnings. * The parallel build had sporadic failures on some hosts. This patch removes the make preinstall step. All installed header files are moved to dedicated include directories in the source tree. Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc, etc. Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g. erc32, imx, qoriq, etc. The new cpukit include directories are: * cpukit/include * cpukit/score/cpu/@RTEMS_CPU@/include * cpukit/libnetworking The new BSP include directories are: * bsps/include * bsps/@RTEMS_CPU@/include * bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include There are build tree include directories for generated files. The include directory order favours the most general header file, e.g. it is not possible to override general header files via the include path order. The "bootstrap -p" option was removed. The new "bootstrap -H" option should be used to regenerate the "headers.am" files. Update #3254.
* posix: Implement self-contained POSIX mutexSebastian Huber2017-10-051-1/+0
| | | | | | | | POSIX mutexes are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3112.
* posix: Implement self-contained POSIX condvarSebastian Huber2017-10-051-1/+0
| | | | | | | | POSIX condition variables are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3113.
* posix: Implement self-contained POSIX rwlocksSebastian Huber2017-10-051-1/+0
| | | | | | | | POSIX rwlocks are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3115.
* posix: Implement self-contained POSIX barriersSebastian Huber2017-10-051-1/+0
| | | | | | | | POSIX barriers are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3114.
* posix: Add self-contained pthread spinlockSebastian Huber2016-11-231-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Turn pthread_spinlock_t into a self-contained object. On uni-processor configurations, interrupts are disabled in the lock/trylock operations and the previous interrupt status is restored in the corresponding unlock operations. On SMP configurations, a ticket lock is a acquired and released in addition. The self-contained pthread_spinlock_t object is defined by Newlib in <sys/_pthreadtypes.h>. typedef struct { struct _Ticket_lock_Control _lock; __uint32_t _interrupt_state; } pthread_spinlock_t; This implementation is simple and efficient. However, this test case of the Linux Test Project would fail due to call of printf() and sleep() during spin lock ownership: https://github.com/linux-test-project/ltp/blob/master/testcases/open_posix_testsuite/conformance/interfaces/pthread_spin_lock/1-2.c There is only limited support for profiling on SMP configurations. Delete CORE spinlock implementation. Update #2674.
* posix: Simplify message queuesSebastian Huber2016-05-021-1/+0
| | | | | | | | | | | | The mq_open() function returns a descriptor to a POSIX message queue object identified by a name. This is similar to sem_open(). In contrast to the POSIX semaphore the POSIX message queues use a separate object for the descriptor. This extra object is superfluous, since the object identifier can be used directly for this purpose, just like for the semaphores. Update #2702. Update #2555.
* Delete unused declarations and defineSebastian Huber2015-11-271-5/+1
|
* Delete empty libc_init()Sebastian Huber2015-11-271-1/+0
|
* Add POSIX key value pairs to resource snapshotSebastian Huber2014-12-121-1/+2
|
* score: Simplify thread control initializationSebastian Huber2014-04-151-6/+1
| | | | | | | | | | | The thread control block contains fields that point to application configuration dependent memory areas, like the scheduler information, the API control blocks, the user extension context table, the RTEMS notepads and the Newlib re-entrancy support. Account for these areas in the configuration and avoid extra workspace allocations for these areas. This helps also to avoid heap fragementation and reduces the per thread memory due to a reduced heap allocation overhead.
* score: Thread life cycle re-implementationSebastian Huber2014-03-311-1/+6
| | | | | | | | | | | | | | | | | | | The thread deletion is now supported on SMP. This change fixes the following PRs: PR1814: SMP race condition between stack free and dispatch PR2035: psxcancel reveals NULL pointer access in _Thread_queue_Extract() The POSIX cleanup handler are now called in the right context (should be called in the context of the terminating thread). http://pubs.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_09.html Add a user extension the reflects a thread termination event. This is used to reclaim the Newlib reentrancy structure (may use file operations), the POSIX cleanup handlers and the POSIX key destructors.
* Change all references of rtems.com to rtems.org.Chris Johns2014-03-211-1/+1
|
* libcsupport: Rename open_dev_console()Sebastian Huber2013-04-261-1/+0
| | | | | Rename open_dev_console() to rtems_libio_post_driver(). Rename rtems_libio_supp_helper to rtems_libio_post_driver_helper.
* cpukit: Use Consistent Beginning of Doxygen Group NotationJoel Sherrill2013-01-101-1/+1
| | | | | This is the result of a sed script which converts all uses of @{ into a consistent form.
* libcsupport: DocumentationSebastian Huber2013-01-091-6/+9
|
* libcsupport: Doxygen Clean Up Task #1Alex Ivanov2013-01-081-17/+22
|
* Header File Doxygen Enhancement Task #1Alex Ivanov2012-12-281-2/+4
|
* libcsupport: Add rtems_resource_snapshot_take()Sebastian Huber2012-12-211-0/+87
| | | | | | Add rtems_resource_rtems_api, rtems_resource_posix_api, rtems_resource_snapshot, rtems_resource_snapshot_equal(), and rtems_resource_snapshot_check().
* libcsupport: Doxygen Enhancement Task #8Alex Ivanov2012-12-151-0/+6
| | | | http://www.google-melange.com/gci/task/view/google/gci2012/7996208
* libcsupport: GCI Doxygen Task #7Alex Ivanov2012-12-111-0/+6
| | | | http://www.google-melange.com/gci/task/view/google/gci2012/7975223
* libcsupport: Doxygen enhancement task #5Alex Ivanov2012-12-101-0/+11
| | | | http://www.google-melange.com/gci/task/view/google/gci2012/7992211
* libcsupport: Doxygen enhancement task #2Alex Ivanov2012-12-091-0/+10
| | | | http://www.google-melange.com/gci/task/view/google/gci2012/8017203
* score: Work area initialization API changeSebastian Huber2012-10-251-6/+0
| | | | | | | | | | | | The work areas (RTEMS work space and C program heap) will be initialized now in a separate step and are no longer part of rtems_initialize_data_structures(). Initialization is performed with tables of Heap_Area entries. This allows usage of scattered memory areas present on various small scale micro-controllers. The sbrk() support API changes also. The bsp_sbrk_init() must now deal with a minimum size for the first memory chunk to take the configured work space size into account.
* libcsupport: Adjust malloc_walk() prototypeSebastian Huber2012-05-161-1/+1
| | | | | | | | The header file <rtems/malloc.h> provides now also the malloc_walk() prototype. The malloc_walk() prototype reflects now the _Protected_heap_Walk() API. The return status helps to print only in case of an error.
* Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill2012-05-111-2/+0
| | | | | | | | | | | | Script does what is expected and tries to do it as smartly as possible. + remove occurrences of two blank comment lines next to each other after Id string line removed. + remove entire comment blocks which only exited to contain CVS Ids + If the processing left a blank line at the top of a file, it was removed.
* 2011-12-02 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-12-021-0/+2
| | | | | * libcsupport/include/rtems/libcsupport.h: Add prototype of malloc_info().
* 2011-06-24 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-06-241-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/rtems/bspIo.h, include/rtems/concat.h, include/rtems/endian.h, include/rtems/fs.h, include/rtems/irq.h, include/rtems/pci.h, include/rtems/userenv.h, libblock/include/rtems/flashdisk.h, libblock/include/rtems/nvdisk-sram.h, libblock/include/rtems/nvdisk.h, libcsupport/include/clockdrv.h, libcsupport/include/console.h, libcsupport/include/iosupp.h, libcsupport/include/spurious.h, libcsupport/include/motorola/mc68230.h, libcsupport/include/rtems/assoc.h, libcsupport/include/rtems/error.h, libcsupport/include/rtems/framebuffer.h, libcsupport/include/rtems/gxx_wrappers.h, libcsupport/include/rtems/libcsupport.h, libcsupport/include/rtems/libio_.h, libcsupport/include/rtems/malloc.h, libcsupport/include/rtems/termiostypes.h, libcsupport/include/sys/statvfs.h, libcsupport/include/sys/termios.h, libcsupport/include/sys/utsname.h, libcsupport/include/zilog/z8036.h, libcsupport/include/zilog/z8530.h, libcsupport/include/zilog/z8536.h, libfs/src/imfs/imfs.h, libfs/src/pipe/pipe.h, libmisc/capture/capture-cli.h, libmisc/capture/capture.h, libmisc/cpuuse/cpuuse.h, libmisc/devnull/devnull.h, libmisc/devnull/devzero.h, libmisc/dumpbuf/dumpbuf.h, libmisc/fb/fb.h, libmisc/fb/mw_uid.h, libmisc/mouse/mouse_parser.h, libmisc/shell/shellconfig.h, libmisc/stringto/stringto.h, libmisc/untar/untar.h, libnetworking/memory.h, posix/include/aio.h, posix/include/mqueue.h, posix/include/semaphore.h, posix/include/rtems/posix/aio_misc.h, posix/include/rtems/posix/barrier.h, posix/include/rtems/posix/cond.h, posix/include/rtems/posix/config.h, posix/include/rtems/posix/key.h, posix/include/rtems/posix/mqueue.h, posix/include/rtems/posix/mutex.h, posix/include/rtems/posix/posixapi.h, posix/include/rtems/posix/priority.h, posix/include/rtems/posix/psignal.h, posix/include/rtems/posix/pthread.h, posix/include/rtems/posix/ptimer.h, posix/include/rtems/posix/rwlock.h, posix/include/rtems/posix/semaphore.h, posix/include/rtems/posix/sigset.h, posix/include/rtems/posix/spinlock.h, posix/include/rtems/posix/threadsup.h, posix/include/rtems/posix/time.h, posix/include/rtems/posix/timer.h, posix/inline/rtems/posix/barrier.inl, posix/inline/rtems/posix/cond.inl, posix/inline/rtems/posix/mqueue.inl, posix/inline/rtems/posix/mutex.inl, posix/inline/rtems/posix/priority.inl, posix/inline/rtems/posix/pthread.inl, posix/inline/rtems/posix/rwlock.inl, posix/inline/rtems/posix/semaphore.inl, posix/inline/rtems/posix/spinlock.inl, posix/inline/rtems/posix/timer.inl, rtems/mainpage.h, rtems/include/rtems/rtems/barrier.h, rtems/include/rtems/rtems/object.h, rtems/include/rtems/rtems/timer.h, rtems/inline/rtems/rtems/barrier.inl, rtems/inline/rtems/rtems/timer.inl, rtems/src/semtranslatereturncode.c, sapi/include/rtems/config.h, sapi/include/rtems/fatal.h, sapi/include/rtems/mptables.h, score/include/rtems/score/object.h, score/include/rtems/score/priority.h, score/inline/rtems/score/object.inl, score/inline/rtems/score/priority.inl: Add @file Doxygen directives and descriptions to files which originated with RTEMS. This improves the file list page generated by Doxygen.
* 2011-02-23 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-02-231-0/+3
| | | | | | * libcsupport/include/clockdrv.h, libcsupport/include/console.h, libcsupport/include/spurious.h, libcsupport/include/rtems/error.h, libcsupport/include/rtems/libcsupport.h: Add missing includes.
* 2010-08-10 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2010-08-101-0/+2
| | | | | | | | | PR 1661/testing * libcsupport/Makefile.am, libcsupport/include/rtems/libcsupport.h: Add public methods to get/set malloc heap pointer so the tests do not have to peer behind the API. * libcsupport/src/mallocgetheapptr.c, libcsupport/src/mallocsetheapptr.c: New files.
* 2009-10-14 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2009-10-141-10/+4
| | | | | * libcsupport/include/rtems/libcsupport.h: Remove RTEMS_UNIX, hpux. Fix extern "C" {}.
* 2009-09-26 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2009-09-261-2/+2
| | | | | | * libcsupport/include/rtems/libcsupport.h, libcsupport/src/newlibc_reent.c: Eliminate use of deprecated rtems_extension.
* 2009-09-14 Sebastian Huber <Sebastian.Huber@embedded-brains.de>Joel Sherrill2009-09-141-3/+3
| | | | | | | | | | | | | | | | | | * score/src/wkspace.c: Removed work space area consistency checks. * libblock/include/rtems/ide_part_table.h: Functions are now deprecated. * libcsupport/include/rtems/libcsupport.h, libcsupport/src/calloc.c, libcsupport/src/malloc_boundary.c, libcsupport/src/malloc_initialize.c, libcsupport/src/malloc_report_statistics_plugin.c, libcsupport/src/malloc_statistics_helpers.c, libcsupport/src/malloc_walk.c, libcsupport/src/realloc.c, rtems/inline/rtems/rtems/region.inl: Update for heap API changes. 2009-09-14 Christian Mauderer <christian.mauderer@embedded-brains.de> * libcsupport/src/vprintk.c: Fixed warnings. Print nothing in case the pointer to the string is NULL.
* 2008-09-17 Miao Yan <yanmiaobest@gmail.com>Joel Sherrill2008-09-171-12/+12
| | | | | | | | | | | | | | | | | | | | | | | * Makefile.am, preinstall.am, libcsupport/Makefile.am, libcsupport/include/rtems/libcsupport.h, libcsupport/include/rtems/libio.h, libcsupport/src/base_fs.c, libcsupport/src/libio_init.c, libcsupport/src/newlibc_exit.c, libcsupport/src/newlibc_init.c, libcsupport/src/sync.c, libfs/Makefile.am, libfs/src/imfs/deviceio.c, sapi/include/confdefs.h: Merge GSOC project code to add simple device only filesystem (devfs), optionally completely drop out filesystem, and to clean up disabling newlib reentrancy support. This dropped 17K from the minimum.exe for sparc/sis and arm/rtl22xx_t now has a 15K code space. * libcsupport/src/__usrenv.c, libcsupport/src/newlibc_reent.c, libfs/src/devfs/devclose.c, libfs/src/devfs/devfs.h, libfs/src/devfs/devfs_eval.c, libfs/src/devfs/devfs_init.c, libfs/src/devfs/devfs_mknod.c, libfs/src/devfs/devfs_node_type.c, libfs/src/devfs/devfs_show.c, libfs/src/devfs/devioctl.c, libfs/src/devfs/devopen.c, libfs/src/devfs/devread.c, libfs/src/devfs/devstat.c, libfs/src/devfs/devwrite.c, libfs/src/imfs/deviceerrno.c: New files. * libcsupport/src/newlibc.c: Removed.
* Convert using "bool".Ralf Corsepius2008-09-011-1/+1
|
* 2008-08-18 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2008-08-181-0/+1
| | | | | | | | * libcsupport/include/rtems/libcsupport.h, libcsupport/src/scandir.c, libmisc/cpuuse/cpuusagereset.c, libmisc/monitor/mon-monitor.c, libmisc/serdbg/serdbg.c, libmisc/serdbg/serdbg.h, libnetworking/netinet/in_cksum_powerpc.h, shttpd/compat_rtems.h: Fix warnings.
* 2008-08-05 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2008-08-051-1/+1
| | | | | | | | PR 537/bsps * libcsupport/include/rtems/libcsupport.h, libcsupport/src/newlibc.c, libcsupport/src/no_libc.c, libcsupport/src/unixlibc.c: Eliminate vestiges of ticks_per_timeslice controlling newlib reentrancy. The parameter was ignored in libc_init().
* Add prototypes.Ralf Corsepius2008-07-291-1/+1
|
* *** empty log message ***Thomas Doerfler2008-07-241-7/+0
|
* Extension of the RTEMS Interrupt ManagerThomas Doerfler2008-07-101-0/+9
| | | | (shared handler and handler with a handle).
* 2007-05-09 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2007-05-091-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* New header guards.Ralf Corsepius2005-01-281-2/+2
|
* Add doxygen preamble.Ralf Corsepius2004-12-021-0/+4
|
* 2003-09-04 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2003-09-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/chain.h, include/clockdrv.h, include/console.h, include/iosupp.h, include/rtc.h, include/spurious.h, include/timerdrv.h, include/vmeintr.h, include/motorola/mc68230.h, include/rtems/libcsupport.h, include/rtems/libio.h, include/rtems/libio_.h, include/rtems/termiostypes.h, include/sys/termios.h, include/zilog/z8036.h, include/zilog/z8530.h, include/zilog/z8536.h, src/__brk.c, src/__gettod.c, src/__sbrk.c, src/__times.c, src/access.c, src/base_fs.c, src/cfgetispeed.c, src/cfgetospeed.c, src/cfsetispeed.c, src/cfsetospeed.c, src/chdir.c, src/chmod.c, src/chown.c, src/chroot.c, src/close.c, src/ctermid.c, src/dup.c, src/dup2.c, src/eval.c, src/fchdir.c, src/fchmod.c, src/fcntl.c, src/fdatasync.c, src/fpathconf.c, src/fs_null_handlers.c, src/fstat.c, src/fsync.c, src/ftruncate.c, src/getdents.c, src/getpwent.c, src/hosterr.c, src/ioctl.c, src/isatty.c, src/libio.c, src/libio_sockets.c, src/link.c, src/lseek.c, src/lstat.c, src/malloc.c, src/mallocfreespace.c, src/mkdir.c, src/mkfifo.c, src/mknod.c, src/mount.c, src/newlibc.c, src/no_libc.c, src/no_posix.c, src/open.c, src/pathconf.c, src/pipe.c, src/privateenv.c, src/read.c, src/readlink.c, src/rewinddir.c, src/rmdir.c, src/seekdir.c, src/stat.c, src/symlink.c, src/sync.c, src/tcdrain.c, src/tcflow.c, src/tcflush.c, src/tcgetattr.c, src/tcgetprgrp.c, src/tcsendbreak.c, src/tcsetattr.c, src/tcsetpgrp.c, src/telldir.c, src/termios.c, src/termiosinitialize.c, src/truncate.c, src/umask.c, src/unixlibc.c, src/unlink.c, src/unmount.c, src/utime.c, src/write.c: URL for license changed.
* 2000-10-18 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2000-10-181-0/+1
| | | | | | | * libc/Makefile.am: Added mallocfreespace.c. * libc/mallocfreespace.c: New file based on work by Nick Simon <Nick.SIMON@syntegra.bt.co.uk> which he included in malloc.c. * libc/libcsupport.h: Added prototype for malloc_free_space().
* Updated copyright notice.Joel Sherrill1999-11-171-2/+1
|
* updated copyright to 1998Joel Sherrill1998-02-171-1/+1
|
* Fixed typo in the pointer to the license terms.Joel Sherrill1997-10-081-2/+2
|
* headers updated to reflect new style copyright notice as partJoel Sherrill1997-04-221-5/+5
| | | | of switching to the modified GNU GPL.
* added prototype for malloc_walkJoel Sherrill1996-09-181-0/+1
|