Lines Matching refs:sgi
38 static u8 *vgic_get_sgi_sources(struct vgic_dist *dist, int vcpu_id, int sgi) in vgic_get_sgi_sources() argument
40 return dist->irq_sgi_sources + vcpu_id * VGIC_NR_SGIS + sgi; in vgic_get_sgi_sources()
249 int sgi; in read_set_clear_sgi_pend_reg() local
256 for (sgi = min_sgi; sgi <= max_sgi; sgi++) { in read_set_clear_sgi_pend_reg()
257 u8 sources = *vgic_get_sgi_sources(dist, vcpu_id, sgi); in read_set_clear_sgi_pend_reg()
259 reg |= ((u32)sources) << (8 * (sgi - min_sgi)); in read_set_clear_sgi_pend_reg()
271 int sgi; in write_set_clear_sgi_pend_reg() local
281 for (sgi = min_sgi; sgi <= max_sgi; sgi++) { in write_set_clear_sgi_pend_reg()
282 u8 mask = reg >> (8 * (sgi - min_sgi)); in write_set_clear_sgi_pend_reg()
283 u8 *src = vgic_get_sgi_sources(dist, vcpu_id, sgi); in write_set_clear_sgi_pend_reg()
413 int sgi, mode, c, vcpu_id; in vgic_dispatch_sgi() local
417 sgi = reg & 0xf; in vgic_dispatch_sgi()
439 vgic_dist_irq_set_pending(vcpu, sgi); in vgic_dispatch_sgi()
440 *vgic_get_sgi_sources(dist, c, sgi) |= 1 << vcpu_id; in vgic_dispatch_sgi()
442 sgi, vcpu_id, c); in vgic_dispatch_sgi()