Lines Matching refs:alignment

432 void *cvmx_bootmem_alloc_range(uint64_t size, uint64_t alignment, uint64_t min_addr, uint64_t max_addr)
437 address = cvmx_bootmem_phy_alloc(size, min_addr, max_addr, alignment, 0);
448 void *cvmx_bootmem_alloc_address(uint64_t size, uint64_t address, uint64_t alignment)
450 return cvmx_bootmem_alloc_range(size, alignment, address, address + size);
454 void *cvmx_bootmem_alloc(uint64_t size, uint64_t alignment)
456 return cvmx_bootmem_alloc_range(size, alignment, 0, 0);
478 void *cvmx_bootmem_alloc_named(uint64_t size, uint64_t alignment, const char *name)
480 return(cvmx_bootmem_alloc_named_range(size, 0, 0, alignment, name));
544 int64_t cvmx_bootmem_phy_alloc(uint64_t req_size, uint64_t address_min, uint64_t address_max, uint64_t alignment, uint32_t flags)
552 uint64_t alignment_mask = ~(alignment - 1);
556 (ULL)req_size, (ULL)address_min, (ULL)address_max, (ULL)alignment);
571 /* Round req_size up to mult of minimum alignment bytes */
584 /* Enforce minimum alignment (this also keeps the minimum free block
585 ** req_size the same as the alignment req_size */
586 if (alignment < CVMX_BOOTMEM_ALIGNMENT_SIZE)
588 alignment = CVMX_BOOTMEM_ALIGNMENT_SIZE;
590 alignment_mask = ~(alignment - 1);
592 /* Adjust address minimum based on requested alignment (round up to meet alignment). Do this here so we can
594 if (alignment)
595 address_min = (address_min + (alignment - 1)) & ~(alignment - 1);
639 /* Align desired address down to required alignment */
936 int64_t cvmx_bootmem_phy_named_block_alloc(uint64_t size, uint64_t min_addr, uint64_t max_addr, uint64_t alignment, const char *name, uint32_t flags)
946 (ULL)alignment,
972 /* Round size up to mult of minimum alignment bytes
978 addr_allocated = cvmx_bootmem_phy_alloc(size, min_addr, max_addr, alignment, flags | CVMX_BOOTMEM_FLAG_NO_LOCKING);