Commit Graph

32572 Commits

Author SHA1 Message Date
Sebastian Huber
e33be09cfb bsps/arm: Support GIC group 0/1 2019-02-28 11:50:18 +01:00
Sebastian Huber
feea03b625 Remove explicit file names from @file
This makes the @file documentation independent of the actual file name.

Update #3707.
2019-02-28 11:47:33 +01:00
Sebastian Huber
262cb53462 bsp/altera-cyclone-v: Move header file
This gets rid of a special include path.
2019-02-27 11:45:17 +01:00
Christian Mauderer
e99847bfc5 dev/sc16is752: Fix parity generation. 2019-02-27 08:51:40 +01:00
Pierre-Louis Garnier
68a5f75158 arm/beagle: Fix sdcard.sh tool 2019-02-27 07:45:12 +01:00
Pierre-Louis Garnier
ecf62845d4 arm/beagle: SPI driver 2019-02-27 07:45:12 +01:00
Kinsey Moore
7abc497b6c bsps/arm: Fix system register for virtual timer
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.
2019-02-22 08:29:35 +01:00
Chris Johns
c5615ddc0b libdl/unresolved: Fix return value for rtems_rtl_unresolved_remove
Coverity 1399717

Updates #3686
2019-02-20 09:08:38 +11:00
Chris Johns
7aa0530973 libdl/archive: Check for an overflow of the symbol table.
Coverty 1442636

Updates #3686
2019-02-20 09:08:38 +11:00
Chris Johns
62b01ab2d2 libdl/archive: Fix the config file string index while removing tailing white space.
Coverity issue 1442540

Updates #3686
2019-02-20 09:08:38 +11:00
Chris Johns
be62def981 libdl/archive: Return false on read failure.
Coverity issue 1442641

Updates #3686
2019-02-20 09:08:38 +11:00
Chris Johns
22afb03411 libdl/alloc: Add a locking interface to the allocator.
- 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
2019-02-20 09:08:14 +11:00
Sebastian Huber
bdec62c4d5 bsps/arm: Move device tree copy
Move device tree copy operation after the mode initialization so that
bsp_fdt_copy() uses the initialization stack and not the stack provided
up by the boot loader.
2019-02-18 09:01:27 +01:00
Sebastian Huber
af80b0a340 bsp/altera-cyclone-v: Use FDT for clock frequency 2019-02-18 08:33:27 +01:00
Sebastian Huber
43fbb50ff0 bsp/altera-cyclone-v: Make FDT support optional 2019-02-18 08:33:27 +01:00
Sebastian Huber
3d65f457ea psxtests/psxonce01: Fix typo
Update #3334.
2019-02-18 08:33:26 +01:00
Sebastian Huber
e4ad14cc78 score: Avoid some deadlocks in _Once()
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.
2019-02-18 07:25:58 +01:00
Chris Johns
3ecb207d05 libdl/rap: Add the section alloc call after section load was split
Updates #3687
2019-02-15 10:38:41 +11:00
Chris Johns
e309f7769f libdl: Allocator does not unlock and lock memory on loading.
Close #3692
2019-02-15 09:55:16 +11:00
Sebastian Huber
e214ff4b63 posix: Remove unused _POSIX_Get_object_body() 2019-02-12 13:20:20 +01:00
Sebastian Huber
7fdcd02338 psxtests: Remove bogus file
This file is unused and makes trouble on Windows.

Updates #3638.
2019-02-12 10:26:34 +01:00
Sebastian Huber
eec706e2bf bsps/powerpc: Fix small data area section
Fix small data area in case no fixed size is desired.  Rename
bsp_section_set_sdata_sbss_size into bsp_section_small_data_area_size
since this symbol reflects the overall small data area size (including
space for libdl).  Do not use bsp_section_sbss_size before definition in
linker command file.  Add new symbols to <bsp/linker-symbols.h>.

Update #3687.
2019-02-11 11:41:13 +01:00
Chris Johns
6c9f0176a9 libdl: Add powerpc large memory and small data support.
- 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-09 10:06:34 +11:00
Chris Johns
194eb403c3 libdl: Add support for large memory programs
- 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-09 10:06:34 +11:00
Chris Johns
d8c70ba65b libdl: Add support for trampolines
- 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-09 10:06:34 +11:00
Chris Johns
4408603e27 libdl: Fix the support for constructors and desctructors.
- Fix the handling of pending objects.
- Add a constructor flags in objects to track then being called.

