[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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



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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.