unsigned int align_order)
{
unsigned long n, end, i, start;
- unsigned long start_addr, end_addr;
unsigned long limit;
int largealloc = npages > 15;
int pass = 0;
}
}
- /* DMA cannot cross 4 GB boundary */
- start_addr = (n + tbl->it_offset) << PAGE_SHIFT;
- end_addr = (end + tbl->it_offset) << PAGE_SHIFT;
- if ((start_addr >> 32) != (end_addr >> 32)) {
- end_addr &= 0xffffffff00000000l;
- start = (end_addr >> PAGE_SHIFT) - tbl->it_offset;
- goto again;
- }
-
for (i = n; i < end; i++)
if (test_bit(i, tbl->it_map)) {
start = i+1;