Commit Graph

3323 Commits

Author SHA1 Message Date
Sebastian Huber
6821a629c3 Add -std=gnu++11 to CXXFLAGS if SMP is enabled
This is necessary to use the <atomic> header file used for the atomic
operations.
2014-09-08 11:13:53 +02:00
Sebastian Huber
8d30713d42 tmtests/tmcontext01: Improve cache dirty function 2014-09-08 07:53:03 +02:00
Sebastian Huber
07b4594cb4 sptests/spcontext01: Fix warning 2014-09-08 07:53:02 +02:00
Sebastian Huber
b2356837db tmtests/tmcontext01: Plot a legend 2014-09-05 08:24:52 +02:00
Joel Sherrill
a864016f3a spcpuset01: Use %zd for size_t to eliminate warning 2014-09-04 09:08:05 -05:00
Joel Sherrill
de549c3df9 Misc psxtmtests: Use uint32_t not long for end_time to match printf() format expectations 2014-09-04 09:08:05 -05:00
Joel Sherrill
9aa6ddf0ce spfreechain01/init.c: Use %zd for size_t to eliminate warning 2014-09-04 09:08:05 -05:00
Joel Sherrill
e1462e162a sp19: Eliminate warnings 2014-09-04 09:08:05 -05:00
Joel Sherrill
be4992b193 raspberrypi: Use shared bspreset.c 2014-09-04 09:07:56 -05:00
Sebastian Huber
8ae6f264af samples/iostream: Produce proper begin/end message 2014-09-01 17:16:53 +02:00
Sebastian Huber
5689d723a8 smptests/smplock01: Update screen file 2014-09-01 16:12:42 +02:00
Sebastian Huber
5cb5342c49 libtests/capture01: Fix test name 2014-09-01 13:28:30 +02:00
Sebastian Huber
979d95e470 libtests/capture01: Force error if SMP enabled
This prevents infinite test runs on SMP due to the recursive interrupt
lock acquire.
2014-09-01 10:08:12 +02:00
Sebastian Huber
4030cccfef tests: Add documentation 2014-09-01 11:01:04 +02:00
Sebastian Huber
c147a139c6 smptests/smpfatal08: Fix link error 2014-09-01 08:45:23 +02:00
Sebastian Huber
96ec8ee80a rtems: Add more clock tick functions
Add rtems_clock_tick_later(), rtems_clock_tick_later_usec() and
rtems_clock_tick_before().
2014-08-26 10:21:27 +02:00
Hesham ALMatary
23b14f87cf sptests/spcache01: Make inline assembly conditional to account for OpenRISC l.nop instruction. 2014-08-25 11:12:16 -05:00
Daniel Cederman
9a9ab85b45 smptests/smpcache01: Test the SMP cache manager
Invokes SMP cache management routines under different scenarios.
2014-08-22 13:10:59 +02:00
Sebastian Huber
bba3507723 score: PR2179: Fix initially locked PI mutex 2014-08-20 08:17:49 +02:00
Sebastian Huber
0b9fe3ec66 sptests/sprbtree01: Add random ops test case 2014-08-08 11:11:27 +02:00
Sebastian Huber
993f5acd25 rbtree: Simplify insert and extract
Simplify _RBTree_Insert() and _RBTree_Extract().  Remove more
superfluous NULL pointer checks.  Change _RBTree_Is_root() to use only
the node.  Add parent parameter to _RBTree_Sibling().  Delete
_RBTree_Grandparent() and _RBTree_Parent_sibling().
2014-08-07 15:59:29 +02:00
Sebastian Huber
4752550f80 rbtree: Simplify _RBTree_Rotate()
Add and use _RBTree_Direction().
2014-08-07 15:59:25 +02:00
Sebastian Huber
d472d21780 sptests/sprbtree01: Check tree layout 2014-08-05 15:17:51 +02:00
Sebastian Huber
888edf69a9 sptests/sprbtree01: Reduce stack usage 2014-08-05 15:17:43 +02:00
Sebastian Huber
60fe374247 rbtree: Add and use RBTree_Compare_result 2014-08-05 09:30:37 +02:00
Sebastian Huber
40dcafaf80 Add and use RTEMS_CONTAINER_OF() 2014-08-05 09:30:33 +02:00
Sebastian Huber
b767683a5e rbtree: Rename find header in find control
Simplify _RBTree_Find_control().  Avoid superfluous NULL pointer checks.
2014-07-29 14:05:17 +02:00
Sebastian Huber
6e93c836e2 rbtree: Simplify off-tree handling
Only use the parent pointer, since this pointer is never NULL for nodes
which are part of a tree.

Rename functions from *_off_rbtree() to *_off_tree().
2014-07-29 14:05:08 +02:00
Sebastian Huber
639117fd12 rbtree: Update maximum node in LIFO order
The test sptests/sp35 showed a NULL pointer access due to an invalid
maximum node field (e.g. a tree with one element and NULL as the maximum
node).
2014-07-26 12:01:25 +02:00
Joel Sherrill
875fff0ae3 Add _TOD_Adjust to SCORE TOD Handler.
This lays the proper structure for doing future work on
time adjustment algorithms. Any TOD adjustments should be
requested at the API level and performed at the SCORE level.

