Messages in this thread | | | Date | Mon, 09 Mar 2009 15:45:52 +0200 | From | Avi Kivity <> | Subject | Re: [PATCH v10 0/7] PCI: Linux kernel SR-IOV support |
| |
Yang, Sheng wrote: >>> Patches 2 and 3 of the patchset that enables SR/IOV in kvm [1] suggest >>> that at the config space is only partially implemented. >>> >>> [1] http://thread.gmane.org/gmane.comp.emulators.kvm.devel/29034 >>> >> Hi Avi >> >> For kernel side, patch 2 is not necessary. Because kernel would read >> VID/DID directly from pci_dev rather than configuration space, which have >> been set properly already. >> >> And very sorry, for the patch 3. We haven't known exactly what's happened. >> I think the problem is caused by guest driver, but didn't confirm(and I >> have some misunderstandings with ZhaoYu for I thought we are agree on the >> reason, but after confirm with him, he didn't agree). I am doing more >> investigations to find the real cause. >> > > Found the reason of patch 3. > > After insert guest driver module(vf driver), the driver would do a RMW to the > command register to enable Bus Master bit(bit 2). And before that, MMIO bit > have been set in the register. But without the patch 3, guest driver won't see > the MMIO bit(bit 1), then just set 0x4 to the command register, with the side > effect to unmap MMIO in QEmu. So patch 3 is needed(and what I thought before > is right). > > Unset the bit only affect the QEmu, which would unmap the mapping for MMIO. > Kernel side don't need this, so it's OK. >
Thanks for the explanations!
-- error compiling committee.c: too many arguments to function
| |