|  |  | 
  
    |  |  | 
 
  |   |  | 
  
    |  |  | 
  
    |  |  | 
  
    |   xen-devel
Re: [Xen-devel] where is writable page table implemented? 
| Hi Tim, 
 Thanks a lot!
 
 Now, I know that fixup_page_fault() -> ptwr_do_page_fault handles the write attempts to a pagetable page.
 
 But
 1) how does the guest OS tell xen which page is a pagetable page?  What if the guest doesn't do so? I assume xen should check if a pagetable had already been registered or not. But in do_mmuext_op(), there is no such check before setting the cr3.
 
 2) in ptwr_do_page_fault(), it should disconnect the page from page directory and then mark the page as writable.  Where are they done? In x86_emulate()?
 
 Thanks in advance!
 Weiming
 
 
 
 
 
 On Mon, Mar 24, 2008 at 12:25 PM, Tim Deegan <Tim.Deegan@xxxxxxxxxx > wrote: 
At 12:18 -0400 on 24 Mar (1206361139), weiming wrote:xen/arch/x86/mm.c, the functions after the comment "Writable Pagetables"> Hi,
 >
 > I want to read the code about the implementation of writable page table. But
 > I can't find it in the source codes.
 
 
 (ptwr_*)
 
 The guest is responsible for revoking write access to its own
 pagetables, but that is checked by the recursive pagetable walk started
 by the MMUEXT_PIN_* hypercall.
 
 Cheers,
 
 Tim.
 
 --
 Tim Deegan <Tim.Deegan@xxxxxxxxxx>
 Principal Software Engineer, Citrix Systems (R&D) Ltd.
 [Company #02300071, SL9 0DZ, UK.]
 
 _______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 | 
 |  | 
  
    |  |  |