Lines Matching refs:hrm

67 #define	hrm_match(hrm, as, addr) \  argument
68 (((hrm)->hrm_as == (as) && \
69 ((hrm)->hrm_base == ((uintptr_t)(addr) & HRM_BASEMASK))) ? 1 : 0)
151 struct hrmstat *hrm; in hat_setstat() local
169 for (hrm = hrm_hashtab[h]; hrm; hrm = hrm->hrm_hnext) { in hat_setstat()
170 if (hrm_match(hrm, as, addr)) { in hat_setstat()
171 hrm_setbits(hrm, addr, rmbits); in hat_setstat()
172 vbits |= hrm->hrm_id; in hat_setstat()
187 hrm = (struct hrmstat *)hrm_balloc(); in hat_setstat()
188 if (hrm == NULL) { in hat_setstat()
194 hrm->hrm_as = as; in hat_setstat()
195 hrm->hrm_base = (uintptr_t)addr & HRM_BASEMASK; in hat_setstat()
196 hrm->hrm_id = nb; in hat_setstat()
197 hrm_link(hrm); in hat_setstat()
198 hrm_setbits(hrm, addr, rmbits); in hat_setstat()
213 struct hrmstat *hrm; in hat_freestat() local
225 if ((hrm = as->a_hrm) == NULL) { in hat_freestat()
233 for (prev_ahrm = NULL; hrm; hrm = hrm->hrm_anext) { in hat_freestat()
234 if ((id == hrm->hrm_id) || (id == 0)) { in hat_freestat()
236 hrm_hashout(hrm); in hat_freestat()
237 hrm->hrm_hnext = hrm_blist; in hat_freestat()
238 hrm_blist = hrm; in hat_freestat()
242 as->a_hrm = hrm->hrm_anext; in hat_freestat()
244 prev_ahrm->hrm_anext = hrm->hrm_anext; in hat_freestat()
247 prev_ahrm = hrm; in hat_freestat()
284 struct hrmstat *hrm, *l; in hrm_getblk() local
308 hrm = kmem_zalloc(sizeof (struct hrmstat) * hrm_incr, KM_SLEEP); in hrm_getblk()
309 hrm->hrm_base = sizeof (struct hrmstat) * hrm_incr; in hrm_getblk()
317 hrm->hrm_hnext = hrm_memlist; in hrm_getblk()
318 hrm_memlist = hrm; in hrm_getblk()
322 l = &hrm[i]; in hrm_getblk()
332 hrm_hashin(struct hrmstat *hrm) in hrm_hashin() argument
337 h = hrm_hash(hrm->hrm_as, hrm->hrm_base); in hrm_hashin()
339 hrm->hrm_hnext = hrm_hashtab[h]; in hrm_hashin()
340 hrm_hashtab[h] = hrm; in hrm_hashin()
344 hrm_hashout(struct hrmstat *hrm) in hrm_hashout() argument
350 h = hrm_hash(hrm->hrm_as, hrm->hrm_base); in hrm_hashout()
355 if (list == hrm) { in hrm_hashout()
370 hrm_link(struct hrmstat *hrm) in hrm_link() argument
372 struct as *as = hrm->hrm_as; in hrm_link()
375 hrm->hrm_anext = as->a_hrm; in hrm_link()
376 as->a_hrm = hrm; in hrm_link()
377 hrm_hashin(hrm); in hrm_link()
387 struct hrmstat *hrm; in hrm_balloc() local
391 hrm = hrm_blist; in hrm_balloc()
392 if (hrm != NULL) { in hrm_balloc()
393 hrm_blist = hrm->hrm_hnext; in hrm_balloc()
395 hrm->hrm_hnext = NULL; in hrm_balloc()
397 return (hrm); in hrm_balloc()
404 hrm_setbits(struct hrmstat *hrm, caddr_t addr, uint_t bits) in hrm_setbits() argument
413 hrm->hrm_bits[bo] |= nbits; in hrm_setbits()
456 struct hrmstat *hrm; in hat_getstat() local
468 for (hrm = hrm_hashtab[h]; hrm; hrm = hrm->hrm_hnext) { in hat_getstat()
469 if (hrm->hrm_as == as && in hat_getstat()
470 hrm->hrm_base == ((uintptr_t)a & HRM_BASEMASK) && in hat_getstat()
471 id == hrm->hrm_id) { in hat_getstat()
482 *dp++ |= (hrm->hrm_bits[bo] >> spb) & 3; in hat_getstat()
484 hrm->hrm_bits[bo] &= ~(3<<spb); in hat_getstat()
494 int bits = hrm->hrm_bits[bo]; in hat_getstat()
500 hrm->hrm_bits[bo] = 0; in hat_getstat()
511 *dp++ |= (hrm->hrm_bits[bo] >> spb) & 3; in hat_getstat()
513 hrm->hrm_bits[bo] &= ~(3<<spb); in hat_getstat()
521 if (hrm == NULL) in hat_getstat()