summaryrefslogtreecommitdiffstats
path: root/doc/user (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Remove AVR portJoel Sherrill2016-01-191-1/+0
| | | | closes #2443.
* doc: Mention potential SMP scheduler improvementSebastian Huber2016-01-051-0/+3
|
* Remove M32R architectureJoel Sherrill2016-01-041-2/+1
| | | | updates #2446.
* user/task.t: Add advice on transitioning use of notepadsJoel Sherrill2015-12-241-0/+21
| | | | closes #2493.
* api: Remove deprecated NotepadsAun-Ali Zaidi2015-12-244-214/+4
| | | | | | | | | | | | | | | | | | | | | | | 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.
* doc: SMP status of RTEMSSebastian Huber2015-12-161-0/+3
|
* doc: SMP introductionSebastian Huber2015-12-161-0/+17
|
* Use linker set for system initializationSebastian Huber2015-12-111-216/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Add RTEMS linker setsSebastian Huber2015-12-084-3/+431
| | | | Update #2408.
* sapi: Add rtems_chain_get_first_unprotected()Sebastian Huber2015-11-051-0/+33
| | | | Close #2459.
* CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK was undocumented and not error checkedJoel Sherrill2015-10-271-0/+55
| | | | closes #2431.
* smp: DocumentationSebastian Huber2015-09-041-1/+1
|
* smp: DocumentationSebastian Huber2015-09-041-0/+65
| | | | Close #2274.
* score: Implement priority boostingSebastian Huber2015-09-043-2/+15
|
* score: Implement SMP-specific priority queueSebastian Huber2015-09-041-0/+54
|
* smp: DocumentationSebastian Huber2015-09-041-0/+39
|
* smp: DocumentationSebastian Huber2015-09-043-15/+16
|
* rbtree: Delete rtems_rbtree_find_control()Sebastian Huber2015-09-011-1/+0
| | | | | This function is hard to support in alternative implementations. It has no internal use case.
* user/c_user.texi: Correct info index entryJoel Sherrill2015-08-031-1/+1
| | | | closes #2380.
* Update dateJoel Sherrill2015-07-171-2/+2
|
* doc: Add thread dispatch details for SMPSebastian Huber2015-07-171-0/+69
|
* doc: Clarify interrupts disable problems on SMPSebastian Huber2015-07-171-11/+64
|
* doc: Fix SMP task variables sectionSebastian Huber2015-07-171-10/+10
|
* doc: Clarify SMP configuration definesSebastian Huber2015-07-081-2/+3
|
* rtems: Add rtems_interrupt_local_disable|enable()Sebastian Huber2015-06-221-0/+94
| | | | | | | | Add rtems_interrupt_local_disable|enable() as suggested by Pavel Pisa to emphasize that interrupts are only disabled on the current processor. Do not define the rtems_interrupt_disable|enable|flash() macros and functions on SMP configurations since they don't ensure system wide mutual exclusion.
* user/conf.t: Fix names for CONFIGURE_UNLIMITED_OBJECTS and ↵Joel Sherrill2015-06-151-13/+13
| | | | | | CONFIGURE_UNLIMITED_ALLOCATION_SIZE closes #2368.
* doc: fix typo. closes #2361.Gedare Bloom2015-06-091-1/+1
|
* score: Fine grained locking for message queuesSebastian Huber2015-05-191-1/+4
| | | | | | | | | | | Aggregate several critical sections into a bigger one. Sending and receiving messages is now protected by an ISR lock. Thread dispatching is only disabled in case a blocking operation is necessary. The message copy procedure is done inside the critical section (interrupts disabled). Thus this change may have a negative impact on the interrupt latency in case very large messages are transferred. Update #2273.
* user/libpci.t: Make it build and clean upJoel Sherrill2015-04-171-16/+19
|
* LIBPCI: corrected documentationDaniel Hellstrom2015-04-172-31/+31
|
* LIBPCI: added PCI layer to cpukit/libpciDaniel Hellstrom2015-04-174-2/+471
|
* cpukit: deprecate task variables. closes #2293.Gedare Bloom2015-03-101-0/+11
|
* cpukit: deprecate rtems_clock_get(). closes #2294.Gedare Bloom2015-03-101-0/+2
|
* cpukit: deprecate notepadsGedare Bloom2015-03-103-6/+48
| | | | | | | | | | | | | | | Deprecate Classic API Notepads. Mark task_set/get_note() with the deprecated attribute, and also mark the notepads field. Replace disable with enable option for notepads in confdefs.h, and make notepads disabled by default. The previous option CONFIGURE_DISABLE_CLASSIC_API_NOTEPADS is now unused and will emit a compile-time warning. A new option CONFIGURE_ENABLE_CLASSIC_API_NOTEPADS is available to turn on notepads, but it also will emit a compile-time warning to indicate that notepads are deprecated. Closes #2265
* IMFS: Add CONFIGURE_IMFS_DISABLE_READDIRSebastian Huber2015-02-141-0/+27
|
* IMFS: Rename CONFIGURE_IMFS_DISABLE_FCHMODSebastian Huber2015-02-131-4/+4
| | | | Rename CONFIGURE_IMFS_DISABLE_FCHMOD to CONFIGURE_IMFS_DISABLE_CHMOD.
* IMFS: Add CONFIGURE_IMFS_DISABLE_MKNOD_FILESebastian Huber2015-02-131-0/+26
|
* IMFS: CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEMSebastian Huber2015-02-131-11/+47
| | | | Resurrect CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM.
* IMFS: Add fine grained configurationSebastian Huber2015-02-121-34/+286
| | | | | | | | | | | | | | | | | | Remove miniIMFS. Statically initialize the root IMFS. Add configuration options to disable individual features of the root IMFS, e.g. o CONFIGURE_IMFS_DISABLE_CHOWN, o CONFIGURE_IMFS_DISABLE_FCHMOD, o CONFIGURE_IMFS_DISABLE_LINK, o CONFIGURE_IMFS_DISABLE_MKNOD, o CONFIGURE_IMFS_DISABLE_MOUNT, o CONFIGURE_IMFS_DISABLE_READLINK, o CONFIGURE_IMFS_DISABLE_RENAME, o CONFIGURE_IMFS_DISABLE_RMNOD, o CONFIGURE_IMFS_DISABLE_SYMLINK, o CONFIGURE_IMFS_DISABLE_UNMOUNT, and o CONFIGURE_IMFS_DISABLE_UTIME.
* user/conf.t: Fix typoJoel Sherrill2015-01-261-1/+1
|
* doc: add some red-black tree documentationGedare Bloom2014-12-193-4/+103
| | | | closes #2059
* doc: Clarify rate-monotonic statisticsSebastian Huber2014-12-121-4/+15
|
* doc: Clarify rtems_task_set_priority()Sebastian Huber2014-12-121-0/+3
|
* libcsupport: Delete malloc statisticsSebastian Huber2014-11-281-31/+0
| | | | | | | Use the heap handler statistics instead. Add heap walk option to MALLOC shell command. close #1367
* rtems: Add more clock tick functionsSebastian Huber2014-08-261-0/+104
| | | | | Add rtems_clock_tick_later(), rtems_clock_tick_later_usec() and rtems_clock_tick_before().
* rtems: Inline rtems_clock_get_ticks_since_boot()Sebastian Huber2014-08-251-21/+10
| | | | Update documentation.
* score: Implement scheduler helping protocolSebastian Huber2014-07-091-0/+78
| | | | | | | | | | | | | | | | | | | | | | | | | The following scheduler operations return a thread in need for help - unblock, - change priority, and - yield. A thread in need for help is a thread that encounters a scheduler state change from scheduled to ready or a thread that cannot be scheduled in an unblock operation. Such a thread can ask threads which depend on resources owned by this thread for help. Add a new ask for help scheduler operation. This operation is used by _Scheduler_Ask_for_help() to help threads in need for help returned by the operations mentioned above. This operation is also used by _Scheduler_Thread_change_resource_root() in case the root of a resource sub-tree changes. A use case is the ownership change of a resource. In case it is not possible to schedule a thread in need for help, then the corresponding scheduler node will be placed into the set of ready scheduler nodes of the scheduler instance. Once a state change from ready to scheduled happens for this scheduler node it may be used to schedule the thread in need for help.
* score: Use Resource Handler for MrsP semaphoresSebastian Huber2014-06-031-1/+10
| | | | | This enables proper resource dependency tracking and as a side-effect deadlock detection.
* score: _Scheduler_Set_affinity()Sebastian Huber2014-06-021-1/+9
| | | | | Do not change the scheduler with this function. Documentation. Coding style.
* score: Multiprocessor Resource Sharing ProtocolSebastian Huber2014-05-283-5/+242
| | | | | | | | | | | | | | | | | | | | | | Add basic support for the Multiprocessor Resource Sharing Protocol (MrsP). The Multiprocessor Resource Sharing Protocol (MrsP) is defined in A. Burns and A.J. Wellings, A Schedulability Compatible Multiprocessor Resource Sharing Protocol - MrsP, Proceedings of the 25th Euromicro Conference on Real-Time Systems (ECRTS 2013), July 2013. It is a generalization of the Priority Ceiling Protocol to SMP systems. Each MrsP semaphore uses a ceiling priority per scheduler instance. These ceiling priorities can be specified with rtems_semaphore_set_priority(). A task obtaining or owning a MrsP semaphore will execute with the ceiling priority for its scheduler instance as specified by the MrsP semaphore object. Tasks waiting to get ownership of a MrsP semaphore will not relinquish the processor voluntarily. In case the owner of a MrsP semaphore gets preempted it can ask all tasks waiting for this semaphore to help out and temporarily borrow the right to execute on one of their assigned processors. The help out feature is not implemented with this patch.