Additionally updated a test.
2014-07-23 16:53:24 -05:00
Sebastian Huber
8abbbdde38 rbtree: Do not set node off-tree in extract 2014-07-22 12:31:41 +02:00
Sebastian Huber
d7a9469378 rbtree: Remove superfluous NULL pointer checks 2014-07-22 12:31:39 +02:00
Sebastian Huber
64939bc9ef rbtree: Reduce RBTree_Control size
Remove compare function and is unique indicator from the control
structure.  Rename RBTree_Compare_function to RBTree_Compare.  Rename
rtems_rbtree_compare_function to rtems_rbtree_compare.  Provide C++
compatible initializers.  Add compare function and is unique indicator
to _RBTree_Find(), _RBTree_Insert(), rtems_rbtree_find() and
rtems_rbtree_insert().  Remove _RBTree_Is_unique() and
rtems_rbtree_is_unique().  Remove compare function and is unique
indicator from _RBTree_Initialize_empty() and
rtems_rbtree_initialize_empty().
2014-07-15 10:03:48 -05:00
Joel Sherrill
9ba76ed8de sp59: Fix typos 2014-07-14 19:41:31 -05:00
Joel Sherrill
b6343c6100 Enhance Semaphore Blocking and Readying Time Test Cases
tm02 and tm03 were modified to be reused for multiple configurations
of RTEMS Classic API Semaphores. This added tm31-36.  The messages for
tm02 and tm03 were modified to indicate the semaphore attributes.
tm31 - tm36 were added. This resulted in the following cases:

tm02 - rtems_semaphore_obtain: Counting/FIFO not available caller blocks
tm03 - rtems_semaphore_release: Counting/FIFO task readied preempts caller
tm31 - rtems_semaphore_obtain: Counting/priority not available caller blocks
tm32 - rtems_semaphore_release: Counting/priority task readied preempts caller
tm33 - rtems_semaphore_obtain: Binary/FIFO not available caller blocks
tm34 - rtems_semaphore_release: Binary/FIFO task readied preempts caller
tm35 - rtems_semaphore_obtain: Binary/priority not available caller blocks
tm36 - rtems_semaphore_release: Binary/priority task readied preempts caller
2014-07-14 19:31:00 -05:00
Jennifer Averett
648c86c26a capture01: Add include of assert.h. 2014-07-14 13:12:31 -05:00
Jennifer Averett
247118bf51 smpschedsem01: new test.
This test verifies priority is inherited from a high priority
semaphore by a lower  priority task.
2014-07-11 10:12:48 -05:00
Jennifer Averett
7eb3fd4782 smpschedaffinity05: Add test for worst case migration for affintiy scheduler.
This test uses a combination of priority and affinity to cause
the tasks running on all 4 cores to change due to one task priority
change.
2014-07-11 10:12:48 -05:00
Jennifer Averett
61d26f939d smpschedaffinity04: New test.
This test walks a secondary high prority task across
all the cores.
2014-07-11 10:12:48 -05:00
Jennifer Averett
28d6674966 smpschedaffinity03: New test.
This task walks the affinity of self across all the cores.
2014-07-11 10:12:48 -05:00
Jennifer Averett
0929306933 smpschedaffinity02: New test.
This test checks setting the affinity of a secondary task
on a two core system.
2014-07-11 10:12:48 -05:00
Jennifer Averett
d88b0e7fc8 smpschedaffinity01: New test.
This test verifies that affinity is honored when set prior to task start.
2014-07-11 10:12:47 -05:00
Jennifer Averett
82d137ae21 capture01: New non-interactive test for capture engine. 2014-07-11 09:49:55 -05:00
Sebastian Huber
27783f6ca8 score: Fix scheduler helping implementation
Do not extract the idle threads from the ready set so that there is
always a thread available for comparison.
2014-07-10 15:29:57 +02:00
Sebastian Huber
93726e5205 termios: Add rtems_termios_set_best_baud() 2014-07-09 15:56:43 +02:00
Sebastian Huber
a0fb29fb80 termios: PR1279: Use first open status 2014-07-09 12:07:49 +02:00
Sebastian Huber
32fc6a3490 termios: PR1279: Use set attributes status 2014-07-09 12:07:49 +02:00
Sebastian Huber
ef8c00bc88 termios: PR2153: New low-level device API
Add a new low-level device API to Termios that passes the TTY structure
to the low-level device functions.  This greatly simplifies the
low-level device drivers since they are no longer forced to derive their
private data from the minor number.

It makes it possible to use the TTY low-level lock in the device driver
low-level functions which is necessary for proper SMP support.  For
example to set the attributes it is often necessary to perform a
read-modify-write operation on a control register used also by interrupt
routines.

A compatibility layer is provided to support device drivers using the
old callback functions so it is not necessary to modify existing device
drivers.
2014-07-09 11:55:00 +02:00
Sebastian Huber
9f228beaa6 smptests/smpmrsp01: Add and update test cases 2014-07-09 10:05:21 +02:00
Sebastian Huber
8568341d69 score: Need for help indicator for scheduler ops
Return a thread in need for help for the following scheduler operations

- unblock,
- change priority, and
- yield.

A thread in need for help is a thread that encounters a scheduler state
change from scheduled to ready or a thread that cannot be scheduled in
an unblock operation.  Such a thread can ask threads which depend on
resources owned by this thread for help.
2014-07-08 16:30:48 +02:00