| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
This fixes an integer underflow problem in case resources are released
after a thread restart.
Add new test sptests/spthreadlife01.
|
|
|
|
|
|
| |
Split sp09 screen 1 into new test sptask_err04.
Split sp09 screen 2 into new tests sptask__err02 and spclock_err01,
as well as moving one verification into sptimer_err01.
|
| |
|
| |
|
|
|
|
|
| |
sp09 screen 5 split into spsem_err01, sp09 screen 6 split into
spsem_err02, and sptask_err01.
|
|
|
|
|
|
| |
spmsgq_err01 test replaces rtems_message_queue_XXX error tests from
sp09 screen 7. spmsgq_err02 replaces rtems_message_queue_XXX error
tests from sp09 screen 8.
|
|
|
|
| |
This test verifies rtems_port_XXX error tests from sp09 screen 9.
|
|
|
|
|
| |
This test moves rtems_signal_send error testing from sp09
screen 9 into its own test.
|
|
|
|
|
| |
This test contains the interrupt catch error tests from sp09
screen 9.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Do not use _TLS_Size here since this will lead GCC to assume that this
symbol is not 0 and the later > 0 test will be optimized away.
|
|
|
|
|
| |
This error case is no longer required since rtems_shutdown_executive()
can be called anytime, anywhere
|
|
|
|
|
|
|
|
|
| |
Add a CPU counter interface to allow access to a free-running counter.
It is useful to measure short time intervals. This can be used for
example to enable profiling of critical low-level functions.
Add two busy wait functions rtems_counter_delay_ticks() and
rtems_counter_delay_nanoseconds() implemented via the CPU counter.
|
|
|
|
|
| |
Tested and implemented on ARM, m68k, PowerPC and SPARC. Other
architectures need more work.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This adds five tests for <sys/cpuset.h>. It does not include
tests for CPU_XXX_S methods. The autotools should be able to
avoid enabling the tests unless the toolset has <sys/cpuset.h>.
|
| |
|
|
|
|
| |
Bug: https://www.rtems.org/bugzilla/show_bug.cgi?id=1216
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add CPU port type CPU_Exception_frame and function
_CPU_Exception_frame_print().
The CPU ports of avr, bfin, h8300, lm32, m32c, m32r, m68k, nios2, sh,
sparc64, and v850 use an empty default implementation of
_CPU_Exception_frame_print().
Add rtems_exception_frame and rtems_exception_frame_print().
Add RTEMS_FATAL_SOURCE_EXCEPTION for CPU exceptions. Use rtems_fatal()
with source RTEMS_FATAL_SOURCE_EXCEPTION in CPU ports of i386, powerpc,
and sparc for unexpected exceptions.
Add third parameter to RTEMS_BSP_CLEANUP_OPTIONS() which controls the
BSP_PRINT_EXCEPTION_CONTEXT define used in the default
bsp_fatal_extension().
Add test sptests/spfatal26.
|
| |
|
| |
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
|
|
|
|
|
|
| |
The work areas (RTEMS work space and C program heap) will be initialized
now in a separate step and are no longer part of
rtems_initialize_data_structures(). Initialization is performed with
tables of Heap_Area entries. This allows usage of scattered memory
areas present on various small scale micro-controllers.
The sbrk() support API changes also. The bsp_sbrk_init() must now deal
with a minimum size for the first memory chunk to take the configured
work space size into account.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The changes in _Thread_Dispatch() of commits
dad36c52b8be5d7b46bc7af85655055db7208652 and
d4dc7c8196355f08044e67a3f5c1e19485f17ff1 introduced a severe bug which
destroys the real-time properties of RTEMS completely.
Consider the following scenario. We have three tasks L (lowest
priority), M (middle priority), and H (highest priority). Now let a
thread dispatch from M to L happen. An interrupt occurs in
_Thread_Dispatch() here:
void _Thread_Dispatch( void )
{
[...]
post_switch:
_ISR_Enable( level );
<-- INTERRUPT
<-- AFTER INTERRUPT
_Thread_Unnest_dispatch();
_API_extensions_Run_postswitch();
}
The interrupt event makes task H ready. The interrupt code will see
_Thread_Dispatch_disable_level > 0 and thus doesn't perform a
_Thread_Dispatch(). Now we return to position "AFTER INTERRUPT". This
means task L executes now although task H is ready! Task H will execute
once someone calls _Thread_Dispatch().
|
| |
|
|
|
|
| |
Author: Krzysztof Mięsowicz <krzysztof.miesowicz@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
Since the CBS scheduler is inspired by AQuoSA project for Linux, additional API
(qreslib) compliant with Linux has been created.
Sptest for qreslib included.
|
|
|
|
|
|
|
|
| |
PR 1924/cpukit
* spstkalloc02/.cvsignore, spstkalloc02/Makefile.am,
spstkalloc02/init.c, spstkalloc02/spstkalloc02.doc,
spstkalloc02/spstkalloc02.scn: New files.
* Makefile.am, configure.ac: Reflect changes above.
|
|
|
|
|
|
| |
* sp2038/Makefile.am, sp2038/init.c, sp2038/sp2038.doc,
sp2038/sp2038.scn: New files.
* Makefile.am, configure.ac: Reflect changes above.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1907/testing
* Makefile.am, configure.ac: Add tests for the CBS (Constant Bandwidth
Server) scheduler.
* spcbssched01/.cvsignore, spcbssched01/Makefile.am,
spcbssched01/init.c, spcbssched01/spcbssched01.doc,
spcbssched01/spcbssched01.scn, spcbssched01/system.h,
spcbssched01/task1.c, spcbssched02/.cvsignore,
spcbssched02/Makefile.am, spcbssched02/init.c,
spcbssched02/spcbssched02.doc, spcbssched02/spcbssched02.scn,
spcbssched02/system.h, spcbssched02/task_periodic.c,
spcbssched03/.cvsignore, spcbssched03/Makefile.am,
spcbssched03/cbsparams.h, spcbssched03/init.c,
spcbssched03/spcbssched03.doc, spcbssched03/spcbssched03.scn,
spcbssched03/system.h, spcbssched03/tasks_aperiodic.c,
spcbssched03/tasks_periodic.c: New files.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1897/testing
* Makefile.am, configure.ac: Add tests for Earliest Deadline First
(EDF) Scheduling Algorithm implementation.
* spedfsched01/.cvsignore, spedfsched01/Makefile.am,
spedfsched01/init.c, spedfsched01/spedfsched01.doc,
spedfsched01/spedfsched01.scn, spedfsched01/system.h,
spedfsched01/task1.c, spedfsched02/.cvsignore,
spedfsched02/Makefile.am, spedfsched02/getall.c, spedfsched02/init.c,
spedfsched02/spedfsched02.doc, spedfsched02/spedfsched02.scn,
spedfsched02/system.h, spedfsched02/task1.c, spedfsched03/.cvsignore,
spedfsched03/Makefile.am, spedfsched03/edfparams.h,
spedfsched03/init.c, spedfsched03/spedfsched03.doc,
spedfsched03/spedfsched03.scn, spedfsched03/system.h,
spedfsched03/tasks_aperiodic.c, spedfsched03/tasks_periodic.c: New
files.
|
|
|
|
|
|
|
|
| |
PR 1857/tests
* Makefile.am, configure.ac: Add test where there is more than one
thread at a priority with the executing thread being non-preemptive.
* sp76/.cvsignore, sp76/Makefile.am, sp76/init.c, sp76/sp76.doc,
sp76/sp76.scn: New files.
|
|
|
|
|
|
|
|
| |
* Makefile.am, configure.ac: New test to get coverage of core mutex
obtain while in ISR or other dispatch disabled critical section but
no wait.
* sp75/.cvsignore, sp75/Makefile.am, sp75/init.c, sp75/sp75.doc,
sp75/sp75.scn: New files.
|
|
|
|
|
|
|
|
|
| |
PR 1853/tests
* Makefile.am, configure.ac: Add test for case where a thread is
non-preemptive, multiple threads are ready at that priority, a higher
priority thread is heir and the thread yields.
* sp74/.cvsignore, sp74/Makefile.am, sp74/init.c, sp74/sp74.doc,
sp74/sp74.scn: New files.
|