summaryrefslogtreecommitdiffstats
path: root/bsps/shared/irq/irq-generic.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2023-10-13bsps: Remove unused includesKinsey Moore1-3/+0
2023-07-28bsps/irq: Remove unused parameterSebastian Huber1-4/+2
Update #4862.
2023-05-20Update company nameSebastian Huber1-1/+1
The embedded brains GmbH & Co. KG is the legal successor of embedded brains GmbH.
2023-01-24intr: Add Interrupt Manager implementation groupSebastian Huber1-1/+1
The shared BSP interrupt controller support code actually implements parts of the Interrupt Manager. Update #3706.
2022-12-02bsps/irq: Add bsp_interrupt_get_dispatch_table_slot()Sebastian Huber1-6/+13
Update #4769.
2022-12-02bsps/irq: Rename handler in dispatch tableSebastian Huber1-16/+16
The name handler table was a bit misleading after the last rework. Rename it to distach table. Update the documentation accordingly. Update #4769.
2021-07-27bsps/irq: bsp_interrupt_facility_initialize()Sebastian Huber1-7/+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-26bsps/irq: Add rtems_interrupt_entry_install()Sebastian Huber1-330/+156
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.
2021-07-26bsps/irq: Move bsp_interrupt_handler_is_empty()Sebastian Huber1-19/+0
This function is only used by one BSP. Update #3269.
2021-07-26bsps/irq: Add bsp_interrupt_check_and_lock()Sebastian Huber1-24/+36
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.
2021-07-26bsps/irq: Use rtems_interrupt_entrySebastian Huber1-12/+12
Update #3269.
2021-07-26bsps/irq: Move handler iterate to separate fileSebastian Huber1-82/+4
Update #3269.
2021-07-26bsps/irq: Move get/set affinity to separate fileSebastian Huber1-52/+0
Update #3269.
2021-06-24bsps/irq: Remove BSP_INTERRUPT_VECTOR_NUMBERSebastian Huber1-1/+1
Replace it with BSP_INTERRUPT_VECTOR_COUNT. Update #3269.
2021-06-24bsps/irq: Remove BSP_INTERRUPT_NO_HEAP_USAGESebastian Huber1-31/+3
Remove the support for BSP_INTERRUPT_NO_HEAP_USAGE. This was only used by one BSP and provides no real benefit. Update #3269.
2021-06-17bsps/irq: Change license to BSD-2-ClauseSebastian Huber1-12/+24
Change license to BSD-2-Clause according to file history and re-licensing agreement. Update #3053.
2018-11-12bsps/irq: Use rtems_malloc()Sebastian Huber1-3/+8
2018-08-03bsps: Fix the generic IRQ supportSebastian Huber1-16/+0
The genmcf548x partly uses is own implementation of the interrupt extension API for libbsd support. This patch is a part of the BSP source reorganization. Update #3285.
2018-06-05bsps: Avoid malloc() in generic IRQ supportSebastian Huber1-2/+3
Use rtems_heap_allocate_aligned_with_boundary() instead of malloc() to avoid a dependency on errno.
2018-04-09bsps: Move generic IRQ support to bspsSebastian Huber1-0/+0
This patch is a part of the BSP source reorganization. Update #3285.
2017-08-22bsps: Fix integer to/from pointerSebastian Huber1-2/+2
Update #3082.
2017-07-12bsps: Include missing header fileSebastian Huber1-0/+1
Update #3071.
2017-07-12Add interrupt vector set/get affinitySebastian Huber1-1/+52
Close #3071.
2017-06-20bsps: Improve interrupt vector enable/disable APISebastian Huber1-14/+2
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-13interrupt vector indexing is assuming BSP_INTERRUPT_VECTOR_MIN = 0Phong Pham1-1/+1
Closes #3014.
2016-05-11bsp/shared: Add bsp_interrupt_handler_is_empty.Chris Johns1-0/+19
2016-01-20bsp/irq-server: Support shared interruptsSebastian Huber1-2/+2
2014-03-21Change all references of rtems.com to rtems.org.Chris Johns1-1/+1
2014-03-06rtems: Add RTEMS_INTERRUPT_REPLACESebastian Huber1-27/+54
A new option RTEMS_INTERRUPT_REPLACE is introduced that permits updating the first interrupt handler for the registered interrupt vector and matching argument. If no match is found, the install function fails with RTEMS_UNSATISFIED. The Interrupt Manager Extension offers interrupt handlers with an argument pointer. It is impossible to update two words (handler and argument) atomically on most architectures. In order to avoid an SMP lock in bsp_interrupt_handler_dispatch() which would degrade the interrupt response time an alternative must be provided that makes it possible to tear-down interrupt sources without an SMP lock. Add RTEMS_INTERRUPT_REPLACE option to Interrupt Manager Extension. This enables a clean tear-down of interrupt sources on SMP configurations. Instead of an interrupt handler removal a replacement handler can be installed to silence an interrupt source. This can be used in contexts that allow no sophisticated synchronization (e.g. in atexit() or fatal handlers).
2014-03-06bsps: SMP support for generic interrupt supportSebastian Huber1-14/+33
2014-02-28bsps: Fix empty interrupt handler entrySebastian Huber1-4/+5
The vector number of spurious interrupts was wrong after the interrupt handler removal on SMP configurations.
2014-02-19score: Add RTEMS_FATAL_SOURCE_BSPSebastian Huber1-2/+2
Merge RTEMS_FATAL_SOURCE_BSP_GENERIC and RTEMS_FATAL_SOURCE_BSP_SPECIFIC into new fatal source RTEMS_FATAL_SOURCE_BSP. This makes it easier to figure out the code position given a fatal source and code.
2013-07-24score: Merge sysstate API into one fileSebastian Huber1-0/+1
2013-06-21bsps: Move bsp_generic_fatal_code to new fileSebastian Huber1-5/+2
Add bsp_generic_fatal().
2012-11-15bsps: Interrupt initialization error is fatalSebastian Huber1-20/+13
2012-11-06bsps: Use allocator mutex for generic IRQ supportSebastian Huber1-89/+16
Since the allocator mutex allows nesting now we can use it for the generic IRQ support (recursive obtain in a potential malloc()). This simplifies the code and reduces memory usage.
2010-03-25fix warningThomas Doerfler1-1/+1
2009-11-30Whitespace removal.Ralf Corsepius1-1/+1
2009-10-21interrupt handler type changeThomas Doerfler1-1/+4
2009-09-082009-09-08 Sebastian Huber <sebastian.huber@embedded-brains.de>Joel Sherrill1-435/+486
* include/irq-config.h, include/irq-generic.h, include/irq-info.h, src/irq-generic.c, src/irq-info.c, src/irq-legacy.c, src/irq-shell.c: Format, cleanup and documentation. * src/irq-server.c: New file. * include/bootcard.h, include/stackalloc.h, src/stackalloc.c, bsplibc.c: Update for heap API changes. Documentation.
2009-07-222009-07-22 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-1/+1
* src/irq-generic.c: Priority inheritance on simple binary semaphores makes no sense and has recently been added as an error condition.
2009-05-152009-05-15 Sebastian Huber <sebastian.huber@embedded-brains.de>Joel Sherrill1-8/+0
* include/irq-generic.h, src/irq-generic.c: Documentation.
2009-01-05#include <stdlib.h>.Ralf Corsepius1-0/+2
2008-12-192008-12-19 Sebastian Huber <sebastian.huber@embedded-brains.de>Joel Sherrill1-7/+11
* include/irq-info.h, src/irq-info.c, src/irq-shell.c: New files. * include/irq-generic.h, src/irq-generic.c: Improved interrupt handler dispatch function.
2008-08-202008-08-20 Sebastian Huber <sebastian.huber@embedded-brains.de>Joel Sherrill1-2/+2
* src/irq-generic.c: Fixed integer conversion warnings.
2008-08-192008-08-19 Sebastian Huber <sebastian.huber@embedded-brains.de>Joel Sherrill1-3/+3
* include/bootcard.h, bootcard.c, bsplibc.c: Changed parameter types of bsp_libc_init() to match RTEMS_Malloc_Initialize(). * bsppost.c, bsppredriverhook.c: Include bootcard.h. * src/irq-generic.c: Fixed warnings.
2008-07-24Support for new rtems_interrupt_handler_iterate() function.Thomas Doerfler1-46/+32
2008-07-10Extension of the RTEMS Interrupt ManagerThomas Doerfler1-0/+565
(shared handler and handler with a handle).