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

[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?

Thanks,
bryan


-
Bryan D. Payne
Graduate Student, Computer Science
Georgia Tech Information Security Center
http://www.bryanpayne.org



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

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] pfn to mfn mapping for HVM domains?, Bryan D. Payne <=