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/
Home Products Support Community News


[Xen-devel] [PATCH] VT-d: should not disable VT-d when find unknown DMAR

To: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] [PATCH] VT-d: should not disable VT-d when find unknown DMAR structure type
From: "Han, Weidong" <weidong.han@xxxxxxxxx>
Date: Thu, 25 Mar 2010 17:40:56 +0800
Accept-language: en-US
Acceptlanguage: en-US
Cc: "Kay, Allen M" <allen.m.kay@xxxxxxxxx>, Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Delivery-date: Thu, 25 Mar 2010 02:44:32 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
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>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcrL/0SXrdA+i9oeT/m6Cna3WAUhgw==
Thread-topic: [Xen-devel] [PATCH] VT-d: should not disable VT-d when find unknown DMAR structure type
Now 4 DMAR structure types are supported (type value 0 ~ 3). Type values > 3 
are reserved for future use. Current implementation disables VT-d when find 
unknown DMAR structure type, this may lead to VT-d disabling on future 
platforms before supporting new types on Xen. For forward compatibility, just 
skip unknown structures by skipping the appropriate number of bytes indicated 
by the Length field, and then VT-d still can be used.

Signed-off-by: Weidong Han <weidong.han@xxxxxxxxx>

diff -r 298794763a75 xen/drivers/passthrough/vtd/dmar.c
--- a/xen/drivers/passthrough/vtd/dmar.c        Fri Mar 26 02:04:06 2010 +0800
+++ b/xen/drivers/passthrough/vtd/dmar.c        Fri Mar 26 02:08:45 2010 +0800
@@ -730,7 +730,6 @@ static int __init acpi_parse_dmar(struct
             dprintk(XENLOG_WARNING VTDPREFIX,
                     "Unknown DMAR structure type %x\n",
-            ret = -EINVAL;
         if ( ret )

Attachment: forward-compatibility.patch
Description: forward-compatibility.patch

Xen-devel mailing list
<Prev in Thread] Current Thread [Next in Thread>