Hi everyone:
  I am reading code of live migration process of hvm
domain now.My question is that I can't find theÂtransformation
position that transform hvm domainâs gpfn to mfn.That is,the
methodÂ,in file xc_linux_osdep.c,linux_privcmd_map_foreign_bulk(xc_interface
*xch, xc_osdep_handle h,uint32_t dom, int
prot,const xen_pfn_t *arr, int *err, unsigned
int num),the list of xen_pfn_t contains the list of
guest's mfns(gpfns in xen),for para-virtualization guests
they are thransformed by the pfn_to_mfn() before
assignment(in xc_domain_save())ïfor hvm guests howeverïI can
not find a similar conversion process,they are directly
conveyed to the dom's kernel directly without any
transformation.So I continued to follow the process,finding
the following key functions:
ÂÂÂÂprivcmd_ioctl(struct
file *file,unsigned int cmd, unsigned long data)Â
ÂÂÂÂÂ->privcmd_ioctl_mmap_batch(udata,
2)
 Â
Â->->ÂÂtraverse_pages(mmapcmd.num, sizeof(struct
privcmd_mmap_entry),&pagelist,mmap_mfn_range, &state);
  Still no clue for the
thransformation process,could you give any sugguestions?
  My second question is
that is it possible that I give a list of hvm's mfns(not
gpfns) andÂthen get the contents held in memory in dom0?Does
xen have any function of this kind?
Thank you all!
JoneÂÂÂÂ