On Mon, Jan 16, 2012 at 10:02:22AM +0800, Charles.Tsai-蔡清海-研究發展部 wrote: > Vadim, > > Thank you for your prompt reply. Here are the information for our test case. > > > 1) we use the following command line to launch the guest OS > > > /usr/bin/kvm -S -M pc-0.14 -enable-kvm -m 1024 -smp > 1,sockets=1,cores=1,threads=1 -name win_xp -uuid > d9388815-ddd3-c38e-33c2-a9d5fcc7a775 -nodefconfig -nodefaults -chardev > socket,id=charmonitor,path=/var/lib/libvirt/qemu/win_xp.monitor,server,nowait > -mon chardev=charmonitor,id=monitor,mode=readline > -rtc base=localtime > -device > virtio-serial-pci,id=virtio-serial0,bus=pci.0,multifunction=on,addr=0x5.0x0 > -drive file=/media/Images/Windows-XP.img,if=none,id=drive-ide0-0-0,format=raw > -device > ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 > -netdev tap,fd=17,id=hostnet0 > -device > rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:e8:dc:b1,bus=pci.0,multifunction=on,addr=0x3.0x0 > -chardev pty,id=charserial0 > -device isa-serial,chardev=charserial0,id=serial0 > -chardev spicevmc,id=charchannel0,name=vdagent > -device > virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.spice.0
I tried the virtio-serial pieces with qemu.git and a RHEL6 guest. The guest was able to see the "com.redhat.spice.0" port. This suggests the problem was either fixed since QEMU 0.15 or that it only affects the Windows virtio drivers. > -usb -device usb-tablet,id=input0 > -spice port=5900,addr=0.0.0.0,disable-ticketing > -vga qxl -global qxl-vga.vram_size=67108864 -device > virtio-balloon-pci,id=balloon0,bus=pci.0,multifunction=on,addr=0x4.0x0 > > > > 2). In Guest Windows XP OS > > > When the following callback function of the vioserial device is called in > guest OS. The allocated resources is empty. > > > VIOSerialEvtDevicePrepareHardware() ---This function is to get the I/O > address of the vioserial device and map the physical address to the logical > address space. > > I added the following trace and the value of nListSize is ZERO. > TraceEvents(TRACE_LEVEL_INFORMATION, DBG_PNP, "%s (nListSize=%d)\n", > __FUNCTION__,nListSize); > > > So far, we have tested Qemu 0.14 without any problem but Qemu 0.15 seemed to > be broken in vioserial device. > Let me know if you need further information. Thanks. I suggest trying qemu-kvm 1.0 or qemu-kvm.git because the issue may have been fixed since 0.15. If the issue is still present, you could use git-bisect(1) to find the commit that caused behavior to change between 0.14 and 0.15. Stefan