WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

RE: [Xen-devel] About VT-d on ASUS P6T

To: Felix Kuperjans <felix@xxxxxxxxxxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: RE: [Xen-devel] About VT-d on ASUS P6T
From: "Han, Weidong" <weidong.han@xxxxxxxxx>
Date: Wed, 12 May 2010 18:11:02 +0800
Accept-language: en-US
Acceptlanguage: en-US
Cc:
Delivery-date: Wed, 12 May 2010 03:15:05 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4BEA6D5E.9020407@xxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <4BE92CD7.1080205@xxxxxxxxxxxxxxxxxx> <1A42CE6F5F474C41B63392A5F80372B21E884EF4@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <4BEA6D5E.9020407@xxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcrxsVTarshmG6a1TXKSwL1+oG5knAABzOig
Thread-topic: [Xen-devel] About VT-d on ASUS P6T
>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?

"iommu=verbose" will list all RMRRs and their relevant devices. 

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

Yes, only setting iommu=passthrough causes Xen to disable VT-d, because 
acpi_parse_one_rmrr returns "-EFAULT" when a RMRR is incorrect. Indeed, 
incorrect RMRR only impacts its relevant device, but it requires setting 
iommu=passthrough, and also it causes problems when assign corresponding 
devices. It's an "obvious" issue of BIOS. There is not a clean way to handle 
this BIOS issue in Xen upstream. Of course, you can hack it by yourself to work 
for you. But I encourage you to report it to the vendor and get it fixed in 
BIOS.

Regards,
Weidong


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@xxxxxxxxxxxxxxxxxxx 
> [mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Felix Kuperjans
> Sent: Tuesday, May 11, 2010 6:09 PM
> To: xen-devel@xxxxxxxxxxxxxxxxxxx
> 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@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel
>
> _______________________________________________
> 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

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

<Prev in Thread] Current Thread [Next in Thread>