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

[Xen-devel] How works MMU?



I'd like to know if my vision of how MMU works (for the moment a part of it) is
the good one. 

As far as I read, I understand the following things:
1) the hypervisor reserved a 64M virtual area in the top of the virtual memory
2) Inside this area, there is 24M for frame table 

It's my understanding of this frame table which is not clear

I think that the frame table contains a list for each domains. Those lists keep
the mapping between physical adress and guest os kernel space. So, when a guest
OS requests a physical page, it manages its pages directly with the hardware.
The difference with a "normal linux kernel" is that it must ask a page with
read-only access and register the new set of pages to the hypervisor. Then, the
hypervisor add the pages to the list corresping to the domain in the
frame_table. Is it working like this (I don't think so...)? I saw in the source
files that frame_table is updated during do_mmu_update. I think that for guest
os kernel page, the update is done in case MMU_MACHPHYS_UPDATE, but I'm not so
sure...

Otherwise, is the physical mapping for xen virtual memory done between
READONLY_MPT_VIRT_START and READONLY_MPT_VIRT_END?

Would it be possible to explain shortly the principle of the monitor? I saw that
there is a callback mechanism so monitor can respond to domain dependently of an
action. It also has its own virtual area which is reserved but I didn't see the
goal of monitor (is it a part of the domain0 control interface?)

Last question (today ;), you choose to implement a two levels pages MMU. Does it
mean that if an architecture use only a three levels pages MMU you need to
rewrite the common part to allow 3 levels or is there some tricks to only add an
architecture dependant file?
  
Thank you
Guillaume


-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?  SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel


 


Rackspace

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