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

[Xen-devel] Question about the memory layout of xen hypervisor, dom0 and domU


I have a question about the memory layout of the Xen hypervisor, dom0 and domU. 

*The goal I want to achieve is: 
I want to show which RAM area is used by hypervisor, which RAM area is used by dom0, which RAM area is used by each domU (PV guest domain). 
I hope to know the above information when xen is booted as well as when xen is running some domUs. 

I already know that we can dedicate a fix size of RAM to dom0 according to (http://wiki.xen.org/wiki/Xen_Best_Practices). But it's unclear which RAM area is allocated. 

I read the paravirtualised memory management on  http://wiki.xen.org/wiki/X86_Paravirtualised_Memory_Management; but it only shows the virtual address range of each domain. 

I also looked at the xen/common/page_alloc.c; I think the function alloc_domheap_pages() is used to allocate machine pages to doms, and alloc_xenheap_pages() is used to allocate machine pages to hypervisor. Maybe I can just print out the machine address when each machine page is allocated and freed. But it seems too nasty.

*My question is:
Is there any command or tool showing the RAM layout of hypervisor, dom0 and domUs? 
If not, is there any better way to achieve the goal of showing the RAM layout?  For example, if there is any structure I can traverse to get all machine address used by hypervisor, dom0 and domUs, that will be great! 

Thank you very much for your help and advice! 



Meng Xu
PhD Student in Computer and Information Science
University of Pennsylvania
Xen-devel mailing list



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