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

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



Nadolski, Ed wrote:
-----Original Message-----
From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx [mailto:xen-devel-
bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Han, Weidong
Sent: Thursday, March 25, 2010 3:41 AM
To: xen-devel@xxxxxxxxxxxxxxxxxxx
Cc: Kay, Allen M; Keir Fraser
Subject: [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",
                     entry_header->type);
-            ret = -EINVAL;
             break;
         }
         if ( ret )

Just a suggestion: Since this completely changes the meaning of the dprintk 
message, the message should state that the unknown DMAR is being ignored. 
Otherwise an end user might think that it means some kind of serious problem.

Ed
Good suggestion. Changed the warning message as below.

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

diff -r 18f4db5f72d7 xen/drivers/passthrough/vtd/dmar.c
--- a/xen/drivers/passthrough/vtd/dmar.c    Thu Mar 25 10:01:05 2010 +0000
+++ b/xen/drivers/passthrough/vtd/dmar.c    Fri Mar 26 10:12:32 2010 +0800
@@ -711,7 +711,7 @@ static int __init acpi_parse_dmar(struct
            break;
        default:
            dprintk(XENLOG_WARNING VTDPREFIX,
-                    "Unknown DMAR structure type %x\n",
+                    "Ignore unknown DMAR structure type (0x%x)\n",
                    entry_header->type);
            break;
        }


_______________________________________________
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®.