summaryrefslogtreecommitdiff
path: root/src/arch/arm/kvm/gic.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/arm/kvm/gic.cc')
-rw-r--r--src/arch/arm/kvm/gic.cc8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/arch/arm/kvm/gic.cc b/src/arch/arm/kvm/gic.cc
index afb0f076d..12f9db5bc 100644
--- a/src/arch/arm/kvm/gic.cc
+++ b/src/arch/arm/kvm/gic.cc
@@ -115,8 +115,8 @@ KvmKernelGicV2::getGicReg(unsigned group, unsigned vcpu, unsigned offset)
uint64_t reg;
assert(vcpu <= KVM_ARM_IRQ_VCPU_MASK);
- const uint32_t attr(
- (vcpu << KVM_DEV_ARM_VGIC_CPUID_SHIFT) |
+ const uint64_t attr(
+ ((uint64_t)vcpu << KVM_DEV_ARM_VGIC_CPUID_SHIFT) |
(offset << KVM_DEV_ARM_VGIC_OFFSET_SHIFT));
kdev.getAttrPtr(group, attr, &reg);
@@ -130,8 +130,8 @@ KvmKernelGicV2::setGicReg(unsigned group, unsigned vcpu, unsigned offset,
uint64_t reg = value;
assert(vcpu <= KVM_ARM_IRQ_VCPU_MASK);
- const uint32_t attr(
- (vcpu << KVM_DEV_ARM_VGIC_CPUID_SHIFT) |
+ const uint64_t attr(
+ ((uint64_t)vcpu << KVM_DEV_ARM_VGIC_CPUID_SHIFT) |
(offset << KVM_DEV_ARM_VGIC_OFFSET_SHIFT));
kdev.setAttrPtr(group, attr, &reg);