Commit Graph

32891 Commits

Author SHA1 Message Date
Sebastian Huber
847638af35 bsp/atsam: Fix SPI CS change support
The previous approach contained a severe bug which disabled the SPI
module in some cases leading to a blocked SPI bus.
2019-03-06 13:07:17 +01:00
Sebastian Huber
923a033f57 bsp/atsam: Change CS delay after transfer 2019-03-06 13:07:16 +01:00
Sebastian Huber
b934898562 bsp/atsam: Make SPI CS delays configurable 2019-03-06 13:07:16 +01:00
Sebastian Huber
029262902b bsp/atsam: Simplify SPI configuration
Do not use SPID_Configure() since this will enable the peripheral each
time and performs a software reset.
2019-03-06 13:07:16 +01:00
Sebastian Huber
7604a13087 bsps: Move VME header files
They are only used by PowerPC BSPs.
2019-03-05 09:03:58 +01:00
Sebastian Huber
dbe6e0ad09 bsps/powerpc: Move .rtemstack section
Move the .rtemsstack section from a read-only to a read-write area, see
page table setup in __BSP_default_pgtbl_setup().
2019-03-04 09:25:21 +01:00
Sebastian Huber
e1fc23f057 bsps/powerpc: Fix PAGE_ALIGN() macros
Previous warning fixes which include <sys/param.h> broke this macro.
The definition of PAGE_MASK changed.
2019-03-04 09:25:21 +01:00
Sebastian Huber
9d41fca725 bsp/altera-cyclone-v: Adjust Doxygen file groups
Update #3707.
2019-03-04 07:53:44 +01:00
Sebastian Huber
631ccd7cab bsp/altera-cyclone-v: Adjust Doxygen groups
Update #3706
2019-03-04 07:53:44 +01:00
Sebastian Huber
212663bede bsps: Adjust architecture Doxygen groups
- Use CamelCase as it is not used in our C code.  Enables simple search and
   replace.

 - Prefix with "RTEMS" to aid deployment and integration.  It aids
   searching and sorting.

Update #3706.
2019-03-04 07:51:38 +01:00
Sebastian Huber
a6e39d4a59 Update Doxyfile to Doxygen 1.8.15
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.
2019-03-04 07:07:05 +01:00
Sebastian Huber
6016894e0c bsp/lpc1768_mbed*: Disable unsupported tests 2019-03-04 07:06:52 +01:00
Sebastian Huber
5ff61810bc bsp/mpc5643l_*: Disable unsupported tests 2019-03-04 07:04:16 +01:00
Sebastian Huber
77971b6617 bsp/lm4f120: Disable unsupported tests 2019-03-04 07:04:15 +01:00
Sebastian Huber
e6dd36ca70 bsp/gen5200: Remove offending @mainpage
Update #3705.
2019-03-01 11:01:28 +01:00
Sebastian Huber
03b21633d9 score: Fix _Scheduler_EDF_Cancel_job()
Remove the priority node only in case it is active.
2019-03-01 10:12:42 +01:00
Sebastian Huber
a3db5001e5 bsp/altera-cyclone-v: Enable FIQ for group 0 irqs 2019-02-28 11:52:35 +01:00
Sebastian Huber
76918e180a bsps/arm: Add BSP_ARM_GIC_ENABLE_FIQ_FOR_GROUP_0
The following variants

 * GICv1 with Security Extensions,
 * GICv2 without Security Extensions, or
 * within Secure processor mode

have the ability to assign group 0 or 1 to individual interrupts.  Group
0 interrupts can be configured to raise an FIQ exception.  This enables
the use of NMIs with respect to RTEMS.

BSPs can enable this feature with the BSP_ARM_GIC_ENABLE_FIQ_FOR_GROUP_0
define.  Use arm_gic_irq_set_group() to change the group of an
interrupt (default group is 1, if BSP_ARM_GIC_ENABLE_FIQ_FOR_GROUP_0 is
defined).
2019-02-28 11:52:30 +01:00
Sebastian Huber
8e8e269b3e bsps/arm: Fix typo 2019-02-28 11:50:52 +01:00
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