Commit Graph

3244 Commits

Author SHA1 Message Date
Sebastian Huber
a38ced2683 score: Rework global construction
Ensure that the global construction is performed in the context of the
first initialization thread.  On SMP this was not guaranteed in the
previous implementation.
2014-10-13 14:30:22 +02:00
Joel Sherrill
78a38fa2ae Eliminate use of /*PAGE and clean up formatting 2014-10-09 10:11:58 -05:00
Joel Sherrill
eb7f306dc8 samples/base_sp: Fix printf() warning 2014-10-09 10:11:57 -05:00
Joel Sherrill
51a95ff9df samples/unlimited: Fix printf() warning and clean up 2014-10-09 10:11:57 -05:00
Sebastian Huber
22cd2821de IMFS: Avoid NULL pointer access
Avoid NULL pointer access in IMFS_is_imfs_instance().  File systems
mounted via mount() always have a valid type string.
2014-10-08 11:26:27 +02:00
Sebastian Huber
b9f952254b posix: Add auto initializaton for rwlock 2014-10-08 11:26:27 +02:00
Sebastian Huber
7fd5e89c96 termios: Partially hide rtems_termios_tty
Move interrupt lock to device context and expose only this structure to
the read, write and set attributes device handler.  This makes these
device handler independent of the general Termios infrastructure
suitable for direct use in printk() support.
2014-10-07 16:35:13 +02:00
Sebastian Huber
a830cb864d termios: Separate flow control from normal handler 2014-10-07 16:27:51 +02:00
Sebastian Huber
805360b8e5 pppd: Fix warnings 2014-09-30 14:06:09 +02:00
Sebastian Huber
6f1e1b308c sptests/spintrcritical22: New test 2014-09-19 14:25:34 +02:00
Sebastian Huber
8f0a2c995b smptests/smpload01: Report profiling only once
Rely on test extension to report profiling.
2014-09-17 10:31:30 +02:00
Joel Sherrill
8fbe2e69b5 Use correct prototype of benchmark_timer_read()
This change starts with removing the effectively empty file
timerdrv.h. The prototypes for benchmark_timer_XXX() were in
btimer.h which was not universally used. Thus every use of
timerdrv.h had to be changed to btimer.h. Then the prototypes
for benchmark_timer_read() had to be adjusted to return
benchmark_timer_t rather than int or uint32_t.

I took this opportunity to also correct the file headers to
separate the copyright from the file description comments which
is needed to ensure the copyright isn't propagated into Doxygen
output.
2014-09-16 16:09:12 -05:00
Sebastian Huber
7f8a978e6b sptests/sp07: Minimize thread dispatch latency
Do not use sprintf() in thread dispatch critical sections to avoid
corruption of profiling samples.  Update test to reflect thread the life
cycle changes.
2014-09-16 15:43:15 +02:00
Daniel Cederman
6e1206ab46 smptests/smpcache01: Remove invalidation of data cache lines from test
Invalidation of entire data cache might cause data written to the stack
to get lost.
2014-09-16 10:29:42 +02:00
Sebastian Huber
f9eca790ac sptests/spintrcritical_support: Optimize busy loop 2014-09-12 16:06:29 +02:00
Sebastian Huber
73b5d8bf20 sptests/spintrcritical10: Avoid undefined memory 2014-09-12 16:06:26 +02:00
Sebastian Huber
f3508c44b5 tmtests/tmcontext01: Improve cache dirty function
Increment by cache line size to allow more cycles per second.
2014-09-11 07:33:16 +02:00
Sebastian Huber
e09f8b0808 sptests/spfatal07: Fix end of test message 2014-09-10 14:46:03 +02:00
Sebastian Huber
4984ee4aa2 sptests/sp39: Convert to sptests/spintrcritical21
Use interrupt critical section test support.  Do not print end of test
message in case of failure.
2014-09-10 07:12:55 +02:00
Sebastian Huber
b5f9ad2952 psxtests/psxonce01: Use test extension 2014-09-10 07:12:55 +02:00
Sebastian Huber
8028089000 tests: Rework interrupt critical tests
This avoids test durations of more than one hour on fast targets, since
fast targets can count a lot during one clock tick period, so the minor
loop iteration count was quite high.  Estimate now the test body
duration to iterate only through the interesting time window.

Add and use interrupt_critical_section_test().
2014-09-10 07:12:55 +02:00
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