Now I can start the vms with the parameter ioeventfd=on, but interrupts can not perform successfully.
(
I install the qemu by using source code
qemu-1.5.1.tar.bz2
downloaded form
http://wiki.qemu.org/Download
. Its version is still 1.0,
but it is the newest release version.
I am failed to install the newest version from
http://git.qemu.org/qemu.git
.
)
Details:
1 start up ivshmem_server
./ivshmem_server -m 256 /tmp/ivshmem_socket -n dynamo
2 start up vm A
sudo /usr/local/qemu/bin/qemu-system-x86_64 -m 1204 -hda /home/xzl/virtual_machine/ubuntu-12.04-amd64-test-one.img -localtime -net nic,vlan=0,macaddr=52-54-00-12-34-0,model=virtio -net tap,vlan=0,ifname=tap0,script=no -boot c -smp 2 -chardev socket,path=/tmp/ivshmem_socket,id=foo -device ivshmem,chardev=foo,size=256,ioeventfd=on
3 start up vm B
sudo /usr/local/qemu/bin/qemu-system-x86_64 -m 1204 -hda /home/xzl/virtual_machine/ubuntu-12.04-amd64-test-two.img -localtime -net nic,vlan=0,macaddr=52-54-00-12-34-2,model=virtio -net tap,vlan=0,ifname=tap1,script=no -boot c -smp 2 -chardev socket,path=/tmp/ivshmem_socket,id=foo -device ivshmem,chardev=foo,size=256,ioeventfd=on
Tests:
In machine A.
xzl@xzl-test-first-vm:~/Nahanni/tests/uio/tests/Interrupts/VM$
sudo ./getident /dev/uio0
ID is 0
exiting
xzl@xzl-test-first-vm:~/Nahanni/tests/uio/tests/Interrupts/VM$
sudo ./uio_read /dev/uio0 1
[UIO] opening file /dev/uio0
[UIO] reading
In machine B.
xzl@xzl-test-second-vm:~/Nahanni/tests/uio/tests/Interrupts/VM$
sudo ./uio_send /dev/uio0 1 SEMA_IRQS 0
[UIO] opening file /dev/uio0
[UIO] count is 1
[UIO] writing 0
[UIO] ping #0
[UIO] Exiting...