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


Re: [Xen-devel] [PATCH] VT-d: improve RMRR validity checking

To: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH] VT-d: improve RMRR validity checking
From: Weidong Han <weidong.han@xxxxxxxxx>
Date: Thu, 21 Jan 2010 18:49:06 +0800
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, Noboru Iwamatsu <n_iwamatsu@xxxxxxxxxxxxxx>
Delivery-date: Thu, 21 Jan 2010 02:49:24 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <C77DDC8C.6F44%keir.fraser@xxxxxxxxxxxxx>
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: <C77DDC8C.6F44%keir.fraser@xxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird (Windows/20090302)
Keir Fraser wrote:
On 21/01/2010 10:19, "Weidong Han" <weidong.han@xxxxxxxxx> 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

Merge them up, re-send with both sign-off and acked-by all in one email.


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 <weidong.han@xxxxxxxxx>
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;
+            }
                 ignore = 0;
Xen-devel mailing list