[BACK]Return to uvm_pager.h CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / uvm

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/uvm/uvm_pager.h between version 1.28 and 1.28.16.3

version 1.28, 2004/03/24 07:55:01 version 1.28.16.3, 2007/10/27 11:36:55
Line 137  struct uvm_pagerops {
Line 137  struct uvm_pagerops {
   
         /* special non-standard fault processing */          /* special non-standard fault processing */
         int     (*pgo_fault)(struct uvm_faultinfo *, vaddr_t, struct vm_page **,          int     (*pgo_fault)(struct uvm_faultinfo *, vaddr_t, struct vm_page **,
                              int, int, vm_fault_t, vm_prot_t, int);                               int, int, vm_prot_t, int);
   
         /* get/read pages */          /* get/read pages */
         int     (*pgo_get)(struct uvm_object *, voff_t, struct vm_page **,          int     (*pgo_get)(struct uvm_object *, voff_t, struct vm_page **,
Line 150  struct uvm_pagerops {
Line 150  struct uvm_pagerops {
 /* pager flags [mostly for flush] */  /* pager flags [mostly for flush] */
   
 #define PGO_CLEANIT     0x001   /* write dirty pages to backing store */  #define PGO_CLEANIT     0x001   /* write dirty pages to backing store */
 #define PGO_SYNCIO      0x002   /* if PGO_CLEANIT: use sync I/O? */  #define PGO_SYNCIO      0x002   /* use sync I/O */
 #define PGO_DEACTIVATE  0x004   /* deactivate flushed pages */  #define PGO_DEACTIVATE  0x004   /* deactivate flushed pages */
 #define PGO_FREE        0x008   /* free flushed pages */  #define PGO_FREE        0x008   /* free flushed pages */
 /* if PGO_FREE is not set then the pages stay where they are. */  /* if PGO_FREE is not set then the pages stay where they are. */
Line 160  struct uvm_pagerops {
Line 160  struct uvm_pagerops {
 #define PGO_BUSYFAIL    0x080   /* fail if a page is busy [put] */  #define PGO_BUSYFAIL    0x080   /* fail if a page is busy [put] */
 #define PGO_OVERWRITE   0x200   /* pages will be overwritten before unlocked */  #define PGO_OVERWRITE   0x200   /* pages will be overwritten before unlocked */
 #define PGO_PASTEOF     0x400   /* allow allocation of pages past EOF */  #define PGO_PASTEOF     0x400   /* allow allocation of pages past EOF */
   #define PGO_NOBLOCKALLOC 0x800  /* backing block allocation is not needed */
   #define PGO_NOTIMESTAMP 0x1000  /* don't mark object accessed/modified */
   #define PGO_RECLAIM     0x2000  /* object is being reclaimed */
   
 /* page we are not interested in getting */  /* page we are not interested in getting */
 #define PGO_DONTCARE ((struct vm_page *) -1L)   /* [get only] */  #define PGO_DONTCARE ((struct vm_page *) -1L)   /* [get only] */
Line 167  struct uvm_pagerops {
Line 170  struct uvm_pagerops {
 #ifdef _KERNEL  #ifdef _KERNEL
   
 /*  /*
  * handle inline options  
  */  
   
 #ifdef UVM_PAGER_INLINE  
 #define PAGER_INLINE static __inline  
 #else  
 #define PAGER_INLINE /* nothing */  
 #endif /* UVM_PAGER_INLINE */  
   
 /*  
  * prototypes   * prototypes
  */   */
   
 void    uvm_pager_init(void);  void    uvm_pager_init(void);
 PAGER_INLINE struct vm_page *uvm_pageratop(vaddr_t);  struct vm_page *uvm_pageratop(vaddr_t);
 vaddr_t uvm_pagermapin(struct vm_page **, int, int);  vaddr_t uvm_pagermapin(struct vm_page **, int, int);
 void    uvm_pagermapout(vaddr_t, int);  void    uvm_pagermapout(vaddr_t, int);
   
   extern size_t pager_map_size;
   
 /* Flags to uvm_pagermapin() */  /* Flags to uvm_pagermapin() */
 #define UVMPAGER_MAPIN_WAITOK   0x01    /* it's okay to wait */  #define UVMPAGER_MAPIN_WAITOK   0x01    /* it's okay to wait */
 #define UVMPAGER_MAPIN_READ     0x02    /* device -> host */  #define UVMPAGER_MAPIN_READ     0x02    /* device -> host */
 #define UVMPAGER_MAPIN_WRITE    0x00    /* host -> device (pseudo flag) */  #define UVMPAGER_MAPIN_WRITE    0x00    /* host -> device (pseudo flag) */
   
 /*  
  * XXX  
  * this is needed until the device strategy interface  
  * is changed to do physically-addressed i/o.  
  */  
   
 #ifndef PAGER_MAP_SIZE  
 #define PAGER_MAP_SIZE       (16 * 1024 * 1024)  
 #endif  
   
 #endif /* _KERNEL */  #endif /* _KERNEL */
   
 #endif /* _UVM_UVM_PAGER_H_ */  #endif /* _UVM_UVM_PAGER_H_ */

Legend:
Removed from v.1.28  
changed lines
  Added in v.1.28.16.3

CVSweb <webmaster@jp.NetBSD.org>