search for: virtio_config_writel

Displaying 20 results from an estimated 62 matches for "virtio_config_writel".

2015 Mar 02
4
[PATCH 1/2] virtio: add modern config accessors
...hw/virtio/virtio.h +++ b/include/hw/virtio/virtio.h @@ -227,6 +227,12 @@ uint32_t virtio_config_readl(VirtIODevice *vdev, uint32_t addr); void virtio_config_writeb(VirtIODevice *vdev, uint32_t addr, uint32_t data); void virtio_config_writew(VirtIODevice *vdev, uint32_t addr, uint32_t data); void virtio_config_writel(VirtIODevice *vdev, uint32_t addr, uint32_t data); +uint32_t virtio_config_modern_readb(VirtIODevice *vdev, uint32_t addr); +uint32_t virtio_config_modern_readw(VirtIODevice *vdev, uint32_t addr); +uint32_t virtio_config_modern_readl(VirtIODevice *vdev, uint32_t addr); +void virtio_config_modern_wr...
2015 Mar 02
4
[PATCH 1/2] virtio: add modern config accessors
...hw/virtio/virtio.h +++ b/include/hw/virtio/virtio.h @@ -227,6 +227,12 @@ uint32_t virtio_config_readl(VirtIODevice *vdev, uint32_t addr); void virtio_config_writeb(VirtIODevice *vdev, uint32_t addr, uint32_t data); void virtio_config_writew(VirtIODevice *vdev, uint32_t addr, uint32_t data); void virtio_config_writel(VirtIODevice *vdev, uint32_t addr, uint32_t data); +uint32_t virtio_config_modern_readb(VirtIODevice *vdev, uint32_t addr); +uint32_t virtio_config_modern_readw(VirtIODevice *vdev, uint32_t addr); +uint32_t virtio_config_modern_readl(VirtIODevice *vdev, uint32_t addr); +void virtio_config_modern_wr...
2015 Feb 25
0
Qemu and virtio 1.0
...o 1.0 is always LE */ + if (virtio_has_feature(vdev, VIRTIO_F_VERSION_1)) { + stw_le_p(vdev->config + addr, val); + } else { + stw_p(vdev->config + addr, val); + } if (k->set_config) { k->set_config(vdev, vdev->config); @@ -722,7 +737,12 @@ void virtio_config_writel(VirtIODevice *vdev, uint32_t addr, uint32_t data) return; } - stl_p(vdev->config + addr, val); + /* Virtio 1.0 is always LE */ + if (virtio_has_feature(vdev, VIRTIO_F_VERSION_1)) { + stl_le_p(vdev->config + addr, val); + } else { + stl_p(vdev->conf...
2015 Mar 02
0
[PATCH 2/2] virtio-pci: switch to modern accessors for 1.0
...itch (size) { case 1: - virtio_config_writeb(vdev, addr, val); + virtio_config_modern_writeb(vdev, addr, val); break; case 2: - virtio_config_writew(vdev, addr, val); + virtio_config_modern_writew(vdev, addr, val); break; case 4: - virtio_config_writel(vdev, addr, val); + virtio_config_modern_writel(vdev, addr, val); break; } } -- MST
2015 Feb 25
0
Qemu and virtio 1.0
...o 1.0 is always LE */ + if (virtio_has_feature(vdev, VIRTIO_F_VERSION_1)) { + stw_le_p(vdev->config + addr, val); + } else { + stw_p(vdev->config + addr, val); + } if (k->set_config) { k->set_config(vdev, vdev->config); @@ -722,7 +737,12 @@ void virtio_config_writel(VirtIODevice *vdev, uint32_t addr, uint32_t data) return; } - stl_p(vdev->config + addr, val); + /* Virtio 1.0 is always LE */ + if (virtio_has_feature(vdev, VIRTIO_F_VERSION_1)) { + stl_le_p(vdev->config + addr, val); + } else { + stl_p(vdev->conf...
2015 Mar 02
0
[PATCH 2/2] virtio-pci: switch to modern accessors for 1.0
...itch (size) { case 1: - virtio_config_writeb(vdev, addr, val); + virtio_config_modern_writeb(vdev, addr, val); break; case 2: - virtio_config_writew(vdev, addr, val); + virtio_config_modern_writew(vdev, addr, val); break; case 4: - virtio_config_writel(vdev, addr, val); + virtio_config_modern_writel(vdev, addr, val); break; } } -- MST
2013 May 28
3
[PATCH RFC] virtio-pci: new config layout: using memory BAR
...uint64_t val, unsigned size) +{ + VirtIOPCIProxy *proxy = opaque; + switch (size) { + case 1: + virtio_config_writeb(proxy->vdev, addr, val); + break; + case 2: + virtio_config_writew(proxy->vdev, addr, val); + break; + case 4: + virtio_config_writel(proxy->vdev, addr, val); + break; + } +} + static const MemoryRegionOps virtio_pci_config_ops = { .read = virtio_pci_config_read, .write = virtio_pci_config_write, @@ -465,6 +692,46 @@ static const MemoryRegionOps virtio_pci_config_ops = { .endianness = DEVICE_LITTLE_EN...
2013 May 28
3
[PATCH RFC] virtio-pci: new config layout: using memory BAR
...uint64_t val, unsigned size) +{ + VirtIOPCIProxy *proxy = opaque; + switch (size) { + case 1: + virtio_config_writeb(proxy->vdev, addr, val); + break; + case 2: + virtio_config_writew(proxy->vdev, addr, val); + break; + case 4: + virtio_config_writel(proxy->vdev, addr, val); + break; + } +} + static const MemoryRegionOps virtio_pci_config_ops = { .read = virtio_pci_config_read, .write = virtio_pci_config_write, @@ -465,6 +692,46 @@ static const MemoryRegionOps virtio_pci_config_ops = { .endianness = DEVICE_LITTLE_EN...
2015 Mar 02
1
Qemu and virtio 1.0
...s_feature(vdev, VIRTIO_F_VERSION_1)) { > + stw_le_p(vdev->config + addr, val); > + } else { > + stw_p(vdev->config + addr, val); > + } > > if (k->set_config) { > k->set_config(vdev, vdev->config); > @@ -722,7 +737,12 @@ void virtio_config_writel(VirtIODevice *vdev, uint32_t addr, uint32_t data) > return; > } > > - stl_p(vdev->config + addr, val); > + /* Virtio 1.0 is always LE */ > + if (virtio_has_feature(vdev, VIRTIO_F_VERSION_1)) { > + stl_le_p(vdev->config + addr, val); > +...
2015 Mar 02
1
Qemu and virtio 1.0
...s_feature(vdev, VIRTIO_F_VERSION_1)) { > + stw_le_p(vdev->config + addr, val); > + } else { > + stw_p(vdev->config + addr, val); > + } > > if (k->set_config) { > k->set_config(vdev, vdev->config); > @@ -722,7 +737,12 @@ void virtio_config_writel(VirtIODevice *vdev, uint32_t addr, uint32_t data) > return; > } > > - stl_p(vdev->config + addr, val); > + /* Virtio 1.0 is always LE */ > + if (virtio_has_feature(vdev, VIRTIO_F_VERSION_1)) { > + stl_le_p(vdev->config + addr, val); > +...
2014 Dec 03
2
[PATCH RFC v5 07/19] virtio: allow virtio-1 queue layout
On Tue, 2 Dec 2014 21:03:45 +0200 "Michael S. Tsirkin" <mst at redhat.com> wrote: > On Tue, Dec 02, 2014 at 04:41:36PM +0100, Cornelia Huck wrote: > > void virtio_queue_set_num(VirtIODevice *vdev, int n, int num) > > { > > + /* > > + * For virtio-1 devices, the number of buffers may only be > > + * updated if the ring addresses have
2014 Dec 03
2
[PATCH RFC v5 07/19] virtio: allow virtio-1 queue layout
On Tue, 2 Dec 2014 21:03:45 +0200 "Michael S. Tsirkin" <mst at redhat.com> wrote: > On Tue, Dec 02, 2014 at 04:41:36PM +0100, Cornelia Huck wrote: > > void virtio_queue_set_num(VirtIODevice *vdev, int n, int num) > > { > > + /* > > + * For virtio-1 devices, the number of buffers may only be > > + * updated if the ring addresses have
2007 Dec 21
0
[Virtio-for-kvm] [PATCH 1/7] userspace virtio
...paque, uint32_t addr, uint32_t data) +{ + VirtIODevice *vdev = opaque; + uint16_t val = data; + + addr -= vdev->addr + VIRTIO_PCI_CONFIG; + if (addr > (vdev->config_len - sizeof(val))) + return; + + memcpy(vdev->config + addr, &val, sizeof(val)); +} + +static void virtio_config_writel(void *opaque, uint32_t addr, uint32_t data) +{ + VirtIODevice *vdev = opaque; + uint32_t val = data; + + addr -= vdev->addr + VIRTIO_PCI_CONFIG; + if (addr > (vdev->config_len - sizeof(val))) + return; + + memcpy(vdev->config + addr, &val, sizeof(val)); +} + +stat...
2007 Dec 21
0
[Virtio-for-kvm] [PATCH 1/7] userspace virtio
...paque, uint32_t addr, uint32_t data) +{ + VirtIODevice *vdev = opaque; + uint16_t val = data; + + addr -= vdev->addr + VIRTIO_PCI_CONFIG; + if (addr > (vdev->config_len - sizeof(val))) + return; + + memcpy(vdev->config + addr, &val, sizeof(val)); +} + +static void virtio_config_writel(void *opaque, uint32_t addr, uint32_t data) +{ + VirtIODevice *vdev = opaque; + uint32_t val = data; + + addr -= vdev->addr + VIRTIO_PCI_CONFIG; + if (addr > (vdev->config_len - sizeof(val))) + return; + + memcpy(vdev->config + addr, &val, sizeof(val)); +} + +stat...
2009 May 11
0
[PATCH 1/2] qemu-kvm: add MSI-X support
...addr < config) { + virtio_ioport_write(opaque, addr, val); + return; + } + addr -= config; if (addr > (vdev->config_len - sizeof(val))) return; @@ -605,9 +666,15 @@ static void virtio_config_writew(void *opaque, uint32_t addr, uint32_t data) static void virtio_config_writel(void *opaque, uint32_t addr, uint32_t data) { VirtIODevice *vdev = opaque; + uint32_t config = VIRTIO_PCI_CONFIG(&vdev->pci_dev); uint32_t val = data; - addr -= vdev->addr + VIRTIO_PCI_CONFIG; + addr -= vdev->addr; + if (addr < config) { + virtio_iopo...
2009 May 11
0
[PATCH 1/2] qemu-kvm: add MSI-X support
...addr < config) { + virtio_ioport_write(opaque, addr, val); + return; + } + addr -= config; if (addr > (vdev->config_len - sizeof(val))) return; @@ -605,9 +666,15 @@ static void virtio_config_writew(void *opaque, uint32_t addr, uint32_t data) static void virtio_config_writel(void *opaque, uint32_t addr, uint32_t data) { VirtIODevice *vdev = opaque; + uint32_t config = VIRTIO_PCI_CONFIG(&vdev->pci_dev); uint32_t val = data; - addr -= vdev->addr + VIRTIO_PCI_CONFIG; + addr -= vdev->addr; + if (addr < config) { + virtio_iopo...
2013 May 28
0
[PATCH RFC] virtio-pci: new config layout: using memory BAR
...+ VirtIOPCIProxy *proxy = opaque; > + switch (size) { > + case 1: > + virtio_config_writeb(proxy->vdev, addr, val); > + break; > + case 2: > + virtio_config_writew(proxy->vdev, addr, val); > + break; > + case 4: > + virtio_config_writel(proxy->vdev, addr, val); > + break; > + } > +} > + > static const MemoryRegionOps virtio_pci_config_ops = { > .read = virtio_pci_config_read, > .write = virtio_pci_config_write, > @@ -465,6 +692,46 @@ static const MemoryRegionOps virtio_pci_config_ops...
2014 Dec 11
0
[PATCH RFC v6 07/20] virtio: allow virtio-1 queue layout
...il = 0; vdev->vq[i].vring.used = 0; vdev->vq[i].last_avail_idx = 0; - vdev->vq[i].pa = 0; vdev->vq[i].vector = VIRTIO_NO_VECTOR; vdev->vq[i].signalled_used = 0; vdev->vq[i].signalled_used_valid = false; @@ -708,13 +709,21 @@ void virtio_config_writel(VirtIODevice *vdev, uint32_t addr, uint32_t data) void virtio_queue_set_addr(VirtIODevice *vdev, int n, hwaddr addr) { - vdev->vq[n].pa = addr; - virtqueue_init(&vdev->vq[n]); + vdev->vq[n].vring.desc = addr; + virtio_queue_update_rings(vdev, n); } hwaddr virtio_que...
2014 Dec 11
0
[PATCH RFC v6 07/20] virtio: allow virtio-1 queue layout
...il = 0; vdev->vq[i].vring.used = 0; vdev->vq[i].last_avail_idx = 0; - vdev->vq[i].pa = 0; vdev->vq[i].vector = VIRTIO_NO_VECTOR; vdev->vq[i].signalled_used = 0; vdev->vq[i].signalled_used_valid = false; @@ -708,13 +709,21 @@ void virtio_config_writel(VirtIODevice *vdev, uint32_t addr, uint32_t data) void virtio_queue_set_addr(VirtIODevice *vdev, int n, hwaddr addr) { - vdev->vq[n].pa = addr; - virtqueue_init(&vdev->vq[n]); + vdev->vq[n].vring.desc = addr; + virtio_queue_update_rings(vdev, n); } hwaddr virtio_que...
2014 Dec 03
0
[PATCH RFC v5 07/19] virtio: allow virtio-1 queue layout
...il = 0; vdev->vq[i].vring.used = 0; vdev->vq[i].last_avail_idx = 0; - vdev->vq[i].pa = 0; vdev->vq[i].vector = VIRTIO_NO_VECTOR; vdev->vq[i].signalled_used = 0; vdev->vq[i].signalled_used_valid = false; @@ -708,13 +709,21 @@ void virtio_config_writel(VirtIODevice *vdev, uint32_t addr, uint32_t data) void virtio_queue_set_addr(VirtIODevice *vdev, int n, hwaddr addr) { - vdev->vq[n].pa = addr; - virtqueue_init(&vdev->vq[n]); + vdev->vq[n].vring.desc = addr; + virtio_queue_update_rings(vdev, n); } hwaddr virtio_que...