Sebastian Huber
e814a233ed
termios: Add IO control handler
...
Update #2785 .
2016-09-19 07:52:34 +02:00
Sebastian Huber
55e0be3606
termios: Use IMFS nodes for new Termios devices
...
This makes the new Termios devices independent of device major/minor
numbers. It enables BSP independent Termios device drivers which may
reside in the cpukit domain. These drivers require an IMFS and do not
work with the device file system. However, the device file system
should go away in the future.
2016-09-19 07:52:33 +02:00
Sebastian Huber
610b9ef120
libtests/devfs: Use printk()
...
This avoids problems with console drivers that use generic nodes of the
IMFS.
2016-09-19 07:52:33 +02:00
Sebastian Huber
caf4064680
fstests: Use printk() for IMFS configuration tests
...
This avoids problems with console drivers that require a more complete
IMFS.
2016-09-19 07:22:30 +02:00
Sebastian Huber
29770e122e
tests: CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM
...
Avoid unnecessary use of CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM.
2016-09-19 07:22:30 +02:00
Sebastian Huber
d496e0979a
imfs: Untangle dependencies
...
This helps to use IMFS_make_generic_node() without pulling in the
complete IMFS implementation.
2016-09-19 07:22:01 +02:00
Sebastian Huber
a3e9ae5d0d
imfs: Fix IMFS_stat_file()
...
Use the adjusted and not the requested memfile bytes per block.
Untangle dependencies.
2016-09-16 14:02:41 +02:00
Alexander Krutwig
0ab86d091a
bsp/atsam: Add SPI bus driver
2016-09-16 10:07:03 +02:00
Alexander Krutwig
a42be52bbf
Add SPI bus framework
...
User API is compatible to Linux userspace API. New test libtests/spi01.
Update #2776 .
2016-09-16 09:36:44 +02:00
Alexander Krutwig
c186de5cd1
bsp/atsam: Use normal memory for QSPI flash area
...
This is a performance improvement for execute-in-place (XIP).
2016-09-16 08:18:50 +02:00
Pavel Pisa
5eb769ca8b
arm/raspberrypi: define bsp_reset to restart board by watchdog.
...
Whether the board is restarted after application finish/exit
is controlled by BSP_RESET_BOARD_AT_EXIT configure option.
2016-09-08 23:40:21 +02:00
Sebastian Huber
b20b736382
score: Introduce _Thread_Get_priority()
...
Avoid direct access to thread internal data fields.
2016-09-08 09:55:28 +02:00
Sebastian Huber
52a661e8f8
score: Add scheduler node implementation header
...
Update #2556 .
2016-09-08 09:55:27 +02:00
Sebastian Huber
15b5678dcd
score: Move thread wait node to scheduler node
...
Update #2556 .
2016-09-08 09:55:27 +02:00
Sebastian Huber
e27421f386
score: Move scheduler node to own header file
...
This makes it possible to add scheduler nodes to structures defined in
<rtems/score/thread.h>.
Update #2556 .
2016-09-08 09:55:27 +02:00
Sebastian Huber
1f210ac139
score: Optimize thread queue enqueue
...
Optimize the enqueue to empty thread queue case.
2016-09-08 09:55:27 +02:00
Sebastian Huber
e41308eab8
score: Introduce Thread_queue_Lock_context
...
Introduce Thread_queue_Lock_context to contain the context necessary for
thread queue lock and thread wait lock acquire/release operations to
reduce the Thread_Control size.
2016-09-08 09:55:27 +02:00
Sebastian Huber
114e40880b
score: Simplify thread queue acquire/release
2016-09-08 09:55:26 +02:00
Sebastian Huber
db56369883
score: Fix warning
2016-09-08 09:55:26 +02:00
Sebastian Huber
63b36cbf17
score: Fix warning
2016-09-08 09:55:26 +02:00
Sebastian Huber
8af1663acc
score: Fix for RTEMS_DEBUG
2016-09-08 09:55:26 +02:00
Sebastian Huber
275032b85a
powerpc: Fix SMP context switch
...
We need the unmodified r4 for get_potential_new_heir.
This partially reverts commit 8d785f72d9 .
2016-09-08 09:55:26 +02:00
Chris Johns
d416061846
testsuite: Add libdl/dl05 reloc test.
2016-09-08 16:52:39 +10:00
Chris Johns
11323b7da9
libdl: Add ARM C++ relocation record support.
...
Closes #2767
2016-09-08 16:41:59 +10:00
Sebastian Huber
84e960e951
stackchk: Fix stack checker thread initialization
...
Commit 0fd6f25507 relaxed the thread begin
extension execution environment. This broke the stack check which only
partially initialized the stack pattern in its create extension. Move
the part of the begin extension to the create extension.
2016-09-08 07:43:02 +02:00
Sebastian Huber
8bb9d4100c
stackchk: Use a const pattern to check
2016-09-08 07:43:02 +02:00
Sebastian Huber
bba988d313
stackchk: Remove superfluous internal header file
2016-09-08 07:43:02 +02:00
Sebastian Huber
531924df8b
bsp/raspberrypi: Rename file
2016-09-08 07:43:02 +02:00
Pavel Pisa
5d369c8572
arm/raspberrypi: use GPU/system timer as clock source.
...
It has advantage that it is designed as free-running counter
with compare registers and can easily serve for for both
timecounter and tick interrupt.
2016-09-07 20:29:39 +02:00
Pavel Pisa
40f49d11cf
arm/raspberrypi: correct and extend definitions for GPU timer.
2016-09-07 20:29:39 +02:00
Pavel Pisa
df2ee9d377
arm/raspberrypi: basic BCM2836 SMP implementation.
...
The BSP support is divided to startup/bspsmp_api.c file where
functions required by SuperCore are defined and BCM2836 hardware
initialization part in startup/bspsmp_init.c.
Separation is done to prevent smpfatal08 test build failure.
2016-09-07 20:29:39 +02:00
Pavel Pisa
38a5385bc0
arm/raspberrypi: propagate number of configured CPUs into linker script.
2016-09-07 20:29:39 +02:00
Pavel Pisa
dfbedf366d
arm/raspberrypi: rename linkcmds to linkcmds.in to allow their configure processing.
2016-09-07 20:29:39 +02:00
Pavel Pisa
4c53be196d
arm/raspberrypi: more definitions of BCM2836 core local peripherals.
2016-09-07 20:29:39 +02:00
Rohini Kulkarni
bf62c39021
arm/raspberrypi: include definitions of BCM2836 SMP mailboxes.
2016-09-07 20:29:39 +02:00
Pavel Pisa
6e6a77a690
bsps/arm: reorganize CP15 code to allow clean and invalidate ARMv7 cache by level.
...
New function arm_cp15_cache_invalidate_level and arm_cp15_cache_clean_level
can be used to maintain single cache level (instruction or data).
2016-09-07 20:29:39 +02:00
Pavel Pisa
5c49464108
bsps/arm: remove lock in arm_cp15_set_translation_table_entries().
...
Protection by rtems_interrupt_disable() is incompatible with SMP build.
Actual page table entries manipulation function does not need locking
and disabling cache and can be run concurrently even on multiple
CPUs as long as changes do not modify same region. If the function
is called from more threads/CPUs to modify same region with different
mapping options concurrently then there is problem at another level
of virtual address space management and has to be solved by mutex
or other locking at that level.
2016-09-07 20:29:38 +02:00
Pavel Pisa
7ec689adc7
bsps/arm: use defines for cache type register format field.
...
The change documents meaning of codes and opens
well defined way to use cache type format for cache
examination/debugging outside of arm-cp15.h file.
2016-09-07 20:29:38 +02:00
Christian Mauderer
b9cc5aa9d3
bsp/atsam: Add SDRAM IS42S16320F-7BL.
2016-09-07 13:38:53 +02:00
Christian Mauderer
beb289eb5b
bsp/atsam: Move ram init values to structure.
2016-09-07 13:38:53 +02:00
Sebastian Huber
29594b4dbc
score: Remove superfluous SMP debug support
...
This information turned out to be useless in the last couple of months.
2016-09-07 09:27:59 +02:00
Sebastian Huber
cac586e6e8
bsp/xilinx-zynq: Avoid duplicate declaration
2016-09-06 10:56:27 +02:00
Sebastian Huber
3709987d96
score: Add _Chain_Initialize_one()
2016-09-06 10:52:20 +02:00
Sebastian Huber
da15db787b
score: Improve red-black tree debug support
...
Ensure that we extract a node only from the right tree.
2016-09-06 10:52:19 +02:00
Sebastian Huber
83b0229071
score: Add _RBTree_Initialize_one()
2016-09-06 10:52:19 +02:00
Sebastian Huber
796f12a85a
score: Add missing const qualifiers
2016-09-06 10:52:19 +02:00
Sebastian Huber
1dd8ffff9f
capture: Use proper accessor functions
2016-09-06 10:52:19 +02:00
Sebastian Huber
7af6b58c5c
capture: Workaround to avoid misaligned access
...
Move the 64-bit field to a not 64-bit aligned structure offset to stop
the compiler from generating 64-bit load/store operations.
2016-09-06 09:53:08 +02:00
Chris Johns
1c18ebf0d6
libmisc/capture: Remove the reserved _t in the types.
2016-09-01 11:11:45 +10:00
Chris Johns
6da06c559f
libmisc/capture: Fix the capture engine on SMP.
...
This patches some issues with the capture engine:
1. Check is the engine is open in ctrace commands.
2. Check all record open and appends for overflow.
3. Fix the record open to take the size of user data and
not the record header.
4. Use packed structs for data being written to the per
cpu buffers.
5. Remove direct struct access to the capture buffers to
avoid misaligned accesses.
6. Add support to extract records, no struct access to the
capture buffers.
7. Update ctrace to extract records from the capture buffers.
8. Add support to ctrace to always print the task name if it
has one.
9. Add support to manage names or the lack of a name.
10. Range of minor fixes.
11. Fix a long standing bug in ctset's handling of args.
Closes #2780 .
2016-09-01 11:11:22 +10:00