On Mon, 2012-01-16 at 10:02 +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 > -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. > Hi Charles, You're right. If WdfCmResourceListGetCount returns zero, it must be a problem with resources list. Output of "info pci" and "info qtree" commands could be helpful in analyzing this problem.
Best regards, Vadim. > > > > -----Original Message----- > From: Vadim Rozenfeld [mailto:vroze...@redhat.com] > Sent: Sunday, January 15, 2012 7:42 PM > To: Stefan Hajnoczi > Cc: Charles.Tsai-蔡清海-研究發展部; Alon Levy; spice-de...@lists.freedesktop.org; > Alex Huang-黃必賢-研究發展部; qemu-devel > Subject: Re: [Spice-devel] Vioserial of Windows guest OS on Qemu 0.15 > > On Sun, 2012-01-15 at 11:27 +0000, Stefan Hajnoczi wrote: > > 2012/1/14 Charles.Tsai-蔡清海-研究發展部 <charles.t...@cloudena.com>: > > > I tested Qemu 0.15 for Windows XP guest OS. But I found that the > > > Virtual Serial I/O driver failed in driver initialization. > > > The root cause of this problem is because the hardware > > > resources(I/O in this device) is not allocated to the virtual serial I/O. > > > When I debugged on the vioserial driver, no hardware resource > > > actually is allocated to this device. > > > This bug seems to be in the area of Qemu. Do you know whom I can > > > consult to fix this problem? Please let me know if you know the group or > > > the person. > > > > I have CCed Vadim (virtio Windows driver) and the QEMU mailing list. > > > > Please post your QEMU command-line so we can see how the guest is > > configured. > > > > You mentioned that you debugged the driver and hardware resources > > weren't allocated. Do you have a virtio PCI device inside the guest > > for this virtio-serial device? Were you able to tell which part of > > driver initialization failed (finding the PCI device, mapping its > > resources (BARs), etc)? > > > > Stefan > > Could you post "pci info" output? > > thanks, > Vadim. >