Lines Matching refs:size

68 #define IOStatisticsAlloc(type, size) \  argument
70 IOStatistics::countAlloc(type, size); \
75 #define IOStatisticsAlloc(type, size) argument
238 log2up(vm_size_t size) in log2up() argument
240 if (size <= 1) { in log2up()
241 size = 0; in log2up()
244 size = 64 - __builtin_clzl(size - 1); in log2up()
246 size = 32 - __builtin_clzl(size - 1); in log2up()
249 return size; in log2up()
296 (IOMalloc_internal)(struct kalloc_heap *kheap, vm_size_t size,
302 allocSize = size + sizeofIOLibMallocHeader;
304 if (sizeofIOLibMallocHeader && (allocSize <= size)) {
318 hdr->tracking.size = size;
319 IOTrackingAdd(gIOMallocTracking, &hdr->tracking.tracking, size, true, VM_KERN_MEMORY_NONE);
325 OSAddAtomicLong(size, &debug_iomalloc_size);
327 IOStatisticsAlloc(kIOStatisticsMalloc, size);
334 IOFree_internal(struct kalloc_heap *kheap, void * inAddress, vm_size_t size) in IOFree_internal() argument
352 if (size != hdr->tracking.size) { in IOFree_internal()
354 (size_t)size, (size_t)hdr->tracking.size); in IOFree_internal()
355 size = hdr->tracking.size; in IOFree_internal()
357 IOTrackingRemoveAddress(gIOMallocTracking, &hdr->tracking, size); in IOFree_internal()
362 kheap_free(kheap, address, size + sizeofIOLibMallocHeader); in IOFree_internal()
364 OSAddAtomicLong(-size, &debug_iomalloc_size); in IOFree_internal()
366 IOStatisticsAlloc(kIOStatisticsFree, size); in IOFree_internal()
372 vm_size_t size);
375 vm_size_t size) in IOMalloc_external() argument
377 return IOMalloc_internal(KHEAP_DEFAULT, size, Z_VM_TAG_BT_BIT); in IOMalloc_external()
381 IOFree(void * inAddress, vm_size_t size) in IOFree() argument
383 IOFree_internal(KHEAP_DEFAULT, inAddress, size); in IOFree()
390 vm_size_t size);
393 vm_size_t size) in IOMallocZero_external() argument
395 return IOMalloc_internal(KHEAP_DEFAULT, size, Z_ZERO_VM_TAG_BT_BIT); in IOMallocZero_external()
459 vm_size_t size) in IOMallocAlignedHdrCorruptionPanic() argument
483 alignMask, (size_t)size, (void *)alignedStart); in IOMallocAlignedHdrCorruptionPanic()
490 vm_size_t *size) in IOMallocAlignedGetAddress() argument
508 os_add_overflow(*size, alignMask, size)) { in IOMallocAlignedGetAddress()
509 IOMallocAlignedHdrCorruptionPanic(offset, alignMask, alignedStart, *size); in IOMallocAlignedGetAddress()
515 (IOMallocAligned_internal)(struct kalloc_heap *kheap, vm_size_t size,
526 if (size == 0) {
543 adjustedSize = size + sizeofIOLibPageMallocHeader;
545 if (size > adjustedSize) {
549 size, alignMask, kma_flags, IOMemoryTag(kernel_map));
555 IOTrackingAlloc(gIOMallocTracking, address, size);
582 hdr->tracking.size = size;
583 IOTrackingAdd(gIOMallocTracking, &hdr->tracking.tracking, size, true, VM_KERN_MEMORY_NONE);
595 OSAddAtomicLong(size, &debug_iomalloc_size);
597 IOStatisticsAlloc(kIOStatisticsMallocAligned, size);
604 IOFreeAligned_internal(kalloc_heap_t kheap, void * address, vm_size_t size) in IOFreeAligned_internal() argument
614 assert(size); in IOFreeAligned_internal()
616 adjustedSize = size + sizeofIOLibPageMallocHeader; in IOFreeAligned_internal()
620 IOTrackingFree(gIOMallocTracking, (uintptr_t) address, size); in IOFreeAligned_internal()
623 kmem_free(kernel_map, (vm_offset_t) address, size); in IOFreeAligned_internal()
631 if (size != hdr->tracking.size) { in IOFreeAligned_internal()
633 (size_t)size, (size_t)hdr->tracking.size); in IOFreeAligned_internal()
634 size = hdr->tracking.size; in IOFreeAligned_internal()
636 IOTrackingRemoveAddress(gIOMallocTracking, &hdr->tracking, size); in IOFreeAligned_internal()
647 OSAddAtomicLong(-size, &debug_iomalloc_size); in IOFreeAligned_internal()
650 IOStatisticsAlloc(kIOStatisticsFreeAligned, size); in IOFreeAligned_internal()
655 vm_size_t size, vm_size_t alignment);
658 vm_size_t size, vm_size_t alignment) in IOMallocAligned_external() argument
660 return IOMallocAligned_internal(KHEAP_DATA_BUFFERS, size, alignment, in IOMallocAligned_external()
667 vm_size_t size) in IOFreeAligned() argument
669 IOFreeAligned_internal(KHEAP_DATA_BUFFERS, address, size); in IOFreeAligned()
680 mach_vm_size_t size) in IOKernelFreePhysical() argument
690 assert(size); in IOKernelFreePhysical()
692 adjustedSize = (2 * size) + sizeofIOLibPageMallocHeader; in IOKernelFreePhysical()
696 IOTrackingFree(gIOMallocTracking, address, size); in IOKernelFreePhysical()
699 kmem_free(kernel_map, (vm_offset_t) address, size); in IOKernelFreePhysical()
705 IOTrackingRemoveAddress(gIOMallocTracking, &hdr->tracking, size); in IOKernelFreePhysical()
711 IOStatisticsAlloc(kIOStatisticsFreeContiguous, size); in IOKernelFreePhysical()
713 OSAddAtomicLong(-size, &debug_iomalloc_size); in IOKernelFreePhysical()
724 mach_vm_size_t size, in IOKernelAllocateWithPhysicalRestrict() argument
736 if (size == 0) { in IOKernelAllocateWithPhysicalRestrict()
745 if (os_mul_and_add_overflow(2, size, sizeofIOLibPageMallocHeader, &adjustedSize)) { in IOKernelAllocateWithPhysicalRestrict()
760 adjustedSize = size; in IOKernelAllocateWithPhysicalRestrict()
778 kr = kmem_alloc_contig(kernel_map, &virt, size, in IOKernelAllocateWithPhysicalRestrict()
783 size, alignMask, options, IOMemoryTag(kernel_map)); in IOKernelAllocateWithPhysicalRestrict()
789 IOTrackingAlloc(gIOMallocTracking, address, size); in IOKernelAllocateWithPhysicalRestrict()
797 if (adjustedSize < size) { in IOKernelAllocateWithPhysicalRestrict()
811 if (atop_32(address) != atop_32(address + size - 1)) { in IOKernelAllocateWithPhysicalRestrict()
821 hdr->tracking.size = size; in IOKernelAllocateWithPhysicalRestrict()
822 IOTrackingAdd(gIOMallocTracking, &hdr->tracking.tracking, size, true, VM_KERN_MEMORY_NONE); in IOKernelAllocateWithPhysicalRestrict()
831 IOStatisticsAlloc(kIOStatisticsMallocContiguous, size); in IOKernelAllocateWithPhysicalRestrict()
833 OSAddAtomicLong(size, &debug_iomalloc_size); in IOKernelAllocateWithPhysicalRestrict()
851 IOMallocContiguous(vm_size_t size, vm_size_t alignment, in IOMallocContiguous() argument
856 if (size == 0) { in IOMallocContiguous()
866 size, 0 /*maxPhys*/, alignment, true); in IOMallocContiguous()
877 kernel_task, kIOMemoryPhysicallyContiguous, size, physicalMask); in IOMallocContiguous()
904 IOFreeContiguous(void * _address, vm_size_t size) in IOFreeContiguous() argument
915 assert(size); in IOFreeContiguous()
934 IOKernelFreePhysical(KHEAP_DEFAULT, (mach_vm_address_t) address, size); in IOFreeContiguous()
941 IOIteratePageableMaps(vm_size_t size, in IOIteratePageableMaps() argument
952 if (size > kIOPageableMaxMapSize) { in IOIteratePageableMaps()
983 if (size < kIOPageableMapSize) { in IOIteratePageableMaps()
986 segSize = size; in IOIteratePageableMaps()
1026 vm_size_t size; member
1036 return kmem_alloc( map, &ref->address, ref->size, flags, ref->tag ); in IOMallocPageableCallback()
1040 IOMallocPageablePages(vm_size_t size, vm_size_t alignment, vm_tag_t tag) in IOMallocPageablePages() argument
1048 if (size > kIOPageableMaxMapSize) { in IOMallocPageablePages()
1052 ref.size = size; in IOMallocPageablePages()
1054 kr = IOIteratePageableMaps( size, &IOMallocPageableCallback, &ref ); in IOMallocPageablePages()
1083 IOFreePageablePages(void * address, vm_size_t size) in IOFreePageablePages() argument
1089 kmem_free( map, (vm_offset_t) address, size); in IOFreePageablePages()
1102 IOMallocPageableInternal(vm_size_t size, vm_size_t alignment, bool zeroed) in IOMallocPageableInternal() argument
1110 if (size >= (page_size - 4 * gIOPageAllocChunkBytes) || in IOMallocPageableInternal()
1112 addr = IOMallocPageablePages(size, alignment, IOMemoryTag(kernel_map)); in IOMallocPageableInternal()
1116 &IOMallocOnePageablePage, KHEAP_DEFAULT, size, (uint32_t) alignment)); in IOMallocPageableInternal()
1118 bzero(addr, size); in IOMallocPageableInternal()
1122 vm_size_t allocSize = size; in IOMallocPageableInternal()
1132 OSAddAtomicLong(size, &debug_iomallocpageable_size); in IOMallocPageableInternal()
1134 IOStatisticsAlloc(kIOStatisticsMallocPageable, size); in IOMallocPageableInternal()
1141 IOMallocPageable(vm_size_t size, vm_size_t alignment) in IOMallocPageable() argument
1143 return IOMallocPageableInternal(size, alignment, /*zeroed*/ false); in IOMallocPageable()
1147 IOMallocPageableZero(vm_size_t size, vm_size_t alignment) in IOMallocPageableZero() argument
1149 return IOMallocPageableInternal(size, alignment, /*zeroed*/ true); in IOMallocPageableZero()
1153 IOFreePageable(void * address, vm_size_t size) in IOFreePageable() argument
1156 OSAddAtomicLong(-size, &debug_iomallocpageable_size); in IOFreePageable()
1158 IOStatisticsAlloc(kIOStatisticsFreePageable, size); in IOFreePageable()
1161 if (size < (page_size - 4 * gIOPageAllocChunkBytes)) { in IOFreePageable()
1162 address = (void *) iopa_free(&gIOPageablePageAllocator, (uintptr_t) address, size); in IOFreePageable()
1163 size = page_size; in IOFreePageable()
1166 IOFreePageablePages(address, size); in IOFreePageable()
1169 if (size == 0) { in IOFreePageable()
1170 size = 1; in IOFreePageable()
1173 IOFreePageablePages(address, size); in IOFreePageable()
1182 vm_size_t size);
1184 IOMallocData_external(vm_size_t size) in IOMallocData_external() argument
1186 return IOMalloc_internal(KHEAP_DATA_BUFFERS, size, Z_VM_TAG_BT_BIT); in IOMallocData_external()
1191 vm_size_t size);
1193 IOMallocZeroData_external(vm_size_t size) in IOMallocZeroData_external() argument
1195 return IOMalloc_internal(KHEAP_DATA_BUFFERS, size, Z_ZERO_VM_TAG_BT_BIT); in IOMallocZeroData_external()
1199 IOFreeData(void * address, vm_size_t size) in IOFreeData() argument
1201 return IOFree_internal(KHEAP_DATA_BUFFERS, address, size); in IOFreeData()
1256 IOMallocTypeVarImpl(kalloc_type_var_view_t kt_view, vm_size_t size) in IOMallocTypeVarImpl() argument
1265 return IOMalloc_internal(KHEAP_DEFAULT, size, Z_ZERO); in IOMallocTypeVarImpl()
1271 return kalloc_type_var_impl(kt_view, size, kt_flags, NULL); in IOMallocTypeVarImpl()
1276 vm_size_t size) in IOFreeTypeVarImpl() argument
1280 return IOFree_internal(KHEAP_DEFAULT, address, size); in IOFreeTypeVarImpl()
1284 return kfree_type_var_impl(kt_view, address, size); in IOFreeTypeVarImpl()
1609 IOKitKernelLogBuffer(const char * title, const void * buffer, size_t size, in IOKitKernelLogBuffer() argument
1617 output("%s(0x%lx):\n", title, size); in IOKitKernelLogBuffer()
1619 if (size > 4096) { in IOKitKernelLogBuffer()
1620 size = 4096; in IOKitKernelLogBuffer()
1623 for (idx = 0, linestart = 0; idx < size;) { in IOKitKernelLogBuffer()
1628 if ((idx == size) || !(idx & 15)) { in IOKitKernelLogBuffer()
1685 IOSizeToAlignment(unsigned int size) in IOSizeToAlignment() argument
1691 if (size & 0x80000000) { in IOSizeToAlignment()
1694 size <<= 1; in IOSizeToAlignment()
1702 unsigned int size; in IOAlignmentToSize() local
1704 for (size = 1; align; align--) { in IOAlignmentToSize()
1705 size <<= 1; in IOAlignmentToSize()
1707 return size; in IOAlignmentToSize()