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

Re: [Xen-devel] About revoke write access of all the shadows



At 09:35 -0400 on 04 Aug (1344072926), lmingcsce wrote:
> From shadow_blow_tables function of the log dirty mode mechanism, I
> find it uses this way. However, through debugging
> foreach_pinned_shadow(d, sp, t), I find that all the pages I get are
> L2_pae_shadow or L2h_page_shadow, there is no L1 page type.
> Can you help explain why this happen?

shadow_blow_tables() only touches the topmost tables (i.e. on PAE, L2,
and on 64-bit, L4).  What it does is drop the reference count on the
tables (or clear their entries), and lets the reference-counting
mechanism take care of clearing and freeing the lower-level tables that
they point to.

> If so, how can I get all the L1 page type of one domain? What I want
> to do is to set all the shadow tables as read only.

To get at all the L1 entries, you should use hash_foreach(), with a 
mask and callbacks that contain all the L1 types.  You can copy that
from sh_remove_write_access() or sh_remove_all_mappings(), but you'll
need to make a new callback function (in multi.c) to handle each L1
page.

Cheers,

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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