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

Re: [Xen-devel] sh_install_xen_entries_in_l3()



At 16:24 +0100 on 09 Nov (1163089445), Jan Beulich wrote:
> Could someone explain to me the purpose of this function? 

That particular function is no longer with us, now that we don't track
shadows of PAE l3 tables any more. 

The purpose of the sh_install_xen_entries_in_l* functions is to add the
required mappings of Xen address space into the shadow tables of
non-external shadowed guests.  For example, a PV guest shadowed for
live-migration needs to have Xen's address space in its shadow tables so
it can take hypercalls.  They're analogous to the code in
alloc_l2_table/create_pae_xen_mappings/alloc_l4_table in mm.c for normal
PV pagetables.

The xen address space is _not_ a shadow of equivalent area of the
guest's pagetables -- the guest is never allowed to change entries in
it.  It is installed at shadow creation time, and not demand-faulted
like the rest of the shadow, to avoid the complexity of taking recursive
shadow faults.

> I'm trying to
> understand whether this needs to be called in the context of 32-bit
> guests on 64-bit hv (which, for compatibility reasons, need to have a
> mirror of the M2P table available in what would be the Xen region on a
> 32-bit hv).

You will need to call something like it, certainly, to install the
mapping of the M2P table, and any other parts of Xen's address space
that you need.  You may need to alter the functions to reflect the
memory layout that you want for the 32bit guest.

Cheers,

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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