Lines Matching +full:intc +full:- +full:no +full:- +full:eoi
2 * ARM GICv3 support - internal interfaces
28 #include "hw/intc/arm_gicv3_common.h"
244 /* Note that EOI shares with the top bit of the pINTID field */
376 #define ICID_MASK ((1U << ICID_LENGTH) - 1)
380 #define RDBASE_PROCNUM_MASK ((1ULL << RDBASE_PROCNUM_LENGTH) - 1)
389 #define EVENTID_MASK ((1ULL << 32) - 1)
462 * the value of that field in memory cannot be relied upon -- older
541 if (s->cpu[0].gicr_typer & GICR_TYPER_VLPIS) { in gicv3_redist_size()
617 * @doorbell: doorbell (physical) interrupt number (1023 for "no doorbell")
638 * the cpuif and does not need to do the not-running-on-this-vcpu checks.)
655 * Scan the LPI pending table and recalculate cs->hpplpi only,
694 * mark it as not-pending for @src and pending for @dest, as required
705 * @doorbell: doorbell for destination (1023 for "no doorbell")
754 * This is the same as an r0p0 GIC-500. in gicv3_iidr()
784 id |= s->revision << 4; in gicv3_idreg()
800 grpbit = extract32(cs->gicr_igroupr0, irq, 1); in gicv3_irq_group()
801 grpmodbit = extract32(cs->gicr_igrpmodr0, irq, 1); in gicv3_irq_group()
809 if (s->gicd_ctlr & GICD_CTLR_DS) { in gicv3_irq_group()
818 * Return the 32-bit affinity ID of the CPU connected to this redistributor
822 return cs->gicr_typer >> 32; in gicv3_redist_affid()
829 * (which is kept in s->gicd_irouter_target[]).
835 uint32_t tgtaff = extract64(s->gicd_irouter[irq], 0, 24) | in gicv3_cache_target_cpustate()
836 extract64(s->gicd_irouter[irq], 32, 8) << 24; in gicv3_cache_target_cpustate()
838 for (i = 0; i < s->num_cpu; i++) { in gicv3_cache_target_cpustate()
839 if (s->cpu[i].gicr_typer >> 32 == tgtaff) { in gicv3_cache_target_cpustate()
840 cs = &s->cpu[i]; in gicv3_cache_target_cpustate()
845 s->gicd_irouter_target[irq] = cs; in gicv3_cache_target_cpustate()