summaryrefslogtreecommitdiffstats
path: root/cpukit (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Add pthread_getconcurrency() and pthread_setconcurrency()Joel Sherrill2016-04-142-0/+43
| | | | | | | | | This is the very simple implementation specified by the Open Group for implementations with 1:1 kernel thread to user thread mappings. http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_getconcurrency.html updates #2680.
* posix: Run key destructors during thread restartSebastian Huber2016-04-141-0/+10
| | | | | | | | | | POSIX key destructors must be called during thread restart. Just like the POSIX cleanup handlers. This ensures that the TLS object destructors are called during thread restart for example. It is important for the global construction, which uses a thread restart to run the Init task in a clean environment. Close #2689.
* cpukit: pppd: fix compile warningPeng Fan2016-04-1313-53/+0
| | | | | | rcsid is defined, but not used. So discard it. Signed-off-by: Peng Fan <van.freenix@gmail.com>
* powerpc: Add FSL_EIS_MAS8Sebastian Huber2016-04-131-0/+2
|
* posix: Rename killinfo()Sebastian Huber2016-04-125-5/+5
| | | | | | Apparently killinfo() is not defined by POSIX, glibc or FreeBSD. Rename killinfo() to _POSIX_signals_Send() to cleary mark it as an internal function.
* shell: Fix warning visible with latest NewlibSebastian Huber2016-04-121-0/+2
| | | | Works also with previous Newlib versions.
* rtems: Delete Region_Control::page_sizeSebastian Huber2016-04-123-3/+1
|
* rtems: Delete Region_Control::lengthSebastian Huber2016-04-124-4/+1
|
* rtems: Delete Region_Control::starting_addressSebastian Huber2016-04-123-6/+4
|
* rtems: Delete Region_Control::number_of_used_blocksSebastian Huber2016-04-127-12/+9
| | | | Use Heap_Statistics::used_blocks instead.
* rtems: Add and use _Region_Get_and_lock()Sebastian Huber2016-04-1210-167/+162
| | | | | Get region and lock allocator in _Region_Get_and_lock() in case the region exists and unlock it in _Region_Unlock().
* score: Simplify _Objects_Get_no_protection()Sebastian Huber2016-04-1214-341/+207
| | | | | | | This functions supports only local objects. Thus, drop the location parameter which was unused by all callers. Remove superfluous includes from Classic Region implementation.
* rtems: Ensure lock ownership for _Region_Get()Sebastian Huber2016-04-122-0/+5
|
* rtems: Remove dead codeSebastian Huber2016-04-121-20/+0
| | | | | The heap protection enabled by RTEMS_DEBUG offers the same functionality and more.
* posix: Use a dedicated lock for scheduler changesSebastian Huber2016-04-125-40/+83
| | | | Update #2555.
* posix: Use proper lock for sigaction()Sebastian Huber2016-04-081-20/+9
| | | | Update #2555.
* score: Compatibility with latest NewlibSebastian Huber2016-04-082-20/+20
|
* libblock: Drop superfluous <stdlib.h> includeSebastian Huber2016-04-077-1/+6
| | | | | | Drop superfluous <stdlib.h> include from <rtems/diskdevs.h> since this leads to conflicts with the latest Newlib in case this header file is used in the FreeBSD kernel space, e.g. for USB mass storage support.
* network: Quirk for Newlib compatibilitySebastian Huber2016-04-071-0/+1
| | | | | Newlib provides now a declration for random() in <stdlib.h>. This confilicts with the define in <rtems/rtems_bsdnet_internal.h>.
* score: Add missing declarationSebastian Huber2016-04-061-0/+7
|
* 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
|
* score: Delete _Chain_Append()Sebastian Huber2016-04-065-79/+1
| | | | | | This function is not used in the score. Update #2555.
* score: Delete _Chain_Get()Sebastian Huber2016-04-065-69/+0
| | | | | | This function is not used in the score. Update #2555.
* score: Delete _Chain_Extract()Sebastian Huber2016-04-065-63/+3
| | | | | | This function is not used in the score. Update #2555.
* score: Delete _Chain_Insert()Sebastian Huber2016-04-065-85/+5
| | | | | | This function is not used in the score. Update #2555.
* score: Delete _Chain_Get_with_empty_check()Sebastian Huber2016-04-065-84/+0
| | | | | | This function is not used in the score. Update #2555.
* score: Delete _Chain_Prepend_with_empty_check()Sebastian Huber2016-04-065-76/+3
| | | | | | This function is not used in the score. Update #2555.
* score: Delete _Chain_Append_with_empty_check()Sebastian Huber2016-04-065-76/+3
| | | | | | This function is not used in the score. Update #2555.
* score: Delete _Chain_Prepend()Sebastian Huber2016-04-064-48/+22
| | | | | | This function is not used in the score. Update #2555.
* rtems: Avoid Giant lock for partitionsSebastian Huber2016-04-066-67/+97
| | | | | | Use an ISR lock to protect the partition state changes. Update #2555.
* score: Use red-black tree for active global objectsSebastian Huber2016-04-068-208/+317
| | | | | | | Use a red-black tree to lookup active global objects by identifier or name. Update #2555.
* score: Use red-black tree for active MP proxiesSebastian Huber2016-04-063-91/+106
| | | | Update #2555.
* score: Add node map to _RBTree_Find_inline()Sebastian Huber2016-04-064-35/+41
|
* posix: Fix _POSIX_signals_Check_signal()Sebastian Huber2016-04-061-20/+11
| | | | | | Do not save and restore the thread wait information. This is superfluous and may overwrite thread wait information updates due to interrupts leading to system corruption.
* posix: Make _POSIX_signals_Check_signal() staticSebastian Huber2016-04-064-123/+75
|
* posix: Use proper lock for signalsSebastian Huber2016-04-061-2/+10
|
* score: Rework MP thread queue callout supportSebastian Huber2016-04-0637-458/+795
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The thread queue implementation was heavily reworked to support SMP. This broke the multiprocessing support of the thread queues. This is fixed by this patch. A thread proxy is unblocked due to three reasons 1) timeout, 2) request satisfaction, and 3) extraction. In case 1) no MPCI message must be sent. This is ensured via the _Thread_queue_MP_callout_do_nothing() callout set during _Thread_MP_Allocate_proxy(). In case 2) and 3) an MPCI message must be sent. In case we interrupt the blocking operation during _Thread_queue_Enqueue_critical(), then this message must be sent by the blocking thread. For this the new fields Thread_Proxy_control::thread_queue_callout and Thread_Proxy_control::thread_queue_id are used. Delete the individual API MP callout types and use Thread_queue_MP_callout throughout. This type is only defined in multiprocessing configurations. Prefix the multiprocessing parameters with mp_ to ease code review. Multiprocessing specific parameters are optional due to use of a similar macro pattern. There is no overhead for non-multiprocessing configurations.
* score: Simplify _Thread_queue_Do_flush()Sebastian Huber2016-04-061-4/+1
| | | | | Also set the thread wait return code for thread proxies since this causes no harm.
* score: _Thread_queue_Flush() parameter changesSebastian Huber2016-04-0621-193/+186
| | | | | | | | | | | | Change _Thread_queue_Flush() into a macro that invokes _Thread_queue_Do_flush() with the parameter set defined by RTEMS_MULTIPROCESSING. For multiprocessing configurations add the object identifier to avoid direct use of the thread wait information. Use mp_ prefix for multiprocessing related parameters. Rename Thread_queue_Flush_callout to Thread_queue_MP_callout since this type will be re-used later for other operations as well.
* score: Fix _Thread_queue_Extract_locked()Sebastian Huber2016-04-061-4/+8
| | | | | | We must update the wait flags under protection of the current thread lock, otherwise a _Thread_Timeout() running on another processor may interfere.
* score: Delete MP support for RW locksSebastian Huber2016-04-069-54/+19
| | | | MP support was not implemented.
* score: Delete Thread_Wait_information::idSebastian Huber2016-04-0632-41/+188
| | | | | | | | | | | This field was only by the monitor in non-multiprocessing configurations. Add new field Thread_Wait_information::remote_id in multiprocessing configurations and use it for the remote procedure call thread queue. Add _Thread_Wait_get_id() to obtain the object identifier for debug and system information tools. Ensure the object layout via static asserts. Add test cases to sptests/spthreadq01.
* score: Add and use _RBTree_Insert_inline()Sebastian Huber2016-04-012-22/+44
|
* score: Add and use _RBTree_Find_inline()Sebastian Huber2016-04-012-22/+73
|
* score: _User_extensions_Remove_set()Sebastian Huber2016-03-311-1/+4
| | | | | | | Use unprotected chain operation in _User_extensions_Remove_set() since the caller must own the object allocator lock. Update #2555.
* Move various driver interface definition headers file libcsupport/ to include/Joel Sherrill2016-03-309-25/+31
| | | | | | | | | | | 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.
* score: Objects_Thread_queue_Extract_calloutSebastian Huber2016-03-3010-23/+28
| | | | | Change parameters of the objects thread queue extract callout to avoid a cast and explicit use of the thread wait information.
* score: Fix set but not used warningSebastian Huber2016-03-301-3/+1
|
* score: Fix statement with no effect warningSebastian Huber2016-03-301-9/+6
| | | | | No need to add an assert due to the fatal error parameter passed to _Objects_MP_Allocate_and_open().