Commit Graph
30618 Commits
Author SHA1 Message Date
Chris Johns 12dea0afa5 dev/i2c: Add Xilinx AXI I2C driver.
This is a generic driver for use with Xilinx AXI I2C controller IP.

Closes #3100.
2017-08-16 14:49:58 +10:00
Chris Johns 8ad4d937df libdebugger/i386 Fix i386 backend after changes.
Closes #3097.
2017-08-16 13:34:16 +10:00
Chris Johns b2353ed924 libdebugger: Fixes to debugging, ARM support, locking, and gcc-7.1 warnings.
- Add `printk` support to aid multi-core debugging.
- Add lock trace to aid lock debugging.
- Fixes to gcc-7.1 warnings.
- Fixes from ticket #2879.
- Add verbose command controls.
- Change using the RTEMS sys/lock.h API to manage exception threads.
- ARM hardware breakpoint fixes. Support for SMP stepping
  is not implemented, this requires use of the context id
  register.

Closes #2879.
2017-08-15 11:39:22 +10:00
Chris Johns 2465c0130b libmisc/shell: Make some internal shell functions public.
- Add 'rtems_shell_init_environment()' so a user can create the
  shell environment without needing to run a shell.
- Move 'rtems_shell_lookup_topic', 'rtems_shell_can_see_cmd',
  and 'rtems_shell_execute_cmd' from the internal interface to
  the public interface.

Closes #3096.
2017-08-14 14:50:55 +10:00
Sebastian Huber 0daa8ab825 arm: Use ARM code on Thumb 1 targets
Update #3093.
2017-08-10 09:04:13 +02:00
Sebastian Huber a95d909878 arm: Validate IT[7:0] bit field of PSR
Update #3093.
2017-08-10 08:18:40 +02:00
Sebastian Huber ca9490ca36 bsp/imx: Fix UART interrupt
Update #3090.
2017-08-04 14:46:44 +02:00
Sebastian Huber 694c31f990 bsp/imx: New BSP
Update #3090.
2017-08-04 14:24:56 +02:00
Sebastian Huber ffe7c0e749 bsps/arm: Add ARMv7-AR Generic Timer clock driver
Update #3090.
2017-08-04 14:22:33 +02:00
Sebastian Huber ef04443b19 bsps/arm: Add ARMv7-AR Generic Timer support
Update #3090.
2017-08-04 14:22:32 +02:00
Sebastian Huber 30be024aa4 Optional Clock_driver_support_shutdown_hardware()
Make Clock_driver_support_shutdown_hardware() optional.  This avoids
the atexit() support on memory constrained targets.
2017-08-04 14:22:32 +02:00
Sebastian Huber a8694035ae bsps/powerpc: Add PPC_EXC_INTERRUPT_FRAME_SIZE
Use a specific define for the interrupt exception frame size.

Update #3082.
2017-08-01 11:43:57 +02:00
Sebastian Huber 23cb9afeb6 bsps/powerpc: Rename ppc_exc_wrap_async_normal
Rename ppc_exc_wrap_async_normal to ppc_exc_interrupt to avoid a bit of
obfuscation.

Update #3082.
2017-08-01 11:38:32 +02:00
Sebastian Huber b7be94390b bsps/powerpc: Do not set ouput format and arch
There is no need to explicitly set the output format and architecture in
the linker script.  This enables the usage of this linker script with
the ELFv2 ABI (64-bit).

Update #3082.
2017-07-31 14:39:51 +02:00
Sebastian Huber 65ee42ce8e bsp/qoriq: Simplify fatal exceptions
Avoid use of small-data area, since it is not supported in the ELFv2 ABI
by GCC.

Update #3082.
2017-07-31 14:39:47 +02:00
Sebastian Huber a597984b99 powerpc: Add register defines
Update #3082.
Update #3085.
2017-07-31 13:43:38 +02:00
Sebastian Huber 2d0a8058a8 bsps/powerpc: Fix format specifiers 2017-07-31 13:43:29 +02:00
Sebastian Huber af97ba8f29 score: Add RTEMS_HAVE_MEMBER_SAME_TYPE()
This fixes some "variably modified" warnings and a clang compile error.
2017-07-31 09:48:11 +02:00
Joel Sherrill 3ebbabbb93 psximfs02/init.c: Increase size of buffer to avoid overwrite 2017-07-28 15:53:21 -05:00
Joel Sherrill dd6992fd7c Remove Edison BSP.
Intel has obsoleted this hardware and the BSP was never completed.

