Lines Matching refs:rank
35 static inline struct vgic_irq_rank *vgic_get_rank(struct vcpu *v, int rank) in vgic_get_rank() argument
37 if ( rank == 0 ) in vgic_get_rank()
39 else if ( rank <= DOMAIN_NR_RANKS(v->domain) ) in vgic_get_rank()
40 return &v->domain->arch.vgic.shared_irqs[rank - 1]; in vgic_get_rank()
52 int rank = REG_RANK_NR(b, (n >> s)); in vgic_rank_offset() local
54 return vgic_get_rank(v, rank); in vgic_rank_offset()
59 int rank = irq/32; in vgic_rank_irq() local
61 return vgic_get_rank(v, rank); in vgic_rank_irq()
76 static void vgic_rank_init(struct vgic_irq_rank *rank, uint8_t index, in vgic_rank_init() argument
86 BUILD_BUG_ON((1 << (sizeof(rank->vcpu[0]) * 8)) < MAX_VIRT_CPUS); in vgic_rank_init()
88 spin_lock_init(&rank->lock); in vgic_rank_init()
90 rank->index = index; in vgic_rank_init()
93 write_atomic(&rank->vcpu[i], vcpu); in vgic_rank_init()
229 struct vgic_irq_rank *rank = vgic_rank_irq(v, virq); in vgic_get_target_vcpu() local
230 int target = read_atomic(&rank->vcpu[virq & INTERRUPT_RANK_MASK]); in vgic_get_target_vcpu()
236 struct vgic_irq_rank *rank; in vgic_get_virq_priority() local
242 rank = vgic_rank_irq(v, virq); in vgic_get_virq_priority()
243 return ACCESS_ONCE(rank->priority[virq & INTERRUPT_RANK_MASK]); in vgic_get_virq_priority()