summaryrefslogtreecommitdiffstats
path: root/bsps/sparc/shared/irq/irq-shared.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2024-04-09bsps: Include <rtems/score/processormaskimpl.h>Sebastian Huber1-0/+1
This fixes commit b678a199e499b6c3f0b453393434aefaee180423 for SMP configurations.
2024-03-27bsps: Move declarations to <bsp/irq-generic.h>Sebastian Huber1-0/+22
Move declarations of bsp_interrupt_get_affinity() and bsp_interrupt_set_affinity() to <bsp/irq-generic.h>. Canonicalize the <bsp/irq.h> includes. Implement bsp_interrupt_get_affinity() and bsp_interrupt_set_affinity() only if needed (usually RTEMS_SMP). Provide stub implementations for i386 to fix build errors.
2023-06-16bsps: Remove uses of BSP-specific interrupt APISebastian Huber1-29/+0
Update #3269.
2022-11-14bsps/sparc: Change license to BSD-2 for files with Gaisler copyrightDaniel Cederman1-8/+27
This patch changes the license to BSD-2 for all source files where the copyright is held by Aeroflex Gaisler, Cobham Gaisler, or Gaisler Research. Some files also includes copyright right statements from OAR and/or embedded Brains in addition to Gaisler. Updates #3053.
2021-07-27bsps/irq: bsp_interrupt_facility_initialize()Sebastian Huber1-2/+1
Do not return a status code in bsp_interrupt_facility_initialize() since this leads to unreachable code in bsp_interrupt_initialize(). Use RTEMS_DEBUG assertions in bsp_interrupt_facility_initialize() if necessary.
2021-07-26sparc/irq: Implement new interrupt directivesSebastian Huber1-7/+41
Update #3269.
2021-07-26bsps/irq: bsp_interrupt_get_affinity()Sebastian Huber1-1/+1
Return a status code for bsp_interrupt_get_affinity(). Update #3269.
2021-07-26bsps/irq: bsp_interrupt_vector_disable()Sebastian Huber1-1/+2
Return a status code for bsp_interrupt_vector_disable(). Update #3269.
2021-07-26bsps/irq: bsp_interrupt_vector_enable()Sebastian Huber1-1/+2
Return a status code for bsp_interrupt_vector_enable(). Update #3269.
2021-07-26bsps/irq: Add rtems_interrupt_is_pending()Sebastian Huber1-0/+11
Add a default implementation which just returns RTEMS_UNSATISFIED. Update #3269.
2021-07-26bsps/irq: Add rtems_interrupt_get_attributes()Sebastian Huber1-0/+8
Add a default implementation which clears the attributes to zero and just returns RTEMS_SUCCESSFUL for valid parameters. Update #3269.
2021-07-26bsps/irq: Add rtems_interrupt_raise()Sebastian Huber1-0/+23
Add rtems_interrupt_raise_on() and rtems_interrupt_clear(). Add a default implementation which just returns RTEMS_UNSATISFIED for valid parameters. Update #3269.
2021-07-26bsps/irq: Add rtems_interrupt_vector_is_enabled()Sebastian Huber1-0/+11
Add a default implementation which just returns RTEMS_UNSATISFIED for valid parameters. Update #3269.
2021-07-09bsps/sparc: Improve interrupt affinity supportSebastian Huber1-23/+11
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-06-24sparc: Simplify trap table initializationSebastian Huber1-21/+0
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.
2020-08-31bsps: Always install IPI in SMP configsSebastian Huber1-10/+4
The inter-processor interrupt (IPI) may be used to process per-CPU jobs. See for example the blocked handler in T_interrupt_test(). Update #3199.
2018-04-20bsps/sparc: Move shared files to bspsSebastian Huber1-0/+0
This patch is a part of the BSP source reorganization. Update #3285.
2017-06-20bsps: Improve interrupt vector enable/disable APISebastian Huber1-6/+4
Change bsp_interrupt_vector_enable() and bsp_interrupt_vector_disable() to not return a status code. Add bsp_interrupt_assert() and use it to validate the vector number in the vector enable/disable implementations.
2017-05-14leon, irq: single CPU SMP configuration does not need IPI ISRDaniel Hellstrom1-3/+8
2015-02-11bsp/sparc: Move BSP_ISR_handler to a separate file and rename itDaniel Cederman1-23/+11
This allows it to be wrapped by another function at link-time and can be used to trace interrupts. If not placed in a separate file, the function pointer address used in BSP_shared_interrupt_init will be resolved at compile-time, and the function will not be wrappable.
2014-10-09SPARC BSPs: irq-shared.c code style clean-upDaniel Hellstrom1-27/+27
2014-10-09LEON3 SMP: support static interrupt affinityDaniel Hellstrom1-6/+33
Changed LEON3_irq-mp to const also.
2014-10-02bsp/leon3: Replace the define LEON3_MP_IRQ with a weakly linked variableDaniel Cederman1-2/+2
The LEON3_MP_IRQ define is used to pick the IRQ to be used by the shared memory driver and for inter-processor interrupts. On some LEON3 systems, for example the GR712RC, the default value of 14 is not suitable. To make this value configurable from the application, it is replaced with a weakly linked variable that can be overridden from the application.
2013-11-14sparc/../irq-shared.c: Fix compilation for SMP when not LEON3Joel Sherrill1-1/+2
2013-10-31LEON3_MP ISR: shared-IRQ setup overwrite SMP/MP ISR trap handlerDaniel Hellstrom1-0/+5
Basically the shared-irq handler overwrite the SMP/MP traphandler previously initialized with set_vector(). That caused IPIs to enter BSP spurious handler.
2013-09-21sparc irq-shared.c: Fix unused variable warningJoel Sherrill1-1/+1
2012-11-15bsps: Interrupt initialization error is fatalSebastian Huber1-6/+2
2012-04-06SPARC BSPs: implemented shared-irq using libbsp/shared layerDaniel Hellstrom1-0/+83
The implementation use IRQ number instead of vector number since some IRQs does not have a unique vector, for example the extended interrupts all enter the same trap vector entry. Added support for the LEON3 extended interrupt controller when using the shared IRQ layer. ERC32 patches untested. Signed-off-by: Daniel Hellstrom <daniel@gaisler.com> Regenerate