Lines Matching +full:gic +full:- +full:its
1 /* SPDX-License-Identifier: GPL-2.0-only */
21 #include <linux/irqchip/arm-gic-v4.h>
32 #define KVM_IRQCHIP_NUM_PINS (1020 - 32)
44 /* same for all guests, as depending only on the _host's_ GIC model */
46 /* type of the host GIC */
94 #define VGIC_V3_LR_INDEX(lr) (VGIC_V3_MAX_LRS - 1 - lr)
102 * Per-irq ops overriding some common behavious.
104 * Always called in non-preemptible section and the functions can use
108 /* Per interrupt flags for special-cased interrupts */
114 * Callback function pointer to in-kernel devices that can tell us the
115 * state of the input level of mapped level-triggered IRQ faster than
116 * peaking into the physical GIC.
164 for in-kernel devices. */
169 return irq->ops && (irq->ops->flags & VGIC_IRQ_SW_RESAMPLE); in vgic_irq_needs_resampling()
186 struct vgic_its *its; member
195 /* The base address of the ITS control register frame */
221 * Caches the (device_id, event_id) -> vgic_irq translation for
259 /* The GIC maintenance IRQ for nested hypervisors. */
298 /* used by vgic-debug */
302 * GICv4 ITS per-VM data, containing the IRQ domain, the VPE
304 * data. This essentially ties the Linux IRQ core and ITS
329 * GICv4 ITS per-VPE data, containing the doorbell IRQ, the
332 * linking the Linux IRQ subsystem and the ITS together.
411 #define irqchip_in_kernel(k) (!!((k)->arch.vgic.in_kernel))
412 #define vgic_initialized(k) ((k)->arch.vgic.initialized)
414 ((i) < (k)->arch.vgic.nr_spis + VGIC_NR_PRIVATE_IRQS))
424 * kvm_vgic_get_max_vcpus - Get the maximum number of VCPUs allowed by HW
426 * The host's GIC naturally limits the maximum amount of VCPUs a guest