diff --git a/src/arch/arm/kvm/gic.cc b/src/arch/arm/kvm/gic.cc index e87bdde969..0fd73c4b28 100644 --- a/src/arch/arm/kvm/gic.cc +++ b/src/arch/arm/kvm/gic.cc @@ -96,8 +96,11 @@ KvmKernelGic::setIntState(unsigned type, unsigned vcpu, unsigned irq, static const bool vcpu2_enabled = vm.kvm->capIRQLineLayout2(); uint32_t kvm_vcpu = (vcpu_index << KVM_ARM_IRQ_VCPU_SHIFT); + +#if defined(KVM_ARM_IRQ_VCPU2_SHIFT) if (vcpu2_enabled) kvm_vcpu |= vcpu2_index << KVM_ARM_IRQ_VCPU2_SHIFT; +#endif panic_if((!vcpu2_enabled && vcpu2_index) || kvm_vcpu > 0xffff, "VCPU out of range"); diff --git a/src/cpu/kvm/vm.cc b/src/cpu/kvm/vm.cc index d3d8f1d1ba..e714a40b22 100644 --- a/src/cpu/kvm/vm.cc +++ b/src/cpu/kvm/vm.cc @@ -207,7 +207,7 @@ Kvm::capXSave() const bool Kvm::capIRQLineLayout2() const { -#if defined(KVM_CAP_ARM_IRQ_LINE_LAYOUT_2) && defined(KVM_ARM_IRQ_VCPU2_SHIFT) +#if defined(KVM_CAP_ARM_IRQ_LINE_LAYOUT_2) return checkExtension(KVM_CAP_ARM_IRQ_LINE_LAYOUT_2) != 0; #else return false;