closes #3086.
2017-07-28 14:17:32 -05:00
Joel Sherrill 9cb874d667 beagle/i2c/bbb-i2c.c: Eliminiate set but not used warning 2017-07-28 14:17:32 -05:00
Joel Sherrill bed7ec11b8 psxmmap01/init.c: Correct printf() format specifier 2017-07-28 11:24:34 -05:00
Joel Sherrill 0238e316ad cpukit/include/rtems/inttypes.h: Correct PRIdioctl_command_t 2017-07-28 11:24:34 -05:00
Sebastian Huber 8966e8a3a0 bsp/qoriq: Fix pre-processor expansion
Update #3082.
Update #3085.
2017-07-28 15:40:36 +02:00
Sebastian Huber 5d0fa04792 bsp/t32mppc: Set PPC_PER_CPU_CONTROL_REGISTER 2017-07-28 15:03:47 +02:00
Sebastian Huber 585706a4ec bsp/t32mppc: Add SMP support 2017-07-28 14:43:22 +02:00
Sebastian Huber 77cbb2a444 psxtests/psxmmap01: Fix warning
Update #2859.
2017-07-28 13:53:43 +02:00
Sebastian Huber cd7991b8df bsps/powerpc: Fix warning 2017-07-28 13:50:12 +02:00
Sebastian Huber 9379c705a8 bsps/sparc64: Fix warning 2017-07-28 13:40:45 +02:00
Sebastian Huber 1d894f5528 untar: Fix compile error 2017-07-28 13:34:46 +02:00
Sebastian Huber f1355f2211 untar: Fix use of uninitialized variable 2017-07-28 13:31:51 +02:00
Sebastian Huber 9d1522ed32 Fix IO control request type 2017-07-28 13:28:11 +02:00
Sebastian Huber 0684f3592b bsp/i386: Fix warning 2017-07-28 13:10:19 +02:00
Sebastian Huber fd3437c1af bsp/gen5200: Fix warnings 2017-07-28 13:06:55 +02:00
Sebastian Huber a9f5812505 bsp/qoriq: Fix warning 2017-07-28 13:06:41 +02:00
Sebastian Huber 7f1e6fa369 libtests/block08: Fix format warning 2017-07-28 12:19:05 +02:00
Sebastian Huber 0db7c550ac bsp/qoriq: New BSP names
Due to the FDT support we can now reduce the BSP variants.  Use the
processor core to define the BSP variants.

Update #3082.
Update #3085.
2017-07-28 10:12:36 +02:00
Sebastian Huber b615e9b3ee bsp/qoriq: Simplify initialization
Do not flush/invalidate the caches. Instead enable the cache during the
low-level initialization and perform an explicit cache flush for the
read-only and fast-text sections.

Update #3082.
Update #3085.
2017-07-28 10:12:28 +02:00
Joel Sherrill 3fd019739f psxmmap01/test_helper.c: Use correct printf format for size_t 2017-07-27 17:29:24 -05:00
Joel Sherrill 3a3d85c606 psxmmap01/test_driver.c: Fix mmap_h handler type mismatch 2017-07-27 17:29:02 -05:00
Sebastian Huber 146adb1edf sparc: Add lazy floating point switch
The SPARC ABI is a bit special with respect to the floating point context.
The complete floating point context is volatile.  Thus, from an ABI point
of view nothing needs to be saved and restored during a context switch.
Instead the floating point context must be saved and restored during
interrupt processing.  Historically, the deferred floating point switch was
used for SPARC and the complete floating point context is saved and
restored during a context switch to the new floating point unit owner.
This is a bit dangerous since post-switch actions (e.g. signal handlers)
and context switch extensions may silently corrupt the floating point
context.

The floating point unit is disabled for interrupt handlers.  Thus, in case
an interrupt handler uses the floating point unit then this will result in a
trap (INTERNAL_ERROR_ILLEGAL_USE_OF_FLOATING_POINT_UNIT).

In uniprocessor configurations, a lazy floating point context switch is
used.  In case an active floating point thread is interrupted (PSR[EF] == 1)
and a thread dispatch is carried out, then this thread is registered as the
floating point owner.  When a floating point owner is present during a
context switch, the floating point unit is disabled for the heir thread
(PSR[EF] == 0).  The floating point disabled trap checks that the use of the
floating point unit is allowed and saves/restores the floating point context
on demand.

Update #3077.
2017-07-25 11:41:12 +02:00
Sebastian Huber 600d88dfd7 INTERNAL_ERROR_ILLEGAL_USE_OF_FLOATING_POINT_UNIT
Add new fatal error INTERNAL_ERROR_ILLEGAL_USE_OF_FLOATING_POINT_UNIT.

Update #3077.
2017-07-25 11:41:11 +02:00
Sebastian Huber a400d06f48 sparc: Rename SPARC_USE_SAFE_FP_SUPPORT
Rename SPARC_USE_SAFE_FP_SUPPORT in SPARC_USE_SYNCHRONOUS_FP_SWITCH.
Update comment.

Update #3077.
2017-07-25 11:41:11 +02:00
Sebastian Huber b2e1bded07 score: Add optional _CPU_Context_Destroy()
Update #3077.
2017-07-25 11:41:10 +02:00
Sebastian Huber 671efc50a3 bsp/leon2: Add at697f variant 2017-07-25 11:41:10 +02:00
Sebastian Huber 9f84bdb09a bsp/leon2: Use hard-float by default 2017-07-25 11:41:09 +02:00
Gedare Bloom c6d897e544 posix: fix warnings with mmap from heap/wkspace
Avoid void pointer arithmetic.

Updates #2859.
2017-07-24 15:11:00 -04:00
Gedare Bloom b264998fa9 posix: replace mmap mappings lock with libio lock
Use the libio mutex lock instead of the mmap mappings lock.

Updates #2859.
2017-07-24 14:46:49 -04:00
Sebastian Huber 1c256e6fbe tmtests/tmcontext01: Prevent GCC 7.1 optimizations
It is getting harder to prevent the compiler from optimizing away the
recursive function calls.
2017-07-20 11:39:07 +02:00
Sebastian Huber b965f461a8 posix: Use unprotected chain operations
Operarations are already protected by mmap_mappings_lock.

Updates #2859.
2017-07-20 07:26:27 +02:00