From mboxrd@z Thu Jan 1 00:00:00 1970 From: Weidong Han Subject: Re: [PATCH] VT-d: should not disable VT-d when find unknown DMAR structure type Date: Fri, 26 Mar 2010 10:16:48 +0800 Message-ID: <4BAC1910.7000304@intel.com> References: <1A42CE6F5F474C41B63392A5F80372B21D684CE8@shsmsx501.ccr.corp.intel.com> <8115AF16522A3D4383C1FF753036713F9B3AB29B@cosmail01.lsi.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <8115AF16522A3D4383C1FF753036713F9B3AB29B@cosmail01.lsi.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: "Nadolski, Ed" Cc: "xen-devel@lists.xensource.com" , "Kay, Allen M" , Keir Fraser List-Id: xen-devel@lists.xenproject.org Nadolski, Ed wrote: >> -----Original Message----- >> From: xen-devel-bounces@lists.xensource.com [mailto:xen-devel- >> bounces@lists.xensource.com] On Behalf Of Han, Weidong >> Sent: Thursday, March 25, 2010 3:41 AM >> To: xen-devel@lists.xensource.com >> 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 >> >> 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 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; }