On Fri, Jan 22, 2016 at 10:03:34AM +0000, David Vrabel wrote:
 On 21/01/16 20:13, Daniel Kiper wrote:
 > Linux kernel commit 054954eb051f35e74b75a566a96fe756015352c8
 > (xen: switch to linear virtual mapped sparse p2m list), which
 > appeared in 3.19, introduced linear virtual mapped sparse p2m
 > list. If readmem() reads p2m then it access this list using
 > physical addresses. Sadly, VMA to physical address translation
 > in crash requires access to p2m list. This means that we have
 > a chicken and egg problem. In general this issue must be solved
 > by introducing some changes in libxl, Linux kernel and crash
 > (I have added this task to my long TODO list). However, in dom0
 > case we can use crash_xen_info_t.dom0_pfn_to_mfn_frame_list_list
 > which is available out of the box. So, let's use it and make
 > at least some users happy.
 I'm confused.  How does a virtual address to (pseudo-)physical address
 lookup require access to the p2m?  Surely this is a walk of the page
 tables followed by a M2P lookup on the MFN in the L1 PTE? 
Correct but crash does it a bit backward and scans p2m. I am not sure way,
however, I am going to look at it during work on PV guests support.
Daniel