debuggers.hg

changeset 2863:9a63b52734c4

bitkeeper revision 1.1159.1.336 (4187c113TlZOg5xcrESN247lpbjqlw)

bit more iface
author smh22@tempest.cl.cam.ac.uk
date Tue Nov 02 17:17:07 2004 +0000 (2004-11-02)
parents 702b7ec55776
children eb0280fe0abf
files docs/src/interface.tex
line diff
     1.1 --- a/docs/src/interface.tex	Tue Nov 02 17:05:53 2004 +0000
     1.2 +++ b/docs/src/interface.tex	Tue Nov 02 17:17:07 2004 +0000
     1.3 @@ -701,30 +701,43 @@ found in {\tt xen/include/public/xen.h}.
     1.4  \end{quote}
     1.5  
     1.6  Explicitly updating batches of page table entries is extremely
     1.7 -efficient, but can require a number of alterations to the guest 
     1.8 -OS. Using the writable page table mode is recommended 
     1.9 -for new OS ports. 
    1.10 +efficient, but can require a number of alterations to the guest
    1.11 +OS. Using the writable page table mode (Chapter~\ref{c:memory}) is
    1.12 +recommended for new OS ports.
    1.13  
    1.14 -However in either mode, there are some occasions (in particular
    1.15 -handling a demand page fault) where a guest OS will wish to 
    1.16 -modify exactly one PTE rather than a batch. This is catered 
    1.17 -for by the following hypercall: 
    1.18 +Regardlesss of which page table update mode is being used, however,
    1.19 +there are some occasions (notably handling a demand page fault) where
    1.20 +a guest OS will wish to modify exactly one PTE rather than a
    1.21 +batch. This is catered for by the following:
    1.22  
    1.23  \begin{quote} 
    1.24  \hypercall{update\_va\_mapping(unsigned long page\_nr, unsigned long
    1.25 -val, unsigned long flags)}
    1.26 +val, \\ unsigned long flags)}
    1.27 +
    1.28 +Update the currently installed PTE for the page {\tt page\_nr} to 
    1.29 +{\tt val}. As with {\tt mmu\_update()}, Xen checks the modification 
    1.30 +is safe before applying it. The {\tt flags} determine which kind
    1.31 +of TLB flush, if any, should follow the update. 
    1.32  
    1.33  \end{quote} 
    1.34  
    1.35 -Finally, privileged domains may be able to xxx. 
    1.36 -
    1.37 +Finally, sufficiently privileged domains may occasionally wish to manipulate 
    1.38 +the page tables of others: 
    1.39  \begin{quote}
    1.40  
    1.41  \hypercall{update\_va\_mapping\_otherdomain(unsigned long page\_nr,
    1.42  unsigned long val, unsigned long flags, uint16\_t domid)}
    1.43  
    1.44 +Identical to {\tt update\_va\_mapping()} save that it operates 
    1.45 +on the page tables of the domain with id {\tt domid}. 
    1.46 +
    1.47  \end{quote}
    1.48  
    1.49 +This privileged operation is currently used by backend virtual device
    1.50 +drivers to efficiently implement `page flipping'.
    1.51 +
    1.52 +
    1.53 +
    1.54  \section{Segmentation Support}
    1.55  
    1.56