Remove all comments and copyrightable content from the moved content.
Use BSD-2-Clause license for new file.
Move the default configuration to library files so that application
configurations do not include the definitions for the default case.
Update #3053.
Update #3875.
Remove comments and copyrightable content from the moved content. Use
BSD-2-Clause for new file according to file history of
<rtems/confdefs.h>.
Update #3053.
Update #3875.
Unify handling of obsolete configuration options. Remove comments and
copyrightable content from the moved content. Use BSD-2-Clause license
for new file.
Update #3053.
Update #3875.
Commit 4c09f4b3fe changed the cast from
size_t to ssize_t to try to fix an workspace issue on 16-bit
architectures. This change was reverted by commit
7ff6115b8b for the workspace but not
_Configure_From_workspace(). Change the cast to uintptr_t to be in line
with the Heap Handler.
The CONFIGURE_DISABLE_SMP_CONFIGURATION configuration option and
rtems_configuration_is_smp_enabled() were added during the SMP support
development cycle as a workaround to fix some testsuite failures in SMP
configurations. All use cases were replaced with tests for specific
conditions. The configuration option and test macro were undocumented.
Close#3876.
If the non-preempt mode for threads is supported depends on the
scheduler implementation. Add
_Scheduler_Is_non_preempt_mode_supported() to indicate this.
Update #3876.
Determine the default for CONFIGURE_INIT_TASK_INITIAL_MODES depeding on
whether RTEMS_SMP is defined or not.
In the tests, use CONFIGURE_INIT_TASK_INITIAL_MODES to explicitly
request RTEMS_NO_PREEMPT mode if necessary.
Update #3876.
The IO library used a POSIX key to store an optional POSIX user
environment pointer. This pulled in the POSIX keys support in every
application configuration. Add a user environment pointer to the thread
control block (TCB) instead. Applications which do not need the POSIX
user environment will just get an overhead of one pointer per thread.
Close#3882.
Move the is SMP enabled configuration constant out of the
configuration table.
Since this was the last configuration constant in
rtems_configuration_table, remove this type.
Update #3875.
Move the unified workspace configuration constant out of the
configuration table.
Provide a default definition of the unified workspace constant.
Update #3875.
Move the idle thread body configuration constant out of the
configuration table.
Provide a default definition of the idle thread body constant.
Update #3875.
Move the idle thread stack size configuration constant out of the
configuration table.
Add THREAD_IDLE_STACK_SIZE_DEFAULT and use it to provide a default
definition of the idle thread stack size constant.
Update #3875.
Move the ticks per timeslice configuration constant out of the
configuration table.
Add WATCHDOG_TICKS_PER_TIMESLICE_DEFAULT and use it to provide a default
definition of the watchdog ticks per timeslice constant.
Update #3875.
Move the microseconds per tick configuration constant out of the
configuration table.
Add WATCHDOG_MICROSECONDS_PER_TICK_DEFAULT and use it to provide a
default definition of the watchdog ticks constants.
Update #3875.
The CONFIGURE_HAS_OWN_INIT_TASK_TABLE and
CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE are the last *_HAS_OWN_*
configuration options. These two options are probably unused, see also:
* https://lists.rtems.org/pipermail/users/2019-April/033129.html
* https://lists.rtems.org/pipermail/users/2019-April/033130.html
Removing them simplifies the configuration. If there is a real user need
which shows up after the removal, we can resurrect them on demand.
Using CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE would have required the
use of the undocumented CONFIGURE_POSIX_INIT_THREAD_TABLE_NAME and
CONFIGURE_POSIX_INIT_THREAD_TABLE_SIZE configuration options.
Update #3874.
With the removal of the CONFIGURE_HAS_OWN_INIT_TASK_TABLE configuration
option at most one Classic API user initialization task can be
configured.
Provide an RTEMS API configuration table for backward compatibility.
Update #3873.
The CONFIGURE_HAS_OWN_INIT_TASK_TABLE and
CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE are the last *_HAS_OWN_*
configuration options. These two options are probably unused, see also:
* https://lists.rtems.org/pipermail/users/2019-April/033129.html
* https://lists.rtems.org/pipermail/users/2019-April/033130.html
Removing them simplifies the configuration. If there is a real user need
which shows up after the removal, we can resurrect them on demand.
Using CONFIGURE_HAS_OWN_INIT_TASK_TABLE would have required the use of
the undocumented CONFIGURE_INIT_TASK_TABLE and
CONFIGURE_INIT_TASK_TABLE_SIZE configuration options.
Update #3873.
At least on GICv1 the interrupts 0 up to including 31 are so called
Peripheral Private Interrupts (PPIs). We have to initialize the
priority of the PPIs on secondary processors.