Xen 
 
Home About Xen.org Xen Xen Summit Wiki Mailing List Bug Tracker Xen Downloads
 
   
 

xen-devel

[Xen-devel] One question on MMIO

To: "Tim Deegan" <Tim.Deegan@xxxxxxxxxxxxx>
Subject: [Xen-devel] One question on MMIO
From: "Jiang, Yunhong" <yunhong.jiang@xxxxxxxxx>
Date: Thu, 28 Jun 2007 11:27:25 +0800
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Wed, 27 Jun 2007 20:25:27 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
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>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Ace5ND6+4a8ReRGEQmyavlgsAoLs5w==
Thread-topic: One question on MMIO

In sh_page_fault(), there are some code like following, why we think it is mmio only when paging_vcpu_mode_translate(v)?

Thanks

Yunhong Jiang  

    /* What mfn is the guest trying to access? */

    gfn = guest_l1e_get_gfn(gw.eff_l1e);

    gmfn = vcpu_gfn_to_mfn(v, gfn);

    mmio = (is_hvm_domain(d)

            && paging_vcpu_mode_translate(v)

            && mmio_space(gfn_to_paddr(gfn)));

    if ( !mmio && !mfn_valid(gmfn) )

    {

        perfc_incr(shadow_fault_bail_bad_gfn);

        SHADOW_PRINTK("BAD gfn=%"SH_PRI_gfn" gmfn=%"PRI_mfn"\n",

                      gfn_x(gfn), mfn_x(gmfn));

        goto not_a_shadow_fault;

}


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>