Commit Graph

25647 Commits

Author SHA1 Message Date
Sebastian Huber
7bff82f34f posix: Avoid NULL pointer access 2013-08-28 14:58:49 +02:00
Sebastian Huber
7d9fff6e28 posix: Add and use _POSIX_signals_Acquire()
Add and use _POSIX_signals_Release().  The post-switch handler is not
protected by disabled thread dispatching.  Use proper SMP lock for
signal management.
2013-08-27 12:51:46 +02:00
Sebastian Huber
a4c3e717a5 score: Add SMP support to _Watchdog_Report_chain() 2013-08-27 10:48:18 +02:00
Sebastian Huber
ff0dcf2c45 sptests/spthreadq01: Add SMP support 2013-08-27 10:48:17 +02:00
Sebastian Huber
c955f99f6e sptests/spnsext01: Add SMP support 2013-08-27 10:48:17 +02:00
Sebastian Huber
ca68215e19 posix: _POSIX_signals_Clear_process_signals()
Do not disable interrupts since the caller did this already.
2013-08-27 10:48:17 +02:00
Sebastian Huber
75f6d18ee0 rtems: Add SMP support for signals
Add and use _ASR_Get_posted_signals().  The post-switch handler is not
protected by disabled thread dispatching.  Use proper SMP lock for
signal management.
2013-08-27 10:48:17 +02:00
Sebastian Huber
ef3640f7a7 ringbuf: Add SMP support 2013-08-27 10:48:17 +02:00
Sebastian Huber
4957272cb1 Filesystem: Use unprotected chain operations
This area is protected by the IO library mutex.
2013-08-27 10:48:16 +02:00
Sebastian Huber
58a5889610 posix: Protect access to _POSIX_signals_Vectors
Assume the sigaction() is called only from thread context.  Protect
against concurrent sigaction() invocations by different threads.
2013-08-27 10:48:16 +02:00
Sebastian Huber
23de794d15 score: Add and use CHAIN_INITIALIZER_ONE_NODE().
Add and use CHAIN_NODE_INITIALIZER_ONE_NODE_CHAIN(),
RTEMS_CHAIN_INITIALIZER_ONE_NODE() and
RTEMS_CHAIN_NODE_INITIALIZER_ONE_NODE_CHAIN().
2013-08-27 10:48:16 +02:00
Sebastian Huber
d56f76ac93 bsps: Fix header includes 2013-08-27 10:48:16 +02:00
Sebastian Huber
07ad4b6660 libblock: Use unprotected chain extract
This area is protected by the media mutex.
2013-08-27 10:48:15 +02:00
Sebastian Huber
a839d62b88 RFS: Use unprotected chain operations
This area is protected by the RFS file system instance lock.
2013-08-27 10:48:15 +02:00
Joel Sherrill
3109857c88 bsps: Add and use CLOCK_DRIVER_ISRS_PER_TICK_VALUE
pc386 set CLOCK_DRIVER_ISRS_PER_TICK to a
string rather than a numeric value. Add
CLOCK_DRIVER_ISRS_PER_TICK_VALUE and
other clean up on the clock driver.
2013-08-26 16:16:38 -04:00
Sebastian Huber
db0e05ff6f score: Delete unused function parameter 2013-08-26 10:02:53 +02:00
Sebastian Huber
f8f1bdad27 score: PR2140: Fix _Thread_queue_Process_timeout()
The _Thread_queue_Process_timeout() operation had several race
conditions in the event of nested interrupts.  Protect the critical
sections via disabled interrupts.
2013-08-26 10:02:53 +02:00
Sebastian Huber
215ccceed3 score: PR2140: _Thread_queue_Extract()
Return if the executing context performed the extract operation since
interrupts may interfere.
2013-08-26 10:02:53 +02:00
Sebastian Huber
842d63bae5 libblock: Avoid uninitialized variable 2013-08-26 09:53:22 +02:00
Ric Claus
2bd440ed58 bsp/xilinx-zynq: Add cache support 2013-08-26 09:53:06 +02:00
Cynthia Rempel
2f0d5e453b Initialize the string before replacing characters 2013-08-26 09:25:58 +02:00
Cynthia Rempel
df533f10c0 Stop a resource leak
Stops a resource leak in the event that the system cannot malloc
2013-08-26 09:18:37 +02:00
Sebastian Huber
7cba8ae676 smp: Fix warnings 2013-08-23 12:56:35 +02:00
Sebastian Huber
ec987ec00a sptests/spintrcritical20: PR2140: New test 2013-08-23 12:56:19 +02:00
Sebastian Huber
396f6442e1 psxtests/psxfatal0[12]: Update due to API changes 2013-08-23 12:54:03 +02:00
Sebastian Huber
07332ae4db score: _Thread_queue_Enqueue_with_handler()
Add thread parameter to _Thread_queue_Enqueue_with_handler() to avoid
access to global _Thread_Executing.
2013-08-23 12:54:03 +02:00
Sebastian Huber
f4804efa50 Filesystem: Remove superfluous free() 2013-08-23 10:06:46 +02:00
Sebastian Huber
630365b927 Filesystem: Avoid usage of uninitialized variable
This is a cosmetic fix.  There was no bug.
2013-08-23 10:06:34 +02:00
Sebastian Huber
dbdfc78fc7 libblock: PR2040: Avoid NULL pointer access
This partly reverts commit 08b9d53460.

