summaryrefslogtreecommitdiffstats
path: root/cpukit (follow)
Commit message (Collapse)AuthorAgeFilesLines
* libnetworking: Add minimal getnameinfo()Christian Mauderer2016-06-282-1/+62
| | | | | | | This implementation just falls back to giving a string representation of the IP. It supports IPv4 only. Add test for getnameinfo().
* libnetworking: Import current <netdb.h>Christian Mauderer2016-06-287-52/+212
| | | | | | | | | | | | Import the <netdb.h> from current FreeBSD. This allows to build some current software (e.g. libressl). Add __h_errno(). Update gethostent_r() API. Linux and FreeBSD use a common API now. Adapt the RTEMS one to provide the same one. Match gethostbyname_r() with prototype.
* libnetworking: Add <rtems/rtems_netdb.h>Christian Mauderer2016-06-2813-22/+66
| | | | | Move prototypes of non-portable _get*by*name/addr and _set/end*ent functions. This makes it easier to update <netdb.h>.
* libcsupport: Add dummy for setgroups().Christian Mauderer2016-06-282-1/+27
| | | | | The dummy for setgroups() allows applications using it to build (for example civetweb webserver).
* score: Change Priority_Control to 64-bitSebastian Huber2016-06-2410-19/+26
| | | | | | | | A 32-bit Priority_Control limits the uptime to 49 days with a 1ms clock tick in case the EDF scheduler is used. Increase it to 64-bit to enable proper operation of the EDF scheduler, Close 2173.
* score: Silence integer conversion warningsSebastian Huber2016-06-244-4/+5
|
* score: Move SCHEDULER_EDF_PRIO_MSBSebastian Huber2016-06-244-12/+11
| | | | This is an implementation detail of the EDF scheduler.
* score: Fix _Scheduler_EDF_Yield()Sebastian Huber2016-06-241-1/+1
| | | | A non-preemptive task must yield if it says so.
* posix: Fix pthread_create()Sebastian Huber2016-06-241-4/+7
| | | | Do not access data of the executing thread without proper locks.
* score: Fix EDF no-preempt thread handlingSebastian Huber2016-06-231-1/+4
|
* score: Improve heap protectionAlexander Krutwig2016-06-221-2/+7
| | | | Check block pointers of deferred free list before use.
* score: Add thread priority to scheduler nodesSebastian Huber2016-06-2235-461/+398
| | | | | | | | | | | | | | | | | | The thread priority is manifest in two independent areas. One area is the user visible thread priority along with a potential thread queue. The other is the scheduler. Currently, a thread priority update via _Thread_Change_priority() first updates the user visble thread priority and the thread queue, then the scheduler is notified if necessary. The priority is passed to the scheduler via a local variable. A generation counter ensures that the scheduler discards out-of-date priorities. This use of a local variable ties the update in these two areas close together. For later enhancements and the OMIP locking protocol implementation we need more flexibility. Add a thread priority information block to Scheduler_Node and synchronize priority value updates via a sequence lock on SMP configurations. Update #2556.
* score: Move _RBTree_Find()Sebastian Huber2016-06-228-141/+120
| | | | | | The _RBTree_Find() is no longer used in the score. Move it to sapi and make it rtems_rbtree_find(). Move corresponding types and support functions to sapi.
* score: Move _RBTree_Insert()Sebastian Huber2016-06-225-77/+79
| | | | | The _RBTree_Insert() is no longer used in the score. Move it to sapi and make it rtems_rbtree_insert().
* score: Rework EDF schedulerSebastian Huber2016-06-2212-183/+191
| | | | | | | | | Use inline red-black tree insert. Do not use shifting priorities since this is not supported by the thread queues. Due to the 32-bit Priority_Control this currently limits the uptime to 49days with a 1ms clock tick. Update #2173.
* score: Modify release job scheduler operationSebastian Huber2016-06-229-20/+24
| | | | | | Pass the deadline in watchdog ticks to the scheduler. Update #2173.
* score: Remove hidden deadline overrule for CBSSebastian Huber2016-06-221-22/+8
| | | | | | | Do what the user commands. Maybe we should add a rtems_cbs_period() that calls rtems_rate_monotonic_period() with the right parameter. Update #2173.
* score: Introduce map priority scheduler operationSebastian Huber2016-06-2228-82/+317
| | | | | | | | | | | Introduce map/unmap priority scheduler operations to map thread priority values from/to the user domain to/from the scheduler domain. Use the map priority operation to validate the thread priority. The EDF schedulers use this new operation to distinguish between normal priorities and priorities obtain through a job release. Update #2173. Update #2556.
* score: Delete unused _Scheduler_Priority_compare()Sebastian Huber2016-06-2218-194/+37
| | | | | By convention, thread priorities must be integers in RTEMS. Smaller values represent more important threads.
* rtems: Rework RTEMS API to SuperCore prioritySebastian Huber2016-06-229-115/+199
| | | | | Use same structure as POSIX API for thread priority conversion to/from SuperCore.
* posix: Generalize _POSIX_Priority_To_core()Sebastian Huber2016-06-227-32/+44
| | | | Move POSIX API priority validation into _POSIX_Priority_To_core().
* posix: Make POSIX API aware of scheduler instancesSebastian Huber2016-06-2210-93/+91
|
* posix: Rework sporadic server scheduling policySebastian Huber2016-06-229-193/+254
| | | | | | | | | | | | | | Instead of lowering the priority in case the initial budget is consumed raise the priority for each new period. Restore the normal priority once the initial budget is consumed. This makes it later easier to combine the high priority phase with temporary priority boosts (e.g. via priority ceiling and inheritance). Use the thread lock to protect the POSIX thread attributes instead of the thread state lock. This makes it easier to change the thread priority and keep the POSIX attributes consistent. Fixes a false positive use of uninitialized variable warning.
* posix: Delete POSIX_API_Control::schedparamSebastian Huber2016-06-227-14/+16
| | | | This field was redundant.
* posix: Delete POSIX_API_Control::schedpolicySebastian Huber2016-06-226-10/+4
| | | | This field was redundant.
* posix: Delete POSIX_API_Control::ss_high_prioritySebastian Huber2016-06-222-9/+0
| | | | This field was unused.
* posix: _POSIX_Mutex_Default_attributesSebastian Huber2016-06-228-39/+50
| | | | | | Make _POSIX_Mutex_Default_attributes constant and independent of the scheduler instance. Use INT_MAX to indicate the default ceiling priority.
* posix: pthread_mutexattr_setprioceiling()Sebastian Huber2016-06-222-17/+11
| | | | | | | Accept all priority values in pthread_mutexattr_setprioceiling(). This is in line with POSIX and FreeBSD. The priority is validated in pthread_mutex_init(). Validate the priority only for priority ceiling mutexes.
* sparc: Optimize CPU counter supportSebastian Huber2016-06-225-38/+98
|
* Add printer taskSebastian Huber2016-06-223-0/+310
|
* Rename rtems_test_print() into rtems_test_printf()Sebastian Huber2016-06-222-2/+2
|
* Avoid <rtems/print.h> in <rtems/rtems/ratemon.h>Sebastian Huber2016-06-221-2/+3
| | | | | This gets rid of the pull in of <stdarg.h> via <rtems.h> via <rtems/rtems/ratemon.h> via <rtems/print.h>.
* Move printer initialization to separate headerSebastian Huber2016-06-2224-93/+150
| | | | | | The RTEMS print user need to know nothing about a particular printer implementation. In particular get rid of the <stdio.h> include which would be visible via <rtems.h>.
* Make rtems/print.h independent of rtems/bspIo.hSebastian Huber2016-06-228-18/+24
|
* Rename and move RTEMS_PRINTF_ATTRIBUTE()Sebastian Huber2016-06-224-14/+18
| | | | | Rename RTEMS_PRINTF_ATTRIBUTE() into RTEMS_PRINTFLIKE() (similar to <sys/cdefs.h> __printflike()) and move it to <rtems/score/basedefs.h>.
* Make rtems_fprintf_plugin() staticSebastian Huber2016-06-222-14/+1
|
* Make rtems_printf_plugin() staticSebastian Huber2016-06-222-19/+6
|
* Make printk_plugin() staticSebastian Huber2016-06-222-20/+9
|
* sparc: Rework CPU counter supportSebastian Huber2016-06-214-26/+88
| | | | | Rework CPU counter support to enable use of the GR740 up-counter via %asr22 and %asr23.
* score: Refine system initialization orderSebastian Huber2016-06-201-3/+13
|
* Add pthread_condattr_getclock() and pthread_condattr_setclock()Joel Sherrill2016-06-163-1/+87
| | | | updates #2608.
* score: Fix thread delete race condition on SMPSebastian Huber2016-06-161-6/+17
|
* rtems: Fix rtems_semaphore_create()Sebastian Huber2016-06-161-0/+4
| | | | | Destroy the thread queue in case of a priority ceiling violation, otherwise the SMP profiling data gets corrupted.
* posix: Fix poradic server initial CPU budgetSebastian Huber2016-06-153-10/+11
| | | | Update #2738.
* posix: Use _POSIX_Threads_Sporadic_timer_insert()Sebastian Huber2016-06-153-15/+16
|
* posix: Remove superfluous codeSebastian Huber2016-06-151-61/+0
| | | | Remove double declarations, useless comments and unused functions.
* posix: sched_get_priority_max()Sebastian Huber2016-06-142-3/+12
| | | | | | Enable for all configurations since it pulls in no additional dependencies. Return value of the scheduler instance of the executing thread.
* posix: sched_get_priority_min()Sebastian Huber2016-06-141-1/+3
| | | | | Enable for all configurations since it pulls in no additional dependencies.
* score: _Scheduler_priority_Ready_queue_initializeSebastian Huber2016-06-144-7/+17
| | | | | Use priority maximum of scheduler instance. This avoids a potential memory corruption on SMP configurations.
* score: _Thread_Create_idle_for_CPU()Sebastian Huber2016-06-141-12/+12
| | | | Use priority maximum of scheduler instance.