summaryrefslogtreecommitdiffstats
path: root/cpukit/sapi (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* score: Remove Objects_Information::is_stringSebastian Huber2018-12-071-2/+1
| | | | | | Use Objects_Information::name_length to store this information. Update #3621.
* Convert CPU counter ticks to/from sbintime_tSebastian Huber2018-12-031-2/+20
| | | | | The sbintime_t is an efficient time format. Add the ability to convert CPU counter ticks to/from sbintime_t.
* build: Move sapi/Makefile.amSebastian Huber2018-10-093-109/+0
|
* Rename files to make them unique within cpukitSebastian Huber2018-10-042-1/+1
| | | | This allows to build librtemscpu.a in one rush in the future.
* Add _CPU_Counter_frequency()Sebastian Huber2018-06-151-3/+15
| | | | | | | | | | Add rtems_counter_frequency() API function. Use it to initialize the counter value converter via the new system initialization step (RTEMS_SYSINIT_CPU_COUNTER). This decouples the counter implementation and the counter converter. It avoids an unnecessary pull in of the 64-bit integer division from libgcc. Update #3456.
* Add RTEMS_FATAL_SOURCE_INVALID_HEAP_FREESebastian Huber2018-06-051-1/+2
| | | | | | | | An invalid heap usage such as a double free is usually a fatal error since this indicates a use after free. Replace the use of printk() in free() with a fatal error. Update #3437.
* Update rtems_fatal_source_text()Sebastian Huber2018-06-051-2/+3
| | | | | | Add RTEMS_FATAL_SOURCE_PANIC to rtems_fatal_source_text(). Update #3244.
* build: Remove EXTRA_DISTSebastian Huber2018-04-041-1/+0
| | | | | A "make dist" is not supported. So, it makes no sense to have pure "make dist" related stuff in the Makefile.am.
* Remove make preinstallChris Johns2018-01-2522-8315/+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.
* confdefs: Replace RTEMS 4.12 with 5.1Sebastian Huber2017-12-061-8/+8
| | | | Update #3220.
* libio: Use API mutexSebastian Huber2017-12-061-6/+1
|
* drvmgr: Use API mutexSebastian Huber2017-12-061-10/+1
|
* score: Use self-contained API mutexSebastian Huber2017-12-042-18/+1
| | | | | | | | | | Use a self-contained recursive mutex for API_Mutex_Control. The API mutexes are protected against asynchronous thread cancellation. Add dedicated mutexes for libatomic and TOD. Close #2629. Close #2630.
* sapi/src/panic.c: Add include of <rtems/bspIo.h>Joel Sherrill2017-11-291-0/+1
|
* sapi: New implementation of rtems_panic()Sebastian Huber2017-11-223-0/+45
| | | | | | | | | | | | The previous rtems_panic() implementation was quite heavy weight. It depended on _exit() which calls the global destructors. It used fprintf(stderr, ...) for output which depends on an initialized console device and the complex fprintf(). Introduce a new fatal source RTEMS_FATAL_SOURCE_PANIC for rtems_panic() and output via vprintk(). Update #3244.
* cpukit: Add _arc4random_getentropy_fail.Christian Mauderer2017-11-171-1/+2
| | | | | | | Add a default implementation of _arc4random_getentropy_fail with an internal error. Update #3239.
* build: Fix the dependence for the generating the key file.Chris Johns2017-11-141-6/+6
| | | | Update #3217.
* Fix bashism in vc-key.shMartin Erik Werner2017-11-131-2/+2
| | | | | | | Change "==" to "=", since "==" for comparison is not available in POSIX sh. Signed-off-by: Martin Erik Werner <martinerikwerner@gmail.com>
* cpukit: Add a Version API.Chris Johns2017-11-106-1/+227
| | | | | | | | Provide functions to get the version string, major, minor and revision numbers and the version control identifer that is a unique tag for the version control system. Update #3199.
* Add simple console driverSebastian Huber2017-11-061-0/+17
| | | | | Update #3170. Update #3199.
* confdefs: CONFIGURE_MICROSECONDS_PER_TICKSebastian Huber2017-10-251-0/+4
| | | | Reject non-positive CONFIGURE_MICROSECONDS_PER_TICK values.
* score: Add _Watchdog_Nanoseconds_per_tickSebastian Huber2017-10-242-10/+6
| | | | | | | Move it from the configuration to a separate variable. Update #3117. Update #3182.
* score: _Watchdog_Is_far_future_monotonic_timespecSebastian Huber2017-10-241-0/+3
| | | | | 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.
* score: Add _Watchdog_Ticks_per_secondSebastian Huber2017-10-241-0/+4
| | | | | | | | This value is frequently used. Avoid the function call overhead and the integer division at run-time. Update #3117. Update #3182.
* confdefs: Add warnings for obsolete optionsSebastian Huber2017-10-121-1/+21
| | | | | | | | | Update #2674. Close #3112. Close #3113. Close #3114. Close #3115. Close #3116.
* confdefs: Fix typoSebastian Huber2017-10-061-1/+1
|
* posix: Implement self-contained POSIX mutexSebastian Huber2017-10-052-69/+38
| | | | | | | | 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-052-63/+33
| | | | | | | | 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-052-26/+29
| | | | | | | | 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-052-25/+26
| | | | | | | | POSIX barriers are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3114.
* posix: Implement self-contained POSIX semaphoresSebastian Huber2017-10-051-0/+25
| | | | | | | | | | | | | | For semaphore object pointer and object validation see POSIX_SEMAPHORE_VALIDATE_OBJECT(). Destruction or close of a busy semaphore returns an error status. The object is not flushed. POSIX semaphores are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3116.
* confdefs: Fix POSIX keys configurationSebastian Huber2017-08-221-1/+2
| | | | | | | Remove the OBJECTS_UNLIMITED_OBJECTS flag for the memory size configuration. Update #3105.
* INTERNAL_ERROR_ILLEGAL_USE_OF_FLOATING_POINT_UNITSebastian Huber2017-07-251-2/+3
| | | | | | Add new fatal error INTERNAL_ERROR_ILLEGAL_USE_OF_FLOATING_POINT_UNIT. Update #3077.
* score: Make EDF the default SMP schedulerSebastian Huber2017-07-101-2/+2
| | | | | | | | | | | | | The EDF SMP scheduler supports simple thread processor affinities (see #3059) with a small run-time overhead. The current default SMP scheduler lacks support for thread processor affinities at all. The EDF SMP scheduler offers a good feature set for most applications. So, use it by default. Run-time libraries like libgomp, MTAPI, work stealing schedulers, language interpreters (e.g. Erlang virtual machine), maintainence of per-processor data (e.g. Universal Memory Allocator (UMA)), etc. use a one-to-one thread processor affinity for example. Update #3063.
* score: Add simple affinity support to EDF SMPSebastian Huber2017-07-102-4/+8
| | | | Update #3059.
* score: Add SMP EDF schedulerSebastian Huber2017-06-292-1/+43
| | | | Update #3056.
* confdefs.h: Add SMP enabled field to configurationSebastian Huber2017-05-162-1/+12
| | | | | | | | | | | Do not use the processor count to determine if SMP is enabled. Instead use a dedicated configuration option. Enable SMP by default in SMP configurations. Add CONFIGURE_DISABLE_SMP_CONFIGURATION to all test which would fail otherwise. Update #3001.
* confdefs.h: Fix compile error in non-SMP cfgSebastian Huber2017-05-161-1/+1
| | | | | | Bug introduced by f778b7f3f177a39505aeea61206e95fc54f875be. Update #3001.
* confdefs.h: Use SMP scheduler only if necessarySebastian Huber2017-05-121-1/+1
| | | | Update #3001.
* confdefs.h: CONFIGURE_DISABLE_SMP_CONFIGURATIONSebastian Huber2017-05-111-2/+6
| | | | | | | | | | | Enable the SMP configuration by default in case SMP is enabled. Add configuration option CONFIGURE_DISABLE_SMP_CONFIGURATION to disable it explicitly. Add CONFIGURE_DISABLE_SMP_CONFIGURATION to all test which would fail otherwise. Update #3001.
* posix/mman: add mmap support for shm objectsGedare Bloom2017-05-051-1/+2
| | | | Update #2859.
* sapi: Fix warningsSebastian Huber2017-02-151-1/+1
|
* Rename CONFIGURE_SMP_MAXIMUM_PROCESSORSSebastian Huber2017-02-141-43/+44
| | | | | | | Rename CONFIGURE_SMP_MAXIMUM_PROCESSORS to CONFIGURE_MAXIMUM_PROCESSORS since the SMP part is superfluous. Update #2894.
* Prefix confdefs.h internal def with an underscoreSebastian Huber2017-02-031-455/+352
| | | | Close #2895.
* confdefs.h: SimplifySebastian Huber2017-02-031-3/+1
|
* confdefs.h: Only define _CONFIGURE_SMP_APPLICATION if RTEMS_SMP definedKevin Kirspel2017-02-021-0/+2
|
* Remove CONFIGURE_SMP_APPLICATIONSebastian Huber2017-02-022-28/+18
| | | | | | Enable the SMP support if CONFIGURE_SMP_MAXIMUM_PROCESSORS > 1. Update #2893.
* sapi: Add rtems_task_terminate_extensionSebastian Huber2017-01-261-0/+1
|
* posix: shared memory supportGedare Bloom2017-01-131-0/+39
| | | | | | | | | Add POSIX shared memory manager (Shm). Includes a hook-based approach for the backing memory storage that defaults to the Workspace, and a test is provided using the heap. A test is also provided for the basic use of mmap'ing a shared memory object. This test currently fails at the mmap stage due to no support for mmap.