search for: gsis

Displaying 13 results from an estimated 13 matches for "gsis".

Did you mean: geis
2011 Sep 06
9
AMD IOMMU intremap tables and IOAPICs
Wei, Quick question: Am I reading the code correctly, that even with per-device interrupt remap tables, that GSIs are accounted to the intremap table of the corresponding IOAPIC, presumably because the IOMMU sees interrupts generated as GSIs as coming from the IOAPIC? In that case, then we need all devices sharing the same IOAPIC must not have any vector collisions. Is that correct? -George ______________...
2012 May 21
4
[PATCH] xen: do not map the same GSI twice
PV on HVM guests map GSIs into event channels; at restore time the event channels are resumed by restore_pirqs. Device drivers might try to register the same GSI again through ACPI at restore time, but the GSI has already been mapped and bound by restore_pirqs. This patch detects these situations and avoid mapping the same...
2014 Oct 27
1
[RFC PATCH 2/2] Assign a new irq handler while irqfd enabled
...ll VQs. > Again this doesn't scale: a single CPU has to handle > interrupts for all of them. > I think you need to find a way to get per-VQ interrupts. Yeah, AFAIK it's impossible to distribute works to different CPUs with only one irq without MSI-X kind mechanism. Assign multiple gsis to one device, obviously it's consumptive and not scalable. Any ideas? Thx. > >> -- >> 1.7.9.5 >> > > . >
2014 Oct 27
1
[RFC PATCH 2/2] Assign a new irq handler while irqfd enabled
...ll VQs. > Again this doesn't scale: a single CPU has to handle > interrupts for all of them. > I think you need to find a way to get per-VQ interrupts. Yeah, AFAIK it's impossible to distribute works to different CPUs with only one irq without MSI-X kind mechanism. Assign multiple gsis to one device, obviously it's consumptive and not scalable. Any ideas? Thx. > >> -- >> 1.7.9.5 >> > > . >
2014 Oct 27
0
[RFC PATCH 2/2] Assign a new irq handler while irqfd enabled
...oesn't scale: a single CPU has to handle > > interrupts for all of them. > > I think you need to find a way to get per-VQ interrupts. > > Yeah, AFAIK it's impossible to distribute works to different CPUs with > only one irq without MSI-X kind mechanism. Assign multiple gsis to one > device, obviously it's consumptive and not scalable. Why not? How many gsis are there on ARM? > Any ideas? Thx. > > > > >> -- > >> 1.7.9.5 > >> > > > > . > >
2014 Oct 25
1
[RFC PATCH 2/2] Assign a new irq handler while irqfd enabled
From: Li Liu <john.liuli at huawei.com> This irq handler will get the interrupt reason from a shared memory. And will be assigned only while irqfd enabled. Signed-off-by: Li Liu <john.liuli at huawei.com> --- drivers/virtio/virtio_mmio.c | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/drivers/virtio/virtio_mmio.c
2014 Oct 25
1
[RFC PATCH 2/2] Assign a new irq handler while irqfd enabled
From: Li Liu <john.liuli at huawei.com> This irq handler will get the interrupt reason from a shared memory. And will be assigned only while irqfd enabled. Signed-off-by: Li Liu <john.liuli at huawei.com> --- drivers/virtio/virtio_mmio.c | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/drivers/virtio/virtio_mmio.c
2011 Mar 09
0
[PATCH 04/11] x86: cleanup mpparse.c
...int i = 0; + unsigned int i; /* Find the IOAPIC that manages this GSI. */ for (i = 0; i < nr_ioapics; i++) { @@ -955,7 +814,6 @@ void __init mp_register_ioapic ( * Build basic GSI lookup table to facilitate gsi->io_apic lookups * and to prevent reprogramming of IOAPIC pins (PCI GSIs). */ - mp_ioapic_routing[idx].apic_id = mp_ioapics[idx].mpc_apicid; mp_ioapic_routing[idx].gsi_base = gsi_base; mp_ioapic_routing[idx].gsi_end = gsi_base + io_apic_get_redir_entries(idx); @@ -969,7 +827,7 @@ void __init mp_register_ioapic ( return; } -unsigned highest_gsi(void) +uns...
2007 May 30
30
[VTD][patch 0/5] HVM device assignment using vt-d
The following 5 patches are re-submissions of the vt-d patch. This set of patches has been tested against cs# 15080 and is now much more mature and tested against more environments than the original patch. Specifically, we have successfully tested the patch with following environements: - 32/64-bit Linux HVM guest - 32-bit Windows XP/Vista (64-bit should work but did not test) -
2011 Sep 01
4
[xen-unstable test] 8803: regressions - FAIL
...ted Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> changeset: 23807:2297b90a6a7b user: Stefano Stabellini <stefano.stabellini@eu.citrix.com> date: Wed Aug 31 15:23:34 2011 +0100 xen: __hvm_pci_intx_assert should check for gsis remapped onto pirqs If the isa irq corresponding to a particular gsi is disabled while the gsi is enabled, __hvm_pci_intx_assert will always inject the gsi through the violapic, even if the gsi has been remapped onto a pirq. This patch makes sure that even in this case we injec...
2008 Nov 13
69
[PATCH 00 of 38] xen: add more Xen dom0 support
Hi Ingo, Here''s the chunk of patches to add Xen Dom0 support (it''s probably worth creating a new xen/dom0 topic branch for it). A dom0 Xen domain is basically the same as a normal domU domain, but it has extra privileges to directly access hardware. There are two issues to deal with: - translating to and from the domain''s pseudo-physical addresses and real machine
2015 Nov 18
2
[RFC] kvmtool: add support for modern virtio-pci
...ueue_selector = ioport__read16(data); + break; + case VIRTIO_PCI_COMMON_Q_MSIX: + vec = vpci->vq_vector[vpci->queue_selector] = ioport__read16(data); + + if (vec == VIRTIO_MSI_NO_VECTOR) + break; + + gsi = irq__add_msix_route(vpci->kvm, &vpci->msix_table[vec].msg); + vpci->gsis[vpci->queue_selector] = gsi; + if (vdev->ops->notify_vq_gsi) + vdev->ops->notify_vq_gsi(vpci->kvm, vpci->dev, + vpci->queue_selector, gsi); + break; + case VIRTIO_PCI_COMMON_Q_SIZE: + val = ioport__read16(data); + break; + case VIRTIO_PCI_COMMON_Q_ENABLE: + val =...
2015 Nov 18
2
[RFC] kvmtool: add support for modern virtio-pci
...ueue_selector = ioport__read16(data); + break; + case VIRTIO_PCI_COMMON_Q_MSIX: + vec = vpci->vq_vector[vpci->queue_selector] = ioport__read16(data); + + if (vec == VIRTIO_MSI_NO_VECTOR) + break; + + gsi = irq__add_msix_route(vpci->kvm, &vpci->msix_table[vec].msg); + vpci->gsis[vpci->queue_selector] = gsi; + if (vdev->ops->notify_vq_gsi) + vdev->ops->notify_vq_gsi(vpci->kvm, vpci->dev, + vpci->queue_selector, gsi); + break; + case VIRTIO_PCI_COMMON_Q_SIZE: + val = ioport__read16(data); + break; + case VIRTIO_PCI_COMMON_Q_ENABLE: + val =...