Commit Graph

29251 Commits

Author SHA1 Message Date
Sebastian Huber
3bf2bcc8c6 score: Delete _Chain_Get()
This function is not used in the score.

Update #2555.
2016-04-06 09:08:24 +02:00
Sebastian Huber
223fff46b8 score: Delete _Chain_Extract()
This function is not used in the score.

Update #2555.
2016-04-06 09:08:23 +02:00
Sebastian Huber
b0354b0eee score: Delete _Chain_Insert()
This function is not used in the score.

Update #2555.
2016-04-06 09:08:23 +02:00
Sebastian Huber
cd90052365 score: Delete _Chain_Get_with_empty_check()
This function is not used in the score.

Update #2555.
2016-04-06 09:08:23 +02:00
Sebastian Huber
c130387985 score: Delete _Chain_Prepend_with_empty_check()
This function is not used in the score.

Update #2555.
2016-04-06 09:08:23 +02:00
Sebastian Huber
88f4157c93 score: Delete _Chain_Append_with_empty_check()
This function is not used in the score.

Update #2555.
2016-04-06 09:08:23 +02:00
Sebastian Huber
6406b693b6 score: Delete _Chain_Prepend()
This function is not used in the score.

Update #2555.
2016-04-06 09:08:22 +02:00
Sebastian Huber
3570ec684f rtems: Avoid Giant lock for partitions
Use an ISR lock to protect the partition state changes.

Update #2555.
2016-04-06 09:08:22 +02:00
Sebastian Huber
84f5c0a91b score: Use red-black tree for active global objects
Use a red-black tree to lookup active global objects by identifier or
name.

Update #2555.
2016-04-06 09:08:22 +02:00
Sebastian Huber
84dc9dfb24 score: Use red-black tree for active MP proxies
Update #2555.
2016-04-06 09:08:22 +02:00
Sebastian Huber
9ea69deef0 score: Add node map to _RBTree_Find_inline() 2016-04-06 09:08:21 +02:00
Sebastian Huber
8b922aafc7 posix: Fix _POSIX_signals_Check_signal()
Do not save and restore the thread wait information.  This is
superfluous and may overwrite thread wait information updates due to
interrupts leading to system corruption.
2016-04-06 09:08:21 +02:00
Sebastian Huber
3c89525608 posix: Make _POSIX_signals_Check_signal() static 2016-04-06 09:08:21 +02:00
Sebastian Huber
7d217001ab posix: Use proper lock for signals 2016-04-06 09:08:21 +02:00
Sebastian Huber
8f9658187a score: Rework MP thread queue callout support
The thread queue implementation was heavily reworked to support SMP.
This broke the multiprocessing support of the thread queues.  This is
fixed by this patch.

A thread proxy is unblocked due to three reasons
  1) timeout,
  2) request satisfaction, and
  3) extraction.

In case 1) no MPCI message must be sent.  This is ensured via the
_Thread_queue_MP_callout_do_nothing() callout set during
_Thread_MP_Allocate_proxy().

In case 2) and 3) an MPCI message must be sent.  In case we interrupt
the blocking operation during _Thread_queue_Enqueue_critical(), then
this message must be sent by the blocking thread.  For this the new
fields Thread_Proxy_control::thread_queue_callout and
Thread_Proxy_control::thread_queue_id are used.

Delete the individual API MP callout types and use
Thread_queue_MP_callout throughout.  This type is only defined in
multiprocessing configurations.  Prefix the multiprocessing parameters
with mp_ to ease code review.  Multiprocessing specific parameters are
optional due to use of a similar macro pattern.  There is no overhead
for non-multiprocessing configurations.
2016-04-06 09:08:21 +02:00
Sebastian Huber
818ad5eb76 score: Simplify _Thread_queue_Do_flush()
Also set the thread wait return code for thread proxies since this
causes no harm.
2016-04-06 09:08:20 +02:00
Sebastian Huber
9809d6e082 score: _Thread_queue_Flush() parameter changes
Change _Thread_queue_Flush() into a macro that invokes
_Thread_queue_Do_flush() with the parameter set defined by
RTEMS_MULTIPROCESSING.  For multiprocessing configurations add the
object identifier to avoid direct use of the thread wait information.

Use mp_ prefix for multiprocessing related parameters.

Rename Thread_queue_Flush_callout to Thread_queue_MP_callout since this
type will be re-used later for other operations as well.
2016-04-06 09:08:20 +02:00
Sebastian Huber
e581ea9218 score: Fix _Thread_queue_Extract_locked()
We must update the wait flags under protection of the current thread
lock, otherwise a _Thread_Timeout() running on another processor may
interfere.
2016-04-06 09:08:20 +02:00
Sebastian Huber
6ca60e5dc9 score: Delete MP support for RW locks
MP support was not implemented.
2016-04-06 09:08:20 +02:00
Sebastian Huber
97312fcc6d score: Delete Thread_Wait_information::id
This field was only by the monitor in non-multiprocessing
configurations.  Add new field Thread_Wait_information::remote_id in
multiprocessing configurations and use it for the remote procedure call
thread queue.

