WARNING - OLD ARCHIVES

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

xen-devel

RE: [Xen-devel] [VTD][PATCH] Support intra-domain shared interrupt

To: "Keir Fraser" <Keir.Fraser@xxxxxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: RE: [Xen-devel] [VTD][PATCH] Support intra-domain shared interrupt
From: "Han, Weidong" <weidong.han@xxxxxxxxx>
Date: Thu, 8 Nov 2007 09:22:27 +0800
Cc: "Kay, Allen M" <allen.m.kay@xxxxxxxxx>
Delivery-date: Wed, 07 Nov 2007 17:23:18 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <C3578B4E.180D8%Keir.Fraser@xxxxxxxxxxxx>
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/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <08DF4D958216244799FC84F3514D70F0BB24FB@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <C3578B4E.180D8%Keir.Fraser@xxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcgfbbYOsSWYB6MMQDuBGkYt+XjCJwAEwx4KAAASPxAAAXKGpgAAClDAAAJfMewAbWqM0AACgKoiAAAWh5AAAMMHUQAUf+DA
Thread-topic: [Xen-devel] [VTD][PATCH] Support intra-domain shared interrupt
Keir Fraser wrote:
> Can you extend the test at line 750 in arch/x86/mm/shadow/multi.c with
> ... &&
> !(mfn_valid(target_mfn)&&is_xen_heap_frame(mfn_to_page(target_mfn))) 
> 
> And see if that fixes it? I suspect that the VLAPIC access page is
> mapped uncacheable by HVM guests, and that uncacheability is getting
> passed through to the shadow pte if the guest has pass-thru devices.
> We should not pass thru cache attribute flags for xen heap pages as
> they should never be involved in real I/O.
> 

Yes, that fixes it. My modification is as follows:

diff -r d4c5a1cdcf2e xen/arch/x86/mm/shadow/multi.c
--- a/xen/arch/x86/mm/shadow/multi.c    Wed Nov 07 16:55:13 2007 +0000
+++ b/xen/arch/x86/mm/shadow/multi.c    Thu Nov 08 09:17:50 2007 +0800
@@ -748,7 +748,9 @@ _sh_propagate(struct vcpu *v,
      * caching attributes in the shadows to match what was asked for
      */
     if ( (level == 1) && is_hvm_domain(d) &&
-         !list_empty(&(domain_hvm_iommu(d)->pdev_list)) )
+         !list_empty(&(domain_hvm_iommu(d)->pdev_list)) &&
+         !(mfn_valid(target_mfn) &&
+           is_xen_heap_frame(mfn_to_page(target_mfn))) )
     {
         unsigned int type;
         if ( hvm_get_mem_pinned_cacheattr(d, gfn_x(target_gfn), &type)
)
 

Thanks
Weidong

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel