search for: qemu_set_irq

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