search for: virtiopciproxy

Displaying 20 results from an estimated 136 matches for "virtiopciproxy".

2012 Mar 19
2
[PATCH RFC] virtio-pci: add MMIO property
...9;s wrong. --- hw/virtio-pci.c | 16 ++++++++++++++-- hw/virtio-pci.h | 4 ++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/hw/virtio-pci.c b/hw/virtio-pci.c index 28498ec..6f338d2 100644 --- a/hw/virtio-pci.c +++ b/hw/virtio-pci.c @@ -655,6 +655,7 @@ void virtio_init_pci(VirtIOPCIProxy *proxy, VirtIODevice *vdev) { uint8_t *config; uint32_t size; + uint8_t bar0_type; proxy->vdev = vdev; @@ -684,8 +685,14 @@ void virtio_init_pci(VirtIOPCIProxy *proxy, VirtIODevice *vdev) memory_region_init_io(&proxy->bar, &virtio_pci_config_ops, proxy,...
2012 Mar 19
2
[PATCH RFC] virtio-pci: add MMIO property
...9;s wrong. --- hw/virtio-pci.c | 16 ++++++++++++++-- hw/virtio-pci.h | 4 ++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/hw/virtio-pci.c b/hw/virtio-pci.c index 28498ec..6f338d2 100644 --- a/hw/virtio-pci.c +++ b/hw/virtio-pci.c @@ -655,6 +655,7 @@ void virtio_init_pci(VirtIOPCIProxy *proxy, VirtIODevice *vdev) { uint8_t *config; uint32_t size; + uint8_t bar0_type; proxy->vdev = vdev; @@ -684,8 +685,14 @@ void virtio_init_pci(VirtIOPCIProxy *proxy, VirtIODevice *vdev) memory_region_init_io(&proxy->bar, &virtio_pci_config_ops, proxy,...
2012 Mar 19
1
[PATCHv2] virtio-pci: add MMIO property
...pci.c b/hw/virtio-pci.c index 28498ec..b061000 100644 --- a/hw/virtio-pci.c +++ b/hw/virtio-pci.c @@ -510,8 +510,58 @@ const MemoryRegionPortio virtio_portio[] = { PORTIO_END_OF_LIST() }; +static void virtio_pci_config_mmio_writeb(void *opaque, target_phys_addr_t addr, uint32_t val) +{ + VirtIOPCIProxy *proxy = opaque; + virtio_pci_config_writeb(opaque, addr & proxy->bar0_mask, val); +} + +static void virtio_pci_config_mmio_writew(void *opaque, target_phys_addr_t addr, uint32_t val) +{ + VirtIOPCIProxy *proxy = opaque; + virtio_pci_config_writew(opaque, addr & proxy->bar0_m...
2012 Mar 19
1
[PATCHv2] virtio-pci: add MMIO property
...pci.c b/hw/virtio-pci.c index 28498ec..b061000 100644 --- a/hw/virtio-pci.c +++ b/hw/virtio-pci.c @@ -510,8 +510,58 @@ const MemoryRegionPortio virtio_portio[] = { PORTIO_END_OF_LIST() }; +static void virtio_pci_config_mmio_writeb(void *opaque, target_phys_addr_t addr, uint32_t val) +{ + VirtIOPCIProxy *proxy = opaque; + virtio_pci_config_writeb(opaque, addr & proxy->bar0_mask, val); +} + +static void virtio_pci_config_mmio_writew(void *opaque, target_phys_addr_t addr, uint32_t val) +{ + VirtIOPCIProxy *proxy = opaque; + virtio_pci_config_writew(opaque, addr & proxy->bar0_m...
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); } stati...
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); } stati...
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); } stati...
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); } stati...
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); } stati...
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); } stati...
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); } stati...
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); } stati...
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); } stati...
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); } stati...
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); } stati...
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); } stati...
2013 May 28
3
[PATCH RFC] virtio-pci: new config layout: using memory BAR
...+ include/hw/virtio/virtio.h | 4 + 4 files changed, 458 insertions(+), 14 deletions(-) diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c index 752991a..f4db224 100644 --- a/hw/virtio/virtio-pci.c +++ b/hw/virtio/virtio-pci.c @@ -259,6 +259,26 @@ static void virtio_pci_stop_ioeventfd(VirtIOPCIProxy *proxy) proxy->ioeventfd_started = false; } +static void virtio_pci_set_status(VirtIOPCIProxy *proxy, uint8_t val) +{ + VirtIODevice *vdev = proxy->vdev; + + if (!(val & VIRTIO_CONFIG_S_DRIVER_OK)) { + virtio_pci_stop_ioeventfd(proxy); + } + + virtio_set_status(...
2013 May 28
3
[PATCH RFC] virtio-pci: new config layout: using memory BAR
...+ include/hw/virtio/virtio.h | 4 + 4 files changed, 458 insertions(+), 14 deletions(-) diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c index 752991a..f4db224 100644 --- a/hw/virtio/virtio-pci.c +++ b/hw/virtio/virtio-pci.c @@ -259,6 +259,26 @@ static void virtio_pci_stop_ioeventfd(VirtIOPCIProxy *proxy) proxy->ioeventfd_started = false; } +static void virtio_pci_set_status(VirtIOPCIProxy *proxy, uint8_t val) +{ + VirtIODevice *vdev = proxy->vdev; + + if (!(val & VIRTIO_CONFIG_S_DRIVER_OK)) { + virtio_pci_stop_ioeventfd(proxy); + } + + virtio_set_status(...
2013 May 28
0
[PATCH RFC] virtio-pci: new config layout: using memory BAR
...4 + > 4 files changed, 458 insertions(+), 14 deletions(-) > > diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c > index 752991a..f4db224 100644 > --- a/hw/virtio/virtio-pci.c > +++ b/hw/virtio/virtio-pci.c > @@ -259,6 +259,26 @@ static void virtio_pci_stop_ioeventfd(VirtIOPCIProxy *proxy) > proxy->ioeventfd_started = false; > } > > +static void virtio_pci_set_status(VirtIOPCIProxy *proxy, uint8_t val) > +{ > + VirtIODevice *vdev = proxy->vdev; > + > + if (!(val & VIRTIO_CONFIG_S_DRIVER_OK)) { > + virtio_pci_stop_ioeve...
2013 Mar 29
8
[PATCH 0/3] virtio/vhost: Add checks for uninitialized VQs
From: Nicholas Bellinger <nab at linux-iscsi.org> Hi folks, This series adds a virtio_queue_valid() for use by virtio-pci code in order to prevent opreations upon uninitialized VQs, that is currently expected to occur during seabios setup of virtio-scsi. This also includes a vhost specific check for uninitialized VQs in vhost_verify_ring_mappings() to avoid this same case. Please review.