Print this page
patch vm-cleanup


  89 
  90 /*
  91  * Notify hat of a system dump
  92  */
  93 void    hat_dump(void);
  94 
  95 /*
  96  * Operations on an address space:
  97  *
  98  * struct hat *hat_alloc(as)
  99  *      allocated a hat structure for as.
 100  *
 101  * void hat_free_start(hat)
 102  *      informs hat layer process has finished executing but as has not
 103  *      been cleaned up yet.
 104  *
 105  * void hat_free_end(hat)
 106  *      informs hat layer as is being destroyed.  hat layer cannot use as
 107  *      pointer after this call.
 108  *
 109  * void hat_swapin(hat)
 110  *      allocate any hat resources required for process being swapped in.
 111  *
 112  * void hat_swapout(hat)
 113  *      deallocate hat resources for process being swapped out.
 114  *
 115  * size_t hat_get_mapped_size(hat)
 116  *      returns number of bytes that have valid mappings in hat.
 117  *
 118  * void hat_stats_enable(hat)
 119  * void hat_stats_disable(hat)
 120  *      enables/disables collection of stats for hat.
 121  *
 122  * int hat_dup(parenthat, childhat, addr, len, flags)
 123  *      Duplicate address translations of the parent to the child.  Supports
 124  *      the entire address range or a range depending on flag,
 125  *      zero returned on success, non-zero on error
 126  *
 127  * void hat_thread_exit(thread)
 128  *      Notifies the HAT that a thread is exiting, called after it has been
 129  *      reassigned to the kernel AS.
 130  */
 131 
 132 struct hat *hat_alloc(struct as *);
 133 void    hat_free_start(struct hat *);
 134 void    hat_free_end(struct hat *);
 135 int     hat_dup(struct hat *, struct hat *, caddr_t, size_t, uint_t);
 136 void    hat_swapin(struct hat *);
 137 void    hat_swapout(struct hat *);
 138 size_t  hat_get_mapped_size(struct hat *);
 139 int     hat_stats_enable(struct hat *);
 140 void    hat_stats_disable(struct hat *);
 141 void    hat_thread_exit(kthread_t *);
 142 
 143 /*
 144  * Operations on a named address within a segment:
 145  *
 146  * void hat_memload(hat, addr, pp, attr, flags)
 147  *      load/lock the given page struct
 148  *
 149  * void hat_memload_array(hat, addr, len, ppa, attr, flags)
 150  *      load/lock the given array of page structs
 151  *
 152  * void hat_devload(hat, addr, len, pf, attr, flags)
 153  *      load/lock the given page frame number
 154  *
 155  * void hat_unlock(hat, addr, len)
 156  *      unlock a given range of addresses
 157  *




  89 
  90 /*
  91  * Notify hat of a system dump
  92  */
  93 void    hat_dump(void);
  94 
  95 /*
  96  * Operations on an address space:
  97  *
  98  * struct hat *hat_alloc(as)
  99  *      allocated a hat structure for as.
 100  *
 101  * void hat_free_start(hat)
 102  *      informs hat layer process has finished executing but as has not
 103  *      been cleaned up yet.
 104  *
 105  * void hat_free_end(hat)
 106  *      informs hat layer as is being destroyed.  hat layer cannot use as
 107  *      pointer after this call.
 108  *






 109  * size_t hat_get_mapped_size(hat)
 110  *      returns number of bytes that have valid mappings in hat.
 111  *
 112  * void hat_stats_enable(hat)
 113  * void hat_stats_disable(hat)
 114  *      enables/disables collection of stats for hat.
 115  *
 116  * int hat_dup(parenthat, childhat, addr, len, flags)
 117  *      Duplicate address translations of the parent to the child.  Supports
 118  *      the entire address range or a range depending on flag,
 119  *      zero returned on success, non-zero on error
 120  *
 121  * void hat_thread_exit(thread)
 122  *      Notifies the HAT that a thread is exiting, called after it has been
 123  *      reassigned to the kernel AS.
 124  */
 125 
 126 struct hat *hat_alloc(struct as *);
 127 void    hat_free_start(struct hat *);
 128 void    hat_free_end(struct hat *);
 129 int     hat_dup(struct hat *, struct hat *, caddr_t, size_t, uint_t);


 130 size_t  hat_get_mapped_size(struct hat *);
 131 int     hat_stats_enable(struct hat *);
 132 void    hat_stats_disable(struct hat *);
 133 void    hat_thread_exit(kthread_t *);
 134 
 135 /*
 136  * Operations on a named address within a segment:
 137  *
 138  * void hat_memload(hat, addr, pp, attr, flags)
 139  *      load/lock the given page struct
 140  *
 141  * void hat_memload_array(hat, addr, len, ppa, attr, flags)
 142  *      load/lock the given array of page structs
 143  *
 144  * void hat_devload(hat, addr, len, pf, attr, flags)
 145  *      load/lock the given page frame number
 146  *
 147  * void hat_unlock(hat, addr, len)
 148  *      unlock a given range of addresses
 149  *