RE: Switching from writeable pagetable to shadow log-dirtyat runtime
> When we switch from writeable pagetable to shadow log-dirty
> mode at runtime, there are some PTEs with write-protected;
> once we do ptwr_flush(), we write-protect back the page
> table. If we simply consult the guest page tables when
> building the shadow page tables, then we also copy the write
> protection to the shadow pages tables. Since the shadow code
> does not have the logic for the writeable page table, the
> guest kernel, for exmaple, can see write-protected page
> table, resulting a panic. We are experiencing the problem
> with PAE log-dirty mode (that we are working on now).
We should certainly be doing a ptwr_flush() before switching page table
My recollection is that domain_pause in shadow_enable would cause a
sync_pagetable_state, but that code has changed a lot since I wrote it.
> So I think the current state in the writeable page should be
> flushed and adjusted (in audit, for example, make the
> write-protected pages back to
> writeable) before we switch to shadow mode. Given the fact
> that we can switch writeable pagetable to shadow log-dirty at
> runtime for the plain 32-bit, I'm wondering where we are
> doing that kind of thing.
> Intel Open Source Technology Center
> Xen-devel mailing list
> [hidden email] > http://lists.xensource.com/xen-devel >