aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--virt/kvm/arm/vgic/vgic-mmio-v3.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/virt/kvm/arm/vgic/vgic-mmio-v3.c b/virt/kvm/arm/vgic/vgic-mmio-v3.c
index acbe6915d657..6385ed5814b4 100644
--- a/virt/kvm/arm/vgic/vgic-mmio-v3.c
+++ b/virt/kvm/arm/vgic/vgic-mmio-v3.c
@@ -181,7 +181,7 @@ static unsigned long vgic_mmio_read_v3r_typer(struct kvm_vcpu *vcpu,
181 int target_vcpu_id = vcpu->vcpu_id; 181 int target_vcpu_id = vcpu->vcpu_id;
182 u64 value; 182 u64 value;
183 183
184 value = (mpidr & GENMASK(23, 0)) << 32; 184 value = (u64)(mpidr & GENMASK(23, 0)) << 32;
185 value |= ((target_vcpu_id & 0xffff) << 8); 185 value |= ((target_vcpu_id & 0xffff) << 8);
186 if (target_vcpu_id == atomic_read(&vcpu->kvm->online_vcpus) - 1) 186 if (target_vcpu_id == atomic_read(&vcpu->kvm->online_vcpus) - 1)
187 value |= GICR_TYPER_LAST; 187 value |= GICR_TYPER_LAST;
@@ -611,7 +611,7 @@ void vgic_v3_dispatch_sgi(struct kvm_vcpu *vcpu, u64 reg)
611 bool broadcast; 611 bool broadcast;
612 612
613 sgi = (reg & ICC_SGI1R_SGI_ID_MASK) >> ICC_SGI1R_SGI_ID_SHIFT; 613 sgi = (reg & ICC_SGI1R_SGI_ID_MASK) >> ICC_SGI1R_SGI_ID_SHIFT;
614 broadcast = reg & BIT(ICC_SGI1R_IRQ_ROUTING_MODE_BIT); 614 broadcast = reg & BIT_ULL(ICC_SGI1R_IRQ_ROUTING_MODE_BIT);
615 target_cpus = (reg & ICC_SGI1R_TARGET_LIST_MASK) >> ICC_SGI1R_TARGET_LIST_SHIFT; 615 target_cpus = (reg & ICC_SGI1R_TARGET_LIST_MASK) >> ICC_SGI1R_TARGET_LIST_SHIFT;
616 mpidr = SGI_AFFINITY_LEVEL(reg, 3); 616 mpidr = SGI_AFFINITY_LEVEL(reg, 3);
617 mpidr |= SGI_AFFINITY_LEVEL(reg, 2); 617 mpidr |= SGI_AFFINITY_LEVEL(reg, 2);