Closes #2921
2019-02-09 10:06:34 +11:00
Chris Johns
a7c6176293 libtest/dl08: Add a test for archives.
- Create 2 archives.
- Load 1 object file which loads 6 object files from the libraries.

Updates #3686
2019-02-09 10:06:34 +11:00
Chris Johns
bac5363453 libtests/dl02: Update the rtl-shell path. More verbose test.
Updates #3686
2019-02-09 10:06:34 +11:00
Chris Johns
85b599747e libtests/dl02: Update the rtl-shell path.
Updates #3686
2019-02-09 10:06:34 +11:00
Chris Johns
89c59be38d libdl: Add symbol searching and loading from archives.
- 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-09 10:06:34 +11:00
Chris Johns
b08278e852 powerpc/psim: Increase the psim memory to 256M
This allows test dl09 to run and test PowePC backend trampoline support.

Updates #3685
2019-02-09 10:06:34 +11:00
Chris Johns
e2f13430be libdl: Fix dlerror non-conformance
Closes #3298
2019-02-09 10:06:33 +11:00
Chris Johns
2d8a9c794c libmisc: Fix rtems_print_buffer
Closes #3684
2019-02-09 10:06:33 +11:00
Jiri Gaisler
568490a054 griscv: add additional cpu configurations
* Also switch default config to imafd as the C extension
	  is not supported for code coverage
2019-02-08 13:07:27 +01:00
Sebastian Huber
26333f2ad0 score: Fix _User_extensions_Thread_switch() (SMP)
We have to read the first node again once we obtained the lock since it
may have aready changed.
2019-02-08 10:17:26 +01:00
Sebastian Huber
4e686261d8 bsps/irq: Fix interrupt server init (SMP) 2019-02-07 11:13:59 +01:00
Sebastian Huber
fbd08066af score: Fix plain priority thread queues (SMP)
We must add/remove the priority queue to the FIFO of priority queues.
2019-02-07 08:48:18 +01:00
Sebastian Huber
0fb52cede1 bsps/arm: Fix generic timer frequency
Update #3456.
2019-02-07 08:48:18 +01:00
Sebastian Huber
03fcbb15d2 fs: Add struct dirent::d_type support 2019-02-05 10:17:04 +01:00
Sebastian Huber
9399473cb8 riscv: Fix misaligned access in context validate 2019-02-02 11:03:13 +01:00
Sebastian Huber
b015c01443 build: Do not install test programs 2019-01-30 09:46:35 +01:00
Sebastian Huber
03cdd5eab8 record: Add enum value for each event
Update #3665.
2019-01-30 09:46:35 +01:00
Sebastian Huber
dca618404e Add low level event recording support
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-29 13:51:33 +01:00
Sebastian Huber
f0ae613ba7 m68k: Avoid _Addresses_Add_offset()
This prevents a cyclic dependency between <rtems/score/cpu.h> and
<rtems/score/address.h>.
2019-01-29 13:27:01 +01:00
Sebastian Huber
e74a3fd13d samples/pppd: Use less memory hungry configuration
This avoids link-time failures on some low memory BSPs.
2019-01-29 13:27:01 +01:00
Sebastian Huber
4f3a2532a3 psxtmtests: Fix format warnings
Update #3384.
2019-01-28 14:17:39 +01:00
Sebastian Huber
b1381ae7c3 bsps/powerpc: Fix warnings 2019-01-25 15:50:40 +01:00
Sebastian Huber
81aec18146 bsps/powerpc: Fix 64-bit issues in assembler files
We have to be careful with instructions which operate explicitly on
words or doublewords.

Update #3082.
2019-01-25 15:40:11 +01:00
Maksim E. Kozlov
afd50b3a62 libmisc: Fix swapped parameters and enable floating point usage. 2019-01-23 10:32:55 -06:00
Jiri Gaisler
d3d4e77c42 riscv: add griscv bsp
Update #3678.
2019-01-22 12:50:09 +01:00