| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Replace timestamp implementation with FreeBSD bintime and timecounters.
New test sptests/sptimecounter02.
Update #2271.
|
|
|
|
|
|
|
| |
Add a thread wait timeout code. Replace _Event_Timeout() with a general
purpose _Thread_Timeout() watchdog handler.
Update #2273.
|
|
|
|
|
|
|
| |
Use the ISR lock of the thread object to protect the event state and
use the Giant lock only for the blocking operations.
Update #2273.
|
|
|
|
| |
Update documentation.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add basic support for the Multiprocessor Resource Sharing Protocol
(MrsP).
The Multiprocessor Resource Sharing Protocol (MrsP) is defined in A.
Burns and A.J. Wellings, A Schedulability Compatible Multiprocessor
Resource Sharing Protocol - MrsP, Proceedings of the 25th Euromicro
Conference on Real-Time Systems (ECRTS 2013), July 2013. It is a
generalization of the Priority Ceiling Protocol to SMP systems. Each
MrsP semaphore uses a ceiling priority per scheduler instance. These
ceiling priorities can be specified with rtems_semaphore_set_priority().
A task obtaining or owning a MrsP semaphore will execute with the
ceiling priority for its scheduler instance as specified by the MrsP
semaphore object. Tasks waiting to get ownership of a MrsP semaphore
will not relinquish the processor voluntarily. In case the owner of a
MrsP semaphore gets preempted it can ask all tasks waiting for this
semaphore to help out and temporarily borrow the right to execute on one
of their assigned processors.
The help out feature is not implemented with this patch.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Make rtems_task_get_affinity() and rtems_task_set_affinity() available
on non-SMP configurations. Allow larger CPU sets.
|
|
|
|
|
|
|
| |
Rename rtems_smp_get_current_processor() in
rtems_get_current_processor(). Make rtems_get_current_processor() a
function in uni-processor configurations to enable ABI compatibility
with SMP configurations.
|
|
|
|
|
|
| |
Rename rtems_smp_get_processor_count() in rtems_get_processor_count().
Make rtems_get_processor_count() a function in uni-processor
configurations to enable ABI compatibility with SMP configurations.
|
|
|
|
|
|
| |
Per task variables are inherently unsafe in SMP systems. This
patch disables them from the build and adds warnings in the
appropriate documentation and configuration sections.
|
|
|
|
|
| |
Use allocator mutex for objects allocate/free. This prevents that the
thread dispatch latency depends on the workspace/heap fragmentation.
|
|
|
|
|
|
|
| |
Add the following methods:
+ rtems_task_get_affinity
+ rtems_task_set_affinity
|
| |
|
|
|
|
|
|
|
|
| |
Rename rtems_internal_error_description() to
rtems_internal_error_text(). Rename rtems_fatal_source_description() to
rtems_fatal_source_text(). Rename rtems_status_code_description() to
rtems_status_text(). Remove previous implementation of
rtems_status_text().
|
| |
|
|
|
|
|
|
| |
Add Timestamp support in the score to return a timestamp in nanoseconds.
Add a test.
Update the RTEMS API documentation.
|
| |
|
|
|
|
|
|
| |
Move implementation specific parts of signal.h into new header file
signalimpl.h. The signal.h contains now only the application visible
API.
|
|
|
|
|
|
| |
Move implementation specific parts of tasks.h and tasks.inl into new
header file tasksimpl.h. The tasks.h contains now only the application
visible API.
|
|
|
|
|
|
| |
Move implementation specific parts of region.h and region.inl into new
header file regionimpl.h. The region.h contains now only the
application visible API.
|
|
|
|
|
|
| |
Move implementation specific parts of part.h and part.inl into new
header file partimpl.h. The part.h contains now only the application
visible API.
|
|
|
|
|
|
| |
Move implementation specific parts of timer.h and timer.inl into new
header file timerimpl.h. The timer.h contains now only the application
visible API.
|
|
|
|
|
|
| |
Move implementation specific parts of ratemon.h and ratemon.inl into
new header file ratemonimpl.h. The ratemon.h contains now only the
application visible API.
|
|
|
|
|
|
| |
Move implementation specific parts of dpmem.h and dpmem.inl into new
header file dpmemimpl.h. The dpmem.h contains now only the application
visible API.
|
|
|
|
|
|
| |
Move implementation specific parts of event.h, event.inl, eventset.h and
eventset.inl into new header file eventimpl.h. The event.h contains now
only the application visible API.
|
| |
|
|
|
|
|
|
| |
Move implementation specific parts of asr.h and asr.inl into new header
file asrimpl.h. The asr.h contains now only the application visible
API.
|
|
|
|
|
|
| |
Move implementation specific parts of modes.h and modes.inl into new
header file modesimpl.h. The modes.h contains now only the application
visible API.
|
|
|
|
|
|
| |
Move implementation specific parts of attr.h and attr.inl into new
header file attrimpl.h. The attr.h contains now only the application
visible API.
|
|
|
|
|
|
| |
Move implementation specific parts of options.h and options.inl into new
header file optionsimpl.h. The options.h contains now only the
application visible API.
|
|
|
|
|
|
| |
Move implementation specific parts of status.h and status.inl into new
header file statusimpl.h. The status.h contains now only the
application visible API.
|
|
|
|
|
|
| |
Move implementation specific parts of barrier.h and barrier.inl into new
header file barrierimpl.h. The barrier.h contains now only the
application visible API.
|
|
|
|
|
|
| |
Move implementation specific parts of message.h and message.inl into new
header file messageimpl.h. The message.h contains now only the
application visible API.
|
|
|
|
|
|
| |
Move implementation specific parts of sem.h and sem.inl into new header
file semimpl.h. The sem.h contains now only the application visible
API.
|
| |
|
|
|
|
|
|
|
|
|
| |
Rename in rtems_smp_get_processor_count(). Always provide
<rtems/score/smp.h> and <rtems/rtems/smp.h>. Add
_SMP_Get_processor_count(). This function will be a compile time
constant defined to be one on uni-processor configurations. This allows
iterations over all processors without overhead on uni-processor
configurations.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
See http://www.rtems.org/pipermail/rtems-devel/2012-May/001006.html
for details.
|
| |
|
|
|
|
|
|
|
| |
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.
|