Commit Graph

30196 Commits

Author SHA1 Message Date
Sebastian Huber
3afa95bae0 bsp/atsam: Hide details of SPI driver 2016-12-14 13:09:28 +01:00
Sebastian Huber
1505eca59c bsp/atsam: Align SPI API with PIO_Configure() 2016-12-14 13:09:28 +01:00
Sebastian Huber
5dd02e9569 bsp/atsam: Avoid to power on/off the SPI module 2016-12-14 13:09:27 +01:00
Sebastian Huber
f74e2959de bsp/atsam: Speed up SPI DMA transfer start 2016-12-14 13:09:27 +01:00
Sebastian Huber
0396f60e59 bsp/atsam: Optimize transfer setup checks 2016-12-14 13:09:27 +01:00
Sebastian Huber
3417070dc9 bsp/atsam: No timeout for SPI DMA transfers 2016-12-14 13:09:27 +01:00
Chris Johns
c6eead1353 libdl: Add C++ exception support to loaded modules.
This has been tested on SPARC, i386, PowerPC and ARM.

Closes #2767.
2016-12-14 09:07:16 +11:00
Christian Mauderer
fe7012a0d1 score: Prevent thread_dispatch_disable_level < 0. 2016-12-12 15:51:05 +01:00
Sebastian Huber
c69d6aa265 libblock: Fix for RTEMS_DEBUG 2016-12-12 15:49:59 +01:00
Sebastian Huber
e203b65e51 Add INTERNAL_ERROR_LIBIO_STDERR_FD_OPEN_FAILED
Update #2825.
2016-12-12 08:03:30 +01:00
Sebastian Huber
a5ba08eb4f Add INTERNAL_ERROR_LIBIO_STDOUT_FD_OPEN_FAILED
Update #2825.
2016-12-12 08:03:30 +01:00
Sebastian Huber
af8ced5e2d libio: Ensure proper std file descriptors 2016-12-12 08:03:30 +01:00
Sebastian Huber
9622f7796f Add INTERNAL_ERROR_LIBIO_SEM_CREATE_FAILED
Update #2825.
2016-12-12 08:03:30 +01:00
Sebastian Huber
8252968812 INTERNAL_ERROR_LIBIO_USER_ENV_KEY_CREATE_FAILED
Update #2825.
2016-12-12 08:03:29 +01:00
Sebastian Huber
3a659b0481 score: Introduce _Internal_error() 2016-12-12 08:03:29 +01:00
Sebastian Huber
0a81a58254 Add INTERNAL_ERROR_POSIX_INIT_THREAD_CREATE_FAILED
Update #2825.
2016-12-12 08:03:29 +01:00
Sebastian Huber
279d5260c3 Add INTERNAL_ERROR_RTEMS_INIT_TASK_CREATE_FAILED
Update #2825.
2016-12-12 08:03:29 +01:00
Sebastian Huber
6a9282d9bb Rename is_internal to always_set_to_false
Update #2825.
2016-12-12 08:03:14 +01:00
Sebastian Huber
b6606e8d99 score: Remove fatal is internal indicator
The fatal is internal indicator is redundant since the fatal source and
error code uniquely identify a fatal error.  Keep the fatal user
extension is internal parameter for backward compatibility and set it to
false always.

Update #2825.
2016-12-09 08:47:51 +01:00
Sebastian Huber
05006c9017 cdtest: Print proper begin/end of test messages 2016-12-09 08:26:47 +01:00
Chris Johns
8c637ee324 cdtest: Add std::runtime_error() test case
Update #2830.
2016-12-09 08:26:47 +01:00
Sebastian Huber
16bd9e0a9e sptimecounter02: Add plot script 2016-12-08 14:46:32 +01:00
Sebastian Huber
3672f9a202 sptimecounter02: Update screen file
Data obtained on QorIQ T4240 running with 1500MHz.
2016-12-08 14:46:12 +01:00
Sebastian Huber
ccda60bdb6 smplock01: Fix plot scripts 2016-12-07 11:22:00 +01:00
Chris Johns
28fda6279b testsuite: Add test states to the testsuit configuration files.
Change the testsuite configuration files to hold state information about
a test. The states are:

 exclude        - Do not build the test
 expected-fail  - The test is expected to fail
 indeterminate  - The test may pass or may fail

A message is printed just after the test's BEGIN message to indicate
there is a special state for the test. No state message means the test
is expected to pass.

This support requires tests are correctly written to the use standard
support to begin and end a test.
2016-12-07 17:22:41 +11:00
Sebastian Huber
4b579c5f51 score: Simplify linker set API
Resurrect RTEMS_LINKER_SET_BEGIN() and RTEMS_LINKER_SET_END().

Add new macros RTEMS_LINKER_SET_ITEM_COUNT(),
RTEMS_LINKER_SET_IS_EMPTY(), and
RTEMS_LINKER_SET_FOREACH().

Remove confusing RTEMS_LINKER_SET_ASSIGN_BEGIN() and
RTEMS_LINKER_SET_ASSIGN_END().

Fix RTEMS_LINKER_SET_SIZE() to return the size in characters as
specified by the documentation.

