[PATCH] KVM: ARM: vgic: Fix the accessing GICD_ICFGRn register problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux