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

Re: [Xen-devel] Full Shadow Mode and phys_to_machine_mapping

On 2/21/2005 1:29 PM, Michael Vrable wrote:
I'm trying to figure out how full shadow mode is implemented; I
understand that this only works with VMX support at the moment.  The
phys_to_machine_mapping function is giving me a bit of trouble.

This function seems to be used to look up an entry in the PFN-to-MFN
mapping table, which as I understand it for full shadow mode should be
maintained by Xen instead of the domain.  This table can be up to 4 MB
in size.  __phys_to_machine_mapping is set to point at the per-domain
virtual memory area.  Isn't this area already used for per-domain
GDT/LDT mappings, leaving no room for the PFN-to-MFN table?

For VMX guests, even though the guest thinks that it's executing in physical 
mode, the processor actually has paging enabled. So we need page tables which 
map PFNs to MFNs. We call this the 1:1 page table.

Ian suggested that we could reuse the 1:1 page table for this purpose. This 
reduces code/data duplication and we also get the support for a sparse physical 
map as a bonus!

I haven't
been able to find where in the code the PFN-to-MFN table is ever
initialized, either.  What am I missing?

The 1:1 page table is initialized in xc_vmx_build.c and the pdes for PFN-to-MFN 
table are setup in alloc_monitor_pagetable()


SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
Xen-devel mailing list



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