This is a workaround for a L2CACHE scrubber corner case described in GR740
User's Manual, Version 1.10, section 43.2.30.
The issue affects some version of the L2CACHE. However, since the performance
impact of the workaround is marginal, special device probing logic has been
avoided. In addition, this update does not affect users who enable the L2CACHE
and scrubber before RTEMS is started.
The _Workspace_Allocate_aligned() would returns a non-NULL pointer for a
zero size allocation request if there is enough memory available. This
conflicts with the size estimate of zero in
_Workspace_Space_for_per_CPU_data() if the per-CPU data set is empty.
Update #3507.
The RTEMS configuration should be done via explicit configuration
options to allow more freedom for implementation changes.
Update #3489.
Update #3490.
RTEMS had the configuration option CONFIGURE_HAS_OWN_MOUNT_TABLE since
1999. This configuration option was broken since RTEMS 4.11. Remove
this broken configuration option.
Update #3488.
This configuration was untested and undocumented. Remove it to avoid a
potential exposure of internal data structures to the application
domain.
Close#3520.
Add support to temporarily pin a thread to its current processor. This
may be used to access per-processor data structures in critical sections
with enabled thread dispatching, e.g. a pinned thread is allowed to
block.
Update #3508.
In SMP configurations, obtain the scheduler node for the block and
unblock operations through the same way via
Thread_Control::Scheduler::Scheduler_node. This symmetry is important
in a follow up patch which introduces thread pinning.
Update #3508.
Add and use <machine/rtems-bsd-kernel-space.h> and
<machine/rtems-bsd-user-space.h> similar to the libbsd to avoid command
line defines and defines scattered throught the code base.
Simplify cpukit/libnetworking/Makefile.am.
Update #3375.
The man page installation is broken since 2004-01-11 (commit
8c31a89fdf). Nobody complained about
this, so just remove some dead code from the Makefile.am.
Add extract from scheduled function to the _Scheduler_SMP_Block()
operation. This allows a scheduler implementation to do extra work in
case a scheduled node is blocked.