Commit Graph

34442 Commits

Author SHA1 Message Date
Sebastian Huber
1b3b5b8428 bsps/irq: Canonicalize get/set affinity errors
Bring the error conditions and status in line with
rtems_task_get_affinity() and rtems_task_set_affinity().

Update #3269.
2021-07-26 07:54:25 +02:00
Sebastian Huber
efb3fc284a bsps/irq: Move get/set affinity to separate file
Update #3269.
2021-07-26 07:54:25 +02:00
Sebastian Huber
cc0bd0825b build: Bring Item.link() in line with waf link
The LDFLAGS are placed after the static libraries in the standard waf link
command, see "waflib/Tools/c.py" in the waf sources.
2021-07-26 07:54:25 +02:00
Sebastian Huber
827c6caab3 build: Remove superfluous library from rcxx01 2021-07-26 07:54:25 +02:00
Sebastian Huber
78b8360163 bsps: Fix bsp_fatal_extension()
The heap protection is conditional.
2021-07-23 16:01:30 +02:00
Chris Johns
350f501a39 bsp: Remove fatal from exit(0). Add extended heap error output 2021-07-23 08:56:14 +10:00
Sebastian Huber
217bf7be83 build: Add "bsps/" prefix to BSP family enable
BSP family and BSP variant names may be equal.  This prefix avoids
ambiguity in the enabled-by expressions.
2021-07-22 08:10:09 +02:00
Robin Mueller
5cc169573d Fixes for TMS570 BSP
When compiling the lwIP port for the TMS570, there
were issues with the BSP. Headers are expected in a folder
named ti_herc which did not exist. This fixes the issue.

Furthermore, there were multiple warnings about define redefinitions.
This was fixed as well.
2021-07-20 12:33:56 +02:00
Robin Mueller
b24e81423e STM32H7 ethernet pin corrections
These patches were submitted a few months ago, but it was found out
that the default-by-family: [] were missing in the GPIO .yml lines.
This was fixed in this patch.

This patch accounts for different pins for the ETH peripheral
on STM32H7 devices. For example, the Nucleo H743ZI has slightly
different pins than other STM32H7 boards.
2021-07-20 07:37:42 +02:00
Sebastian Huber
1577a48369 bsp/leon3: Remove <leon.h> include form <bsp.h>
The <leon.h> header file contains a lot of implementation details.  Hide them
from <bsp.h>.
2021-07-19 16:28:26 +02:00
Sebastian Huber
36655b870c cpukit: occured -> occurred 2021-07-16 13:42:27 +02:00
Sebastian Huber
b177cfc1c9 sparc: Prefer RTEMS_FATAL_SOURCE_EXCEPTION
Prefer RTEMS_FATAL_SOURCE_EXCEPTION over
INTERNAL_ERROR_ILLEGAL_USE_OF_FLOATING_POINT_UNIT since the fatal code
(rtems_exception_frame) provides more context.
2021-07-15 15:37:35 +02:00
Sebastian Huber
19e4a3d25c build: Use objects of build context for programs 2021-07-15 15:37:35 +02:00
Sebastian Huber
394efd479c rtems: Fix Doxygen comment 2021-07-15 15:37:35 +02:00
Sebastian Huber
90f250e23a build: Add the BSP family to the enable set
This makes it possible to use the BSP family in expressions of the enabled-by
attribute.
2021-07-15 08:17:16 +02:00
Sebastian Huber
8bfc2080ca build: Fix format 2021-07-15 08:17:16 +02:00
Sebastian Huber
6c1928caed build: Prefer variant default value over family
Update #4468.
2021-07-15 08:07:28 +02:00
Sebastian Huber
b6092cb82c build: Fix bsp_defaults command
Update #4468.
2021-07-15 08:07:28 +02:00
Sebastian Huber
61071489ff build: Add missing default-by-family
Update #4468.
2021-07-15 08:07:28 +02:00
Sebastian Huber
aeaf6234f4 spcoverage: Remove test program
This program contained an optional test case.  It was enabled by the
RTEMS_COVERAGE define.  The functions under test are not implemented by RTEMS.
2021-07-15 07:46:22 +02:00
Chris Johns
87609bacd3 build: Fix the motorola_powerpc default baudrate 2021-07-15 09:59:15 +10:00
Chris Johns
6f2aa8ad36 build: Use BSP family for options
- Optionally add support for 'default-by-family' to allow
  option to be set by a family and so all related BSPs

Close #4468
2021-07-15 09:59:14 +10:00
Sebastian Huber
c7b3df3f51 bsps/sparc: Improve interrupt affinity support
Fully support the interrupt extension API to set/get the interrupt affinity.
Remove LEON3_irq_to_cpu which defined the interrupt to processor mapping in a
BSP-specific way.

Update #3269.
2021-07-09 15:29:04 +02:00
Sebastian Huber
7b2d5699be bsp/imx: Fix SMP start
Flush imx_gic_dist_base so that secondary processors can use the right
address.
2021-07-09 10:43:10 +02:00
Sebastian Huber
a398909dc2 bsps/arm: Fix SMP start
Skip the data cache initialization if we are a secondary processor.

