WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

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

To: "Ian Pratt" <m+Ian.Pratt@xxxxxxxxxxxx>, "Nakajima, Jun" <jun.nakajima@xxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: RE: [Xen-devel] Switching from writeable pagetable to shadowlog-dirtyat runtime
From: "Li, Chengyuan" <chengyuan.li@xxxxxxxxx>
Date: Fri, 14 Oct 2005 10:46:22 +0800
Delivery-date: Fri, 14 Oct 2005 02:44:19 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcXQGm4ov65UksHAQt6gJoFmEOnrJgAAdhbwABGYsUA=
Thread-topic: [Xen-devel] Switching from writeable pagetable to shadowlog-dirtyat runtime
Ian, Jun,

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?
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.

Ian Pratt scribbled on 2005年10月14日 1:44:

>> 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 modes.

> 
> 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. 
> 
> Ian
> 
>> 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. 
>> 
>> Jun
>> ---
>> Intel Open Source Technology Center
>> 
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@xxxxxxxxxxxxxxxxxxx
>> http://lists.xensource.com/xen-devel
>> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel

Thanks,
Chengyuan

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

<Prev in Thread] Current Thread [Next in Thread>