Pavel Pisa
3c21ad7db0
SPI SD-Card: adapt common driver code to block devices core API changes.
2014-03-31 10:14:43 +02:00
Sebastian Huber
600bb68fa1
score: _Thread_queue_Extract_with_proxy()
...
Drop the return status, since it is nowhere used.
2014-03-31 10:14:43 +02:00
Sebastian Huber
03e8928753
score: Delete CORE_mutex_Control::lock
...
The holder field is enough to determine if a mutex is locked or not.
This leads also to better error status codes in case a
rtems_semaphore_release() is done for a mutex without having the
ownership.
2014-03-31 10:14:42 +02:00
Sebastian Huber
b1ce11614b
score: Delete CORE_mutex_Control::holder_id
...
We can use the holder pointer to get the identifier if necessary.
2014-03-31 10:14:42 +02:00
Sebastian Huber
cb8d3e7b8f
score: Delete CORE_mutex_Control::blocked_count
2014-03-31 10:14:42 +02:00
Sebastian Huber
f0b4fd9c2e
score: Do not reset resource count during restart
...
This fixes an integer underflow problem in case resources are released
after a thread restart.
Add new test sptests/spthreadlife01.
2014-03-31 10:14:35 +02:00
Sebastian Huber
23fec9f0e1
score: PR2152: Use allocator mutex for objects
...
Use allocator mutex for objects allocate/free. This prevents that the
thread dispatch latency depends on the workspace/heap fragmentation.
2014-03-31 08:29:44 +02:00
Sebastian Huber
346845730c
score: Use thread life protection for API mutexes
...
This prevents that asynchronous thread deletion can lead to an unusable
allocator or once mutex.
2014-03-31 08:29:43 +02:00
Sebastian Huber
fb7199d3a2
score: Relax Giant lock usage for API mutexes
...
It is no longer necessary to protect the workspace allocations with the
Giant lock due to the thread life cycle re-implementation.
2014-03-31 08:29:43 +02:00
Sebastian Huber
1b1be254e7
score: Thread life cycle re-implementation
...
The thread deletion is now supported on SMP.
This change fixes the following PRs:
PR1814: SMP race condition between stack free and dispatch
PR2035: psxcancel reveals NULL pointer access in _Thread_queue_Extract()
The POSIX cleanup handler are now called in the right context (should be
called in the context of the terminating thread).
http://pubs.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_09.html
Add a user extension the reflects a thread termination event. This is
used to reclaim the Newlib reentrancy structure (may use file
operations), the POSIX cleanup handlers and the POSIX key destructors.
2014-03-31 08:29:43 +02:00
Sebastian Huber
226c731e7a
score: Replace _Thread_Reset()
...
Replace _Thread_Reset() with _Thread_Start_life_change(). This function
can be later used for the _Thread_Close() implementation.
2014-03-31 08:29:43 +02:00
Sebastian Huber
8690b53c85
score: Add parameter to _Thread_Restart()
...
The executing thread will be later used for a common implementation with
_Thread_Close().
2014-03-31 08:29:43 +02:00
Sebastian Huber
391ad3ee4f
score: Fix thread restart extensions context
...
Run the thread restart extensions in the context of the restarted
thread. Run them with thread dispatching enabled.
2014-03-31 08:29:43 +02:00
Sebastian Huber
084c5cc746
score: Reduce _Thread_Reset() parameters
...
Move thread entry parameters out of _Thread_Reset() to enable
re-usablity of this function.
2014-03-31 08:29:43 +02:00
Sebastian Huber
dcd5e2609b
score: Move _Thread_Reset() and make static
2014-03-31 08:29:43 +02:00
Sebastian Huber
5c731a8348
score: Use thread action for thread restart
...
The thread restart is now supported on SMP. New test
smptests/smpthreadlife01.
2014-03-31 08:29:43 +02:00
Sebastian Huber
8061f568de
score: Delete post-switch API extensions
...
Use thread post-switch actions instead.
2014-03-31 08:29:43 +02:00
Sebastian Huber
fc521e2df6
posix: Use thread action for signals
2014-03-31 08:29:43 +02:00
Sebastian Huber
6fd1bdb7af
rtems: Use thread action for signals
2014-03-31 08:29:42 +02:00
Sebastian Huber
0dd732ddac
score: Add thread actions
...
Thread actions are the building block for efficient implementation of
- Classic signals delivery,
- POSIX signals delivery,
- thread restart notification,
- thread delete notification,
- forced thread migration on SMP configurations, and
- the Multiprocessor Resource Sharing Protocol (MrsP).
2014-03-31 08:29:42 +02:00
Sebastian Huber
a5ac9da307
score: Add and use thread get/set CPU functions
2014-03-31 08:29:42 +02:00
Sebastian Huber
c2225d7356
score: Add _Scheduler_Change_priority_if_higher()
...
Add _Scheduler_Set_priority_if_higher().
2014-03-31 08:29:42 +02:00
Sebastian Huber
298d0fda9d
score: Add _Scheduler_Highest_priority_of_two()
...
Use inline functions instead of macros for
_Scheduler_Is_priority_lower_than() and
_Scheduler_Is_priority_higher_than().
2014-03-31 08:29:42 +02:00
Sebastian Huber
7552e77c96
score: PR2151: _Thread_queue_Extract_with_proxy()
...
Avoid NULL pointer access.
2014-03-31 08:29:42 +02:00
Sebastian Huber
79e2d9b65e
score: Add per-CPU state function
...
Add _Per_CPU_State_wait_for_ready_to_start_multitasking(). Add new
fatal SMP error SMP_FATAL_SHUTDOWN_EARLY.
2014-03-31 08:29:42 +02:00
Sebastian Huber
ecd8c8add2
tests/fatal: Fix test names
2014-03-31 08:29:42 +02:00
Sebastian Huber
d98217ccd1
psxtests/psxconfig01: Fix for POSIX keys config
2014-03-31 08:29:42 +02:00
Sebastian Huber
2c83ac3658
smptests/smpfatal03: Fix end of test output
2014-03-31 08:29:42 +02:00
Sebastian Huber
5a13ef9d71
sptests/sp44: Fix end of test output
2014-03-31 08:29:42 +02:00
Bjorn Larsson
df367faddb
sptests: New tests split from sp09 screen 1 and screen 2.
...
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.
2014-03-28 13:09:06 -05:00
Bjorn Larsson
719c7e55e4
sptask_err03: New test split from sp09 screen 3.
2014-03-28 13:09:06 -05:00
Bjorn Larsson
4327a7b759
spevent_err03: New test split from sp09 screen 4.
2014-03-28 13:09:06 -05:00
Bjorn Larsson
d6f65e40ea
sptests: split sp09 screen 5,6 into spsem_err01, spsem_err02, and sptask_err01.
...
sp09 screen 5 split into spsem_err01, sp09 screen 6 split into
spsem_err02, and sptask_err01.
2014-03-28 13:08:57 -05:00
Bjorn Larsson
a3707d893c
sptests: Split sp09 screens 7,8 into spmsg1_err01 and spmsgq_err02.
...
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.
2014-03-28 12:32:47 -05:00
Bjorn Larsson
abc833bd56
spport_err01: New test split from sp09
...
This test verifies rtems_port_XXX error tests from sp09 screen 9.
2014-03-28 12:32:38 -05:00
Bjorn Larsson
34244b7a74
spsignal_err01: New test split from sp09.
...
This test moves rtems_signal_send error testing from sp09
screen 9 into its own test.
2014-03-28 12:32:29 -05:00
Bjorn Larsson
0cf41e54dc
spintr_err01: New test split from sp09.
...
This test contains the interrupt catch error tests from sp09
screen 9.
2014-03-28 12:32:19 -05:00
Bjorn Larsson
9c88bc6e80
spratemon_err01: New test split from sp09.
2014-03-28 12:32:10 -05:00
Sebastian Huber
0cd2b777eb
samples/base_mp: Include missing header file
2014-03-27 14:52:36 +01:00
Christian Mauderer
5c0c0cf2a6
privateenv: Use POSIX keys instead of task variables.
2014-03-27 14:50:36 +01:00
Christian Mauderer
7d5c27e308
privateenv: Remove sharing of user environment between threads.
2014-03-27 14:50:36 +01:00
James Fitzsimons
89aa1ec87d
m68k/mrm332: changes required to get the mrm332 bsp working again.
...
Changed console driver to use interrupts instead of polling.
Change to avoid overwriting CPU32Bug interrupt vector when setting up the Sci interrupt handler.
Fixed type for boolean flag in bsp.h.
Changed mrm332.h to use 25Mhz clock.
Fixes to mrm332.cfg to use correct mcpu32 value for RTEMS_CPU_MODEL instead of m68332 which is no longer supported.
Added -mcpu=cpu32 to compiler options.
Removed broken ROM linker script and replaced broken RAM linker script with working ROM linker script.
Removed no longer required file except_vect_332_ROM.S.
Enabled 0xbeefbeef magic string in start.S to allow MRM version of CPU32Bug to auto run RTEMS.
Removed old code from start.S
Changed compiler optimization flag to optimize for size.
2014-03-26 11:32:52 -04:00
Sebastian Huber
8c26e79867
tests: Produce proper begin/end messages
2014-03-25 16:46:37 +01:00
Sebastian Huber
a75242eb65
tmtests/tmcontext01: Use <rtems/test.h>
2014-03-25 16:46:37 +01:00
Sebastian Huber
1fac361fb9
score: PR2174: Add workaround
...
Add _Scheduler_FIXME_thread_priority_queues_are_broken to prevent thread
priority queues in case an EDF scheduler is used.
2014-03-25 13:19:26 +01:00
Sebastian Huber
9b44339c14
score: Delete _Watchdog_Report()
...
Delete _Watchdog_Report_chain(). These two functions use printk() with
thread dispatching and interrupts disabled. So they are pretty useless
in real applications. They are not part of the application APIs. They
are only used in one test and do nothing useful in this test.
2014-03-25 13:19:22 +01:00
Sebastian Huber
e72bc923df
sapi: Add profiling report for tests
2014-03-25 13:19:15 +01:00
Sebastian Huber
65612ccb85
sptests/spprintk: Use <rtems/test.h>
2014-03-25 09:47:19 +01:00
Sebastian Huber
5f104eefb1
score: Fix heap protection
...
Partially revert commit 2a713e3b94 .
2014-03-25 08:53:33 +01:00
bjorn larsson
fd46711c54
psxtmtests: Add test.h support
2014-03-25 08:06:37 +01:00