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


[Xen-devel] pfn to mfn mapping for HVM domains?

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] pfn to mfn mapping for HVM domains?
From: "Bryan D. Payne" <bryan@xxxxxxxxxxxx>
Date: Mon, 18 Sep 2006 11:28:07 -0400
Delivery-date: Mon, 18 Sep 2006 08:28:47 -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
I have some code below that shows the first steps of creating a pfn to mfn lookup table in dom0. This code is based on similar code in the libxc library. The code works on paravirtualized domains, but not HVM domains.


        live_shinfo = xa_mmap_mfn(
            instance, PROT_READ, instance->info.shared_info_frame);
        if (live_shinfo == NULL){
            goto error_exit;

/* live_shinfo->arch.pfn_to_mfn_frame_list_list == NULL here for HVM domains */

        live_pfn_to_mfn_frame_list_list = xa_mmap_mfn(
instance, PROT_READ, live_shinfo- >arch.pfn_to_mfn_frame_list_list);
        if (live_pfn_to_mfn_frame_list_list == NULL){
            goto error_exit;


void *xa_mmap_mfn (xa_instance_t *instance, int prot, unsigned long mfn)
    return xc_map_foreign_range(
instance->xc_handle, instance->domain_id, XC_PAGE_SIZE, prot, mfn);

When I run this code to setup the pfn to mfn mapping for an HVM domain, the value of live_shinfo->arch.pfn_to_mfn_frame_list_list is NULL where shown by the comment above. However, for a paravirtualized domain, everything works as expected (i.e., the value is not NULL and is used to successfully build the lookup table).

Could someone help me understand why this difference exists and what I need to do to build the analogous lookup table for an HVM domain?


Bryan D. Payne
Graduate Student, Computer Science
Georgia Tech Information Security Center

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Xen-devel mailing list
<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] pfn to mfn mapping for HVM domains?, Bryan D. Payne <=