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

Re: [Xen-devel] Questions about the mapping from gpfn to mfn when live migration



On 02/06/13 07:19, Kai Luo wrote:
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ÂÂÂÂ

Xen does the transformation.

All mapping functions take "Guest physical addresses", i.e. the values a guest puts in their pagetables. For PV guests, this is MFNs but for HVM guests, only Xen can read the EPT/NPT pagetables to transform guest physical into host physical.

I am not aware of any supported interface which would allow dom0 to map raw mfns, nor should there be. What is the problem you are trying to solve by doing this?

~Andrew
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

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