| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
The yielding thread of the yield operation is now specified by a
parameter. The tick operation may be performed for each executing
thread in a SMP configuration.
|
|
|
|
| |
Add and use _Scheduler_Start_idle().
|
|
|
|
|
|
|
|
|
| |
Delete _Thread_Evaluate_is_dispatch_needed().
Use _Thread_Dispatch_is_enabled() in rtems_task_mode() instead of the
system state to determine if a thread dispatch is allowed. Signales are
now delivered in rtems_task_mode() even if preemption is disabled. This
is in line with rtems_signal_send().
|
|
|
|
|
| |
Delete _Thread_Dispatch_in_critical_section() and
_Thread_Is_dispatching_enabled().
|
| |
|
|
|
|
|
|
| |
Add and use _Objects_Put_without_thread_dispatch(). These two functions
pair with the _Objects_Get() function. This helps to introduce object
specific SMP locks to avoid lock contention.
|
|
|
|
|
| |
Provide SMP support. The ISR disable/enable is not enough to ensure
mutual exclusion for SMP configurations.
|
| |
|
|
|
|
| |
This prevents a lock order reversal.
|
| |
|
|
|
|
| |
The rtems_task_delete() does not work on SMP at the moment. See PR1814.
|
|
|
|
|
| |
The _MPCI_table may be NULL in case multiprocessing is disabled in the
application configuration.
|
|
|
|
| |
Check for a satisfied event condition only once.
|
|
|
|
| |
Remove superfluous test for _ISR_Is_in_progress().
|
|
|
|
|
|
|
| |
It is impossible to reach the simplified expression if we are in the
THREAD_BLOCKING_OPERATION_TIMEOUT state since in this case Wait.count
(event condition) would be set to zero and thus the seized event set
would be empty.
|
|
|
|
|
|
|
| |
Commit 4b45c1393ce4ee3e1c2762ef3145d2bd6b5b38da marked a test in
_Event_Timeout() as debug only. This test is required also in non-debug
configurations since otherwise state corruption can happen. A revised
test sptests/spintrcritical10 checks the relevant sequences.
|
| |
|
|
|
|
| |
http://www.google-melange.com/gci/task/view/google/gci2012/8024203
|
|
|
|
| |
http://www.google-melange.com/gci/task/view/google/gci2012/8015207
|
|
|
|
| |
http://www.google-melange.com/gci/task/view/google/gci2012/7950206
|
|
|
|
| |
http://www.google-melange.com/gci/task/view/google/gci2012/8019205
|
| |
|
|
|
|
|
|
|
|
| |
Move post switch hook from API_extensions_Control to new
API_extensions_Post_switch_control. Rename
_API_extensions_Run_postswitch() in _API_extensions_Run_post_switch().
Add _API_extensions_Post_switch_list and
_API_extensions_Add_post_switch().
|
|
|
|
| |
http://www.google-melange.com/gci/task/view/google/gci2012/7950205
|
| |
|
|
|
|
|
|
|
| |
This patch is a task from GCI 2012 which improves the Doxygen
comments in the RTEMS source.
http://www.google-melange.com/gci/task/view/google/gci2012/8025204
|
|
|
|
|
|
|
| |
This patch is a task from GCI 2012 which improves the Doxygen
comments in the RTEMS source.
http://www.google-melange.com/gci/task/view/google/gci2012/8025203
|
|
|
|
|
| |
This file contains the parts of <rtems/score/userext.h> that are only
necessary for the RTEMS implementation.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
System events are similar to normal events. They offer a second set of
events. These events are intended for internal RTEMS use and should not
be used by applications (with the exception of the transient system
event).
|
|
|
|
| |
Change event implementation to enable reuse for system events.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The _Heap_Extend() has now the same signature as _Heap_Initialize().
The 4th parameter is ignored (page size in _Heap_Initialize()).
Add Heap_Area and Heap_Initialization_or_extend_handler.
Add and test _Heap_No_extend().
This helps to do a table based heap initialization and extension.
Create a table of Heap_Area elements and iterate through it. Set the
handler to _Heap_Initialize() in the first iteration and then to
_Heap_Extend().
|
| |
|
| |
|
|
|
|
|
| |
Group the global TOD variables (_TOD_Now, _TOD_Uptime, and _TOD_Is_set)
in a structure to reduce address loads in _TOD_Tickle_ticks().
|
|
|
|
|
|
|
|
|
|
|
|
| |
Script does what is expected and tries to do it as
smartly as possible.
+ remove occurrences of two blank comment lines
next to each other after Id string line removed.
+ remove entire comment blocks which only exited to
contain CVS Ids
+ If the processing left a blank line at the top of
a file, it was removed.
|
| |
|
|
|
|
|
|
|
| |
Various tests must check program paths that result due to failed memory
allocations from the workspace. To avoid tinkering with internal
workspace structures throughout the test code these functions should be
used.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This PR was about a warning for no previous prototype for
rtems_interrupt_level_attribute. This method exists (like
a few others) to have real bodies for Classic API services
implemented as macros. These macros are not available from
anything but C and C++. The most explicit use was in the Ada
binding but these would be needed from assembly language
or any other non-C based language.
On top of needing a prototype, the methods were misnamed.
They were related to modes. This renames them, moves the
file, fixes test code, etc.
|
|
|
|
|
| |
* rtems/src/rtemsobjectsetname.c:
Include <rtems/rtems/object.h> (Missing prototype).
|
|
|
|
|
| |
* rtems/src/rtemsobjectgetclassicname.c:
Include <rtems/rtems/object.h> (Missing prototype).
|
|
|
|
|
| |
* rtems/src/rtemsobjectgetname.c:
Include <rtems/rtems/object.h> (Missing prototype).
|
|
|
|
|
|
| |
* rtems/src/rtemsobjectapiminimumclass.c:
Include <rtems/rtems/object.h> (Missing prototype).
Adjust rtems_object_api_minimum_class to prototype.
|
|
|
|
|
| |
* rtems/src/workspace.c:
Include <rtems/rtems/support.h> (Missing prototypes).
|
|
|
|
|
| |
* rtems/src/ratemonperiod.c: Make _Rate_monotonic_Update_statistics
static.
|
|
|
|
|
|
|
| |
* rtems/src/rtemsobjectapimaximumclass.c:
Include <rtems/rtems/object.h> (Missing prototypes).
* sapi/src/exshutdown.c:
Include <rtems/init.h> (Missing prototypes).
|
|
|
|
| |
* rtems/src/tasks.c: Fix typos.
|