summaryrefslogtreecommitdiffstats
path: root/cpukit (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Add _IO_Printf() and _IO_Vprintf()Sebastian Huber2017-11-066-206/+463
| | | | | | | | | | | | | | The previous vprintk() implementation had a questionable licence header, lacks support for the 'z' and 'j' format specifiers, is not robust against invalid format specifiers, uses a global variable for output. Replace it with a stripped down version of the FreeBSD kernel kvprintf() function. The new implementation allows a low overhead rtems_snprintf() if necessary. Update #3199. Close #3216.
* posix: Use far future for very long timeoutsSebastian Huber2017-11-023-22/+38
| | | | Close #3205.
* cpukit: RISC-V - make riscv32 code work for riscv64 - v2Hesham Almatary2017-11-0121-49/+72
| | | | | | | | | * Use #ifdefs for 32/64 bit code * Use unsigned long which is 32-bit on riscv32 and 64-bit on riscv64 (register size) * Move the code to a new shared riscv folder to be shared between riscv32 and riscv64 * Rename RTEMS_CPU extracted from command line to shared riscv target s/riscv*/riscv Update #3109
* score: Fix non-SMP buildSebastian Huber2017-10-291-1/+1
|
* rtems: Add rtems_print_printer_fprintf_putc()Sebastian Huber2017-10-283-11/+82
| | | | | Update #3170. Update #3199.
* tests: Move rtems_test_printer definitionSebastian Huber2017-10-283-3/+14
| | | | | | | Statically initialize it to use printk(). Update #3170. Update #3199.
* riscv32: Add missing preinstall.amSebastian Huber2017-10-281-0/+57
| | | | Update #3109.
* score: Fix _Scheduler_Set_affinity()Sebastian Huber2017-10-282-5/+11
|
* posix: Fix pthread_create() with user stackSebastian Huber2017-10-281-3/+11
| | | | | | | In case the user provides a stack with address and size, then do not alter the stack size. Close #3211.
* score: Simplify SMP get lowest scheduledSebastian Huber2017-10-283-28/+18
| | | | | | There is no need to pass in the order relation since the scheduled threads reside on an already ordered chain. The caller will decide what to do with the lowest scheduled thread.
* cpukit: Add basic riscv32 architecture port v3Hesham Almatary2017-10-2817-0/+3446
| | | | | | | Limitations: * NO FPU support [TODO] Update #3109
* cpukit: librpc - add riscv* to xdr_float.c v3Hesham Almatary2017-10-281-0/+1
|
* Add riscv32 to autotools files v3Hesham Almatary2017-10-282-0/+2
|
* score: Delete _Scheduler_Thread_set_priority()Sebastian Huber2017-10-261-12/+0
|
* confdefs: CONFIGURE_MICROSECONDS_PER_TICKSebastian Huber2017-10-251-0/+4
| | | | Reject non-positive CONFIGURE_MICROSECONDS_PER_TICK values.
* rtems: rtems_clock_get_ticks_per_second()Sebastian Huber2017-10-252-0/+5
| | | | | | | Add macro implementation for rtems_clock_get_ticks_per_second() for C/C++ to avoid the function call overhead. A rtems_clock_get_ticks_per_second() is still provided for language bindings (e.g. Ada).
* score: Move thread queue timeout handlingSebastian Huber2017-10-2449-877/+639
| | | | | Update #3117. Update #3182.
* score: Rename function threadq support functionSebastian Huber2017-10-2419-26/+23
| | | | | | | | | Rename _Thread_queue_Context_set_do_nothing_enqueue_callout() into _Thread_queue_Context_set_enqueue_do_nothing_extra(). More _Thread_queue_Context_set_enqueue_*() functions will follow. Update #3117. Update #3182.
* score: Add _Thread_Continue()Sebastian Huber2017-10-242-10/+33
| | | | | Update #3117. Update #3182.
* score: _Watchdog_Per_CPU_lazy_insert_monotonic()Sebastian Huber2017-10-241-0/+25
| | | | | Update #3117. Update #3182.
* score: Add _Watchdog_Monotonic_from_timespec()Sebastian Huber2017-10-241-0/+16
| | | | | Update #3117. Update #3182.
* score: Add _Watchdog_Nanoseconds_per_tickSebastian Huber2017-10-243-10/+14
| | | | | | | Move it from the configuration to a separate variable. Update #3117. Update #3182.
* score: _Watchdog_Is_far_future_monotonic_timespecSebastian Huber2017-10-243-0/+19
| | | | | Update #3117. Update #3182.
* score: Add _Watchdog_Is_valid_interval_timespec()Sebastian Huber2017-10-241-0/+7
| | | | | Update #3117. Update #3182.
* score: _Watchdog_Is_far_future_realtime_timespec()Sebastian Huber2017-10-241-9/+32
| | | | | Update #3117. Update #3182.
* score: Rename _Watchdog_Ticks_from_*()Sebastian Huber2017-10-246-9/+9
| | | | | | | | | | Rename _Watchdog_Ticks_from_*() to _Watchdog_Realtime_from_*(). This highlights that these routines are used for the CLOCK_REALTIME watchdogs (in contrast to CLOCK_MONOTONIC). Update #3117. Update #3182.
* confdefs: Warn about problematic ticks per secondSebastian Huber2017-10-241-0/+4
| | | | | | | | A non-integer clock ticks per second value may lead to inaccurate time format conversions. Update #3117. Update #3182.
* rtems: Simplify RTEMS_MILLISECONDS_TO_MICROSECONDSSebastian Huber2017-10-241-1/+1
| | | | | | | Remove the cast so that it can be used in C pre-processor directives. Update #3117. Update #3182.
* score: Add _Watchdog_Ticks_per_secondSebastian Huber2017-10-243-4/+13
| | | | | | | | This value is frequently used. Avoid the function call overhead and the integer division at run-time. Update #3117. Update #3182.
* score: Add _Thread_Add_timeout_ticks()Sebastian Huber2017-10-244-20/+8
| | | | | | | | Replace _Thread_Timer_insert_monotonic() with _Thread_Add_timeout_ticks(). Update #3117. Update #3182.
* posix: Do not touch msg priority in case of errorSebastian Huber2017-10-241-4/+4
|
* posix: Fix POSIX disabled buildSebastian Huber2017-10-231-1/+4
| | | | Update #2514.
* score: Fix warningSebastian Huber2017-10-211-1/+1
|
* posix: Fix POSIX disabled buildSebastian Huber2017-10-181-0/+4
| | | | Update #2514.
* posix: Simplify _POSIX_Threads_Create_extension()Sebastian Huber2017-10-172-17/+4
| | | | | | Move unblocked signals initialization to pthread_create(). Update #2514.
* posix: Remove POSIX_API_Control::schedparamSebastian Huber2017-10-178-31/+80
| | | | | | | | Move sporadic server scheduler parameters to POSIX_API_Control::Sporadic. Remove redundant scheduler priority parameter. Update #2514.
* posix: Move POSIX_API_Control::threadSebastian Huber2017-10-172-5/+5
| | | | | | This member is only used by the sporadic server support. Update #2514.
* posix: Fix _POSIX_Threads_Create_extension()Sebastian Huber2017-10-172-2/+2
| | | | | | The thread POSIX API control must be fully initialized in _POSIX_Threads_Create_extension(), otherwise a pthread_setschedparam() is broken for all threads not created with pthread_create().
* score: Rename _Watchdog_Per_CPU_insert_monotonic()Sebastian Huber2017-10-176-6/+6
| | | | | | | | Rename _Watchdog_Per_CPU_insert_monotonic() in _Watchdog_Per_CPU_insert_ticks(). Update #3117. Update #3182.
* score: Rename watchdog variantsSebastian Huber2017-10-1721-53/+57
| | | | | | | | | | | Rename PER_CPU_WATCHDOG_RELATIVE in PER_CPU_WATCHDOG_MONOTONIC to highlight the corresponding POSIX CLOCK_MONOTONIC. Rename PER_CPU_WATCHDOG_ABSOLUTE in PER_CPU_WATCHDOG_REALTIME to highlight the corresponding POSIX CLOCK_REALTIME. Update #3117. Update #3182.
* doxygen: Set the Latex generation default to NO.Chris Johns2017-10-121-1/+1
| | | | Closes #3130.
* score: Remove unused function declarationSebastian Huber2017-10-121-15/+0
|
* Use right time format in _times()Sebastian Huber2017-10-121-9/+5
| | | | | Update #2740. Close #3179.
* posix: Fix const qualifier warningSebastian Huber2017-10-121-2/+4
| | | | | Update #2514. Update #3179.
* confdefs: Add warnings for obsolete optionsSebastian Huber2017-10-121-1/+21
| | | | | | | | | Update #2674. Close #3112. Close #3113. Close #3114. Close #3115. Close #3116.
* timecounter: Update FreeBSD identifiersSebastian Huber2017-10-125-5/+5
| | | | Update #3175.
* timecounter: Merge FreeBSD change r324528Konstantin Belousov2017-10-121-3/+1
| | | | | | | | | | | | The th_bintime, th_microtime and th_nanotime members of the timehand all cache the last system time (uptime + boottime). Only the format differs. Do not re-calculate the bintime and simply use the value used to calculate the microtime and nanotime. Group all the updates under the relevant comment. Remove obsoleted XXX part. Submitted by: Sebastian Huber <sebastian.huber@embedded-brains.de> MFC after: 1 week Update #3175.
* timecounter: Merge FreeBSD change r315287Eric van Gyzen2017-10-121-0/+10
| | | | | | | | | | | | | | | | | | Add missing pieces of r315280 I moved this branch from github to a private server, and pulled from the wrong one when committing r315280, so I failed to include two recent commits. Thankfully, they were only cosmetic and were included in the review. Specifically: Add documentation, polish comments, and improve style(9). Tested by: pho (r315280) MFC after: 2 weeks Sponsored by: Dell EMC Differential Revision: https://reviews.freebsd.org/D9791 Update #3175.
* timecounter: Merge FreeBSD change r315280Eric van Gyzen2017-10-121-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the RTC is adjusted, reevaluate absolute sleep times based on the RTC POSIX 2008 says this about clock_settime(2): If the value of the CLOCK_REALTIME clock is set via clock_settime(), the new value of the clock shall be used to determine the time of expiration for absolute time services based upon the CLOCK_REALTIME clock. This applies to the time at which armed absolute timers expire. If the absolute time requested at the invocation of such a time service is before the new value of the clock, the time service shall expire immediately as if the clock had reached the requested time normally. Setting the value of the CLOCK_REALTIME clock via clock_settime() shall have no effect on threads that are blocked waiting for a relative time service based upon this clock, including the nanosleep() function; nor on the expiration of relative timers based upon this clock. Consequently, these time services shall expire when the requested relative interval elapses, independently of the new or old value of the clock. When the real-time clock is adjusted, such as by clock_settime(3), wake any threads sleeping until an absolute real-clock time. Such a sleep is indicated by a non-zero td_rtcgen. The sleep functions will set that field to zero and return zero to tell the caller to reevaluate its sleep duration based on the new value of the clock. At present, this affects the following functions: pthread_cond_timedwait(3) pthread_mutex_timedlock(3) pthread_rwlock_timedrdlock(3) pthread_rwlock_timedwrlock(3) sem_timedwait(3) sem_clockwait_np(3) I'm working on adding clock_nanosleep(2), which will also be affected. Reported by: Sebastian Huber <sebastian.huber@embedded-brains.de> Reviewed by: jhb, kib MFC after: 2 weeks Relnotes: yes Sponsored by: Dell EMC Differential Revision: https://reviews.freebsd.org/D9791 Update #3175.
* timecounter: Merge FreeBSD change r310053Ed Schouten2017-10-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | Add labels to sysctls related to clocks. Sysctls like kern.eventtimer.et.*.quality currently embed the name of the clock device. This is problematic for the Prometheus metrics exporter for two reasons: - Some of those clocks have dashes in their names, which Prometheus doesn't allow to be used in metric names. - It doesn't allow for extracting the same property of all clocks on the system from within a single query. Attach these nodes to have a label, so that the Prometheus metrics exporter gives these metric a uniform name with the name of the clock attached as a label. Reviewed by: cem Differential Revision: https://reviews.freebsd.org/D8775 Update #3175.