On Thursday 19 June 2008 10:17:29 Amit Shah wrote:
> * On Wednesday 18 June 2008 18:26:16 Ben-Ami Yassour wrote:
> > Amit,
> >
> > With the current implementation we have an issue if the driver on the
> > host was never loaded.
> >
> > To be able to run kvm with passthrough we have to load and then unload
> > the driver on the host at least once. After that it works ok.
>
> Yes, whenever a device issues pci_request_regions(), the IRQ may be
> reassigned.
>
> The unloading / loading should not be necessary once I commit these changes
> to the tree.
>
> > Note that after doing the load and unload the irq as reported by lspci
> > -v is changed.
> >
> > The questions that I think we need to figure out are:
> > 1. How does the loading of the driver on the host causes the irq to
> > change?
> > 2. What other side effects does it do that helps kvm pcipt work?
> > 3. What do we need to add to the pcipt code that will do the same "side
> > effect" (or bypass the problem)?
>
> That already answers all these.
>
> > Also note that in the current implementation the user is required to
> > provide the irq for the device in the kvm command line.
> > With respect to the comments above it is clear that lspci will show an
> > irrelevant irq value.
> > Why do we need the user to provide this information anyhow?
> > Why can't KVM find it out automatically?
>
> I thought we discussed this several times. The next commit is going to fix
> this.
>
> > Note, if the kernel can find this information then we can also remove it
> > from the ioctl interface.
>
> Coming soon; coming soon indeed.

I just pushed out the changes so the trickery with module loading / unloading, 
assigning irq number, etc. are not needed. The userspace command line still 
expects a number for the irq, though, and you can pass it any number as long 
as you use the in-kernel irq handler  (this is needed for the irqhook module, 
which I'm not updating the irqhook module as of now).

A couple of notes for the VT-d patch:
- The pci_dev struct is now available in the pci_pt kernel structure, so just 
use that information each time you want to add a device instead of searching 
for it each time.
- The kernel with KVM VT-d patches doesn't build on the kvm-userspace.git 
tree. Please fix that.

Amit.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to