Lines Matching defs:size
147 kva_alloc(vm_size_t size)
152 size = round_page(size);
153 if (vmem_xalloc(kernel_arena, size, 0, 0, 0, VMEM_ADDR_MIN,
168 kva_alloc_aligned(vm_size_t size, vm_size_t align)
173 size = round_page(size);
174 if (vmem_xalloc(kernel_arena, size, align, 0, 0, VMEM_ADDR_MIN,
192 kva_free(vm_offset_t addr, vm_size_t size)
195 size = round_page(size);
196 vmem_xfree(kernel_arena, addr, size);
204 kmem_alloc_san(vm_offset_t addr, vm_size_t size, vm_size_t asize, int flags)
213 kasan_mark((void *)addr, size, asize, KASAN_KMEM_REDZONE);
255 kmem_alloc_attr_domain(int domain, vm_size_t size, int flags, vm_paddr_t low,
267 asize = round_page(size);
294 kmem_alloc_san(addr, size, asize, flags);
299 kmem_alloc_attr(vm_size_t size, int flags, vm_paddr_t low, vm_paddr_t high,
303 return (kmem_alloc_attr_domainset(DOMAINSET_RR(), size, flags, low,
308 kmem_alloc_attr_domainset(struct domainset *ds, vm_size_t size, int flags,
321 addr = kmem_alloc_attr_domain(domain, size, flags, low, high,
328 atop(round_page(size)), low, high) == -1) {
345 kmem_alloc_contig_domain(int domain, vm_size_t size, int flags, vm_paddr_t low,
358 asize = round_page(size);
387 kmem_alloc_san(addr, size, asize, flags);
392 kmem_alloc_contig(vm_size_t size, int flags, vm_paddr_t low, vm_paddr_t high,
396 return (kmem_alloc_contig_domainset(DOMAINSET_RR(), size, flags, low,
401 kmem_alloc_contig_domainset(struct domainset *ds, vm_size_t size, int flags,
415 addr = kmem_alloc_contig_domain(domain, size, flags, low, high,
422 atop(round_page(size)), low, high) == -1) {
440 * size Size of range to find
445 vm_size_t size, bool superpage_align)
449 size = round_page(size);
452 ret = vm_map_find(parent, NULL, 0, min, size, 0, superpage_align ?
457 *max = *min + size;
469 kmem_malloc_domain(int domain, vm_size_t size, int flags)
482 asize = round_page(size);
491 kasan_mark((void *)addr, size, asize, KASAN_KMEM_REDZONE);
496 kmem_malloc(vm_size_t size, int flags)
501 p = kmem_malloc_domainset(DOMAINSET_RR(), size, flags);
507 kmem_malloc_domainset(struct domainset *ds, vm_size_t size, int flags)
515 addr = kmem_malloc_domain(domain, size, flags);
531 vm_size_t size, int flags)
552 for (; i < size; i += PAGE_SIZE, mpred = m) {
582 kmem_alloc_san(addr, size, size, flags);
592 kmem_back(vm_object_t object, vm_offset_t addr, vm_size_t size, int flags)
600 for (start = addr, end = addr + size; addr < end; addr = next) {
635 _kmem_unback(vm_object_t object, vm_offset_t addr, vm_size_t size)
646 if (size == 0)
648 pmap_remove(kernel_pmap, addr, addr + size);
650 end = offset + size;
671 kmem_unback(vm_object_t object, vm_offset_t addr, vm_size_t size)
674 (void)_kmem_unback(object, addr, size);
680 * Free memory allocated with kmem_malloc. The size must match the
684 kmem_free(void *addr, vm_size_t size)
688 size = round_page(size);
689 kasan_mark(addr, size, size, 0);
690 arena = _kmem_unback(kernel_object, (uintptr_t)addr, size);
692 vmem_free(arena, (uintptr_t)addr, size);
704 kmap_alloc_wait(vm_map_t map, vm_size_t size)
708 size = round_page(size);
709 if (!swap_reserve(size))
718 addr = vm_map_findspace(map, vm_map_min(map), size);
719 if (addr + size <= vm_map_max(map))
722 if (vm_map_max(map) - vm_map_min(map) < size) {
724 swap_release(size);
730 vm_map_insert(map, NULL, 0, addr, addr + size, VM_PROT_RW, VM_PROT_RW,
743 kmap_free_wakeup(vm_map_t map, vm_offset_t addr, vm_size_t size)
747 (void) vm_map_delete(map, trunc_page(addr), round_page(addr + size));
780 kva_import(void *unused, vmem_size_t size, int flags, vmem_addr_t *addrp)
786 KASSERT((size % KVA_QUANTUM) == 0,
788 (intmax_t)size, (int)KVA_QUANTUM));
790 result = vm_map_find(kernel_map, NULL, 0, &addr, size, 0,
805 * KVA_QUANTUM-aligned and a multiple of KVA_QUANTUM in size.
808 kva_import_domain(void *arena, vmem_size_t size, int flags, vmem_addr_t *addrp)
811 KASSERT((size % KVA_QUANTUM) == 0,
813 (intmax_t)size, (int)KVA_QUANTUM));
814 return (vmem_xalloc(arena, size, KVA_QUANTUM, 0, 0, VMEM_ADDR_MIN,
931 kmem_bootstrap_free(vm_offset_t start, vm_size_t size)
939 end = trunc_page(start + size);