summaryrefslogtreecommitdiffstats
path: root/cpukit/libcsupport (follow)
Commit message (Collapse)AuthorAgeFilesLines
* libcsupport: Fix printk warnings.Chris Johns2016-05-251-2/+2
|
* cpukit, testsuite: Add rtems_printf and rtems_printer support.Chris Johns2016-05-258-36/+132
| | | | | | | | | | | | | | | | | | | This change adds rtems_printf and related functions and wraps the RTEMS print plugin support into a user API. All references to the plugin are removed and replaced with the rtems_printer interface. Printk and related functions are made to return a valid number of characters formatted and output. The function attribute to check printf functions has been added to rtems_printf and printk. No changes to remove warrnings are part of this patch set. The testsuite has been moved over to the rtems_printer. The testsuite has a mix of rtems_printer access and direct print control via the tmacros.h header file. The support for begink/endk has been removed as it served no purpose and only confused the code base. The testsuite has not been refactored to use rtems_printf. This is future work.
* score: Add Thread_Change_life()Sebastian Huber2016-05-201-4/+6
| | | | | | | | | Add _Thread_Change_life_locked() as a general function to alter the thread life state. Use it to implement _Thread_Set_life_protection() as a first step. Update #2555. Update #2626.
* posix: Simplify message queuesSebastian Huber2016-05-022-2/+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.
* score: Simplify _Objects_Get_next()Sebastian Huber2016-04-211-3/+1
| | | | Remove unused location parameter.
* malloc: Avoid memory leaks during task deleteSebastian Huber2016-04-061-1/+3
| | | | | Call _Malloc_Process_deferred_frees() owning the allocator lock to prevent deletion of the executing thread while doing the deferred frees.
* malloc: Fix early realloc() allocationSebastian Huber2016-04-063-46/+51
|
* Move various driver interface definition headers file libcsupport/ to include/Joel Sherrill2016-03-307-579/+1
| | | | | | | | | | | These were in libcsupport for historical reasons and the placement no longer made sense. As part of this move, some of the files were placed under subdirectories which reflect their installed location. Thank you git for allowing us to move files. Years of CVS resulted in files being somewhere they no longer belonged.
* posix: Use per-thread lookup tree for POSIX KeysSebastian Huber2016-03-181-17/+10
| | | | | | Yields higher performance on SMP systems. Close #2625.
* score: Fix CPU time used by executing threadsSebastian Huber2016-03-171-15/+11
| | | | | | | | | | | | | | The CPU time used of a thread was previously maintained per-processor mostly during _Thread_Dispatch(). However, on SMP configurations the actual processor of a thread is difficult to figure out since thread dispatching is a highly asynchronous process (e.g. via inter-processor interrupts). Only the intended processor of a thread is known to the scheduler easily. Do the CPU usage accounting during thread heir updates in the context of the scheduler operations. Provide the function _Thread_Get_CPU_time_used() to get the CPU usage of a thread using proper locks to get a consistent value. Close #2627.
* malloc: Fix function definitionSebastian Huber2016-03-011-1/+1
| | | | Close #2617.
* malloc: Add _Malloc_System_state()Sebastian Huber2016-02-257-115/+79
| | | | | | | | | | Replace malloc_is_system_state_OK() with _Malloc_System_state() to allow early allocations, e.g. in bsp_start(). Here the _Thread_Executing is NULL, thus an _API_Mutex_Lock() would lead to a NULL pointer access. Move malloc() support code to general case rtems_heap_allocate_aligned_with_boundary(). Use rtems_heap_allocate_aligned_with_boundary() to avoid duplicated code.
* malloc: Use dedicated lock for deferred freesSebastian Huber2016-02-251-9/+26
|
* malloc: Clean up "malloc_p.h" header fileSebastian Huber2016-02-252-8/+8
|
* Use linker set for libio initializationSebastian Huber2016-02-034-47/+14
| | | | Update #2408.
* Use atexit() handler to close std file descriptorsSebastian Huber2016-02-033-5/+3
|
* Use linker set for root file system initializationSebastian Huber2016-02-032-7/+0
| | | | Update #2408.
* Filesystem: Export most generic path eval functionSebastian Huber2016-02-023-22/+6
| | | | | | | | Add path length parameter to rtems_filesystem_eval_path_start_with_root_and_current() so that users may pass paths without a '\0' termination. Update #2558.
* Remove M32R architectureJoel Sherrill2016-01-041-3/+1
| | | | updates #2446.
* api: Remove deprecated NotepadsAun-Ali Zaidi2015-12-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Notepads where a feature of RTEMS' tasks that simply functioned in the same way as POSIX keys or threaded local storage (TLS). They were introduced well before per task variables, which are also deprecated, and were barely used in favor of their POSIX alternatives. In addition to their scarce usage, Notepads took up unnecessary memory. For each task: - 16 32-bit integers were allocated. - A total of 64 bytes per task per thread. This is especially critical in low memory and safety-critical applications. They are also defined as uint32_t, and therefore are not guaranteed to hold a pointer. Lastly, they are not portable solutions for SMP and uniprocessor systems, like POSIX keys and TLS. updates #2493.
* Delete unused declarations and defineSebastian Huber2015-11-271-5/+1
|
* Delete empty libc_init()Sebastian Huber2015-11-273-47/+1
|
* Require __getreent()Sebastian Huber2015-11-251-9/+0
| | | | | This function is used by Newlib since 2013-07-09 (Git commit 9b51cd8c6b9cdd067d9648a7ab952884019c56a5).
* Import latest <sys/ttycom.h> from FreeBSDSebastian Huber2015-11-171-57/+62
| | | | Required by new network stack.
* Merge with latest <sys/sockio.h> from FreeBSDSebastian Huber2015-11-171-5/+53
| | | | Required by new network stack.
* Import latest <sys/filio.h> from FreeBSDSebastian Huber2015-11-172-17/+13
| | | | Required by new network stack.
* basdefs.h: Add and use RTEMS_UNUSEDSebastian Huber2015-10-2632-39/+54
|
* basedefs.h: Add and use RTEMS_NO_RETURNSebastian Huber2015-10-261-1/+1
|
* rbheap: Drop direction from _RBTree_Iterate()Sebastian Huber2015-08-311-3/+0
|
* score: Introduce Thread_queue_HeadsSebastian Huber2015-07-231-2/+2
| | | | | | | | | | | | | Move the storage for the thread queue heads to the threads. Each thread provides a set of thread queue heads allocated from a dedicated memory pool. In case a thread blocks on a queue, then it lends its heads to the queue. In case the thread unblocks, then it takes a free set of threads from the queue. Since a thread can block on at most one queue this works. This mechanism is used in FreeBSD. The motivation for this change is to reduce the memory demands of the synchronization objects. On a 32-bit uni-processor configuration the Thread_queue_Control size is now 8 bytes, compared to 64 bytes in RTEMS 4.10 (other changes reduced the size as well).
* libcsupport: Workaround for GCC 5.1 and laterSebastian Huber2015-07-151-2/+6
| | | | | Disable an optimization which would lead to a recursive calloc() call in calloc().
* score: Simplify <rtems/system.h>Sebastian Huber2015-06-261-0/+1
| | | | | Drop the <rtems/score/percpu.h> include since this file exposes a lot of implementation details.
* Remove use ticks for statistics configure option.Joel Sherrill2015-06-151-38/+30
| | | | | | | | | | This was obsolete and broken based upon recent time keeping changes. Thie build option was previously enabled by adding USE_TICKS_FOR_STATISTICS=1 to the configure command line. This propagated into the code as preprocessor conditionals using the __RTEMS_USE_TICKS_FOR_STATISTICS__ conditional.
* kill_noposix.c: Remove obsolete __kill()Joel Sherrill2015-05-211-6/+0
|
* Filesystem: Thread life protection for env changesSebastian Huber2015-05-191-10/+10
|
* libcsupport: Fix umask() lockingSebastian Huber2015-05-191-7/+2
| | | | | Delete comment related to an obsolete implementation of rtems_libio_set_private_env().
* libcsupport: Avoid Giant lock in rtems_verror()Sebastian Huber2015-05-191-1/+1
|
* Filesystem: Use lock for deferred releaseSebastian Huber2015-05-191-4/+17
|
* libcsupport: Avoid Giant lock in _times()Sebastian Huber2015-05-191-5/+6
|
* libcsupport: Include missing header fileSebastian Huber2015-03-261-0/+1
|
* libcsupport: Delete superfluous _gettimeofday()Sebastian Huber2015-03-101-16/+0
|
* Move contents of libcsupport/include/zilog into libbsp/sharedJoel Sherrill2015-03-094-223/+0
| | | | Only a few BSPs use this and it should not have been in libcsupport.
* Remove unused cpukit/libcsupport/include/zilog/z8536.hJoel Sherrill2015-03-093-122/+0
|
* Move libcsupport/include/motorola/*.h to m68k/idp BSPJoel Sherrill2015-03-093-392/+0
| | | | | | | These header files were only used by one BSP and they are hardware dependent. The hardware dependency always made them bad candidates for where they were in the tree. But this fixes that.
* vprintk.c: Reorder switch and add default to eliminate warningJoel Sherrill2015-03-091-4/+5
|
* Fix even more Doxygen issuesJoel Sherrill2015-03-061-1/+1
|
* Filesystem: Delete unused null_op_fsmount_me()Sebastian Huber2015-03-051-8/+0
|
* libcsupport: scale times() call to microsecondsGedare Bloom2015-03-041-6/+7
|
* Don't fail to create passwd and group files if /etc already existsNick Withers2015-02-201-5/+4
|
* sys/event.h: Update to FreeBSD 9.3Sebastian Huber2015-02-131-1/+3
|