By default, the interrupt vector of an interrupt server request is set
to a special value which is outside the range of vectors supported by
the interrupt controller hardware.
Add rtems_interrupt_server_request_set_vector() to set the interrupt
vector in an interrupt server request.
Calls to rtems_interrupt_server_request_submit() will disable the interrupt
vector of the request. After processing of the request by the interrupt
server the interrupt vector will be enabled again.
Prepare the interrupt stack which may be used by the boot processor as
initialization stack with the stack sanity pattern. Check the interrupt
stack of the current processor in the thread begin and switch extension.
Update #3459.
The configured interrupt stack size (CONFIGURE_INTERRUPT_STACK_SIZE) is
checked against the minimum task stack size. The minium tasks task
stack size is also a configuration option
(CONFIGURE_MINIMUM_TASK_STACK_SIZE). So, this check does not really
help in case of configuration errors. In addition, the interrupt stack
is also re-used as the initialization stack in most BSPs. It is
probably better to use a stack checker to detect problems.
Update #3459.
This is needed for building rtems correctly with Clang.
Note that this change does not mean rtems can build correctly with
mainline clang. However the change allows building rtems with a
Clang toolchain that has a rtems frontend similar that of GCC's
builtin rtems specs.
When the CCSDS/CCITT CRC-16 and 16-bit ISO-checksum logic is available in
GRSPW2, the DCRCT field is used to determine how to generate the CRC/checksum
code. grspw_hw_sup has been extended with the field ccsds_crc
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.