Displaying 20 results from an estimated 92 matches for "qemu_set_irq".
2010 Aug 07
10
[PATCH] Fix hvm vcpu hotplug bug
When hotplug hvm vcpu by ''xm vcpu-set'' command, if it add/remove
many vcpus by 1 ''xm vcpu-set'' command, it has a bug that it cannot
add/remove all vcpus that want to be added/removed.
This patch is to fix the bug. It delays trigger sci until all xenstore
cpu node status are watched.
Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
2013 May 14
4
[PATCH] qemu-traditional - ACPI vCPU hotplug fixes for Xen 4.3 (v2).
...d QEMU race.
They have been Ack-ed by both George (for inclusion in Xen 4.3) and
by Stefano. They should be candidates for back-port in older hypervisors.
Konrad Rzeszutek Wilk (3):
piix4acpi, xen, vcpu hotplug: Split the notification from the changes.
piix4acpi, xen: Clarify that the qemu_set_irq calls just do an IRQ pulse.
piix4acpi, xen, hotplug: Fix race with ACPI AML code and hotplug.
hw/piix4acpi.c | 18 ++++++++------
monitor.c | 4 +-
sysemu.h | 4 ++-
xenstore.c | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++-----
4 files changed, 78 inserti...
2014 Nov 13
1
[RFC PATCH] virtio-mmio: support for multiple irqs
...my life, so know nothing about its implementation. The
> same applies to "vhost-net". I'm simply coming from a completely
> different background, so bear with me on this.
>
Ok, sorry. I ignored this.
When we use only virtio-mmio or vhost-net without irqfd, the device uses qemu_set_irq(within qemu)
to inject interrupt and at the same time qemu update "VIRTIO_MMIO_INTERRUPT_STATUS" to tell guest
driver whom this interrupt to. All these things are done by qemu. Though qemu_set_irq will call
kvm_set_irq to do the real interrupt inject, but the trigger is qemu and it can up...
2014 Nov 13
1
[RFC PATCH] virtio-mmio: support for multiple irqs
...my life, so know nothing about its implementation. The
> same applies to "vhost-net". I'm simply coming from a completely
> different background, so bear with me on this.
>
Ok, sorry. I ignored this.
When we use only virtio-mmio or vhost-net without irqfd, the device uses qemu_set_irq(within qemu)
to inject interrupt and at the same time qemu update "VIRTIO_MMIO_INTERRUPT_STATUS" to tell guest
driver whom this interrupt to. All these things are done by qemu. Though qemu_set_irq will call
kvm_set_irq to do the real interrupt inject, but the trigger is qemu and it can up...
2009 May 25
0
[PATCH 10/11] qemu: MSI-X support in virtio PCI
...VIRTIO_PCI_CONFIG_NOMSI)
/* Virtio ABI version, if we increment this, we break the guest driver. */
#define VIRTIO_PCI_ABI_VERSION 0
@@ -81,14 +99,17 @@ typedef struct {
static void virtio_pci_notify(void *opaque, uint16_t vector)
{
VirtIOPCIProxy *proxy = opaque;
-
- qemu_set_irq(proxy->pci_dev.irq[0], proxy->vdev->isr & 1);
+ if (msix_enabled(&proxy->pci_dev))
+ msix_notify(&proxy->pci_dev, vector);
+ else
+ qemu_set_irq(proxy->pci_dev.irq[0], proxy->vdev->isr & 1);
}
static void virtio_pci_reset(void *opaque)...
2009 Jun 02
0
[PATCHv2 10/13] qemu: MSI-X support in virtio PCI
...VIRTIO_PCI_CONFIG_NOMSI)
/* Virtio ABI version, if we increment this, we break the guest driver. */
#define VIRTIO_PCI_ABI_VERSION 0
@@ -81,14 +99,17 @@ typedef struct {
static void virtio_pci_notify(void *opaque, uint16_t vector)
{
VirtIOPCIProxy *proxy = opaque;
-
- qemu_set_irq(proxy->pci_dev.irq[0], proxy->vdev->isr & 1);
+ if (msix_enabled(&proxy->pci_dev))
+ msix_notify(&proxy->pci_dev, vector);
+ else
+ qemu_set_irq(proxy->pci_dev.irq[0], proxy->vdev->isr & 1);
}
static void virtio_pci_reset(void *opaque)...
2009 Jun 05
0
[PATCHv3 10/13] qemu: MSI-X support in virtio PCI
...VIRTIO_PCI_CONFIG_NOMSI)
/* Virtio ABI version, if we increment this, we break the guest driver. */
#define VIRTIO_PCI_ABI_VERSION 0
@@ -81,14 +99,17 @@ typedef struct {
static void virtio_pci_notify(void *opaque, uint16_t vector)
{
VirtIOPCIProxy *proxy = opaque;
-
- qemu_set_irq(proxy->pci_dev.irq[0], proxy->vdev->isr & 1);
+ if (msix_enabled(&proxy->pci_dev))
+ msix_notify(&proxy->pci_dev, vector);
+ else
+ qemu_set_irq(proxy->pci_dev.irq[0], proxy->vdev->isr & 1);
}
static void virtio_pci_reset(void *opaque)...
2009 Jun 10
0
[PATCHv4 10/13] qemu: MSI-X support in virtio PCI
...VIRTIO_PCI_CONFIG_NOMSI)
/* Virtio ABI version, if we increment this, we break the guest driver. */
#define VIRTIO_PCI_ABI_VERSION 0
@@ -81,14 +99,17 @@ typedef struct {
static void virtio_pci_notify(void *opaque, uint16_t vector)
{
VirtIOPCIProxy *proxy = opaque;
-
- qemu_set_irq(proxy->pci_dev.irq[0], proxy->vdev->isr & 1);
+ if (msix_enabled(&proxy->pci_dev))
+ msix_notify(&proxy->pci_dev, vector);
+ else
+ qemu_set_irq(proxy->pci_dev.irq[0], proxy->vdev->isr & 1);
}
static void virtio_pci_reset(void *opaque)...
2009 May 25
0
[PATCH 10/11] qemu: MSI-X support in virtio PCI
...VIRTIO_PCI_CONFIG_NOMSI)
/* Virtio ABI version, if we increment this, we break the guest driver. */
#define VIRTIO_PCI_ABI_VERSION 0
@@ -81,14 +99,17 @@ typedef struct {
static void virtio_pci_notify(void *opaque, uint16_t vector)
{
VirtIOPCIProxy *proxy = opaque;
-
- qemu_set_irq(proxy->pci_dev.irq[0], proxy->vdev->isr & 1);
+ if (msix_enabled(&proxy->pci_dev))
+ msix_notify(&proxy->pci_dev, vector);
+ else
+ qemu_set_irq(proxy->pci_dev.irq[0], proxy->vdev->isr & 1);
}
static void virtio_pci_reset(void *opaque)...
2009 Jun 02
0
[PATCHv2 10/13] qemu: MSI-X support in virtio PCI
...VIRTIO_PCI_CONFIG_NOMSI)
/* Virtio ABI version, if we increment this, we break the guest driver. */
#define VIRTIO_PCI_ABI_VERSION 0
@@ -81,14 +99,17 @@ typedef struct {
static void virtio_pci_notify(void *opaque, uint16_t vector)
{
VirtIOPCIProxy *proxy = opaque;
-
- qemu_set_irq(proxy->pci_dev.irq[0], proxy->vdev->isr & 1);
+ if (msix_enabled(&proxy->pci_dev))
+ msix_notify(&proxy->pci_dev, vector);
+ else
+ qemu_set_irq(proxy->pci_dev.irq[0], proxy->vdev->isr & 1);
}
static void virtio_pci_reset(void *opaque)...
2009 Jun 05
0
[PATCHv3 10/13] qemu: MSI-X support in virtio PCI
...VIRTIO_PCI_CONFIG_NOMSI)
/* Virtio ABI version, if we increment this, we break the guest driver. */
#define VIRTIO_PCI_ABI_VERSION 0
@@ -81,14 +99,17 @@ typedef struct {
static void virtio_pci_notify(void *opaque, uint16_t vector)
{
VirtIOPCIProxy *proxy = opaque;
-
- qemu_set_irq(proxy->pci_dev.irq[0], proxy->vdev->isr & 1);
+ if (msix_enabled(&proxy->pci_dev))
+ msix_notify(&proxy->pci_dev, vector);
+ else
+ qemu_set_irq(proxy->pci_dev.irq[0], proxy->vdev->isr & 1);
}
static void virtio_pci_reset(void *opaque)...
2009 Jun 10
0
[PATCHv4 10/13] qemu: MSI-X support in virtio PCI
...VIRTIO_PCI_CONFIG_NOMSI)
/* Virtio ABI version, if we increment this, we break the guest driver. */
#define VIRTIO_PCI_ABI_VERSION 0
@@ -81,14 +99,17 @@ typedef struct {
static void virtio_pci_notify(void *opaque, uint16_t vector)
{
VirtIOPCIProxy *proxy = opaque;
-
- qemu_set_irq(proxy->pci_dev.irq[0], proxy->vdev->isr & 1);
+ if (msix_enabled(&proxy->pci_dev))
+ msix_notify(&proxy->pci_dev, vector);
+ else
+ qemu_set_irq(proxy->pci_dev.irq[0], proxy->vdev->isr & 1);
}
static void virtio_pci_reset(void *opaque)...
2009 Jun 18
0
[PATCHv5 10/13] qemu: MSI-X support in virtio PCI
...VIRTIO_PCI_CONFIG_NOMSI)
/* Virtio ABI version, if we increment this, we break the guest driver. */
#define VIRTIO_PCI_ABI_VERSION 0
@@ -81,14 +99,17 @@ typedef struct {
static void virtio_pci_notify(void *opaque, uint16_t vector)
{
VirtIOPCIProxy *proxy = opaque;
-
- qemu_set_irq(proxy->pci_dev.irq[0], proxy->vdev->isr & 1);
+ if (msix_enabled(&proxy->pci_dev))
+ msix_notify(&proxy->pci_dev, vector);
+ else
+ qemu_set_irq(proxy->pci_dev.irq[0], proxy->vdev->isr & 1);
}
static void virtio_pci_reset(void *opaque)...
2009 Jun 18
0
[PATCHv5 10/13] qemu: MSI-X support in virtio PCI
...VIRTIO_PCI_CONFIG_NOMSI)
/* Virtio ABI version, if we increment this, we break the guest driver. */
#define VIRTIO_PCI_ABI_VERSION 0
@@ -81,14 +99,17 @@ typedef struct {
static void virtio_pci_notify(void *opaque, uint16_t vector)
{
VirtIOPCIProxy *proxy = opaque;
-
- qemu_set_irq(proxy->pci_dev.irq[0], proxy->vdev->isr & 1);
+ if (msix_enabled(&proxy->pci_dev))
+ msix_notify(&proxy->pci_dev, vector);
+ else
+ qemu_set_irq(proxy->pci_dev.irq[0], proxy->vdev->isr & 1);
}
static void virtio_pci_reset(void *opaque)...
2009 Jun 21
0
[PATCHv6 08/12] qemu/virtio: MSI-X support in virtio PCI
...VIRTIO_PCI_CONFIG_NOMSI)
/* Virtio ABI version, if we increment this, we break the guest driver. */
#define VIRTIO_PCI_ABI_VERSION 0
@@ -81,14 +99,17 @@ typedef struct {
static void virtio_pci_notify(void *opaque, uint16_t vector)
{
VirtIOPCIProxy *proxy = opaque;
-
- qemu_set_irq(proxy->pci_dev.irq[0], proxy->vdev->isr & 1);
+ if (msix_enabled(&proxy->pci_dev))
+ msix_notify(&proxy->pci_dev, vector);
+ else
+ qemu_set_irq(proxy->pci_dev.irq[0], proxy->vdev->isr & 1);
}
static void virtio_pci_reset(void *opaque)...
2009 Jun 21
0
[PATCHv6 08/12] qemu/virtio: MSI-X support in virtio PCI
...VIRTIO_PCI_CONFIG_NOMSI)
/* Virtio ABI version, if we increment this, we break the guest driver. */
#define VIRTIO_PCI_ABI_VERSION 0
@@ -81,14 +99,17 @@ typedef struct {
static void virtio_pci_notify(void *opaque, uint16_t vector)
{
VirtIOPCIProxy *proxy = opaque;
-
- qemu_set_irq(proxy->pci_dev.irq[0], proxy->vdev->isr & 1);
+ if (msix_enabled(&proxy->pci_dev))
+ msix_notify(&proxy->pci_dev, vector);
+ else
+ qemu_set_irq(proxy->pci_dev.irq[0], proxy->vdev->isr & 1);
}
static void virtio_pci_reset(void *opaque)...
2013 May 13
11
[PATCH] Fix QEMU HVM hotplug race in QEMU traditional (Xen 4.1, Xen 4.2, and Xen 4.3) (v1).
...ysemu.h | 4 +++-
xenstore.c | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
4 files changed, 81 insertions(+), 18 deletions(-)
Konrad Rzeszutek Wilk (3):
piix4acpi, xen, vcpu hotplug: Split the notification from the changes.
piix4acpi, xen: Clarify that the qemu_set_irq calls just do an IRQ pulse.
piix4acpi, xen, hotplug: Fix race with ACPI AML code and hotplug.
2011 Nov 02
3
[PATCH RFC 0/2] virtio-pci: polling mode support
MSIX spec requires that device can be operated with
all vectors masked, by polling.
So the following patchset (lightly tested) adds this
ability: when driver reads ISR, the device
recalls a pending notification, and returns
pending status in the ISR register.
The polling driver can operate as follows:
- map all VQs and config to the same vector
- poll ISR to get status - this also flushes VQ
2011 Nov 02
3
[PATCH RFC 0/2] virtio-pci: polling mode support
MSIX spec requires that device can be operated with
all vectors masked, by polling.
So the following patchset (lightly tested) adds this
ability: when driver reads ISR, the device
recalls a pending notification, and returns
pending status in the ISR register.
The polling driver can operate as follows:
- map all VQs and config to the same vector
- poll ISR to get status - this also flushes VQ
2009 May 20
9
[PATCH] qemu: msi irq allocation api
define api for allocating/setting up msi-x irqs, and for updating them
with msi-x vector information, supply implementation in ioapic. Please
comment on this API: I intend to port my msi-x patch to work on top of
it.
Signed-off-by: Michael S. Tsirkin <mst at redhat.com>
---
hw/apic.c | 1 -
hw/ioapic.c | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
hw/irq.c