summaryrefslogtreecommitdiffstats
path: root/bsps (follow)
Commit message (Collapse)AuthorAgeFilesLines
* bsp/raspberrypi: Add interrupt get/set affinitySebastian Huber2021-07-261-0/+26
| | | | | | | | Add default implementations for bsp_interrupt_get_affinity() and bsp_interrupt_set_affinity() which are required to link all tests in SMP configurations. Update #3269.
* bsps/irq: Add rtems_interrupt_entry_install()Sebastian Huber2021-07-2611-523/+669
| | | | | | | | | | | | | | | | | | | Add rtems_interrupt_entry_remove(). Split up irq-generic.c into several files. In particular, place all functions which use dynamic memory into their own file. Add optional macros to let the BSP customize the vector installation after installing the first entry and the vector removal before removing the last entry: * bsp_interrupt_vector_install() * bsp_interrupt_vector_remove() Use these new customization options in the m68k/genmcf548x BSP so re-use the generic interrupt controller support. Update #3269.
* bsps/irq: Move bsp_interrupt_handler_is_empty()Sebastian Huber2021-07-263-30/+11
| | | | | | This function is only used by one BSP. Update #3269.
* bsps/irq: Add bsp_interrupt_check_and_lock()Sebastian Huber2021-07-263-63/+86
| | | | | | | | Return RTEMS_INCORRECT_STATE instead of RTEMS_INTERNAL_ERROR in case the interrupt support is not initialized. This is similar to rtems_timer_server_fire_after() for example. Update #3269.
* bsps/irq: Use rtems_interrupt_entrySebastian Huber2021-07-263-25/+16
| | | | Update #3269.
* sparc/irq: Implement new interrupt directivesSebastian Huber2021-07-266-22/+162
| | | | Update #3269.
* bsps/irq: Implement new directives for GICv2/3Sebastian Huber2021-07-264-32/+189
| | | | Update #3269.
* bsps/irq: bsp_interrupt_set_affinity()Sebastian Huber2021-07-2614-18/+30
| | | | | | Return a status code for bsp_interrupt_set_affinity(). Update #3269.
* bsps/irq: bsp_interrupt_get_affinity()Sebastian Huber2021-07-2615-23/+38
| | | | | | Return a status code for bsp_interrupt_get_affinity(). Update #3269.
* bsps/irq: bsp_interrupt_vector_disable()Sebastian Huber2021-07-2637-45/+94
| | | | | | Return a status code for bsp_interrupt_vector_disable(). Update #3269.
* bsps/irq: bsp_interrupt_vector_enable()Sebastian Huber2021-07-2637-45/+94
| | | | | | Return a status code for bsp_interrupt_vector_enable(). Update #3269.
* bsps/irq: Add rtems_interrupt_is_pending()Sebastian Huber2021-07-2637-1/+438
| | | | | | Add a default implementation which just returns RTEMS_UNSATISFIED. Update #3269.
* bsps/irq: Add rtems_interrupt_get_attributes()Sebastian Huber2021-07-2637-2/+337
| | | | | | | Add a default implementation which clears the attributes to zero and just returns RTEMS_SUCCESSFUL for valid parameters. Update #3269.
* bsps/irq: Add rtems_interrupt_raise()Sebastian Huber2021-07-2639-0/+664
| | | | | | | | | Add rtems_interrupt_raise_on() and rtems_interrupt_clear(). Add a default implementation which just returns RTEMS_UNSATISFIED for valid parameters. Update #3269.
* bsps/irq: Add rtems_interrupt_vector_is_enabled()Sebastian Huber2021-07-2637-1/+437
| | | | | | | Add a default implementation which just returns RTEMS_UNSATISFIED for valid parameters. Update #3269.
* rtems: Add RTEMS_FATAL_SOURCE_SPURIOUS_INTERRUPTSebastian Huber2021-07-261-7/+5
| | | | | | | | Add RTEMS_FATAL_SOURCE_SPURIOUS_INTERRUPT as the fatal source for spurious interrupts. Use the interrupt vector number of the spurious interrupt for the fatal code. Update #3269.
* rtems: Add rtems_interrupt_vector_enable()Sebastian Huber2021-07-263-0/+61
| | | | | | Add rtems_interrupt_vector_disable(). Update #3269.
* bsps/irq: Move handler iterate to separate fileSebastian Huber2021-07-265-82/+159
| | | | Update #3269.
* bsps/irq: Canonicalize get/set affinity errorsSebastian Huber2021-07-261-2/+10
| | | | | | | Bring the error conditions and status in line with rtems_task_get_affinity() and rtems_task_set_affinity(). Update #3269.
* bsps/irq: Move get/set affinity to separate fileSebastian Huber2021-07-264-52/+92
| | | | Update #3269.
* bsps: Fix bsp_fatal_extension()Sebastian Huber2021-07-231-0/+3
| | | | The heap protection is conditional.
* bsp: Remove fatal from exit(0). Add extended heap error outputChris Johns2021-07-231-13/+70
|
* Fixes for TMS570 BSPRobin Mueller2021-07-201-3/+3
| | | | | | | | | 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.
* STM32H7 ethernet pin correctionsRobin Mueller2021-07-201-1/+21
| | | | | | | | | | 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.
* bsp/leon3: Remove <leon.h> include form <bsp.h>Sebastian Huber2021-07-197-3/+9
| | | | | The <leon.h> header file contains a lot of implementation details. Hide them from <bsp.h>.
* bsps/sparc: Improve interrupt affinity supportSebastian Huber2021-07-094-62/+138
| | | | | | | | 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.
* bsp/imx: Fix SMP startSebastian Huber2021-07-091-0/+12
| | | | | Flush imx_gic_dist_base so that secondary processors can use the right address.
* bsps/arm: Fix SMP startSebastian Huber2021-07-091-0/+6
| | | | | | | | Skip the data cache initialization if we are a secondary processor. The bug was introduced by e164df5e33608576443b4cd5923a9046358ee773 and did not show up in tests using Qemu since the data cache behaviour is not emulated.
* bsps/imxrt: Fix undefined symbolChristian Mauderer2021-07-081-1/+1
|
* bsps/arm: Add start up support for ARMv6 RPi ModelsPranav Dangi2021-07-071-1/+7
|
* bsp/raspberrypi: Fix <bsp/irq.h> header guardSebastian Huber2021-07-071-1/+1
|
* bsp/imx: Fix pointer from integer warningSebastian Huber2021-07-071-2/+5
|
* bsps/imxrt: Simplify linkcmds and make it flexibleChristian Mauderer2021-07-026-64/+60
| | | | | | | | | 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
* bsps/imxrt: Allow different ARM PLL settingChristian Mauderer2021-07-022-0/+41
| | | | Update #4180
* m68k/uC5282: linkcmds KEEP and SORT sectionsGedare Bloom2021-07-011-15/+19
| | | | | Fixes a problem with bad epilog code in _fini and to keep sections necessary with the -ffunction/data-sections.
* bsp/leon3: Move bsp_interrupt_is_valid_vector()Sebastian Huber2021-07-012-16/+14
| | | | | This function is not performance critical. There is no need to implement it inline.
* bsp/leon3: Fix bsp_interrupt_is_valid_vector()Sebastian Huber2021-07-011-3/+7
| | | | | | | | | | The fix to address CID 1399742 (NO_EFFECT) in commit f8b6359415404540864f809cbcffb8c2200261e1 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.
* bsps: Fix GICv3 support for AArch32Sebastian Huber2021-06-301-3/+3
| | | | | | | | | | | 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 76c6caad52244ab9a14151620a80ff0f71035b6c. There is still a change in bsp_interrupt_vector_enable() for AArch32 compared to the version before 76c6caad52244ab9a14151620a80ff0f71035b6c.
* bsps/cadence-spi: Fix moduleid offsetKinsey Moore2021-06-291-0/+1
| | | | | Move the moduleid register to the correct offset according to Cadence IP documentation.
* bsps/zynq-uart: Make post baud change kick globalKinsey Moore2021-06-293-5/+14
| | | | | | | | 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.
* aarch64: whitespace fixes in start.SGedare Bloom2021-06-241-166/+166
|
* bsps/aarch64: replace boot options with asm switch codeGedare Bloom2021-06-241-7/+8
|
* bsps/aarch64: add non-secure mode and versal supportGedare Bloom2021-06-242-4/+37
|
* bsps/aarch64: add physical secure timerGedare Bloom2021-06-242-0/+9
|
* bsps/aarch64: add mnemonic for ICC_IGRPEN1_EL3Gedare Bloom2021-06-241-0/+1
|
* bsps/dev/irq: make icspicfgr an indexable arrayGedare Bloom2021-06-241-4/+2
|
* aarch64: add support to drop EL3 to EL2Kinsey Moore2021-06-241-1/+26
|
* aarch64/xilinx-versal: new BSPs for qemu and vck190Gedare Bloom2021-06-2410-0/+965
|
* sparc: Simplify trap table initializationSebastian Huber2021-06-2410-116/+64
| | | | | | | | | | | | | | | 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.
* bsps: bsp_interrupt_handler_dispatch_unchecked()Sebastian Huber2021-06-241-19/+40
| | | | | | 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.