Lines Matching +full:align +full:- +full:end

1 /* SPDX-License-Identifier: GPL-2.0-or-later */
28 * enum memblock_flags - definition of memory region attributes
30 * @MEMBLOCK_HOTPLUG: memory region indicated in the firmware-provided memory
40 * via a driver, and never indicated in the firmware-provided memory map as
56 * struct memblock_region - represents a memory region
72 * struct memblock_type - collection of memory regions of certain type
88 * struct memblock - memblock allocator metadata
123 void memblock_trim_memory(phys_addr_t align);
164 * for_each_physmem_range - iterate through physmem areas not included in type.
168 * @p_end: ptr to phys_addr_t for end address of the range, can be %NULL
177 * __for_each_mem_range - iterate through memblock areas from type_a and not
185 * @p_end: ptr to phys_addr_t for end address of the range, can be %NULL
197 * __for_each_mem_range_rev - reverse iterate through memblock areas from
205 * @p_end: ptr to phys_addr_t for end address of the range, can be %NULL
218 * for_each_mem_range - iterate through memory areas.
221 * @p_end: ptr to phys_addr_t for end address of the range, can be %NULL
229 * for_each_mem_range_rev - reverse iterate through memblock areas from
233 * @p_end: ptr to phys_addr_t for end address of the range, can be %NULL
241 * for_each_reserved_mem_range - iterate over all reserved memblock areas
244 * @p_end: ptr to phys_addr_t for end address of the range, can be %NULL
255 return m->flags & MEMBLOCK_HOTPLUG; in memblock_is_hotpluggable()
260 return m->flags & MEMBLOCK_MIRROR; in memblock_is_mirror()
265 return m->flags & MEMBLOCK_NOMAP; in memblock_is_nomap()
270 return m->flags & MEMBLOCK_RSRV_NOINIT; in memblock_is_reserved_noinit()
275 return m->flags & MEMBLOCK_DRIVER_MANAGED; in memblock_is_driver_managed()
284 * for_each_mem_pfn_range - early memory pfn range iterator
288 * @p_end: ptr to ulong for end pfn of the range, can be %NULL
294 for (i = -1, __next_mem_pfn_range(&i, nid, p_start, p_end, p_nid); \
303 * for_each_free_mem_pfn_range_in_zone_from - iterate through zone specific
308 * @p_end: ptr to phys_addr_t for end address of the range, can be %NULL
321 * for_each_free_mem_range - iterate through free memblock areas
326 * @p_end: ptr to phys_addr_t for end address of the range, can be %NULL
337 * for_each_free_mem_range_reverse - rev-iterate through free memblock areas
342 * @p_end: ptr to phys_addr_t for end address of the range, can be %NULL
359 r->nid = nid; in memblock_set_region_node()
364 return r->nid; in memblock_get_region_node()
393 phys_addr_t memblock_phys_alloc_range(phys_addr_t size, phys_addr_t align,
394 phys_addr_t start, phys_addr_t end);
396 phys_addr_t align, phys_addr_t start,
397 phys_addr_t end, int nid, bool exact_nid);
398 phys_addr_t memblock_phys_alloc_try_nid(phys_addr_t size, phys_addr_t align, int nid);
401 phys_addr_t align) in memblock_phys_alloc() argument
403 return memblock_phys_alloc_range(size, align, 0, in memblock_phys_alloc()
407 void *memblock_alloc_exact_nid_raw(phys_addr_t size, phys_addr_t align,
410 void *memblock_alloc_try_nid_raw(phys_addr_t size, phys_addr_t align,
413 void *memblock_alloc_try_nid(phys_addr_t size, phys_addr_t align,
417 static __always_inline void *memblock_alloc(phys_addr_t size, phys_addr_t align) in memblock_alloc() argument
419 return memblock_alloc_try_nid(size, align, MEMBLOCK_LOW_LIMIT, in memblock_alloc()
423 void *__memblock_alloc_or_panic(phys_addr_t size, phys_addr_t align,
426 #define memblock_alloc_or_panic(size, align) \ argument
427 __memblock_alloc_or_panic(size, align, __func__)
430 phys_addr_t align) in memblock_alloc_raw() argument
432 return memblock_alloc_try_nid_raw(size, align, MEMBLOCK_LOW_LIMIT, in memblock_alloc_raw()
438 phys_addr_t align, in memblock_alloc_from() argument
441 return memblock_alloc_try_nid(size, align, min_addr, in memblock_alloc_from()
446 phys_addr_t align) in memblock_alloc_low() argument
448 return memblock_alloc_try_nid(size, align, MEMBLOCK_LOW_LIMIT, in memblock_alloc_low()
453 phys_addr_t align, int nid) in memblock_alloc_node() argument
455 return memblock_alloc_try_nid(size, align, MEMBLOCK_LOW_LIMIT, in memblock_alloc_node()
460 * Set the allocation direction to bottom-up or top-down.
468 * Check if the allocation direction is bottom-up or not.
470 * in bottom-up direction.
494 * memblock_set_current_limit - Set the current allocation limit to allow
513 * memblock_region_memory_base_pfn - get the lowest pfn of the memory region
520 return PFN_UP(reg->base); in memblock_region_memory_base_pfn()
524 * memblock_region_memory_end_pfn - get the end pfn of the memory region
531 return PFN_DOWN(reg->base + reg->size); in memblock_region_memory_end_pfn()
535 * memblock_region_reserved_base_pfn - get the lowest pfn of the reserved region
542 return PFN_DOWN(reg->base); in memblock_region_reserved_base_pfn()
546 * memblock_region_reserved_end_pfn - get the end pfn of the reserved region
553 return PFN_UP(reg->base + reg->size); in memblock_region_reserved_end_pfn()
557 * for_each_mem_region - iterate over memory regions
566 * for_each_reserved_mem_region - itereate over reserved memory regions
598 void early_memtest(phys_addr_t start, phys_addr_t end);
601 static inline void early_memtest(phys_addr_t start, phys_addr_t end) { } in early_memtest() argument