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 *
|