~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/virt/kvm/devices/mpic.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 .. SPDX-License-Identifier: GPL-2.0
  2 
  3 =========================
  4 MPIC interrupt controller
  5 =========================
  6 
  7 Device types supported:
  8 
  9   - KVM_DEV_TYPE_FSL_MPIC_20     Freescale MPIC v2.0
 10   - KVM_DEV_TYPE_FSL_MPIC_42     Freescale MPIC v4.2
 11 
 12 Only one MPIC instance, of any type, may be instantiated.  The created
 13 MPIC will act as the system interrupt controller, connecting to each
 14 vcpu's interrupt inputs.
 15 
 16 Groups:
 17   KVM_DEV_MPIC_GRP_MISC
 18    Attributes:
 19 
 20     KVM_DEV_MPIC_BASE_ADDR (rw, 64-bit)
 21       Base address of the 256 KiB MPIC register space.  Must be
 22       naturally aligned.  A value of zero disables the mapping.
 23       Reset value is zero.
 24 
 25   KVM_DEV_MPIC_GRP_REGISTER (rw, 32-bit)
 26     Access an MPIC register, as if the access were made from the guest.
 27     "attr" is the byte offset into the MPIC register space.  Accesses
 28     must be 4-byte aligned.
 29 
 30     MSIs may be signaled by using this attribute group to write
 31     to the relevant MSIIR.
 32 
 33   KVM_DEV_MPIC_GRP_IRQ_ACTIVE (rw, 32-bit)
 34     IRQ input line for each standard openpic source.  0 is inactive and 1
 35     is active, regardless of interrupt sense.
 36 
 37     For edge-triggered interrupts:  Writing 1 is considered an activating
 38     edge, and writing 0 is ignored.  Reading returns 1 if a previously
 39     signaled edge has not been acknowledged, and 0 otherwise.
 40 
 41     "attr" is the IRQ number.  IRQ numbers for standard sources are the
 42     byte offset of the relevant IVPR from EIVPR0, divided by 32.
 43 
 44 IRQ Routing:
 45 
 46   The MPIC emulation supports IRQ routing. Only a single MPIC device can
 47   be instantiated. Once that device has been created, it's available as
 48   irqchip id 0.
 49 
 50   This irqchip 0 has 256 interrupt pins, which expose the interrupts in
 51   the main array of interrupt sources (a.k.a. "SRC" interrupts).
 52 
 53   The numbering is the same as the MPIC device tree binding -- based on
 54   the register offset from the beginning of the sources array, without
 55   regard to any subdivisions in chip documentation such as "internal"
 56   or "external" interrupts.
 57 
 58   Access to non-SRC interrupts is not implemented through IRQ routing mechanisms.

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php