Update #2408.
Update #2790.
2016-12-06 11:37:20 +01:00
Sebastian Huber
38bc13f809 smplock01: Fix fairness plot script 2016-12-05 14:47:19 +01:00
Sebastian Huber
b07e642a2b smpthreadlife01: Fix due to robust thread dispatch
Update #2811.
2016-12-02 13:56:04 +01:00
Sebastian Huber
f65dcc712a score: Fix ARM and PowerPC context initialization
Update #2751.
2016-12-02 13:11:13 +01:00
Sebastian Huber
7da78cf637 rtems: Use _Thread_Dispatch_direct()
Update #2797.
2016-12-02 11:51:16 +01:00
Sebastian Huber
d10716f98f rtems: Fix rtems_scheduler_add_processor()
Fix thread dispatch profiling of rtems_scheduler_add_processor().

Update #2797.
2016-12-02 11:18:32 +01:00
Sebastian Huber
5b6c290ed0 score: Initialize thread queue context early
Initialize thread queue context early preferably outside the critical
section.

Remove implicit _Thread_queue_Context_initialize() from
_Thread_Wait_acquire().
2016-12-02 12:41:03 +01:00
Sebastian Huber
6cc83b3217 posix: Fix typo 2016-12-02 12:40:32 +01:00
Sebastian Huber
b3cb2c12d7 score: Fix debug thread queue context init
On ARM Thumb we may have function addresses ending with 0x7f, if we are
lucky.
2016-12-02 12:39:37 +01:00
Sebastian Huber
aadd318cd9 posix: Fix fall back spinlock implementation
Update #2674.
2016-12-02 09:56:40 +01:00
Chris Johns
e629076003 libdebugger: Build for ARM's without a CP15. 2016-12-02 15:39:56 +11:00
Joel Sherrill
de7b174e38 Remove sparc/sis BSP.
closes #2810.
2016-11-29 09:29:03 -06:00
Chris Johns
a0d4e9933c cpukit: Add libdebugger, a remote debugger agent for GDB. 2016-11-29 08:50:40 +11:00
Chris Johns
8fd465e67e arm/zynq: Wait for the UART TX FIFO to empty on reset. 2016-11-29 08:50:40 +11:00
Sebastian Huber
6a1b9e4152 sparc: Optimize _ISR_Handler()
Use _Thread_Do_dispatch() instead of _Thread_Dispatch().  Restore the
PSR[EF] state of the interrupted context via new system call
syscall_irqdis_fp in case floating-point support is enabled.
2016-11-28 16:08:43 +01:00
Sebastian Huber
c09db57f37 score: Fix thread queue context initialization
Initialize the thread queue context with invalid data in debug
configurations to catch missing set up steps.
2016-11-28 16:08:43 +01:00
Martin Erik Werner
9bf9068bb8 or1k: Avoid multiple iterations over cache
Previously, if the cache range operations were called with a range that
was larger than the cache size, this would lead to multiple iterations
over the cache, which is unnecessary.

Limit this so that if the range is larger than the cache size, the
operations will only iterate over the whole cache once.
2016-11-28 07:30:44 +01:00
Martin Erik Werner
a59dd5cc6f or1k: Remove secondary functions in cache manager
Move the code of the _CPU_OR1K_Cache_{enable,disable}_* functions into the
equivalent exported _CPU_cache_{enable,disable}_* functions instead, and
then delete them, in order to reduce the code indirection and aid
readability.

This does not touch the currently unused prefetch, writeback, and lock
functions.
2016-11-28 07:30:44 +01:00
Martin Erik Werner
3b4ddafe99 or1k: Avoid excessive ISR toggle in cache manager
Previously _ISR_Local_{disable,enable}() was executed twice for each
cache line operation, and since operations over the entire cache were
implemented by calling the single-line operations in a loop, this made
those operations rather costly.

Fix the double-toggle by calling _OR1K_mtspr() directly, and removing
the now-unused corresponding _CPU_OR1K_Cache_* functions.

Fix the entire-operations by moving the ISR toggle outside of the
loop, and by calling _OR1K_mtspr() directly instead of the single-line
operations.

Also implement range functions, since otherwise the cache manager falls
back on looping over the single-line operations.
2016-11-28 07:30:44 +01:00
Martin Erik Werner
4dcaa48e4a or1k: Indent & comment fix in cache.c
* Fix indentation of variable declarations.

* Change commented-out asm -> __asm__ to meet c99 standard if
  uncommented.
2016-11-28 07:30:44 +01:00
Martin Erik Werner
e639c026b9 or1k: Add functions for entire cache operations
Add functions for flushing and invalidating whole cache.

Since we don't have system calls that can operate on anything more than
a single cache line, these simply retrieves the cache size and iterates
over the full size, invalidating each line.

The current implementation assumes that there's only one level of cache.

These changes were contributed by Antmicro under contract by ÅAC
Microtec AB.

Close #2602
2016-11-28 07:30:44 +01:00
Sebastian Huber
0a9b6eb056 libblock: Fix for RTEMS_DEBUG 2016-11-24 12:04:15 +01:00
Sebastian Huber
562b0a014a bsps/arm: Add Cortex-M DWT CPU counter 2016-11-24 11:54:28 +01:00
Sebastian Huber
bd0d585807 arm: Fix _CPU_ISR_Is_enabled() for ARMv7-M
Update #2811.
2016-11-24 11:53:59 +01:00
Sebastian Huber
620b23ece5 score: Optimize _Thread_queue_Enqueue()
Move thread state for _Thread_queue_Enqueue() to the thread queue
context.  This reduces the parameter count of _Thread_queue_Enqueue()
from five to four (ARM for example has only four function parameter
registers).  Since the thread state is used after several function calls
inside _Thread_queue_Enqueue() this parameter was saved on the stack
previously.
2016-11-24 08:46:20 +01:00