summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-02-05libdl: Add powerpc large memory and small data support.libdl-epics-supportChris Johns
- 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
2019-02-02libdl: Add support for large memory programsChris Johns
- 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
2019-02-02libdl: Add support for trampolinesChris Johns
- 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
2019-02-02libdl: Fix the support for constructors and desctructors.Chris Johns
- Fix the handling of pending objects. - Add a constructor flags in objects to track then being called. Closes #2921
2019-02-02libtest/dl08: Add a test for archives.Chris Johns
- Create 2 archives. - Load 1 object file which loads 6 object files from the libraries. Updates #3686
2019-02-02libtests/dl02: Update the rtl-shell path. More verbose test.Chris Johns
Updates #3686
2019-02-02libtests/dl02: Update the rtl-shell path.Chris Johns
Updates #3686
2019-02-02libdl: Add symbol searching and loading from archives.Chris Johns
- 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
2019-02-02powerpc/psim: Increase the psim memory to 256MChris Johns
This allows test dl09 to run and test PowePC backend trampoline support. Updates #3685
2019-02-02libdl: Fix dlerror non-conformanceChris Johns
Closes #3298
2019-02-02libmisc: Fix rtems_print_bufferChris Johns
Closes #3684
2019-01-30build: Do not install test programsSebastian Huber
2019-01-30record: Add enum value for each eventSebastian Huber
Update #3665.
2019-01-29Add low level event recording supportSebastian Huber
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.
2019-01-29m68k: Avoid _Addresses_Add_offset()Sebastian Huber
This prevents a cyclic dependency between <rtems/score/cpu.h> and <rtems/score/address.h>.
2019-01-29samples/pppd: Use less memory hungry configurationSebastian Huber
This avoids link-time failures on some low memory BSPs.
2019-01-28psxtmtests: Fix format warningsSebastian Huber
Update #3384.
2019-01-25bsps/powerpc: Fix warningsSebastian Huber
2019-01-25bsps/powerpc: Fix 64-bit issues in assembler filesSebastian Huber
We have to be careful with instructions which operate explicitly on words or doublewords. Update #3082.
2019-01-23libmisc: Fix swapped parameters and enable floating point usage.Maksim E. Kozlov
2019-01-22riscv: add griscv bspJiri Gaisler
Update #3678.
2019-01-22grlib: make memory coherency cpu-independentJiri Gaisler
Update #3678.
2019-01-22grlib: use cpu-independent routines for uncached accessJiri Gaisler
Update #3678.
2019-01-22grlib: use rtems_interrupt_handler_install()Jiri Gaisler
Update #3678.
2019-01-22grlib: make apbuart driver independent of bspJiri Gaisler
Update #3678.
2019-01-22grlib: Move source filesSebastian Huber
Update #3678.
2019-01-22grlib: Move header filesSebastian Huber
Update #3678.
2019-01-21bsps/arm: Remove unused bsp_stack_irq_sizeSebastian Huber
Update #3459.
2019-01-18score: Remove unused _ISR_lock_Flash()Sebastian Huber
2019-01-18score: Improve debug support for ISR locksSebastian Huber
Ensure that interrupts are disabled while acquiring an ISR lock.
2019-01-18score: Avoid internal API and use ISR lockSebastian Huber
2019-01-18score: Simplify _Addresses_Is_aligned()Sebastian Huber
The CPU_ALIGNMENT must not be zero, this is also checked via a static assertion. Fix formatting.
2019-01-16bsps/i386/shared/cache/cache.c: Make compileJoel Sherrill
2019-01-14m68k/include/rtems/score/cpu.h: Add include of address.hJoel Sherrill
2019-01-14build: Add missing $(LDADD) for dependenciesSebastian Huber
2019-01-14build: Remove bogus spqreslib_LDADDSebastian Huber
2019-01-14build: Add missing $(LDADD) for dependenciesSebastian Huber
2019-01-10memalign: Add missing attributes to fix warningSebastian Huber
Update #3666.
2019-01-10Fix format warnings due to ino_t changesSebastian Huber
2019-01-10psxconfig01: Fix pre-processor conditionsSebastian Huber
Do not rely on compiler optimizations to throw away empty loops. Close #3673.
2019-01-10bsps/arm: Conditional ARMv7-AR data cache disableSebastian Huber
Update #3667. Close #3674.
2019-01-10bsps/arm: Fix typo in disable cache for ARMv7-ARThomas Dörfler
Update #3667.
2019-01-09riscv: Enable robust thread dispatchSebastian Huber
It must be enabled, since the context switch code does not save/restore the interrupt status. Update #3433.
2019-01-09Adjust interrupt mode tests for some CPU portsSebastian Huber
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.
2019-01-09rtems: Allow to set ISR level 0 in SMP configSebastian Huber
Update #3000.
2019-01-09Separate task mode checksSebastian Huber
Update #3000.
2019-01-09tests: Remove bogus RTEMS_INTERRUPT_LEVEL(31)Sebastian Huber
It is unnecessary to run these test cases with interrupts disabled.
2019-01-09libtests/stackchk: Fix for 64-bit targetsSebastian Huber
2019-01-08psxhdrs: Add POSIX API Signature Compliance Tests for errno.hJacob Shin
2019-01-08bsp/riscv: Clear boot command lineSebastian Huber