| Commit message (Collapse) | Author | Files | Lines |
|
The order in which step checks for 1 and 2 are not rigidly defined and
may actually occur in either order depending on how the threads execute.
This waits for the job to complete to enforce the existing ordering.
|
|
Close #3250.
Close #4081.
|
|
End the test on the processor which triggers the test condition. This avoids
endless power down loops in the sparc/leon3 BSP.
|
|
Use the new Priority_Group_order enum instead of a boolean to indicated if a
priority should be inserted as the first or last node into its priority group.
This makes the code more expressive. It is also a bit more efficient since a
branch in _Scheduler_Node_set_priority() is avoided and a simple bitwise or
operation can be used.
|
|
Use the processor control to specify the target processor since this is what
the callers have available.
|
|
|
|
The per-CPU states which control the SMP system initialization were added quite
early during the SMP support development. Replace this initial implementation
with a simplified one. There is no longer a global SMP lock required which
serialized the state changes of all processors. The new implementation better
integrates with the per-CPU jobs.
|
|
Remove _CPU_SMP_Processor_event_broadcast() and
_CPU_SMP_Processor_event_receive(). These functions are hard to use since they
are subject to the lost wake up problem.
|
|
Update smpstrongapa01 to account for task shifting.
|
|
Use BSP_INTERRUPT_VECTOR_COUNT instead of BSP_INTERRUPT_VECTOR_MAX.
Update #3269.
|
|
This define represents the last valid interrupt vector number.
Update #3269.
|
|
Remove BSP_INTERRUPT_VECTOR_MIN and unconditionally let interrupt vector
numbers start with zero.
The BSP_INTERRUPT_VECTOR_MIN == 0 invariant was tested by the previous commit
and building all BSPs.
Update #3269.
|
|
Make the initialization of the per-CPU data optional.
Change license to BSD-2-Clause according to file history and
re-licensing agreement.
Update #3053.
|
|
In case the processor set is not large enough to contain the processor
affinity set of the task return RTEMS_INVALID_SIZE instead of
RTEMS_INVALID_NUMBER. This is more in line with other directives since
the issue is related to the size of an object.
Close #4393.
|
|
* On some SMP platforms, all cpus are started by the
boot-loader. We need to block the secondary cpus or they
will clobber the test output.
|
|
Rejecting initially locked MrsP semaphores was due to a limitiation of
the early limitiation of the MrsP protocol. This limitation no longer
exists.
|
|
MrsP semaphores are a generalization of the priority ceiling semaphores
for SMP configurations. Priority ceiling semaphores are required to use
the priority task wait queue discipline. Require this discipline also
for MrsP semaphores.
Close #4347.
|
|
Return STATUS_DEADLOCK (RTEMS_INCORRECT_STATE) to indicate a nested
seize since this is a kind of deadlock. This status code is also used
for other deadlocks.
Update #4217.
|
|
|
|
Also start interrupt server tasks on processors which do not have a
scheduler. Applications may dynamically manage processors using
rtems_scheduler_remove_processor() and rtems_scheduler_add_processor().
|
|
|
|
Add the build option RTEMS_TEST_VERBOSITY to control the verbosity of
test suites using the RTEMS Test Framework.
|
|
Close #4034.
|
|
Normally, the expected test step must be a compile time constant. Allow
variable expected test steps for the T_step() and T_assert_step(). This
can be used for parameterized test loops with individual fixtures.
Remove the ability to use custom failure messages due to some
implementation constraints.
Update #3199.
|
|
|
|
Update #3199.
|
|
Rename this header file to later move <t.h> to <rtems/test.h>. The main
feature provided by <rtems/test-info.h> is the output of standard test
information which is consumed by the RTEMS Tester.
Update #3199.
|
|
The signal handler of the consumer might start executing
before rtems_signal_send of the producer returns.
Therefore change the state to SIG_1_SENT before sending the signal.
|
|
Use the following variant which was already used by most source files:
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
|
|
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.
|
|
|
|
Update #3838.
|
|
The work area initialization was done by the BSP through
bsp_work_area_initialize(). This approach predated the system
initialization through the system initialization linker set. The
workspace and C program heap were unconditionally initialized. The aim
is to support RTEMS application configurations which do not need the
workspace and C program heap. In these configurations, the workspace
and C prgram heap should not get initialized.
Change all bsp_work_area_initialize() to implement _Memory_Get()
instead. Move the dirty memory, sbrk(), per-CPU data, workspace, and
malloc() heap initialization into separate system initialization steps.
This makes it also easier to test the individual initialization steps.
This change adds a dependency to _Heap_Extend() to all BSPs. This
dependency will be removed in a follow up change.
Update #3838.
|
|
Problem introduced by 77ac1519e863b7095f69c976353f7647c6f6f63b.
|
|
Use CONFIGURE_MAXIMUM_PROCESSORS to configure the EDF SMP scheduler
context. This avoids hard to debug configuration errors resulting in
memory corruptions.
Close #3815.
|
|
The MrsP semaphore implementation predates the addition of
self-contained synchronization objects. At this time, the potential
memory reduction was justified considering the more complex
configuration and additional use of the workspace. With the
availability of self-contained synchronization options, e.g. POSIX
mutexes, this is no longer justified. Memory constrained applications
should use the self-contained synchronization objects. Remove the
CONFIGURE_MAXIMUM_MRSP_SEMAPHORES configuration option. This has only an
impact on applications which use SMP and a large number of scheduler
instances.
Update #3833.
|
|
Use separator character '_' for all test states.
|
|
Update #3818.
|
|
|
|
|
|
|
|
|
|
|
|
Process only the jobs initially registered on the processing list. This
makes it possible to add jobs for the current processor in a job
handler. These jobs are processed with the next
SMP_MESSAGE_PERFORM_JOBS message. The lock is only acquired and
released once.
|
|
|
|
Move resposibility to disable thread dispatching to the caller of
_SMP_Multicast_action(). Using an interrupt disable for this purpose is
questionable.
|
|
|
|
|
|
|
|
If the caller already disabled interrupts, then do not disable thread
dispatching. Calling _SMP_Multicast_action() with interrupts disabled
is a questionable use case.
|