summaryrefslogtreecommitdiffstats
path: root/cpukit (follow)
Commit message (Collapse)AuthorAgeFilesLines
* shell: Correct argument order of `mfill`Jonathan Brandmeyer2019-03-081-1/+1
| | | | Close #3720.
* cpukit/arm: Correct register definitionJonathan Brandmeyer2019-03-081-2/+2
| | | | | | | | | | | | | | The register definition for the CP15 PMCR (performance monitor control register) has the bits for X (export enable) and D (clock divider enable) backwards. Correct them according to ARMv7-A/R Architecture Reference Manual, Rev C, Section B4.1.117. Consequences: On an implementation that starts off with D set at reset, the clock divider will not be disabled by using RTEMS' definition of the D bit. Tested by using the counter on Xilinx Zynq 7020 to measure some atomic accesses and cache flushing operations.
* libdl: Add small data support to the remaining PowerPC BSPs.Chris Johns2019-03-071-0/+15
| | | | Updates #3687
* Update Doxyfile to Doxygen 1.8.15Sebastian Huber2019-03-042-1566/+1
| | | | | | | | | | Generate Doxygen output in doc and ignore this directory in Git. Add RTEMS logo. The Doxygen documentation is now built using the source tree. Just invoke "doxygen" in the top-level source directory. The Doxyfile works also with at least Doxygen 1.8.13 and Doxygen 1.8.14. Update #3705.
* score: Fix _Scheduler_EDF_Cancel_job()Sebastian Huber2019-03-011-2/+4
| | | | Remove the priority node only in case it is active.
* Remove explicit file names from @fileSebastian Huber2019-02-28121-121/+121
| | | | | | This makes the @file documentation independent of the actual file name. Update #3707.
* dev/sc16is752: Fix parity generation.Christian Mauderer2019-02-271-0/+1
|
* bsps/arm: Fix system register for virtual timerKinsey Moore2019-02-221-1/+1
| | | | | | | | | The system register in use for retrieval of the virtual timer value was mistakenly copied from the physical timer value retrieval function. Virtual timer value retrieval should use the same system register as the virtual timer value setter. Close #3699.
* libdl/unresolved: Fix return value for rtems_rtl_unresolved_removeChris Johns2019-02-201-2/+2
| | | | | | Coverity 1399717 Updates #3686
* libdl/archive: Check for an overflow of the symbol table.Chris Johns2019-02-201-3/+12
| | | | | | Coverty 1442636 Updates #3686
* libdl/archive: Fix the config file string index while removing tailing white ↵Chris Johns2019-02-202-3/+3
| | | | | | | | space. Coverity issue 1442540 Updates #3686
* libdl/archive: Return false on read failure.Chris Johns2019-02-201-0/+1
| | | | | | Coverity issue 1442641 Updates #3686
* libdl/alloc: Add a locking interface to the allocator.Chris Johns2019-02-204-5/+83
| | | | | | | | | | | | | - Allow an allocator to lock the allocations. This is needed to lock the heap allocator so the text and trampoline table are as close together as possible to allow for the largest possible object file size. - Update the default heap allocator to lock the heap allocator. - Update ELF loading to lock the allocator. Updates #3685
* score: Avoid some deadlocks in _Once()Sebastian Huber2019-02-183-49/+83
| | | | | | | | Recursive usage of the same pthread_once_t results now in a deadlock. Previously, an error of EINVAL was returned. This usage scenario is invalid according to the POSIX pthread_once() specification. Close #3334.
* libdl/rap: Add the section alloc call after section load was splitChris Johns2019-02-151-0/+6
| | | | Updates #3687
* libdl: Allocator does not unlock and lock memory on loading.Chris Johns2019-02-155-17/+158
| | | | Close #3692
* posix: Remove unused _POSIX_Get_object_body()Sebastian Huber2019-02-121-41/+0
|
* libdl: Add powerpc large memory and small data support.Chris Johns2019-02-0923-129/+1099
| | | | | | | | | | | | | | | | | - Add support for architecure sections that can be handled by the architecture back end. - Add trampoline/fixup support for PowerPC. This means the PowerPC now supports large memory loading of applications. - Add a bit allocator to manage small block based regions of memory. - Add small data (sdata/sbss) support for the PowerPC. The support makes the linker allocated small data region of memory a global resource available to libdl loaded object files. Updates #3687 Updates #3685
* libdl: Add support for large memory programsChris Johns2019-02-0912-433/+648
| | | | | | | | | | | | | | | - Add trampolines to support relocs that are out of range on support architectures. - Support not loading separate text/data sections in an object file if the symbol provided in the section is a duplicate. A base image may have pulled in part of an object and another part needs to be dynamically loaded. - Refactor the unresolved handling to scale to hundreds of unresolved symbols when loading large number of files. Updates #3685
* libdl: Add support for trampolinesChris Johns2019-02-0915-126/+925
| | | | | | | | | | | | | - Trampolines or fixups for veneers provide long jump support for instruciton sets that implement short relative address branches. The linker provides trampolines when creating a static image. This patch adds trampoline support to libdl and the ARM architecture. - The dl09 test requires enough memory so modules are outside the relative branch instruction ranges for the architecture. Updates #3685
* libdl: Fix the support for constructors and desctructors.Chris Johns2019-02-096-59/+144
| | | | | | | - Fix the handling of pending objects. - Add a constructor flags in objects to track then being called. Closes #2921
* libtest/dl08: Add a test for archives.Chris Johns2019-02-091-0/+1
| | | | | | | - Create 2 archives. - Load 1 object file which loads 6 object files from the libraries. Updates #3686
* libdl: Add symbol searching and loading from archives.Chris Johns2019-02-0916-437/+2175
| | | | | | | | | | | | | | - Load archive symbol tables to support searching of archives for symbols. - Search archive symbols and load the object file that contains the symbol. - Search the global and archives until all remaining unresolved symbols are not found. Group the loaded object files in the pending queue. - Run the object file and loaded dependents as a group before adding to the main object list. - Remove orphaned object files after references are removed. Updates #3686
* libdl: Fix dlerror non-conformanceChris Johns2019-02-091-1/+4
| | | | Closes #3298
* libmisc: Fix rtems_print_bufferChris Johns2019-02-091-1/+1
| | | | Closes #3684
* score: Fix _User_extensions_Thread_switch() (SMP)Sebastian Huber2019-02-081-3/+11
| | | | | We have to read the first node again once we obtained the lock since it may have aready changed.
* score: Fix plain priority thread queues (SMP)Sebastian Huber2019-02-071-0/+8
| | | | We must add/remove the priority queue to the FIFO of priority queues.
* fs: Add struct dirent::d_type supportSebastian Huber2019-02-055-4/+29
|
* riscv: Fix misaligned access in context validateSebastian Huber2019-02-021-1/+1
|
* record: Add enum value for each eventSebastian Huber2019-01-303-13/+1781
| | | | Update #3665.
* Add low level event recording supportSebastian Huber2019-01-2914-0/+2155
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add low level event recording infrastructure for system and user defined events. The infrastructure is able to record high frequency events such as * SMP lock acquire/release, * interrupt entry/exit, * thread switches, * UMA zone allocate/free, and * Ethernet packet input/output, etc. It allows post-mortem analysis in fatal error handlers, e.g. the last events are in the record buffer, the newest event overwrites the oldest event. It is possible to detect record buffer overflows for consumers that expect a continuous stream of events, e.g. to display the system state in real-time. The implementation supports high-end SMP machines (more than 1GHz processor frequency, more than four processors). Add a new API instead. The implementation uses per-processor data structures and no atomic read-modify-write operations. It is uses per-processor ring buffers to record the events. The CPU counter is used to get the time of events. It is combined with periodic uptime events to synchronize it with CLOCK_REALTIME. The existing capture engine tries to solve this problem also, but its performance is not good enough for high-end production systems. The main issues are the variable-size buffers and the use of SMP locks for synchronization. To fix this, the API would change significantly. Update #3665.
* m68k: Avoid _Addresses_Add_offset()Sebastian Huber2019-01-291-4/+2
| | | | | This prevents a cyclic dependency between <rtems/score/cpu.h> and <rtems/score/address.h>.
* libmisc: Fix swapped parameters and enable floating point usage.Maksim E. Kozlov2019-01-231-1/+1
|
* riscv: add griscv bspJiri Gaisler2019-01-221-4/+1
| | | | Update #3678.
* grlib: use cpu-independent routines for uncached accessJiri Gaisler2019-01-223-0/+83
| | | | Update #3678.
* score: Remove unused _ISR_lock_Flash()Sebastian Huber2019-01-181-31/+0
|
* score: Improve debug support for ISR locksSebastian Huber2019-01-182-17/+39
| | | | Ensure that interrupts are disabled while acquiring an ISR lock.
* score: Avoid internal API and use ISR lockSebastian Huber2019-01-181-9/+9
|
* score: Simplify _Addresses_Is_aligned()Sebastian Huber2019-01-181-6/+2
| | | | | The CPU_ALIGNMENT must not be zero, this is also checked via a static assertion. Fix formatting.
* m68k/include/rtems/score/cpu.h: Add include of address.hJoel Sherrill2019-01-141-0/+2
|
* memalign: Add missing attributes to fix warningSebastian Huber2019-01-101-1/+3
| | | | Update #3666.
* Fix format warnings due to ino_t changesSebastian Huber2019-01-104-7/+15
|
* riscv: Enable robust thread dispatchSebastian Huber2019-01-091-0/+3
| | | | | | | It must be enabled, since the context switch code does not save/restore the interrupt status. Update #3433.
* Adjust interrupt mode tests for some CPU portsSebastian Huber2019-01-093-3/+7
| | | | | | | In case the robust thread dispatch is enabled by the CPU port, then the interrupt level must not be changed through the task mode. Update #3000.
* rtems: Allow to set ISR level 0 in SMP configSebastian Huber2019-01-091-0/+1
| | | | Update #3000.
* Separate task mode checksSebastian Huber2019-01-092-23/+26
| | | | Update #3000.
* Fix format warningsSebastian Huber2019-01-077-28/+39
|
* score: Remove superfluous include from chainimpl.hSebastian Huber2019-01-073-1/+2
|
* drvmgr: Improve LP64 compatibilitySebastian Huber2018-12-275-14/+16
|
* drvmgr: Enable build for riscvSebastian Huber2018-12-271-1/+1
|