#define vgic_lock_rank(v, r) spin_lock(&(r)->lock)
#define vgic_unlock_rank(v, r) spin_unlock(&(r)->lock)
-static uint32_t byte_read(uint32_t val, int sign, int offset)
+static uint32_t vgic_byte_read(uint32_t val, int sign, int offset)
{
int byte = offset & 0x3;
return val;
}
-static void byte_write(uint32_t *reg, uint32_t var, int offset)
+static void vgic_byte_write(uint32_t *reg, uint32_t var, int offset)
{
int byte = offset & 0x3;
rank = vgic_rank_offset(v, 1, gicd_reg - GICD_ISPENDR);
if ( rank == NULL) goto read_as_zero;
vgic_lock_rank(v, rank);
- *r = byte_read(rank->ipend, dabt.sign, offset);
+ *r = vgic_byte_read(rank->ipend, dabt.sign, offset);
vgic_unlock_rank(v, rank);
return 1;
rank = vgic_rank_offset(v, 1, gicd_reg - GICD_ICPENDR);
if ( rank == NULL) goto read_as_zero;
vgic_lock_rank(v, rank);
- *r = byte_read(rank->ipend, dabt.sign, offset);
+ *r = vgic_byte_read(rank->ipend, dabt.sign, offset);
vgic_unlock_rank(v, rank);
return 1;
vgic_lock_rank(v, rank);
*r = rank->itargets[REG_RANK_INDEX(8, gicd_reg - GICD_ITARGETSR)];
if ( dabt.size == 0 )
- *r = byte_read(*r, dabt.sign, offset);
+ *r = vgic_byte_read(*r, dabt.sign, offset);
vgic_unlock_rank(v, rank);
return 1;
vgic_lock_rank(v, rank);
*r = rank->ipriority[REG_RANK_INDEX(8, gicd_reg - GICD_IPRIORITYR)];
if ( dabt.size == 0 )
- *r = byte_read(*r, dabt.sign, offset);
+ *r = vgic_byte_read(*r, dabt.sign, offset);
vgic_unlock_rank(v, rank);
return 1;
rank = vgic_rank_offset(v, 1, gicd_reg - GICD_CPENDSGIR);
if ( rank == NULL) goto read_as_zero;
vgic_lock_rank(v, rank);
- *r = byte_read(rank->pendsgi, dabt.sign, offset);
+ *r = vgic_byte_read(rank->pendsgi, dabt.sign, offset);
vgic_unlock_rank(v, rank);
return 1;
rank = vgic_rank_offset(v, 1, gicd_reg - GICD_SPENDSGIR);
if ( rank == NULL) goto read_as_zero;
vgic_lock_rank(v, rank);
- *r = byte_read(rank->pendsgi, dabt.sign, offset);
+ *r = vgic_byte_read(rank->pendsgi, dabt.sign, offset);
vgic_unlock_rank(v, rank);
return 1;
if ( dabt.size == 2 )
rank->itargets[REG_RANK_INDEX(8, gicd_reg - GICD_ITARGETSR)] = *r;
else
- byte_write(&rank->itargets[REG_RANK_INDEX(8, gicd_reg - GICD_ITARGETSR)],
- *r, offset);
+ {
+ tr = REG_RANK_INDEX(8, gicd_reg - GICD_ITARGETSR);
+ vgic_byte_write(&rank->itargets[tr], *r, offset);
+ }
vgic_unlock_rank(v, rank);
return 1;
if ( dabt.size == 2 )
rank->ipriority[REG_RANK_INDEX(8, gicd_reg - GICD_IPRIORITYR)] = *r;
else
- byte_write(&rank->ipriority[REG_RANK_INDEX(8, gicd_reg - GICD_IPRIORITYR)],
- *r, offset);
+ {
+ tr = REG_RANK_INDEX(8, gicd_reg - GICD_IPRIORITYR);
+ vgic_byte_write(&rank->ipriority[tr], *r, offset);
+ }
vgic_unlock_rank(v, rank);
return 1;
return;
}
- priority = byte_read(rank->ipriority[REG_RANK_INDEX(8, irq)], 0, irq & 0x3);
+ priority = vgic_byte_read(rank->ipriority[REG_RANK_INDEX(8, irq)], 0, irq & 0x3);
n->irq = irq;
set_bit(GIC_IRQ_GUEST_QUEUED, &n->status);