Lines Matching refs:ref
221 IOMemoryDescriptorReserved * ref = (IOMemoryDescriptorReserved *) device_handle; in device_data_action() local
225 if (ref->dp.memory) { in device_data_action()
226 memDesc.reset(ref->dp.memory, OSRetain); in device_data_action()
241 IOMemoryDescriptorReserved * ref = (IOMemoryDescriptorReserved *) device_handle; in device_close() local
243 IOFreeType( ref, IOMemoryDescriptorReserved ); in device_close()
440 IOMemoryReference * ref; in memoryReferenceAlloc() local
450 ref = krealloc_type(IOMemoryReference, IOMemoryEntry, in memoryReferenceAlloc()
452 if (ref) { in memoryReferenceAlloc()
454 ref->refCount = 1; in memoryReferenceAlloc()
457 ref->capacity = capacity; in memoryReferenceAlloc()
459 return ref; in memoryReferenceAlloc()
463 IOGeneralMemoryDescriptor::memoryReferenceFree(IOMemoryReference * ref) in memoryReferenceFree() argument
467 if (ref->mapRef) { in memoryReferenceFree()
468 memoryReferenceFree(ref->mapRef); in memoryReferenceFree()
469 ref->mapRef = NULL; in memoryReferenceFree()
472 entries = ref->entries + ref->count; in memoryReferenceFree()
473 while (entries > &ref->entries[0]) { in memoryReferenceFree()
477 kfree_type(IOMemoryReference, IOMemoryEntry, ref->capacity, ref); in memoryReferenceFree()
483 IOGeneralMemoryDescriptor::memoryReferenceRelease(IOMemoryReference * ref) in memoryReferenceRelease() argument
485 if (1 == OSDecrementAtomic(&ref->refCount)) { in memoryReferenceRelease()
486 memoryReferenceFree(ref); in memoryReferenceRelease()
499 IOMemoryReference * ref; in memoryReferenceCreate() local
521 ref = memoryReferenceAlloc(kCapacity, NULL); in memoryReferenceCreate()
522 if (!ref) { in memoryReferenceCreate()
528 entries = &ref->entries[0]; in memoryReferenceCreate()
650 …DEBUG4K_IOKIT("IOMemRef %p _flags 0x%x prot 0x%x _ranges[%d]: 0x%llx 0x%llx\n", ref, (uint32_t)_fl… in memoryReferenceCreate()
714 if (count >= ref->capacity) { in memoryReferenceCreate()
715 ref = memoryReferenceAlloc(ref->capacity + kCapacityInc, ref); in memoryReferenceCreate()
716 entries = &ref->entries[count]; in memoryReferenceCreate()
783 ref->count = count; in memoryReferenceCreate()
784 ref->prot = prot; in memoryReferenceCreate()
789 err = memoryReferenceCreate(options | kIOMemoryReferenceCOW, &ref->mapRef); in memoryReferenceCreate()
791 DEBUG4K_ERROR("ref %p options 0x%x err 0x%x\n", ref, (unsigned int)options, err); in memoryReferenceCreate()
797 memoryReferenceFree(ref); in memoryReferenceCreate()
799 ref = _memRef; in memoryReferenceCreate()
802 DEBUG4K_ERROR("ref %p err 0x%x\n", ref, err); in memoryReferenceCreate()
803 memoryReferenceFree(ref); in memoryReferenceCreate()
804 ref = NULL; in memoryReferenceCreate()
807 *reference = ref; in memoryReferenceCreate()
850 IOMemoryDescriptorMapAllocRef * ref = (typeof(ref))_ref; in IOMemoryDescriptorMapAlloc() local
857 addr = ref->mapped; in IOMemoryDescriptorMapAlloc()
858 size = ref->size; in IOMemoryDescriptorMapAlloc()
861 if (kIOMapGuardedMask & ref->options) { in IOMemoryDescriptorMapAlloc()
862 if (!(kIOMapAnywhere & ref->options)) { in IOMemoryDescriptorMapAlloc()
865 guardSize = IOMemoryDescriptorMapGuardSize(map, ref->options); in IOMemoryDescriptorMapAlloc()
868 if (kIOMapAnywhere & ref->options) { in IOMemoryDescriptorMapAlloc()
873 vmk_flags.vm_tag = ref->tag; in IOMemoryDescriptorMapAlloc()
886 (vm_map_offset_t)((ref->options & kIOMapAnywhere) ? max(PAGE_MASK, vm_map_page_mask(map)) : 0), in IOMemoryDescriptorMapAlloc()
894 ref->prot, in IOMemoryDescriptorMapAlloc()
895 ref->prot, in IOMemoryDescriptorMapAlloc()
898 ref->mapped = (mach_vm_address_t) addr; in IOMemoryDescriptorMapAlloc()
899 ref->map = map; in IOMemoryDescriptorMapAlloc()
900 if (kIOMapGuardedMask & ref->options) { in IOMemoryDescriptorMapAlloc()
907 ref->mapped += guardSize; in IOMemoryDescriptorMapAlloc()
916 IOMemoryReference * ref, in memoryReferenceMap() argument
942 …DEBUG4K_IOKIT("ref %p map %p inoffset 0x%llx size 0x%llx options 0x%x *inaddr 0x%llx\n", ref, map,… in memoryReferenceMap()
944 if (ref->mapRef) { in memoryReferenceMap()
945 err = memoryReferenceMap(ref->mapRef, map, inoffset, size, options, inaddr); in memoryReferenceMap()
949 if (MAP_MEM_USE_DATA_ADDR & ref->prot) { in memoryReferenceMap()
950 err = memoryReferenceMapNew(ref, map, inoffset, size, options, inaddr); in memoryReferenceMap()
960 prot &= ref->prot; in memoryReferenceMap()
1015 (entryIdx < ref->count) && (offset >= ref->entries[entryIdx].offset); in memoryReferenceMap()
1019 entry = &ref->entries[entryIdx]; in memoryReferenceMap()
1033 IOMemoryDescriptorMapAllocRef ref; in memoryReferenceMap() local
1034 ref.map = map; in memoryReferenceMap()
1035 ref.tag = tag; in memoryReferenceMap()
1036 ref.options = options; in memoryReferenceMap()
1037 ref.size = size; in memoryReferenceMap()
1038 ref.prot = prot; in memoryReferenceMap()
1041 ref.mapped = 0; in memoryReferenceMap()
1043 ref.mapped = addr; in memoryReferenceMap()
1045 if ((ref.map == kernel_map) && (kIOMemoryBufferPageable & _flags)) { in memoryReferenceMap()
1046 err = IOIteratePageableMaps( ref.size, &IOMemoryDescriptorMapAlloc, &ref ); in memoryReferenceMap()
1048 err = IOMemoryDescriptorMapAlloc(ref.map, &ref); in memoryReferenceMap()
1051 addr = ref.mapped; in memoryReferenceMap()
1052 map = ref.map; in memoryReferenceMap()
1174 …MemRef %p mapped in map %p (pgshift %d) at 0x%llx size 0x%llx err 0x%x\n", ref, map, vm_map_page_s… in memoryReferenceMap()
1192 …DEBUG4K_ERROR("IOMemRef %p mapped in map %p (pgshift %d) at 0x%llx size 0x%llx err 0x%x\n", ref, m… in memoryReferenceMap()
1205 if (entryIdx >= ref->count) { in memoryReferenceMap()
1207 …tryIdx %d ref->count %d\n", map, inoffset, size, (uint32_t)options, *inaddr, entryIdx, ref->count); in memoryReferenceMap()
1227 IOMemoryReference * ref, in memoryReferenceMapNew() argument
1250 …DEBUG4K_IOKIT("ref %p map %p inoffset 0x%llx size 0x%llx options 0x%x *inaddr 0x%llx\n", ref, map,… in memoryReferenceMapNew()
1252 if (ref->mapRef) { in memoryReferenceMapNew()
1253 err = memoryReferenceMap(ref->mapRef, map, inoffset, size, options, inaddr); in memoryReferenceMapNew()
1267 prot &= ref->prot; in memoryReferenceMapNew()
1286 (firstEntryIdx < ref->count) && (offset >= ref->entries[firstEntryIdx].offset); in memoryReferenceMapNew()
1294 entry = &ref->entries[entryIdx]; in memoryReferenceMapNew()
1328 if (entryIdx >= ref->count) { in memoryReferenceMapNew()
1341 IOMemoryDescriptorMapAllocRef ref; in memoryReferenceMapNew() local
1342 ref.map = map; in memoryReferenceMapNew()
1343 ref.tag = tag; in memoryReferenceMapNew()
1344 ref.options = options; in memoryReferenceMapNew()
1345 ref.size = mapSize; in memoryReferenceMapNew()
1346 ref.prot = prot; in memoryReferenceMapNew()
1349 ref.mapped = 0; in memoryReferenceMapNew()
1351 ref.mapped = addr; in memoryReferenceMapNew()
1353 if ((ref.map == kernel_map) && (kIOMemoryBufferPageable & _flags)) { in memoryReferenceMapNew()
1354 err = IOIteratePageableMaps( ref.size, &IOMemoryDescriptorMapAlloc, &ref ); in memoryReferenceMapNew()
1356 err = IOMemoryDescriptorMapAlloc(ref.map, &ref); in memoryReferenceMapNew()
1360 addr = ref.mapped; in memoryReferenceMapNew()
1361 map = ref.map; in memoryReferenceMapNew()
1438 entry = &ref->entries[entryIdx]; in memoryReferenceMapNew()
1526 if (entryIdx >= ref->count) { in memoryReferenceMapNew()
1547 IOMemoryReference * ref, in memoryReferenceGetDMAMapLength() argument
1555 assert(ref->count); in memoryReferenceGetDMAMapLength()
1560 for (idx = 0; idx < ref->count; idx++) { in memoryReferenceGetDMAMapLength()
1561 kr = mach_memory_entry_phys_page_offset(ref->entries[idx].entry, in memoryReferenceGetDMAMapLength()
1564 DEBUG4K_ERROR("ref %p entry %p kr 0x%x\n", ref, ref->entries[idx].entry, kr); in memoryReferenceGetDMAMapLength()
1566 …DEBUG4K_IOKIT("ref %p entry %p offset 0x%llx kr 0x%x\n", ref, ref->entries[0].entry, data_offset, … in memoryReferenceGetDMAMapLength()
1571 total += round_page(data_offset + ref->entries[idx].size); in memoryReferenceGetDMAMapLength()
1574 DEBUG4K_IOKIT("ref %p offset 0x%llx total 0x%llx\n", ref, in memoryReferenceGetDMAMapLength()
1583 IOMemoryReference * ref, in memoryReferenceGetPageCounts() argument
1594 entries = ref->entries + ref->count; in memoryReferenceGetPageCounts()
1595 while (entries > &ref->entries[0]) { in memoryReferenceGetPageCounts()
1616 IOMemoryReference * ref, in memoryReferenceSetPurgeable() argument
1627 entries = ref->entries + ref->count; in memoryReferenceSetPurgeable()
1628 while (entries > &ref->entries[0]) { in memoryReferenceSetPurgeable()
1665 IOMemoryReference * ref, in memoryReferenceSetOwnership() argument
1674 entries = ref->entries + ref->count; in memoryReferenceSetOwnership()
1675 while (entries > &ref->entries[0]) { in memoryReferenceSetOwnership()