| Commit message (Collapse) | Author | Files | Lines |
|
Make the GIC interrupt controller support a subgroup of the generic interrupt
controller support.
|
|
In addtion to 1023, the GICC_IAR register may return 1022 as a special value.
Simply check for a valid interrupt vector for the dispatching.
Check the GICC_IAR again after the dispatch to quickly process a next interrupt
without having to go through the interrupt prologue and epiloge.
|
|
This fixes commit b678a199e499b6c3f0b453393434aefaee180423 for SMP
configurations.
|
|
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.
|
|
Provide arm_gic_irq_processor_count() only in SMP configurations.
|
|
|
|
The embedded brains GmbH & Co. KG is the legal successor of embedded
brains GmbH.
|
|
Updates #3053.
|
|
Updates #4625.
|
|
ARM's GICv2 is configurable and its attributes vary between
implementations including omission of specific interrupts. This allows
BSPs to accomodate those varying implementations with customized
attribute sets.
|
|
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.
|
|
Update #3269.
|
|
Return a status code for bsp_interrupt_set_affinity().
Update #3269.
|
|
Return a status code for bsp_interrupt_get_affinity().
Update #3269.
|
|
Return a status code for bsp_interrupt_vector_disable().
Update #3269.
|
|
Return a status code for bsp_interrupt_vector_enable().
Update #3269.
|
|
Add a default implementation which just returns RTEMS_UNSATISFIED.
Update #3269.
|
|
Add a default implementation which clears the attributes to zero and
just returns RTEMS_SUCCESSFUL for valid parameters.
Update #3269.
|
|
Add rtems_interrupt_raise_on() and rtems_interrupt_clear().
Add a default implementation which just returns RTEMS_UNSATISFIED for
valid parameters.
Update #3269.
|
|
Add a default implementation which just returns RTEMS_UNSATISFIED for
valid parameters.
Update #3269.
|
|
This avoids a function call overhead in the interrupt dispatching.
Update #4202.
|
|
Avoid one level of indirection.
Update #4202.
|
|
Update #4202.
|
|
Remove the target filter for software-generated interrupts since this
feature is not supported by the affinity routing in GICv3.
Update #4202.
|
|
Use the targets parameter to determine the targets of the SGI. Change
targets parameter type to 32-bit to ease the parameter passing. GICv3
supports up to 16 targets.
Update #4202.
|
|
This moves the ARM GICv2 driver to bsps/shared to be usable by AArch64
code.
|
|
This breaks out AArch32-specific code so that the shared GICv3 code can
be reused by other architectures.
|
|
At least on GICv1 the interrupts 0 up to including 31 are so called
Peripheral Private Interrupts (PPIs). We have to initialize the
priority of the PPIs on secondary processors.
|
|
This adds support for the GICv3 interrupt controller along with the
redistributor to control SGIs and PPIs which wasn't present in GICv2
implementations. GICv3 implementations only optionally support
memory-mapped GICC interface interaction and require system register
access be implemented, so the GICC interface is accessed only
through system registers.
|
|
The following variants
* GICv1 with Security Extensions,
* GICv2 without Security Extensions, or
* within Secure processor mode
have the ability to assign group 0 or 1 to individual interrupts. Group
0 interrupts can be configured to raise an FIQ exception. This enables
the use of NMIs with respect to RTEMS.
BSPs can enable this feature with the BSP_ARM_GIC_ENABLE_FIQ_FOR_GROUP_0
define. Use arm_gic_irq_set_group() to change the group of an
interrupt (default group is 1, if BSP_ARM_GIC_ENABLE_FIQ_FOR_GROUP_0 is
defined).
|
|
|
|
This patch is a part of the BSP source reorganization.
Update #3285.
|
|
|
|
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.
|
|
Update #2554.
|
|
|
|
Some GIC implementations do not have the complete range of priorities.
The upper bits are RAZ/WI in this case.
|
|
|
|
|
|
|