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

Re: [Xen-devel] Switching from writeable pagetable to shadowlog-dirtyat runtime

On 14 Oct 2005, at 03:46, Li, Chengyuan wrote:

I don't see ptwr_flush() when shadow mode enable in both ia32 and x86_64 code. Why plain ia32 log dirty shadow can work?

Perhaps it can't, properly. :-)

The best fix will be to make domain_pause() call sync_pagetable_state(d). The main problem I can see is that the cleanup_writeable_pagetable() function is not currently safe to be called by other than the subject domain. For example, failure paths crash the calling domain rather than the subject domain! This needs fixing.

audit_adjust_pgtables() is for plain ia32 only and it doesn't work for both ia32 pae and x86_64, but this function only check the ref counts and doesn't update guest PTE entry, e.g. R/W bit.

Another question is that how does guest update its guest page-table after shadow mode is enabled? As writable-pagetable can't be used after shadow mode is enabled.

Shadow pagetable code has its own quite separate writeable pagetable logic, I believe. Which is why the non-shadow wrpt state must be flushed before switching to shadow pagetables.

 -- Keir

Xen-devel mailing list



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