• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10/IOPCIFamily-239.1.2/

Lines Matching refs:range

64 void IOPCIRangeFree(IOPCIRange * range)
66 // memset(range, 0xBB, sizeof(*range));
68 IODelete(range, IOPCIRange, 1);
70 free(range);
74 void IOPCIRangeInit(IOPCIRange * range, uint32_t type,
77 bzero(range, sizeof(*range));
78 range->type = type;
79 range->start = start;
80 // range->size = 0;
81 range->proposedSize = size;
82 range->totalSize = size;
83 range->end = start;
84 // range->zero = 0;
85 range->alignment = alignment ? alignment : size;
86 // range->minAddress = 0;
87 range->maxAddress = 0xFFFFFFFF;
88 range->allocations = (IOPCIRange *) &range->end;
91 void IOPCIRangeInitAlloc(IOPCIRange * range, uint32_t type,
94 IOPCIRangeInit(range, type, start, size, alignment);
95 range->size = range->proposedSize;
96 range->end = range->start + range->size;
105 IOPCIRange * range;
113 for (prev = rangeList; (range = *prev); prev = &range->next)
115 if (((start >= range->start) && (start < range->end))
116 || ((end > range->start) && (end <= range->end))
117 || ((start < range->start) && (end > range->end)))
119 range = NULL;
123 if (end == range->start)
125 range->start = start;
126 range->size = range->end - range->start;
127 range->proposedSize = range->size;
131 if (start == range->end)
133 if ((nextRange = range->next) && (nextRange->start == end))
138 range->next = nextRange->next;
141 range->end = end;
142 range->size = end - range->start;
143 range->proposedSize = range->size;
147 if (range->start > end)
158 nextRange->next = range;
181 IOPCIRange * range;
186 range = headRange->allocations;
190 if (!range->size)
193 start = range->start;
194 end = range->end;
195 range = range->nextSubRange;
239 IOPCIRange * range;
241 range = headRange->allocations;
246 if (!range->size) break;
247 last = range->end;
248 range = range->nextSubRange;
267 IOPCIRange * range;
270 range = headRange->allocations;
278 assert(range->start >= prev->end);
279 free += (range->start - prev->end);
282 if (!range->size) break;
284 range->nextToAllocate = prev;
286 & range->flags) count++;
287 prev = range;
288 range = range->nextSubRange;
295 for (range = prev; free && range; end = range->start, range = range->nextToAllocate)
297 if (!(kIOPCIRangeFlagRelocatable & range->flags)) continue;
300 if ((kIOPCIRangeFlagMaximizeSize | kIOPCIRangeFlagSplay) & range->flags)
303 chunk = IOPCIScalarTrunc(chunk, range->alignment);
308 next = range->end;
310 tail = IOPCIScalarTrunc(end - next, range->alignment);
313 if (kIOPCIRangeFlagSplay & range->flags)
316 range->end += bump;
317 range->start += bump;
321 range->size += chunk;
322 range->proposedSize = range->size;
323 range->end = end;
324 range->start = range->end - range->size;
327 if (range->start > headRange->end) panic("s>");
328 if (range->start < headRange->start) panic("s<");
329 if (range->end > headRange->end) panic("e>");
330 if (range->end < headRange->start) panic("e<");
354 IOPCIRange * range = NULL;
373 range = NULL;
376 if (range)
379 if (!range->size)
382 range = NULL;
385 pos = range->end;
386 prev = &range->nextSubRange;
388 range = *prev;
389 if (range == newRange)
392 range = range->nextSubRange;
394 endPos = range->start;
437 // best candidate, will queue prev->newRange->range
441 whereNext = range;
468 IOPCIRange * range = NULL;
473 range = oldRange->allocations;
474 if (!range->size)
476 IOPCIRangeListDeallocateSubRange(oldRange, range);
480 for (range = NULL;
481 headRange && !range;
487 range = *prev;
488 if (range == oldRange)
491 if (!range->size)
493 range = NULL;
497 while (prev = &range->nextSubRange, true);
500 if (range)
502 *prev = range->nextSubRange;
511 return (range != 0);
516 IOPCIRange * range;
527 range = head->allocations;
531 if (range == (IOPCIRange *) &head->end)
536 kprintf("[%d].start 0x%llx\n", idx, range->start);
537 kprintf("[%d].size 0x%llx\n", idx, range->size);
538 kprintf("[%d].end 0x%llx\n", idx, range->end);
539 kprintf("[%d].alignment 0x%llx\n", idx, range->alignment);
541 range = range->nextSubRange;
555 IOPCIRange * range;
572 range = elems[0];
573 IOPCIRangeInit(range, 0, 0, 0x0000000000100000, 0x0000000000100000);
574 ok = IOPCIRangeListAllocateSubRange(head, range);
577 range = elems[1];
578 IOPCIRangeInit(range, 0, 0, 0x0000000000f00000, 0x400000);
579 range->flags |= kIOPCIRangeFlagRelocatable | kIOPCIRangeFlagSplay;
580 ok = IOPCIRangeListAllocateSubRange(head, range);
598 range = elems[0];
599 IOPCIRangeInit(range, 0, 0x25, 1, 1);
600 ok = IOPCIRangeListAllocateSubRange(head, range);
603 range = elems[1];
604 IOPCIRangeInit(range, 0, 0, 6, 1);
605 range->size = 1;
606 range->flags |= kIOPCIRangeFlagMaximizeSize;
607 ok = IOPCIRangeListAllocateSubRange(head, range);
609 assert(range->proposedSize == range->size);
613 range = elems[2];
614 IOPCIRangeInit(range, 0, 0x7, 1, 1);
615 ok = IOPCIRangeListAllocateSubRange(head, range);
618 range = elems[3];
619 IOPCIRangeInit(range, 0, 0x6, 0x1, 1);
620 ok = IOPCIRangeListAllocateSubRange(head, range);
623 range = elems[4];
624 IOPCIRangeInit(range, 0, 0x8, 1, 1);
625 ok = IOPCIRangeListAllocateSubRange(head, range);
630 range = elems[5];
631 IOPCIRangeInit(range, 0, 0, 0xa, 1);
632 range->size = 9;
633 ok = IOPCIRangeListAllocateSubRange(head, range);
634 assert(0xa == range->size);
640 range = elems[2];
641 IOPCIRangeInit(range, 0, 0, 0xe, 1);
642 range->flags |= flags;
643 ok = IOPCIRangeListAllocateSubRange(head, range);
646 range = elems[3];
647 IOPCIRangeInit(range, 0, 0, 0x7, 1);
648 range->flags |= flags;
649 ok = IOPCIRangeListAllocateSubRange(head, range);
652 range = elems[4];
653 IOPCIRangeInit(range, 0, 0, 0x7, 1);
654 range->flags |= flags;
655 ok = IOPCIRangeListAllocateSubRange(head, range);
676 range = elems[0];
677 IOPCIRangeInit(range, 0, 0xa0800000, 0x40000, 0x40000);
678 ok = IOPCIRangeListAllocateSubRange(head, range);
681 range = elems[1];
682 IOPCIRangeInit(range, 0, 0xa0a00000, 0x400000, 0x100000);
683 ok = IOPCIRangeListAllocateSubRange(head, range);
686 range->proposedSize = 0x300000;
687 ok = IOPCIRangeListAllocateSubRange(head, range);
689 // ok = IOPCIRangeListDeallocateSubRange(head, range);
699 range = elems[4];
700 range->start = 0x06;
701 range->proposedSize = 0x01;
702 range->alignment = 1;
703 ok = IOPCIRangeListAllocateSubRange(head, range);
706 range = elems[3];
707 range->start = 0x07;
708 range->proposedSize = 0x01;
709 range->alignment = 1;
710 ok = IOPCIRangeListAllocateSubRange(head, range);
713 range = elems[1];
714 range->start = 1*0x87;
715 range->size = 3;
716 range->proposedSize = 3;
717 range->alignment = 1;
718 range->flags = kIOPCIRangeFlagSplay;
719 ok = IOPCIRangeListAllocateSubRange(head, range);
722 range = elems[2];
723 range->start = 0;
724 range->proposedSize = 2;
725 range->alignment = 1;
726 range->flags = kIOPCIRangeFlagSplay;
727 ok = IOPCIRangeListAllocateSubRange(head, range);
731 range = elems[5];
732 range->start = 0;
733 range->proposedSize = 1;
734 range->alignment = 1;
735 range->flags = kIOPCIRangeFlagSplay;
736 ok = IOPCIRangeListAllocateSubRange(head, range);
739 range = elems[6];
740 range->start = 0;
741 range->proposedSize = 1;
742 range->alignment = 1;
743 range->flags = kIOPCIRangeFlagSplay;
744 ok = IOPCIRangeListAllocateSubRange(head, range);
758 range = elems[0];
759 ok = IOPCIRangeListAllocateSubRange(head, range);
760 printf("alloc(%d) [0x%llx, 0x%llx]\n", ok, range->start, range->size);
792 range = requests;
794 while (range)
796 printf("[%ld].start 0x%llx\n", idx, range->start);
797 printf("[%ld].size 0x%llx\n", idx, range->size);
798 printf("[%ld].end 0x%llx\n", idx, range->end);
799 printf("[%ld].alignment 0x%llx\n", idx, range->alignment);
801 range = range->nextSubRange;
804 while ((range = requests))
806 requests = range->nextSubRange;
807 ok = IOPCIRangeListAllocateSubRange(head, range);
808 printf("alloc(%d) [0x%llx, 0x%llx]\n", ok, range->start, range->size);
819 range = elems[idx];
820 if (range->size && range->start)
822 ok = IOPCIRangeListDeallocateSubRange(head, range);
823 printf("dealloc(%d) [0x%llx, 0x%llx]\n", ok, range->start, range->size);
824 ok = IOPCIRangeListAllocateSubRange(head, range);
825 printf("alloc(%d) [0x%llx, 0x%llx]\n", ok, range->start, range->size);
830 range = elems[5];
831 range->proposedSize = 2 * range->size;
832 ok = IOPCIRangeListAllocateSubRange(head, range);
833 printf("extalloc(%d) [0x%llx, 0x%llx]\n", ok, range->start, range->size);
834 range = elems[0];
835 range->proposedSize = 2 * range->size;
836 ok = IOPCIRangeListAllocateSubRange(head, range);
837 printf("extalloc(%d) [0x%llx, 0x%llx]\n", ok, range->start, range->size);
838 range->proposedSize = 2 * range->size;
839 ok = IOPCIRangeListAllocateSubRange(head, range, range->start - range->size);
840 printf("extalloc(%d) [0x%llx, 0x%llx]\n", ok, range->start, range->size);