[Qemu-devel] [PATCH] virtio-serial: Allow one MSI-X vector per virtqueue

2011-12-15 Thread zanghongyong
From: Hongyong Zang In pci_enable_msix(), the guest's virtio-serial driver tries to set msi-x with one vector per queue. But it fails and eventually all virtio-serial ports share one MSI-X vector. Because every virtio-serial port has *two* virtqueues, virtio-serial needs (port+1)*2 vectors other

[Qemu-devel] [PATCH v3 1/3] memory: add a memory API about ioeventfd for PIO long

2011-12-12 Thread zanghongyong
From: Hongyong Zang The new memory API, named kvm_set_ioeventfd_pio_long, is about ioeventfd for PIO long. Signed-off-by: Hongyong Zang --- kvm-all.c | 23 +++ kvm-stub.c |5 + kvm.h |1 + memory.c | 20 4 files changed, 45 inse

[Qemu-devel] [PATCH v3 3/3] ivshmem: update the spec

2011-12-12 Thread zanghongyong
From: Hongyong Zang Signed-off-by: Hongyong Zang --- docs/specs/ivshmem_device_spec.txt |8 ++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/specs/ivshmem_device_spec.txt b/docs/specs/ivshmem_device_spec.txt index 23dd2ba..d36c737 100644 --- a/docs/specs/ivshme

[Qemu-devel] [PATCH v3 2/3] ivshmem: add a new PIO BAR4(Doorbell) to reduce notification time

2011-12-12 Thread zanghongyong
From: Hongyong Zang This patch adds a PIO BAR4 for guest notifying qemu to reduce notification time. And the new notification way of PIO BAR4 reduces 30% time in comparison with the original MMIO BAR0 way. Also, this patch introduces a new feature named IVSHMEM_PIO_NOTIFY to make PIO BAR4 disapp

[Qemu-devel] [PATCH v3 0/3] ivshmem: add a new PIO BAR4(Doorbell) besides MMIO BAR0 to reduce notification time

2011-12-12 Thread zanghongyong
From: Hongyong Zang This patch series, adds a PIO BAR4 for guest notifying qemu. And the new notification way of PIO BAR4 reduces 30% time in comparison with the original MMIO BAR0 way. Meantime, this patch adds a memory API named kvm_set_ioeventfd_pio_long which is about ioeventfd for PIO long.

[Qemu-devel] [PATCH] ivshmem: fix guest unable to start with ioeventfd

2011-11-24 Thread zanghongyong
From: Hongyong Zang When a guest boots with ioeventfd, an error (by gdb) occurs: Program received signal SIGSEGV, Segmentation fault. 0x006009cc in setup_ioeventfds (s=0x171dc40) at /home/louzhengwei/git_source/qemu-kvm/hw/ivshmem.c:363 363 for (j = 0; j < s->peers

[Qemu-devel] [PATCH] ivshmem: fix PCI BAR2 registration during initialization

2011-11-21 Thread zanghongyong
From: Hongyong Zang Ivshmem cannot work, and the command lspci cannot show ivshmem BAR2 in the guest. As for pci_register_bar(), parameter MemoryRegion should be s->bar instead of s->ivshmem. Signed-off-by: Hongyong Zang --- hw/ivshmem.c |2 +- 1 files changed, 1 insertions(+), 1 deletio

[Qemu-devel] [PATCH v2] ivshmem: add a new PIO BAR3(Doorbell) besides MMIO BAR0 to reduce notification time

2011-11-17 Thread zanghongyong
From: Hongyong Zang This patch, adds a PIO BAR3 for guest notifying qemu. And we find the new notification way of PIO BAR3 reduces 30% time in comparison with the original MMIO BAR0 way. Signed-off-by: Hongyong Zang --- hw/ivshmem.c | 24 ++-- kvm-all.c| 23 ++

[Qemu-devel] [PATCH] ivshmem: use PIO for BAR0(Doorbell) instead of MMIO to reduce notification time

2011-11-13 Thread zanghongyong
From: Hongyong Zang Ivshmem(nahanni) is a mechanism for sharing host memory with VMs running on the same host. Currently, guest notifies qemu by reading or writing ivshmem device's PCI MMIO BAR0(Doorbell). This patch, changes this PCI MMIO BAR0(Doorbell) to PIO. And we find guest accesses PIO