The bug was introduced by e164df5e33 and
did not show up in tests using Qemu since the data cache behaviour is
not emulated.
2021-07-09 10:43:10 +02:00
Christian Mauderer
89b652a54d bsps/imxrt: Fix undefined symbol 2021-07-08 10:05:37 +02:00
Pranav Dangi
8b0e333487 bsps/arm: Add start up support for ARMv6 RPi Models 2021-07-07 20:09:47 +02:00
Sebastian Huber
b28c0c6690 bsp/raspberrypi: Fix <bsp/irq.h> header guard 2021-07-07 14:49:37 +02:00
Sebastian Huber
1b56073157 bsp/imx: Fix pointer from integer warning 2021-07-07 09:53:39 +02:00
Sebastian Huber
c9e0445932 build: Add option to customize the LINKFLAGS 2021-07-06 07:51:31 +02:00
Richi Dubey
3dcfdc3b32 Update test smpstrongapa01
Update smpstrongapa01 to account for task shifting.
2021-07-06 07:22:45 +02:00
Richi Dubey
b5f850495d Fix compiler warnings for schedulerstrongapa.c 2021-07-06 07:21:14 +02:00
Christian Mauderer
0d3453a47e bsps/imxrt: Simplify linkcmds and make it flexible
Calling the memory FLASH and EXTRAM instead of FLEXSPI and SDRAM makes
it simpler to support other types of external RAM. This patch also
removes some of the calculations and improves names and documentation to
avoid pitfalls. It removes a unnecessary memory definition.

Update #4180
2021-07-02 13:49:47 +02:00
Christian Mauderer
95a38dd3f1 bsps/imxrt: Allow different ARM PLL setting
Update #4180
2021-07-02 13:49:47 +02:00
Gedare Bloom
24e8ddca5c m68k/uC5282: linkcmds KEEP and SORT sections
Fixes a problem with bad epilog code in _fini and to keep sections
necessary with the -ffunction/data-sections.
2021-07-01 13:01:30 -06:00
Kinsey Moore
97d5fd9553 Revert "bsps/zynqmp: Allow any or all CGEMs to be enabled"
This reverts commit 10041a4cfc.

This type of configuration does not belong in RTEMS and is better
constrained to libbsd where the defines are actually being used.
2021-07-01 10:33:04 -05:00
Sebastian Huber
cb7d26845e bsp/leon3: Move bsp_interrupt_is_valid_vector()
This function is not performance critical.  There is no need to
implement it inline.
2021-07-01 16:43:35 +02:00
Sebastian Huber
52fb74ca65 bsp/leon3: Fix bsp_interrupt_is_valid_vector()
The fix to address CID 1399742 (NO_EFFECT) in commit
f8b6359415 introduced a bug since
LEON3_IrqCtrl_EIrq == -1 in case no extended interrupts are supported by
the interrupt controller.  Fix this by checking for
LEON3_IrqCtrl_EIrq > 0.

In addition, interrupt number 0 is reserved and should not be used.
2021-07-01 16:43:35 +02:00
Sebastian Huber
737e18dbca rtems: Do not broadcast to signal a condition var
Close #4463.
2021-07-01 13:20:51 +02:00
Sebastian Huber
f2b0877642 bsps: Fix GICv3 support for AArch32
The GICv3 support is shared between AArch32 and AArch64.  For AArch32,
the new AARCH64_IS_NONSECURE is never defined.  Use ARM_MULTILIB_ARCH_V4
instead.

This issue was introduced by 76c6caad52.

There is still a change in bsp_interrupt_vector_enable() for AArch32
compared to the version before 76c6caad52.
2021-06-30 16:28:52 +02:00
Kinsey Moore
c18b041b77 bsps/cadence-spi: Fix moduleid offset
Move the moduleid register to the correct offset according to Cadence IP
documentation.
2021-06-29 15:34:16 -05:00
Kinsey Moore
26d61c8670 bsps/zynq-uart: Make post baud change kick global
The existing fix for the ZynqMP UART hardware bug only caught the vast
majority of instances where it could occur. To fully fix the data
corruption, this fix must be applied after every baud rate change. This
makes the logic reset and kick apply in any locations where the baud
rate could be changed.
2021-06-29 11:42:06 -05:00
Gedare Bloom
4515ccf241 spec/aarch64: fix abi flags for xilinx_versal_ilp32_vck190 2021-06-29 10:04:03 -06:00
Sebastian Huber
bb9a4b816b arm: For AArch32 use non-shareable memory
The Cortex-R52 does not support cache coherency and the shareable memory
attribute.  If a region is configured to be shareable, then it falls
back to use non-cacheable memory.

Update #4202.
2021-06-29 14:53:42 +02:00
Sebastian Huber
9b84adb4aa arm: Fix AARCH32_PMSA_ATTR_XN value
Update #4202.
2021-06-29 14:53:42 +02:00
Sebastian Huber
b357680026 arm: Fix AArch32 memory attribute defines
Update #4202.
2021-06-29 14:53:41 +02:00
Sebastian Huber
13b18d129e arm: Disable alignment check in PMSA init
Disable the alignment check through SCTLR[A] in
_AArch32_PMSA_Initialize().

Update #4202.
2021-06-29 14:53:32 +02:00
Kinsey Moore
10041a4cfc bsps/zynqmp: Allow any or all CGEMs to be enabled
Provide the options necessary to enable any combination of CGEM ethernet
interfaces in LibBSD. The default is still CGEM3, so this should
continue to operate as expected on typical Zynq Ultrascale+ MPSoC
development hardware.
2021-06-28 09:13:16 -05:00
Gedare Bloom
17a9103c53 aarch64: whitespace fixes in start.S 2021-06-24 12:55:29 -06:00
Gedare Bloom
93088fb835 bsps/aarch64: replace boot options with asm switch code 2021-06-24 12:55:23 -06:00