All of lore.kernel.org
 help / color / mirror / Atom feed
From: Felix Kuperjans <felix@desaster-games.com>
To: xen-devel@lists.xensource.com
Subject: Re: About VT-d on ASUS P6T
Date: Wed, 12 May 2010 10:57:02 +0200	[thread overview]
Message-ID: <4BEA6D5E.9020407@desaster-games.com> (raw)
In-Reply-To: <1A42CE6F5F474C41B63392A5F80372B21E884EF4@shsmsx501.ccr.corp.intel.com>

So there will be some devices that do not work while others work - can I
figure out which devices are affected by the incorrect RMRR?

In addition, only setting iommu=passtrough caused XEN to disable VT-d
completely, altough some devices actually can be passtroughed to the
domU perfectly.

Regards,
Felix

Am 12.05.2010 03:54, schrieb Han, Weidong:
> Your code changes just let xen not disable VT-d, but actually "iommu=passthrough" avoids problems of incorrect RMRR. This option makes dom0 not use VT-d, therefore incorrect RMRR won't be used by device. But if you assign the device whose RMRR incorrect to guest, it still causes problems. 
>
> Regards,
> Weidong
>
> -----Original Message-----
> From: xen-devel-bounces@lists.xensource.com [mailto:xen-devel-bounces@lists.xensource.com] On Behalf Of Felix Kuperjans
> Sent: Tuesday, May 11, 2010 6:09 PM
> To: xen-devel@lists.xensource.com
> Subject: [Xen-devel] About VT-d on ASUS P6T
>
> Hi,
>
> as I posted on xen-users, I've successfully used pci passtrough on an ASUS P6T mainboard which is known to have really buggy RMRR tables.
>
> I needed the iommu=passtrough and iommu_inclusive_mapping=1 command line options, combined with a little change to the RMRR parsing code:
>
> dmar.c:
>
> @@ -559,8 +558,7 @@
>              dprintk(XENLOG_WARNING VTDPREFIX,
>                  "  The RMRR (%"PRIx64", %"PRIx64") is incorrect!\n",
>                  rmrru->base_address, rmrru->end_address);
> -            xfree(rmrru);
> -            ret = -EFAULT;
> +            acpi_register_rmrr_unit(rmrru);
>          }
>          else
>          {
>
> This way, the condition that causes the error printed above, does not lead to an abortion of VT-d code, but instead registers the RMRR unit as if it was correct.
> VT-d is working properly afterwards and I've tested some devices successfully.
>
> Probably, you would prefer to choose the action based on some command line option (like iommu_inclusive_mapping=1) instead of ignoring this error by default.
>
> Regards,
> Felix
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel
>
>   

  reply	other threads:[~2010-05-12  8:57 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-11 10:09 About VT-d on ASUS P6T Felix Kuperjans
2010-05-12  1:54 ` Han, Weidong
2010-05-12  8:57   ` Felix Kuperjans [this message]
2010-05-12 10:11     ` Han, Weidong
  -- strict thread matches above, loose matches on Subject: below --
2010-05-11  9:59 Felix Kuperjans

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4BEA6D5E.9020407@desaster-games.com \
    --to=felix@desaster-games.com \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.