CVSROOT:        /cvs
Module name:    src
Changes by:     patr...@cvs.openbsd.org 2018/07/09 03:51:43

Modified files:
        sys/arch/arm/cortex: ampintc.c amptimer.c files.cortex 

Log message:
Implement ampintcmsi(4) in ampintc(4) to support MSI.  The GICv2M is an
extension to the GIC controller, which is represented as subnode in the
device tree.  There can be multiple GICv2Ms, so it makes sense to attach
those to ampintc(4) as some kind of simplebus.  The GICv2M is simply an
interrupt generator that can be used by PCIe devices to ring the door
bell.  There is no need for further configuration, we only need to find
out which SPIs we are allowed to use for MSI and to register an edge
triggered interrupt on a (randomly) allocated SPI.

Implement support for interrupt types.  The GIC only seems to support
level triggered active-high or egdge triggered low-to-high interrupts.
We currently always configure them to be level triggered, which is a
sane default for most controllers.  Since MSI interupts on the GIC are
edge triggered, we need to be able to parse the type information and to
configure the interrupt correspondingly.

ok kettenis@

Reply via email to