Commit Graph

34424 Commits

Author SHA1 Message Date
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
Gedare Bloom
76c6caad52 bsps/aarch64: add non-secure mode and versal support 2021-06-24 09:37:31 -06:00
Gedare Bloom
207612957e bsps/aarch64: add physical secure timer 2021-06-24 09:37:31 -06:00
Gedare Bloom
bcad0aaee6 bsps/aarch64: add mnemonic for ICC_IGRPEN1_EL3 2021-06-24 09:37:31 -06:00
Gedare Bloom
fedd279f80 bsps/dev/irq: make icspicfgr an indexable array 2021-06-24 09:37:31 -06:00
Kinsey Moore
e613068ee6 aarch64: add support to drop EL3 to EL2 2021-06-24 09:37:31 -06:00
Gedare Bloom
37059626ac aarch64/xilinx-versal: new BSPs for qemu and vck190 2021-06-24 09:37:31 -06:00
Richi Dubey
6c23252cdd Update Strong APA Scheduler
This change allows for the migration of higher priority tasks on the
arrival of a lower priority task limited by affinity constraints.

Change license to BSD-2-Clause according to file history and
re-licensing agreement.

Update #3053.
2021-06-24 14:16:21 +02:00
Sebastian Huber
be96cb4345 sparc: Simplify trap table initialization
Move _ISR_Handler() to a separate file since it is now only used if a handler
is installed by _CPU_ISR_install_raw_handler().

Statically initialize the traps for external interrupts to use the new
_SPARC_Interrupt_trap() which directly dispatches the interrupt handlers
installed by rtems_interrupt_handler_install() via the BSP-provided
_SPARC_Interrupt_dispatch().

Since the trap table is now fully statically initialized, there is no longer a
dependency on the Cache Manager in the default configuration.

Update #4458.
2021-06-24 11:36:28 +02:00
Sebastian Huber
005c79beb9 bsps: bsp_interrupt_handler_dispatch_unchecked()
Add bsp_interrupt_handler_dispatch_unchecked() as an alternative to
bsp_interrupt_handler_dispatch().  It may be used if the caller can ensure that
the vector number is valid.
2021-06-24 11:36:28 +02:00
Sebastian Huber
b9d5f51630 sparc: Move FP frame offset defines to cpuimpl.h
This makes them usable in multiple files.

Update #4458.
2021-06-24 11:36:28 +02:00
Sebastian Huber
5c30e3d376 bsps/sparc: Use rtems_interrupt_handler_install()
Avoid using set_vector() which depends on _ISR_Vector_table().  Prepare for a
statically initialized trap table.

Update #4458.
2021-06-24 11:36:28 +02:00
Sebastian Huber
d73e657e06 sparc: More reliable bad trap handling
Statically initialize the trap table in start.S to jump to _SPARC_Bad_trap()
for all unexpected traps.  This enables a proper RTEMS fatal error handling
right from the start.  Do not rely on the stack and register settings which
caused an unexpected trap.  Use the ISR stack of the processor to do the fatal
error handling.  Save the full context which caused the trap.  Fatal error
handler may use it for error logging.

Unify the _CPU_Exception_frame_print() implementations and move it to cpukit.

Update #4459.
2021-06-24 11:36:28 +02:00
Sebastian Huber
955c045b3c sparc: Move ISR handler install routines
Move _CPU_ISR_install_raw_handler() and _CPU_ISR_install_vector() to separate
files.  The goal is to make their use optional.

Update #4458.
Update #4459.
2021-06-24 11:36:28 +02:00
Sebastian Huber
7a140e2ed5 bsps/sparc: Add a symbol for each trap table entry
This makes it easier to review start.o and set break points to trap table
entries.  This change was checked by inspecting the trap table in start.o with
objdump.

Update #4458.
2021-06-24 11:36:28 +02:00
Sebastian Huber
89c1e879c0 score: Move _ISR_Vector_table[] to separate file
The _ISR_Handler_initialization() does not touch the _ISR_Vector_table[].  Move
the definition of _ISR_Vector_table[] to a separate file.

Change license to BSD-2-Clause according to file history and re-licensing
agreement.

Update #3053.
2021-06-24 11:36:27 +02:00
Sebastian Huber
8d999f309f score: Remove bogus _ISR_Nest_level setting
This variable is actually contained in _Per_CPU_Information[] which is already
zero initialized.

Remove superfluous includes.
2021-06-24 11:36:27 +02:00
Sebastian Huber
26a09f2c5b score: Remove _CPU_Initialize_vectors()
This CPU port macro was not used.  Since the _ISR_Vector_table[] is statically
allocated, CPU ports could initialize this table in _CPU_Initialize() if
necessary.  Remove _CPU_Initialize_vectors() to simplify the CPU port
interface.
2021-06-24 11:36:27 +02:00
Sebastian Huber
6b7a38589a bsp/atsam: Fix BSP_INTERRUPT_VECTOR_COUNT
Fix an off by one error.

Update #3269.
2021-06-24 11:36:27 +02:00