From: Haibin Wang <wanghaibin.wang@xxxxxxxxxx> It needs to use the bitmap to save the GICD_ICFGRn value (the real hardware register need two bits pre irq), Here before access this cfg bitmap, we did "offset >>= 1;". Later, it use the vgic_cfg_expand function to expend these bits. But, It's incorrect to pass offset parameter to vgic_reg_access, it should pass "offset << 1". Signed-off-by: Haibin Wang <wanghaibin.wang@xxxxxxxxxx> --- virt/kvm/arm/vgic.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/virt/kvm/arm/vgic.c b/virt/kvm/arm/vgic.c index de61af8..3e15825 100644 --- a/virt/kvm/arm/vgic.c +++ b/virt/kvm/arm/vgic.c @@ -557,7 +557,7 @@ static bool handle_mmio_cfg_reg(struct kvm_vcpu *vcpu, val = *reg & 0xffff; val = vgic_cfg_expand(val); - vgic_reg_access(mmio, &val, offset, + vgic_reg_access(mmio, &val, offset >> 1, ACCESS_READ_VALUE | ACCESS_WRITE_VALUE); if (mmio->is_write) { if (offset < 4) { -- 1.7.1 _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm