104 #define MAPPGSZ_ISM 0x08
105
106 /*
107 * Flags for map_pgszcvec
108 */
109 #define MAPPGSZC_SHM 0x01
110 #define MAPPGSZC_PRIVM 0x02
111 #define MAPPGSZC_STACK 0x04
112 #define MAPPGSZC_HEAP 0x08
113
114 /*
115 * vacalign values for choose_addr
116 */
117 #define ADDR_NOVACALIGN 0
118 #define ADDR_VACALIGN 1
119
120 struct as;
121 struct page;
122 struct anon;
123
124 extern int maxslp;
125 extern ulong_t pginrate;
126 extern ulong_t pgoutrate;
127 extern void swapout_lwp(klwp_t *);
128
129 extern int valid_va_range(caddr_t *basep, size_t *lenp, size_t minlen,
130 int dir);
131 extern int valid_va_range_aligned(caddr_t *basep, size_t *lenp,
132 size_t minlen, int dir, size_t align, size_t redzone, size_t off);
133
134 extern int valid_usr_range(caddr_t, size_t, uint_t, struct as *, caddr_t);
135 extern int useracc(void *, size_t, int);
136 extern size_t map_pgsz(int maptype, struct proc *p, caddr_t addr, size_t len,
137 int memcntl);
138 extern uint_t map_pgszcvec(caddr_t addr, size_t size, uintptr_t off, int flags,
139 int type, int memcntl);
140 extern int choose_addr(struct as *as, caddr_t *addrp, size_t len, offset_t off,
141 int vacalign, uint_t flags);
142 extern void map_addr(caddr_t *addrp, size_t len, offset_t off, int vacalign,
143 uint_t flags);
144 extern int map_addr_vacalign_check(caddr_t, u_offset_t);
145 extern void map_addr_proc(caddr_t *addrp, size_t len, offset_t off,
146 int vacalign, caddr_t userlimit, struct proc *p, uint_t flags);
147 extern void vmmeter(void);
|
104 #define MAPPGSZ_ISM 0x08
105
106 /*
107 * Flags for map_pgszcvec
108 */
109 #define MAPPGSZC_SHM 0x01
110 #define MAPPGSZC_PRIVM 0x02
111 #define MAPPGSZC_STACK 0x04
112 #define MAPPGSZC_HEAP 0x08
113
114 /*
115 * vacalign values for choose_addr
116 */
117 #define ADDR_NOVACALIGN 0
118 #define ADDR_VACALIGN 1
119
120 struct as;
121 struct page;
122 struct anon;
123
124 extern ulong_t pginrate;
125 extern ulong_t pgoutrate;
126
127 extern int valid_va_range(caddr_t *basep, size_t *lenp, size_t minlen,
128 int dir);
129 extern int valid_va_range_aligned(caddr_t *basep, size_t *lenp,
130 size_t minlen, int dir, size_t align, size_t redzone, size_t off);
131
132 extern int valid_usr_range(caddr_t, size_t, uint_t, struct as *, caddr_t);
133 extern int useracc(void *, size_t, int);
134 extern size_t map_pgsz(int maptype, struct proc *p, caddr_t addr, size_t len,
135 int memcntl);
136 extern uint_t map_pgszcvec(caddr_t addr, size_t size, uintptr_t off, int flags,
137 int type, int memcntl);
138 extern int choose_addr(struct as *as, caddr_t *addrp, size_t len, offset_t off,
139 int vacalign, uint_t flags);
140 extern void map_addr(caddr_t *addrp, size_t len, offset_t off, int vacalign,
141 uint_t flags);
142 extern int map_addr_vacalign_check(caddr_t, u_offset_t);
143 extern void map_addr_proc(caddr_t *addrp, size_t len, offset_t off,
144 int vacalign, caddr_t userlimit, struct proc *p, uint_t flags);
145 extern void vmmeter(void);
|