Lines Matching +full:gic +full:- +full:its

1 /* SPDX-License-Identifier: GPL-2.0-only */
20 #include <linux/irqchip/arm-gic-v4.h>
28 #define VGIC_MAX_PRIVATE (VGIC_NR_PRIVATE_IRQS - 1)
32 #define KVM_IRQCHIP_NUM_PINS (1020 - 32)
43 /* same for all guests, as depending only on the _host's_ GIC model */
45 /* type of the host GIC */
80 /* GIC system register CPU interface */
90 #define VGIC_V3_LR_INDEX(lr) (VGIC_V3_MAX_LRS - 1 - lr)
98 * Per-irq ops overriding some common behavious.
100 * Always called in non-preemptible section and the functions can use
104 /* Per interrupt flags for special-cased interrupts */
110 * Callback function pointer to in-kernel devices that can tell us the
111 * state of the input level of mapped level-triggered IRQ faster than
112 * peaking into the physical GIC.
157 for in-kernel devices. */
162 return irq->ops && (irq->ops->flags & VGIC_IRQ_SW_RESAMPLE); in vgic_irq_needs_resampling()
179 struct vgic_its *its; member
188 /* The base address of the ITS control register frame */
283 /* used by vgic-debug */
287 * GICv4 ITS per-VM data, containing the IRQ domain, the VPE
289 * data. This essentially ties the Linux IRQ core and ITS
314 * GICv4 ITS per-VPE data, containing the doorbell IRQ, the
317 * linking the Linux IRQ subsystem and the ITS together.
390 #define irqchip_in_kernel(k) (!!((k)->arch.vgic.in_kernel))
391 #define vgic_initialized(k) ((k)->arch.vgic.initialized)
392 #define vgic_ready(k) ((k)->arch.vgic.ready)
394 ((i) < (k)->arch.vgic.nr_spis + VGIC_NR_PRIVATE_IRQS))
404 * kvm_vgic_get_max_vcpus - Get the maximum number of VCPUs allowed by HW
406 * The host's GIC naturally limits the maximum amount of VCPUs a guest