Browse Source

Merge tag 'kvm-arm-for-4.9-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm

KVM/ARM updates for v4.9-rc7

- Do not call kvm_notify_acked for PPIs
Radim Krčmář 8 years ago
parent
commit
0f4828a1da
2 changed files with 8 additions and 4 deletions
  1. 4 2
      virt/kvm/arm/vgic/vgic-v2.c
  2. 4 2
      virt/kvm/arm/vgic/vgic-v3.c

+ 4 - 2
virt/kvm/arm/vgic/vgic-v2.c

@@ -50,8 +50,10 @@ void vgic_v2_process_maintenance(struct kvm_vcpu *vcpu)
 
 
 			WARN_ON(cpuif->vgic_lr[lr] & GICH_LR_STATE);
 			WARN_ON(cpuif->vgic_lr[lr] & GICH_LR_STATE);
 
 
-			kvm_notify_acked_irq(vcpu->kvm, 0,
-					     intid - VGIC_NR_PRIVATE_IRQS);
+			/* Only SPIs require notification */
+			if (vgic_valid_spi(vcpu->kvm, intid))
+				kvm_notify_acked_irq(vcpu->kvm, 0,
+						     intid - VGIC_NR_PRIVATE_IRQS);
 		}
 		}
 	}
 	}
 
 

+ 4 - 2
virt/kvm/arm/vgic/vgic-v3.c

@@ -41,8 +41,10 @@ void vgic_v3_process_maintenance(struct kvm_vcpu *vcpu)
 
 
 			WARN_ON(cpuif->vgic_lr[lr] & ICH_LR_STATE);
 			WARN_ON(cpuif->vgic_lr[lr] & ICH_LR_STATE);
 
 
-			kvm_notify_acked_irq(vcpu->kvm, 0,
-					     intid - VGIC_NR_PRIVATE_IRQS);
+			/* Only SPIs require notification */
+			if (vgic_valid_spi(vcpu->kvm, intid))
+				kvm_notify_acked_irq(vcpu->kvm, 0,
+						     intid - VGIC_NR_PRIVATE_IRQS);
 		}
 		}
 
 
 		/*
 		/*