linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH][kvmtool] virtio/pci: Signal INTx interrupts as level instead of edge
@ 2022-01-31 16:02 Marc Zyngier
  2022-01-31 16:04 ` Ard Biesheuvel
  2022-02-16 16:11 ` Will Deacon
  0 siblings, 2 replies; 5+ messages in thread
From: Marc Zyngier @ 2022-01-31 16:02 UTC (permalink / raw)
  To: kvmarm, linux-arm-kernel
  Cc: Andre Przywara, Alexandru Elisei, kernel-team, Pierre Gondois,
	Ard Biesheuvel, Sami Mujawar, Will Deacon

It appears that the way INTx is emulated is "slightly" out of spec
in kvmtool. We happily inject an edge interrupt, even if the spec
mandates a level.

This doesn't change much for either the guest or userspace (only
KVM will have a bit more work tracking the EOI), but at least
this is correct.

Reported-by: Pierre Gondois <pierre.gondois@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Sami Mujawar <sami.mujawar@arm.com>
Cc: Will Deacon <will@kernel.org>
---
 pci.c        | 2 +-
 virtio/pci.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/pci.c b/pci.c
index e5930331..a769ae27 100644
--- a/pci.c
+++ b/pci.c
@@ -61,7 +61,7 @@ int pci__assign_irq(struct pci_device_header *pci_hdr)
 	pci_hdr->irq_line	= irq__alloc_line();
 
 	if (!pci_hdr->irq_type)
-		pci_hdr->irq_type = IRQ_TYPE_EDGE_RISING;
+		pci_hdr->irq_type = IRQ_TYPE_LEVEL_HIGH;
 
 	return pci_hdr->irq_line;
 }
diff --git a/virtio/pci.c b/virtio/pci.c
index 41085291..2777d1c8 100644
--- a/virtio/pci.c
+++ b/virtio/pci.c
@@ -413,7 +413,7 @@ int virtio_pci__signal_vq(struct kvm *kvm, struct virtio_device *vdev, u32 vq)
 			kvm__irq_trigger(kvm, vpci->gsis[vq]);
 	} else {
 		vpci->isr = VIRTIO_IRQ_HIGH;
-		kvm__irq_trigger(kvm, vpci->legacy_irq_line);
+		kvm__irq_line(kvm, vpci->legacy_irq_line, VIRTIO_IRQ_HIGH);
 	}
 	return 0;
 }
-- 
2.34.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-02-16 16:12 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-01-31 16:02 [PATCH][kvmtool] virtio/pci: Signal INTx interrupts as level instead of edge Marc Zyngier
2022-01-31 16:04 ` Ard Biesheuvel
2022-02-01  8:21   ` Pierre Gondois
2022-02-01  8:41   ` Pierre Gondois
2022-02-16 16:11 ` Will Deacon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).