summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* arm/tms570: include hardware initialization and selftest based on Ti ↵Pavel Pisa2016-09-2216-0/+3519
| | | | | | | | | | | | | | | | | | | | HalCoGen generated files. The configuration is specific for TMS570LS3137 based HDK. Pins configuration can be easily changed in rtems/c/src/lib/libbsp/arm/tms570/hwinit/init_pinmux.c file. The list tms570_selftest_par_list in the file rtems/c/src/lib/libbsp/arm/tms570/hwinit/bspstarthooks-hwinit.c specifies peripherals which health status is examined by parity self-test at BSP start-up. It can be easily modified for other TMS570 family members variants same as the selection of other tests in bspstarthooks-hwinit.c.
* arm/tms570: define base addresses of all TMS570LS3137 SPI interfaces.Pavel Pisa2016-09-221-1/+5
| | | | | | | | Generated header file ti_herc/reg_spi.h contains complete registers and fields set for Ti MibSPI peripheral. Care has to be taken that only TMS570_SPI1, TMS570_SPI3 and TMS570_SPI5 are of this complete multibuffer type. TMS570_SPI2 and TMS570_SPI4 have substantial part of registers removed but else they are compatible.
* bsps/arm: Export bsp_start_hook_0_done symbol from ARM start.S.Pavel Pisa2016-09-221-0/+1
| | | | | | | | The symbol can be used by bsp_start_hook_0 when complete RAM memory is initialization and overwritten during BSP self-test. The test overwrites even memory used to store return address / link register and regular resturn from bsp_start_hook_0 is not possible then.
* classic networking: adapt FXP driver to work with actual PCI and IRQ code.Pavel Pisa2016-09-212-106/+98
| | | | | | | | | | | Tested to work with QEMU provided Intel i82557b network controller emulation. qemu-system-x86_64 -enable-kvm -kernel $APP_BINARY \ -vga cirrus \ -append "--console=/dev/com1" \ -serial stdio \ -net nic,vlan=1,macaddr=be:be:be:10:00:01,model=i82557b \ -net tap,ifname=tap1,vlan=1,script=no,downscript=no
* score: Scheduler node awareness for thread queuesSebastian Huber2016-09-218-343/+1211
| | | | | | | | Maintain the priority of a thread for each scheduler instance via the thread queue enqueue, extract, priority actions and surrender operations. This replaces the primitive priority boosting. Update #2556.
* rtems: Add rtems_task_get_priority()Sebastian Huber2016-09-216-0/+172
| | | | | Update #2556. Update #2784.
* smptests/smpmutex01: Use test case functionsSebastian Huber2016-09-211-2/+24
|
* score: Manage scheduler nodes via thread queuesSebastian Huber2016-09-215-0/+33
| | | | Update #2556.
* score: Add scheduler node table for each threadSebastian Huber2016-09-217-58/+156
| | | | Update #2556.
* score: Rework thread priority managementSebastian Huber2016-09-2168-1512/+2854
| | | | | | | | | | | | | | | | | | | | | | | | | Add priority nodes which contribute to the overall thread priority. The actual priority of a thread is now an aggregation of priority nodes. The thread priority aggregation for the home scheduler instance of a thread consists of at least one priority node, which is normally the real priority of the thread. The locking protocols (e.g. priority ceiling and priority inheritance), rate-monotonic period objects and the POSIX sporadic server add, change and remove priority nodes. A thread changes its priority now immediately, e.g. priority changes are not deferred until the thread releases its last resource. Replace the _Thread_Change_priority() function with * _Thread_Priority_perform_actions(), * _Thread_Priority_add(), * _Thread_Priority_remove(), * _Thread_Priority_change(), and * _Thread_Priority_update(). Update #2412. Update #2556.
* classic networking: do not reference BSP_irq_enabled_at_i8259s which is no ↵Pavel Pisa2016-09-205-40/+5
| | | | | | | more available on i386. This change is required to build RTEMS with classic "--enable-networking" and link applications/tests which reference RTEMS_BSP_NETWORK_DRIVER_ATTACH.
* termios: Add IO control handlerSebastian Huber2016-09-192-2/+20
| | | | Update #2785.
* termios: Use IMFS nodes for new Termios devicesSebastian Huber2016-09-1911-435/+350
| | | | | | | | 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.
* libtests/devfs: Use printk()Sebastian Huber2016-09-193-5/+5
| | | | | This avoids problems with console drivers that use generic nodes of the IMFS.
* fstests: Use printk() for IMFS configuration testsSebastian Huber2016-09-192-4/+4
| | | | | This avoids problems with console drivers that require a more complete IMFS.
* tests: CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEMSebastian Huber2016-09-197-7/+0
| | | | Avoid unnecessary use of CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM.
* imfs: Untangle dependenciesSebastian Huber2016-09-193-89/+116
| | | | | This helps to use IMFS_make_generic_node() without pulling in the complete IMFS implementation.
* imfs: Fix IMFS_stat_file()Sebastian Huber2016-09-162-6/+3
| | | | | Use the adjusted and not the requested memfile bytes per block. Untangle dependencies.
* bsp/atsam: Add SPI bus driverAlexander Krutwig2016-09-166-0/+770
|
* Add SPI bus frameworkAlexander Krutwig2016-09-1611-0/+1199
| | | | | | User API is compatible to Linux userspace API. New test libtests/spi01. Update #2776.
* bsp/atsam: Use normal memory for QSPI flash areaAlexander Krutwig2016-09-161-2/+2
| | | | This is a performance improvement for execute-in-place (XIP).
* arm/raspberrypi: define bsp_reset to restart board by watchdog.Pavel Pisa2016-09-083-1/+82
| | | | | Whether the board is restarted after application finish/exit is controlled by BSP_RESET_BOARD_AT_EXIT configure option.
* score: Introduce _Thread_Get_priority()Sebastian Huber2016-09-0825-52/+84
| | | | Avoid direct access to thread internal data fields.
* score: Add scheduler node implementation headerSebastian Huber2016-09-086-106/+140
| | | | Update #2556.
* score: Move thread wait node to scheduler nodeSebastian Huber2016-09-089-144/+220
| | | | Update #2556.
* score: Move scheduler node to own header fileSebastian Huber2016-09-085-163/+196
| | | | | | | This makes it possible to add scheduler nodes to structures defined in <rtems/score/thread.h>. Update #2556.
* score: Optimize thread queue enqueueSebastian Huber2016-09-081-17/+32
| | | | Optimize the enqueue to empty thread queue case.
* score: Introduce Thread_queue_Lock_contextSebastian Huber2016-09-0835-188/+237
| | | | | | 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.
* score: Simplify thread queue acquire/releaseSebastian Huber2016-09-0816-92/+68
|
* score: Fix warningSebastian Huber2016-09-081-1/+1
|
* score: Fix warningSebastian Huber2016-09-081-1/+1
|
* score: Fix for RTEMS_DEBUGSebastian Huber2016-09-081-0/+1
|
* powerpc: Fix SMP context switchSebastian Huber2016-09-081-61/+62
| | | | | | We need the unmodified r4 for get_potential_new_heir. This partially reverts commit 8d785f72d9610fb80a65d7848404f0f7507e026c.
* testsuite: Add libdl/dl05 reloc test.Chris Johns2016-09-0813-1/+1547
|
* libdl: Add ARM C++ relocation record support.Chris Johns2016-09-082-2/+18
| | | | Closes #2767
* stackchk: Fix stack checker thread initializationSebastian Huber2016-09-082-30/+4
| | | | | | | Commit 0fd6f25507fbea5f4892b71b58837cdda17856b4 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.
* stackchk: Use a const pattern to checkSebastian Huber2016-09-082-90/+51
|
* stackchk: Remove superfluous internal header fileSebastian Huber2016-09-083-103/+26
|
* bsp/raspberrypi: Rename fileSebastian Huber2016-09-082-1/+1
|
* arm/raspberrypi: use GPU/system timer as clock source.Pavel Pisa2016-09-071-36/+62
| | | | | | 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.
* arm/raspberrypi: correct and extend definitions for GPU timer.Pavel Pisa2016-09-072-7/+16
|
* arm/raspberrypi: basic BCM2836 SMP implementation.Pavel Pisa2016-09-078-4/+230
| | | | | | | | 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.
* arm/raspberrypi: propagate number of configured CPUs into linker script.Pavel Pisa2016-09-072-0/+16
|
* arm/raspberrypi: rename linkcmds to linkcmds.in to allow their configure ↵Pavel Pisa2016-09-073-4/+3
| | | | processing.
* arm/raspberrypi: more definitions of BCM2836 core local peripherals.Pavel Pisa2016-09-071-2/+140
|
* arm/raspberrypi: include definitions of BCM2836 SMP mailboxes.Rohini Kulkarni2016-09-071-0/+26
|
* bsps/arm: reorganize CP15 code to allow clean and invalidate ARMv7 cache by ↵Pavel Pisa2016-09-071-48/+60
| | | | | | | 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).
* bsps/arm: remove lock in arm_cp15_set_translation_table_entries().Pavel Pisa2016-09-071-9/+1
| | | | | | | | | | | 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.
* bsps/arm: use defines for cache type register format field.Pavel Pisa2016-09-071-9/+30
| | | | | | 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.
* bsp/atsam: Add SDRAM IS42S16320F-7BL.Christian Mauderer2016-09-073-1/+56
|