Lines Matching defs:boundary
612 * "boundary" is non-zero, then the set of physical pages cannot cross any
613 * physical address boundary that is a multiple of that value. Both
614 * "alignment" and "boundary" must be a power of two.
624 u_long alignment, vm_paddr_t boundary)
652 * possible size satisfy the alignment and boundary requirements?
656 if (!vm_addr_ok(pa, size, alignment, boundary))
679 !vm_addr_ok(pa, size, alignment, boundary))
755 * Allocate the physical pages. The alignment and boundary specified
757 * boundary specified for the requested pages. For instance, the
767 boundary > VM_LEVEL_0_SIZE ? boundary : 0);
780 * boundary, but they do not always end at a reservation boundary.
1262 ("%s: Too big a boundary for reservation size", __func__));
1264 ("%s: Too many pages for given boundary", __func__));
1276 /* Skip to next boundary-matching page. */
1291 vm_paddr_t high, u_long alignment, vm_paddr_t boundary)
1301 KASSERT(powerof2(boundary), ("boundary is not a power of 2"));
1306 * Ensure that a free range starting at a boundary-multiple
1307 * doesn't include a boundary-multiple within it. Otherwise,
1308 * no boundary-constrained allocation is possible.
1310 if (!vm_addr_bound_ok(0, size, boundary))
1315 * Compute shifted alignment, boundary values for page-based
1321 ppn_bound = boundary == 0 ? VM_LEVEL_0_NPAGES :
1322 (int)(MIN(MAX(PAGE_SIZE, boundary),
1373 KASSERT(vm_addr_ok(pa, size, alignment, boundary),
1376 __func__, alignment, (uintmax_t)boundary));