Avoid a NULL pointer access and perform the source segment erase if
necessary.
2013-08-23 09:24:10 +02:00
Sebastian Huber
38ec8afe72 libtests/flashdisk01: Update screen file 2013-08-23 09:24:00 +02:00
Chris Johns
6e4c01e3a2 posix: Update to the pthread_once changes.
Implement the reeview changes.
Add a POSIX Fatal error domain.
Fix confdefs.h to correctly handle the internal POSIX mutexes.
2013-08-23 14:56:36 +10:00
Ric Claus
c9b66f5ed3 bsps/arm: Add more CP15 cache functions 2013-08-22 14:20:47 +02:00
Sebastian Huber
1a246d7e05 arm: Make barrier operations more visible 2013-08-22 14:20:35 +02:00
Sebastian Huber
389ffb280f dosfs: Use unprotected chain operations
This area is protected by the FAT file system instance lock.
2013-08-21 15:02:59 +02:00
Sebastian Huber
269dd12420 smp: Documentation 2013-08-21 09:07:49 +02:00
Sebastian Huber
2cfbf23a1f smp: Delete RTEMS_BSP_SMP_SIGNAL_TO_SELF 2013-08-21 09:07:37 +02:00
Sebastian Huber
518d82b6d3 smp: Disable restart of threads other than self 2013-08-20 11:03:38 +02:00
WeiY
0432dff73f add compare_and_swap check in check-atomic.m4 2013-08-20 10:42:43 +02:00
Sebastian Huber
99b35052ae smp: Add Deterministic Priority SMP Scheduler 2013-08-20 10:17:35 +02:00
Sebastian Huber
48c4a556a2 smp: Generalize Simple SMP scheduler 2013-08-20 10:14:05 +02:00
Sebastian Huber
aea4a91993 smp: Optimize Simple SMP scheduler
Add Thread_Control::is_in_the_air field if configured for SMP.  This
helps to simplify the extract operation and avoids superfluous
inter-processor interrupts.  Move the processor allocation step into the
enqueue operation.

Add and use _Scheduler_simple_smp_Get_highest_ready().  Add and use
_Scheduler_SMP_Get_lowest_scheduled().
2013-08-20 10:14:04 +02:00
Sebastian Huber
fc2ad63203 smp: _Scheduler_simple_smp_Allocate_processor()
Rename _Scheduler_simple_smp_Allocate_processor() to
_Scheduler_SMP_Allocate_processor().
2013-08-20 10:14:04 +02:00
Sebastian Huber
6ba15488ee smp: Rename _Scheduler_simple_smp_Start_idle()
Rename _Scheduler_simple_smp_Start_idle() to
_Scheduler_SMP_Start_idle().
2013-08-20 10:14:04 +02:00
Sebastian Huber
9d83f58ab8 smp: Replace Scheduler_simple_smp_Control
Replace Scheduler_simple_smp_Control with Scheduler_SMP_Control.  Rename
_Scheduler_simple_smp_Instance() to _Scheduler_SMP_Instance().
2013-08-20 10:14:04 +02:00
Sebastian Huber
0405082e0f score: Add _Priority_bit_map_Is_empty() 2013-08-20 10:14:04 +02:00
Sebastian Huber
c1a356e9f8 score: _Priority_bit_map_Handler_initialization()
Delete _Priority_bit_map_Handler_initialization() and rely on BSS
initialization.  Move definition of _Priority_Major_bit_map and
_Priority_Bit_map to separate file.  Move definition of __log2table also
to this file.
2013-08-20 10:14:03 +02:00
Sebastian Huber
a78e575ba5 score: _Scheduler_priority_Ready_queue_initialize()
Move workspace allocation to _Scheduler_priority_Initialize().
2013-08-20 10:14:03 +02:00
Sebastian Huber
e00b04383b score: _Scheduler_priority_Ready_queue_first()
Remove superfluous check since a ready thread must exist.
2013-08-20 10:14:03 +02:00
Sebastian Huber
f20b3d568d score: Add _Scheduler_priority_Get_ready_queues()
Add and use _Scheduler_priority_Get_ready_queues()
2013-08-20 10:14:03 +02:00
Sebastian Huber
0c551f76e5 score: Add _Scheduler_priority_Get_scheduler_info
Add and use _Scheduler_priority_Get_scheduler_info().
2013-08-20 10:14:02 +02:00