[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-ia64-devel] eepro100 HVM NIC
On Mon, 2007-10-08 at 10:33 +0800, Zhang, Xing Z wrote: > Hi Alex: > I also work on this task. Base on the primary emulator in QEMU, I > refine it to fix where I think it doesn't > follow intel's eepr100 spec. Current status are: > 1. it works for linux guest both in XEN/IPF and QEMU. But seems > speed is slow. > 2. From microsoft's WDK I get a rough eepro100 driver of win2k3. > With this driver, the emulator can work in win2k3/X86 in QEMU. > 3. The windows device manager can recognize the card both in QEMU and > XEN/IPF. But it reports there is a resource conflict that > makes card can't work. > > All my works base on a native i82557b card. > > Now I try to use windbg to investigate into it. I am enabling windbg > for IPF guest now, hope it helpful. Attachment is my version of > eepro100. Hi Wing, What is your eepro100 code based on? It looks like perhaps a very early revision of what's currently in QEMU CVS. I haven't tested performance at all with my port, but it does work with Linux guests. A slow virtual NIC that works under Windows/IPF is better than not having a virtual NIC at all. Perhaps you're resource issue is the same thing I'm seeing with Windows moving the BARs on the card to and invalid address. If I turn on debug in the driver, I see this: The BARs get mapped by some level of firmware/qemu: EE100 pci_mmio_map region 0, addr=0xc4000000, size=0x00001000, type=8 EE100 pci_map region 1, addr=0x0000c200, size=0x00000040, type=1 EE100 pci_mmio_map region 2, addr=0xc4020000, size=0x00020000, type=0 When Win2k3 boots, I see this: EE100 pci_mmio_map region 0, addr=0xf4fdf000, size=0x00001000, type=8 EE100 pci_map region 1, addr=0x0000c200, size=0x00000040, type=1 EE100 pci_mmio_map region 2, addr=0xf4fe0000, size=0x00020000, type=0 Xen prints out some bad mfn messages with these addresses, which is presumably the driver trying to access the card and not finding the data it expects. A Linux HVM guest doesn't remap the BARs, and the 0xc4000000 addresses are what I see both from the EFI pci command and from lspci in Linux. There don't appear to be any resource conflicts between the virtual PCI devices that would cause the OS driver to attempt to remap them. I don't know much about debugging Windows, but perhaps if you can let me know what your code is based on I can extract the spec updates you've made into my driver and we can work together on it. Thanks, Alex -- Alex Williamson HP Open Source & Linux Org. _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |