summaryrefslogtreecommitdiffstats
path: root/cpukit/sapi/include/rtems (follow)
Commit message (Collapse)AuthorAgeFilesLines
* sapi: Remove obsolete README fileSebastian Huber2020-11-271-129/+0
|
* Remove make preinstallChris Johns2018-01-2519-4604/+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.
* sapi: New implementation of rtems_panic()Sebastian Huber2017-11-221-0/+12
| | | | | | | | | | | | 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 a Version API.Chris Johns2017-11-101-0/+77
| | | | | | | | 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.
* score: Add _Watchdog_Nanoseconds_per_tickSebastian Huber2017-10-241-9/+3
| | | | | | | Move it from the configuration to a separate variable. Update #3117. Update #3182.
* score: Add simple affinity support to EDF SMPSebastian Huber2017-07-101-3/+6
| | | | Update #3059.
* score: Add SMP EDF schedulerSebastian Huber2017-06-291-1/+19
| | | | Update #3056.
* confdefs.h: Add SMP enabled field to configurationSebastian Huber2017-05-161-1/+5
| | | | | | | | | | | 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.
* sapi: Fix warningsSebastian Huber2017-02-151-1/+1
|
* Remove CONFIGURE_SMP_APPLICATIONSebastian Huber2017-02-021-6/+2
| | | | | | Enable the SMP support if CONFIGURE_SMP_MAXIMUM_PROCESSORS > 1. Update #2893.
* sapi: Add rtems_task_terminate_extensionSebastian Huber2017-01-261-0/+1
|
* Clarify simple timecounter documentationSebastian Huber2016-12-211-13/+21
|
* score: Remove fatal is internal indicatorSebastian Huber2016-12-091-7/+10
| | | | | | | | | The fatal is internal indicator is redundant since the fatal source and error code uniquely identify a fatal error. Keep the fatal user extension is internal parameter for backward compatibility and set it to false always. Update #2825.
* score: Add missing const qualifiersSebastian Huber2016-09-061-4/+4
|
* score: Add debug support to chainsSebastian Huber2016-07-222-0/+16
| | | | | | | This helps to detect * double insert, append, prepend errors, and * get from empty chain errors.
* score: Move _RBTree_Find()Sebastian Huber2016-06-221-13/+59
| | | | | | 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-221-11/+21
| | | | | The _RBTree_Insert() is no longer used in the score. Move it to sapi and make it rtems_rbtree_insert().
* cpukit, testsuite: Add rtems_printf and rtems_printer support.Chris Johns2016-05-251-17/+4
| | | | | | | | | | | | | | | | | | | 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 per scheduler instance maximum prioritySebastian Huber2016-05-201-1/+17
| | | | | | | | | | | The priority values are only valid within a scheduler instance. Thus, the maximum priority value must be defined per scheduler instance. The first scheduler instance defines PRIORITY_MAXIMUM. This implies that RTEMS_MAXIMUM_PRIORITY and POSIX_SCHEDULER_MAXIMUM_PRIORITY are only valid for threads of the first scheduler instance. Further API/implementation changes are necessary to fix this. Update #2556.
* score: Add dummy Strong APA schedulerSebastian Huber2016-05-021-0/+20
| | | | | | Start with a copy of the Priority SMP scheduler implementation. Update #2510.
* score: Optimize _Objects_Get_no_protection()Sebastian Huber2016-04-211-1/+1
| | | | | Make the id the first parameter since usual callers get the object identifier as the first parameter themself.
* sapi: Avoid Giant lock for extensionsSebastian Huber2016-04-181-5/+2
| | | | | | Extension create and delete is protected by the object allocator lock. Update #2555.
* score: Delete _Chain_Append()Sebastian Huber2016-04-061-10/+0
| | | | | | This function is not used in the score. Update #2555.
* score: Delete _Chain_Get()Sebastian Huber2016-04-061-9/+0
| | | | | | This function is not used in the score. Update #2555.
* score: Delete _Chain_Extract()Sebastian Huber2016-04-061-9/+0
| | | | | | This function is not used in the score. Update #2555.
* score: Delete _Chain_Insert()Sebastian Huber2016-04-061-10/+0
| | | | | | This function is not used in the score. Update #2555.
* score: Delete _Chain_Get_with_empty_check()Sebastian Huber2016-04-061-10/+0
| | | | | | This function is not used in the score. Update #2555.
* score: Delete _Chain_Prepend_with_empty_check()Sebastian Huber2016-04-061-10/+0
| | | | | | This function is not used in the score. Update #2555.
* score: Delete _Chain_Append_with_empty_check()Sebastian Huber2016-04-061-10/+0
| | | | | | This function is not used in the score. Update #2555.
* score: Delete _Chain_Prepend()Sebastian Huber2016-04-061-10/+0
| | | | | | This function is not used in the score. Update #2555.
* score: Use ISR lock for IO driver registrationSebastian Huber2016-03-142-13/+65
| | | | | | Create implementation header file. Update #2555.
* score: Delete unused SAPI_IO_EXTERNSebastian Huber2016-03-141-4/+0
| | | | Update #2559.
* Use linker set for MPCI initializationSebastian Huber2016-02-033-81/+9
| | | | Update #2408.
* Optional Extensions initializationSebastian Huber2016-02-031-12/+1
| | | | Update #2408.
* score: Fix simple timecounter supportSebastian Huber2016-01-191-6/+29
| | | | Update #2502.
* score: Introduce Thread_Entry_informationSebastian Huber2016-01-111-1/+1
| | | | | | | This avoids potential dead code in _Thread_Handler(). It gets rid of the dangerous function pointer casts. Update #2514.
* api: Remove deprecated NotepadsAun-Ali Zaidi2015-12-241-3/+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.
* Use linker set for system initializationSebastian Huber2015-12-111-38/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make rtems_initialize_data_structures(), rtems_initialize_before_drivers() and rtems_initialize_device_drivers() static. Rename rtems_initialize_start_multitasking() to rtems_initialize_executive() and call the registered system initialization handlers in this function. Add system initialization API available via #include <rtems/sysinit.h>. Update the documentation accordingly. This is no functional change, only the method to call the existing initialization routines changes. Instead of direct function calls a table of function pointers contained in the new RTEMS system initialization linker set is used. This table looks like this (the actual addresses depend on the target). nm *.exe | grep _Linker | sort 0201a2d0 D _Linker_set__Sysinit_begin 0201a2d0 D _Linker_set__Sysinit_bsp_work_area_initialize 0201a2d4 D _Linker_set__Sysinit_bsp_start 0201a2d8 D _Linker_set__Sysinit_rtems_initialize_data_structures 0201a2dc D _Linker_set__Sysinit_bsp_libc_init 0201a2e0 D _Linker_set__Sysinit_rtems_initialize_before_drivers 0201a2e4 D _Linker_set__Sysinit_bsp_predriver_hook 0201a2e8 D _Linker_set__Sysinit_rtems_initialize_device_drivers 0201a2ec D _Linker_set__Sysinit_bsp_postdriver_hook 0201a2f0 D _Linker_set__Sysinit_end Add test sptests/spsysinit01. Update #2408.
* Remove <rtems/debug.h>Sebastian Huber2015-12-071-2/+0
| | | | Close #2477.
* sapi: Add rtems_chain_get_first_unprotected()Sebastian Huber2015-11-051-0/+10
| | | | Close #2459.
* basdefs.h: Add and use RTEMS_DEPRECATEDSebastian Huber2015-10-262-2/+2
|
* basedefs.h: Add and use RTEMS_NO_RETURNSebastian Huber2015-10-262-5/+5
|
* rbtree: Delete rtems_rbtree_find_control()Sebastian Huber2015-09-011-10/+0
| | | | | This function is hard to support in alternative implementations. It has no internal use case.
* rbtree: Delete _RBTree_Initialize()Sebastian Huber2015-08-311-7/+11
| | | | This function has no internal use case.
* rbtree: Delete _RBTree_Get()Sebastian Huber2015-08-311-10/+32
| | | | This function has no internal use case.
* rbtree: Delete _RBTree_Is_first()Sebastian Huber2015-08-311-2/+2
|
* rbtree: Add _RBTree_Minimum(), _RBTree_Maximum()Sebastian Huber2015-08-311-10/+6
|
* timecounter: Port to RTEMSAlexander Krutwig2015-05-202-0/+445
| | | | | | New test sptests/timecounter01. Update #2271.
* sapi: Avoid declaration in source, fix typeSebastian Huber2015-04-171-0/+2
|
* Fix even more Doxygen issuesJoel Sherrill2015-03-061-1/+1
|