| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Reserve a full minimum block to account for the heap protection enabled
via RTEMS_DEBUG.
|
| |
|
|
|
|
|
| |
The _Configure_From_workspace() already takes care that zero size
allocations contribute nothing to the workspace size estimate.
|
|
|
|
|
|
|
|
| |
Replace timestamp implementation with FreeBSD bintime and timecounters.
New test sptests/sptimecounter02.
Update #2271.
|
|
|
|
|
|
| |
New test sptests/timecounter01.
Update #2271.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Adds the possibility to register drivers before the IO Manager has
completed the initialization. Sometimes the BSP may want to register
a driver dynamically early in the boot process.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
| |
|
|
|
|
| |
Rename CONFIGURE_IMFS_DISABLE_FCHMOD to CONFIGURE_IMFS_DISABLE_CHMOD.
|
| |
|
|
|
|
| |
Resurrect CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM.
|
|
|
|
| |
sapi/preinstall.am: Regenerated
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Use the heap handler statistics instead. Add heap walk option to MALLOC
shell command.
close #1367
|
|
|
|
|
| |
Delete this variable since it is no longer necessary due to the thread
priority queue implementation change to use RB trees.
|
| |
|
|
|
|
|
| |
Ensure to report only once on SMP machines and ensure that the report is
output completely.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change starts with removing the effectively empty file
timerdrv.h. The prototypes for benchmark_timer_XXX() were in
btimer.h which was not universally used. Thus every use of
timerdrv.h had to be changed to btimer.h. Then the prototypes
for benchmark_timer_read() had to be adjusted to return
benchmark_timer_t rather than int or uint32_t.
I took this opportunity to also correct the file headers to
separate the copyright from the file description comments which
is needed to ensure the copyright isn't propagated into Doxygen
output.
|
| |
|
|
|
|
|
| |
With this patch the preinstall.am files are in a set order and not
dependent on now perl implements a hash.
|
|
|
|
|
|
|
| |
Simplify _RBTree_Insert() and _RBTree_Extract(). Remove more
superfluous NULL pointer checks. Change _RBTree_Is_root() to use only
the node. Add parent parameter to _RBTree_Sibling(). Delete
_RBTree_Grandparent() and _RBTree_Parent_sibling().
|
| |
|
| |
|
|
|
|
| |
Simplify _RBTree_Find_control(). Avoid superfluous NULL pointer checks.
|
|
|
|
|
|
|
| |
Only use the parent pointer, since this pointer is never NULL for nodes
which are part of a tree.
Rename functions from *_off_rbtree() to *_off_tree().
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove compare function and is unique indicator from the control
structure. Rename RBTree_Compare_function to RBTree_Compare. Rename
rtems_rbtree_compare_function to rtems_rbtree_compare. Provide C++
compatible initializers. Add compare function and is unique indicator
to _RBTree_Find(), _RBTree_Insert(), rtems_rbtree_find() and
rtems_rbtree_insert(). Remove _RBTree_Is_unique() and
rtems_rbtree_is_unique(). Remove compare function and is unique
indicator from _RBTree_Initialize_empty() and
rtems_rbtree_initialize_empty().
|
| |
|
|
|
|
|
| |
Add Thread_Scheduler_control to collect scheduler related fields of the
TCB.
|
| |
|
|
|
|
|
|
| |
Use the PTHREAD mutexes and condition variables if available. This
helps on SMP configurations to avoid the home grown condition variables
via disabled preemption.
|
|
|
|
|
| |
Add and use CONFIGURE_POSIX_MUTEXES.
Add and use CONFIGURE_POSIX_CONDITION_VARIABLES.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rename scheduler per-thread information into scheduler nodes using
Scheduler_Node as the base type. Use inheritance for specialized
schedulers.
Move the scheduler specific states from the thread control block into
the scheduler node structure.
Validate the SMP scheduler node state transitions in case RTEMS_DEBUG is
defined.
|
| |
|
| |
|
| |
|