[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] About passing through USB devices in HVM domain


  • To: "Alex Novik" <alex@xxxxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx
  • From: "陈诚" <concretechen@xxxxxxxxx>
  • Date: Thu, 20 Mar 2008 19:53:15 +0800
  • Delivery-date: Thu, 20 Mar 2008 04:53:41 -0700
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=T9SyO9OjtecZAlEFkxNeZbclhFSmQoB+HgE4fk9w3G68SSV+GjXJKBqIj/GIN7yFuFyDG6bwpB75bRaSA17bldyoRO2Kved9SA1kBVNhjGklV70MmkZVV7usk70JaDcuMlPkj9JcQ2hjSgLennsDlARf8psPNrI757yAC30+iCM=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

Hi,
a. The OHCI USB Controller has 4K MMIO region and it is aligned in DOM0.
b. Yes, but 1) the device that sharing this IRQ line never generate
any interrupts (it is the HDA device) 2) when we bind the interrupt,
we free any sharing IRQs explicitly in Xen by calling free_irq

We even 1-to-1 mapped the MMIO region.

The Neo patch adds a call to pt_intr_assist() between pt_update_irq()
and hvm_set_callback_irq_level() in vmx_intr_assist(), since we are
using SVM, we add the call to pt_intr_assist() between pt_update_irq()
and hvm_set_callback_irq_level() in svm_intr_assist().
// We have extracted the changes in the Neo patch and appied it to the
standard Xen-3.1 version

Thank you.



2008/3/20, Alex Novik <alex@xxxxxxxxxxxx>:
>  Hi,
>   I'm one of the guys who is responsible for this patch. So, let's try
> to understand what's happening there...
>   1. I'd like you to check following things for me:
>     a. Is your USB controller has mmio space aligned? Look at the lspci
> in DOM0 and verify that all MMIO spaces are aligned to 4kb. If not, fix
> it manually (with setpci), if it helps look for mmio alignment patch for
> DOM0.
>     b. Do you have any devices, beside USB on the same IRQ line? "cat
> /proc/interrupts/ " will show you this. If you do, it comes to another
> problem, which we called interdomain sharing. Look for the discussion
> related to that issue and apply patch. To verify that this is the
> problem, just remove drivers of all the devices that are using the same
> IRQ ()
> I'm pretty positive that your interrupt storming related to one of this
> two issues.
> Anyway, keep me informed.
> Best regards,
>  Alex.
>
>
>
>
> -----Original Message-----
> From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
> [mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of ??
> Sent: Thursday, March 20, 2008 10:50 AM
> To: xen-devel
> Subject: [Xen-devel] About passing through USB devices in HVM domain
>
> HI,
>    We are currently trying to pass through the USB controller (OHCI)
> using 1-to-1 mapping domain (mainly based on the Neo-1-to-1 patch) on
> a Non-VT-d machine. If we do not plug in any devices, the HVM works
> fine, but as long as we plug in one USB device, the HVM domain
> crashes.
>    From the serial output we find that interrupts keep firing at the
> IRQ line that was passed through. The Neo-1-to-1 patch uses a so
> called CPA (change polarity algorithm) to handle interrupt pass
> through, we are not very clear about this idea and even why it should
> be done. Should any body explain it to us, that will be very helpful.
>    We are also trying to pass through an IEEE 1394 OHCI Controller,
> under FC6 HVM domain, it keeps on firing interrupts after the boot
> process goes to udev step, which crashes the system. It is even worse
> under WinXP, it crashes the system and makes permanent damage to the
> QEMU disk image, we have know idea why this happens.
>    By the way, we are using an AMD processor with SVM support.
>    Thank you.
>
> Cheers
>
> ConcreteChen@xxxxxxxxx
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel
>

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.