| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
This patch is a part of the BSP source reorganization.
Update #3285.
|
|
|
|
| |
Update #3082.
|
|
|
|
| |
Update #3071.
|
|
|
|
| |
Close #3071.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Closes #3014.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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).
|
| |
|
|
|
|
|
| |
The vector number of spurious interrupts was wrong after the interrupt
handler removal on SMP configurations.
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
Add bsp_generic_fatal().
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
* src/irq-generic.c: Priority inheritance on simple binary semaphores
makes no sense and has recently been added as an error condition.
|
|
|
|
| |
* include/irq-generic.h, src/irq-generic.c: Documentation.
|
| |
|
|
|
|
|
|
| |
* 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.
|
|
|
|
| |
* src/irq-generic.c: Fixed integer conversion warnings.
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
(shared handler and handler with a handle).
|