| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Use the ISR lock of the thread object to protect the event state and
use the Giant lock only for the blocking operations.
Update #2273.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, the _Thread_Heir was updated unconditionally in case a new
heir was determined. The _Thread_Dispatch_necessary was only updated in
case the executing thread was preemptible or an internal thread was
unblocked. Change this to update the _Thread_Heir and
_Thread_Dispatch_necessary only in case the currently selected heir
thread is preemptible or a dispatch is forced. Move the schedule
decision into the change priority operation and use the schedule
operation only in rtems_task_mode() in case preemption is enabled or an
ASR dispatch is necessary. This is a behaviour change. Previously, the
RTEMS_NO_PREEMPT also prevented signal delivery in certain cases (not
always). Now, signal delivery is no longer influenced by
RTEMS_NO_PREEMPT. Since the currently selected heir thread is used to
determine if a new heir is chosen, non-preemptible heir threads
currently not executing now prevent a new heir. This may have an
application impact, see change test tm04. Document this change in sp04.
Update #2273.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Empty structures are implementation-defined in C. GCC gives them a size
of zero. In C++ empty structures have a non-zero size.
Add ISR_LOCK_DEFINE() to define ISR locks for structures used by C and
C++.
Update #2273.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Make <rtems/score/atomic.h> available for all RTEMS configurations. Use
inline functions instead of macros. Use ISR disable/enable on
uni-processor configurations to ensure atomicity.
Update #2273.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
| |
This define was superfluous, undocumented and used inconsistently.
|
| |
|
|
|
|
|
| |
Extract this function from
interrupt_critical_section_test_support_initialize().
|
| |
|
|
|
|
| |
Add rtems_cache_coherent_free() and rtems_cache_coherent_add_area().
|
|
|
|
|
|
| |
Make sure also the size is cache aligned since otherwise we may have
some overlap with the next allocation block. A cache invalidate on this
area would be fatal.
|
| |
|
|
|
|
| |
Include <sys/param.h> if necessary to get the MIN()/MAX() macros.
|
| |
|
|
|
|
|
|
| |
Ensure that the global construction is performed in the context of the
first initialization thread. On SMP this was not guaranteed in the
previous implementation.
|
| |
|
|
|
|
|
|
| |
Do not use sprintf() in thread dispatch critical sections to avoid
corruption of profiling samples. Update test to reflect thread the life
cycle changes.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Use interrupt critical section test support. Do not print end of test
message in case of failure.
|
|
|
|
|
|
|
|
|
| |
This avoids test durations of more than one hour on fast targets, since
fast targets can count a lot during one clock tick period, so the minor
loop iteration count was quite high. Estimate now the test body
duration to iterate only through the interesting time window.
Add and use interrupt_critical_section_test().
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Add rtems_clock_tick_later(), rtems_clock_tick_later_usec() and
rtems_clock_tick_before().
|
|
|
|
| |
l.nop instruction.
|
| |
|
| |
|
|
|
|
|
|
|
| |
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().
|
|
|
|
| |
Add and use _RBTree_Direction().
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
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().
|
|
|
|
|
|
| |
The test sptests/sp35 showed a NULL pointer access due to an invalid
maximum node field (e.g. a tree with one element and NULL as the maximum
node).
|
| |
|
| |
|