Symbol: intrmap
usr/src/uts/i86pc/io/immu_intrmap.c
232
alloc_tbl_entry(intrmap_t *intrmap)
usr/src/uts/i86pc/io/immu_intrmap.c
237
mutex_enter(&intrmap->intrmap_lock);
usr/src/uts/i86pc/io/immu_intrmap.c
238
idx = intrmap->intrmap_free;
usr/src/uts/i86pc/io/immu_intrmap.c
240
bitset_add(&intrmap->intrmap_map, idx);
usr/src/uts/i86pc/io/immu_intrmap.c
241
intrmap->intrmap_free =
usr/src/uts/i86pc/io/immu_intrmap.c
242
bitset_find_free(&intrmap->intrmap_map, idx + 1);
usr/src/uts/i86pc/io/immu_intrmap.c
243
mutex_exit(&intrmap->intrmap_lock);
usr/src/uts/i86pc/io/immu_intrmap.c
248
mutex_exit(&intrmap->intrmap_lock);
usr/src/uts/i86pc/io/immu_intrmap.c
266
alloc_tbl_multi_entries(intrmap_t *intrmap, uint_t cnt)
usr/src/uts/i86pc/io/immu_intrmap.c
271
mutex_enter(&intrmap->intrmap_lock);
usr/src/uts/i86pc/io/immu_intrmap.c
272
pos = intrmap->intrmap_free;
usr/src/uts/i86pc/io/immu_intrmap.c
273
idx = bitset_find_multi_free(&intrmap->intrmap_map, pos, cnt);
usr/src/uts/i86pc/io/immu_intrmap.c
277
intrmap->intrmap_free = bitset_find_free(
usr/src/uts/i86pc/io/immu_intrmap.c
278
&intrmap->intrmap_map, idx + cnt);
usr/src/uts/i86pc/io/immu_intrmap.c
281
bitset_add(&intrmap->intrmap_map, idx + i);
usr/src/uts/i86pc/io/immu_intrmap.c
283
mutex_exit(&intrmap->intrmap_lock);
usr/src/uts/i86pc/io/immu_intrmap.c
287
mutex_exit(&intrmap->intrmap_lock);
usr/src/uts/i86pc/io/immu_intrmap.c
304
intrmap_t *intrmap;
usr/src/uts/i86pc/io/immu_intrmap.c
346
intrmap = kmem_zalloc(sizeof (intrmap_t), KM_SLEEP);
usr/src/uts/i86pc/io/immu_intrmap.c
352
&(intrmap->intrmap_dma_hdl)) != DDI_SUCCESS) {
usr/src/uts/i86pc/io/immu_intrmap.c
353
kmem_free(intrmap, sizeof (intrmap_t));
usr/src/uts/i86pc/io/immu_intrmap.c
357
intrmap->intrmap_size = 1 << (intrmap_irta_s + 1);
usr/src/uts/i86pc/io/immu_intrmap.c
358
size = intrmap->intrmap_size * INTRMAP_RTE_SIZE;
usr/src/uts/i86pc/io/immu_intrmap.c
359
if (ddi_dma_mem_alloc(intrmap->intrmap_dma_hdl,
usr/src/uts/i86pc/io/immu_intrmap.c
365
&(intrmap->intrmap_vaddr),
usr/src/uts/i86pc/io/immu_intrmap.c
367
&(intrmap->intrmap_acc_hdl)) != DDI_SUCCESS) {
usr/src/uts/i86pc/io/immu_intrmap.c
368
ddi_dma_free_handle(&(intrmap->intrmap_dma_hdl));
usr/src/uts/i86pc/io/immu_intrmap.c
369
kmem_free(intrmap, sizeof (intrmap_t));
usr/src/uts/i86pc/io/immu_intrmap.c
373
ASSERT(!((uintptr_t)intrmap->intrmap_vaddr & MMU_PAGEOFFSET));
usr/src/uts/i86pc/io/immu_intrmap.c
374
bzero(intrmap->intrmap_vaddr, size);
usr/src/uts/i86pc/io/immu_intrmap.c
375
intrmap->intrmap_paddr = pfn_to_pa(
usr/src/uts/i86pc/io/immu_intrmap.c
376
hat_getpfnum(kas.a_hat, intrmap->intrmap_vaddr));
usr/src/uts/i86pc/io/immu_intrmap.c
378
mutex_init(&(intrmap->intrmap_lock), NULL, MUTEX_DRIVER, NULL);
usr/src/uts/i86pc/io/immu_intrmap.c
379
bitset_init(&intrmap->intrmap_map);
usr/src/uts/i86pc/io/immu_intrmap.c
380
bitset_resize(&intrmap->intrmap_map, intrmap->intrmap_size);
usr/src/uts/i86pc/io/immu_intrmap.c
381
intrmap->intrmap_free = 0;
usr/src/uts/i86pc/io/immu_intrmap.c
383
immu->immu_intrmap = intrmap;
usr/src/uts/i86pc/io/immu_intrmap.c
46
#define INTRMAP_PRIVATE(intrmap) ((intrmap_private_t *)intrmap)
usr/src/uts/i86pc/io/immu_intrmap.c
481
intrmap_t *intrmap;
usr/src/uts/i86pc/io/immu_intrmap.c
484
intrmap = immu->immu_intrmap;
usr/src/uts/i86pc/io/immu_intrmap.c
486
irta_reg = intrmap->intrmap_paddr | intrmap_irta_s;
usr/src/uts/i86pc/io/immu_intrmap.c
671
intrmap_t *intrmap;
usr/src/uts/i86pc/io/immu_intrmap.c
693
intrmap = immu->immu_intrmap;
usr/src/uts/i86pc/io/immu_intrmap.c
696
idx = alloc_tbl_entry(intrmap);
usr/src/uts/i86pc/io/immu_intrmap.c
698
idx = alloc_tbl_multi_entries(intrmap, count);
usr/src/uts/i86pc/io/immu_intrmap.c
752
intrmap_t *intrmap;
usr/src/uts/i86pc/io/immu_intrmap.c
766
intrmap = immu->immu_intrmap;
usr/src/uts/i86pc/io/immu_intrmap.c
802
bcopy(&irte, intrmap->intrmap_vaddr +
usr/src/uts/i86pc/io/immu_intrmap.c
814
bcopy(&irte, intrmap->intrmap_vaddr +
usr/src/uts/i86pc/io/immu_intrmap.c
831
intrmap_t *intrmap;
usr/src/uts/i86pc/io/immu_intrmap.c
841
intrmap = immu->immu_intrmap;
usr/src/uts/i86pc/io/immu_intrmap.c
844
bzero(intrmap->intrmap_vaddr + idx * INTRMAP_RTE_SIZE,
usr/src/uts/i86pc/io/immu_intrmap.c
849
mutex_enter(&intrmap->intrmap_lock);
usr/src/uts/i86pc/io/immu_intrmap.c
850
bitset_del(&intrmap->intrmap_map, idx);
usr/src/uts/i86pc/io/immu_intrmap.c
851
if (intrmap->intrmap_free == INTRMAP_IDX_FULL) {
usr/src/uts/i86pc/io/immu_intrmap.c
852
intrmap->intrmap_free = idx;
usr/src/uts/i86pc/io/immu_intrmap.c
854
mutex_exit(&intrmap->intrmap_lock);