From mboxrd@z Thu Jan 1 00:00:00 1970 From: Weidong Han Subject: Re: [PATCH] VT-d: improve RMRR validity checking Date: Thu, 21 Jan 2010 18:49:06 +0800 Message-ID: <4B583122.6030002@intel.com> References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------030808060605040407060004" Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Keir Fraser Cc: "xen-devel@lists.xensource.com" , Noboru Iwamatsu List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format. --------------030808060605040407060004 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Keir Fraser wrote: > On 21/01/2010 10:19, "Weidong Han" wrote: > > >>> Sorry this is typo. >>> I mean: >>> So, I think RMRR that has no-existent device is "invalid" >>> and whole RMRR should be ignored. >>> >>> >> looks reasonable. >> >> Keir, I Acks Noboru's rmrr patch. Or do you want us to merge them to one >> patch? >> > > Merge them up, re-send with both sign-off and acked-by all in one email. > > Thanks, > Keir > > Sorry, I disagree with Noboru after thinking it again. If the RMRR has both no-existent device and also has existent devices in its scope, we should not ignore it because the existent devices under its scope will be impacted without the RMRR. so I suggest to print a warning instead of ignore it. Attached a patch for it. Signed-off-by: Weidong Han --------------030808060605040407060004 Content-Type: text/plain; name="rmrr-warning.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="rmrr-warning.patch" diff -r ea02c95af387 xen/drivers/passthrough/vtd/dmar.c --- a/xen/drivers/passthrough/vtd/dmar.c Thu Jan 21 09:13:46 2010 +0000 +++ b/xen/drivers/passthrough/vtd/dmar.c Thu Jan 21 18:43:53 2010 +0800 @@ -453,7 +453,13 @@ acpi_parse_one_rmrr(struct acpi_dmar_ent f = PCI_FUNC(rmrru->scope.devices[i]); if ( pci_device_detect(b, d, f) == 0 ) + { + dprintk(XENLOG_WARNING VTDPREFIX, + " Non-existent device (%x:%x.%x) is reported " + "in RMRR (%"PRIx64", %"PRIx64")'s scope!\n", + b, d, f, rmrru->base_address, rmrru->end_address); ignore = 1; + } else { ignore = 0; --------------030808060605040407060004 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --------------030808060605040407060004--