Add _Thread_Wait_get_id() to obtain the object identifier for debug and
system information tools.  Ensure the object layout via static asserts.
Add test cases to sptests/spthreadq01.
2016-04-06 09:08:20 +02:00
Sebastian Huber
d2c8693e15 bsp/atsam: Fix mbuf allocation 2016-04-01 08:33:29 +02:00
Sebastian Huber
9eaf564d52 score: Add and use _RBTree_Insert_inline() 2016-04-01 07:56:58 +02:00
Sebastian Huber
97127aa119 score: Add and use _RBTree_Find_inline() 2016-04-01 07:35:18 +02:00
Sebastian Huber
c01401c481 score: _User_extensions_Remove_set()
Use unprotected chain operation in _User_extensions_Remove_set() since
the caller must own the object allocator lock.

Update #2555.
2016-03-31 13:33:48 +02:00
Sebastian Huber
2803314e1c bsp/leon3: Remove dead code 2016-03-31 13:33:45 +02:00
Alexander Krutwig
fb29ca55ea bsp/atsam: Add network interface driver 2016-03-31 13:00:44 +02:00
Sebastian Huber
0bd49f1535 bsp/atsam: Add nocache region support 2016-03-31 12:58:19 +02:00
Sebastian Huber
935e9c7dfc bsp/atsam: Fix sizes of internal SRAM 2016-03-31 12:58:19 +02:00
Chris Johns
0a2f5bdd19 bsp/pc386: Fix --console=/--printk= argument parsing. 2016-03-31 14:45:59 +11:00
Joel Sherrill
d33ab8256d v850/gdbv850sim/include/bsp.h: Do not include <rtems/iosupp.h> 2016-03-30 14:04:24 -05:00
Joel Sherrill
f7e2ceb4ac sparc64/usiii/include/bsp.h: Do not include <rtems/iosupp.h> 2016-03-30 14:04:24 -05:00
Joel Sherrill
c412142f20 sparc64/niagara/include/bsp.h: Do not include <rtems/iosupp.h> 2016-03-30 14:04:24 -05:00
Joel Sherrill
23e574699c sparc/erc32/include/bsp.h: Do not include <rtems/iosupp.h> 2016-03-30 14:04:24 -05:00
Joel Sherrill
be13774bcf sh/shared/console.c: Do not include <rtems/iosupp.h> 2016-03-30 14:04:23 -05:00
Joel Sherrill
64f3cf8af4 sh/gensh2/startup/hw_init.c: Do not include <rtems/iosupp.h> 2016-03-30 14:04:23 -05:00
Joel Sherrill
09a21c59d9 powerpc/virtex5/include/bsp.h: Do not include <rtems/iosupp.h> 2016-03-30 14:04:23 -05:00
Joel Sherrill
bea9a25e2e powerpc/virtex4/include/bsp.h: Do not include <rtems/iosupp.h> 2016-03-30 14:04:23 -05:00
Joel Sherrill
c9705f037a powerpc/virtex/include/bsp.h: Do not include <rtems/iosupp.h> 2016-03-30 14:04:23 -05:00
Joel Sherrill
d379a62976 powerpc/qemuppc/include/bsp.h: Do not include <rtems/iosupp.h> 2016-03-30 14:04:23 -05:00
Joel Sherrill
c5ecb95c63 powerpc/psim/include/bsp.h: Do not include <rtems/iosupp.h> 2016-03-30 14:04:23 -05:00
Joel Sherrill
bf820a6f47 powerpc/haleakala/include/bsp.h: Do not include <rtems/iosupp.h> 2016-03-30 14:04:23 -05:00
Joel Sherrill
ff9f426cbd moxie/moxiesim/include/bsp.h: Do not include <rtems/iosupp.h> 2016-03-30 14:04:23 -05:00
Joel Sherrill
7054fccf6f mips/rbtx4938/include/bsp.h: Do not include <rtems/iosupp.h> 2016-03-30 14:04:23 -05:00
Joel Sherrill
fd2987774c mips/rbtx4925/include/bsp.h: Do not include <rtems/iosupp.h> 2016-03-30 14:04:23 -05:00
Joel Sherrill
fd437ab396 mips/malta/include/bsp.h: Do not include <rtems/iosupp.h> 2016-03-30 14:04:23 -05:00
Joel Sherrill
aafd8188ca mips/jmr3904/include/bsp.h: Do not include <rtems/iosupp.h> 2016-03-30 14:04:23 -05:00
Joel Sherrill
bbea36cd08 mips/hurricane/include/bsp.h: Do not include <rtems/iosupp.h> 2016-03-30 14:04:23 -05:00
Joel Sherrill
241c1b8e0b mips/csb350/include/bsp.h: Do not include <rtems/iosupp.h> 2016-03-30 14:04:23 -05:00
Joel Sherrill
482fdd5510 m68k/uC5282/include/bsp.h: Do not include <rtems/iosupp.h> 2016-03-30 14:04:23 -05:00
Joel Sherrill
6d27f69c6f m68k/mvme167/include/bsp.h: Do not include <rtems/iosupp.h> 2016-03-30 14:04:23 -05:00