Lines Matching defs:iv_p
115 intr_vec_t *iv_p;
126 iv_p = (type == SOFTINT_MT) ?
129 if (iv_p->iv_pil == 0) {
130 iv_p->iv_pil = 1; /* Default PIL */
137 return (iv_p);
156 iv_p = kmem_cache_alloc(intr_vec_cache, KM_SLEEP);
157 bzero(iv_p, sizeof (intr_vec_t));
158 iv_p->iv_flags = IV_CACHE_ALLOC;
160 return (iv_p);
167 iv_free(intr_vec_t *iv_p)
169 if (iv_p->iv_flags & IV_CACHE_ALLOC) {
170 ASSERT(!(iv_p->iv_flags & IV_SOFTINT_MT));
171 kmem_cache_free(intr_vec_cache, iv_p);
174 bzero(iv_p, (iv_p->iv_flags & IV_SOFTINT_MT) ?
187 intr_vec_t *iv_p, *new_iv_p;
200 for (iv_p = (intr_vec_t *)intr_vec_table[inum];
201 iv_p; iv_p = iv_p->iv_vec_next) {
202 if (iv_p->iv_pil == pil) {
209 ASSERT(iv_p == NULL);
231 intr_vec_t *iv_p, *prev_iv_p;
238 for (iv_p = prev_iv_p = (intr_vec_t *)intr_vec_table[inum];
239 iv_p; prev_iv_p = iv_p, iv_p = iv_p->iv_vec_next)
240 if (iv_p->iv_pil == pil)
243 if (iv_p == NULL) {
248 ASSERT(iv_p->iv_pil_next == NULL);
250 if (prev_iv_p == iv_p)
251 intr_vec_table[inum] = (uint64_t)iv_p->iv_vec_next;
253 prev_iv_p->iv_vec_next = iv_p->iv_vec_next;
257 iv_free(iv_p);
268 intr_vec_t *iv_p;
273 iv_p = iv_alloc(type);
275 iv_p->iv_handler = (intrfunc)intr_handler;
276 iv_p->iv_arg1 = intr_arg1;
277 iv_p->iv_pil = (ushort_t)pil;
279 iv_p->iv_flags |= IV_SOFTINT_MT;
283 iv_p->iv_vec_next = softint_list;
284 softint_list = iv_p;
287 return ((uint64_t)iv_p);
296 intr_vec_t *iv_p = (intr_vec_t *)softint_id;
298 ASSERT(iv_p != NULL);
300 if (iv_p->iv_flags & IV_SOFTINT_PEND)
303 ASSERT(iv_p->iv_pil_next == NULL);
306 if (softint_list == iv_p) {
307 softint_list = iv_p->iv_vec_next;
311 while (list && (list->iv_vec_next != iv_p))
314 list->iv_vec_next = iv_p->iv_vec_next;
318 iv_free(iv_p);
331 intr_vec_t *iv_p = (intr_vec_t *)softint_id;
333 ASSERT(iv_p != NULL);
335 if (iv_p->iv_flags & IV_SOFTINT_PEND)
338 iv_p->iv_arg2 = intr_arg2;
348 intr_vec_t *iv_p = (intr_vec_t *)softint_id;
350 ASSERT(iv_p != NULL);
355 iv_p->iv_pil = pil;