Lines Matching refs:a

42     pmm_arena_t *a;  in vm_page_to_paddr()  local
43 list_for_every_entry(&arena_list, a, pmm_arena_t, node) { in vm_page_to_paddr()
44 if (PAGE_BELONGS_TO_ARENA(page, a)) { in vm_page_to_paddr()
45 return PAGE_ADDRESS_FROM_ARENA(page, a); in vm_page_to_paddr()
52 pmm_arena_t *a; in paddr_to_vm_page() local
53 list_for_every_entry(&arena_list, a, pmm_arena_t, node) { in paddr_to_vm_page()
54 if (addr >= a->base && addr <= a->base + a->size - 1) { in paddr_to_vm_page()
55 size_t index = (addr - a->base) / PAGE_SIZE; in paddr_to_vm_page()
56 return &a->page_array[index]; in paddr_to_vm_page()
70 pmm_arena_t *a; in pmm_add_arena() local
71 list_for_every_entry(&arena_list, a, pmm_arena_t, node) { in pmm_add_arena()
72 if (a->priority > arena->priority) { in pmm_add_arena()
73 list_add_before(&a->node, &arena->node); in pmm_add_arena()
119 pmm_arena_t *a; in pmm_alloc_pages() local
120 list_for_every_entry(&arena_list, a, pmm_arena_t, node) { in pmm_alloc_pages()
122 vm_page_t *page = list_remove_head_type(&a->free_list, vm_page_t, node); in pmm_alloc_pages()
126 a->free_count--; in pmm_alloc_pages()
167 pmm_arena_t *a; in pmm_alloc_range() local
168 list_for_every_entry(&arena_list, a, pmm_arena_t, node) { in pmm_alloc_range()
169 while (allocated < count && ADDRESS_IN_ARENA(address, a)) { in pmm_alloc_range()
170 size_t index = (address - a->base) / PAGE_SIZE; in pmm_alloc_range()
172 DEBUG_ASSERT(index < a->size / PAGE_SIZE); in pmm_alloc_range()
174 vm_page_t *page = &a->page_array[index]; in pmm_alloc_range()
186 a->free_count--; in pmm_alloc_range()
214 pmm_arena_t *a; in pmm_free() local
215 list_for_every_entry(&arena_list, a, pmm_arena_t, node) { in pmm_free()
216 if (PAGE_BELONGS_TO_ARENA(page, a)) { in pmm_free()
219 list_add_head(&a->free_list, &page->node); in pmm_free()
220 a->free_count++; in pmm_free()
293 pmm_arena_t *a; in pmm_alloc_contiguous() local
294 list_for_every_entry(&arena_list, a, pmm_arena_t, node) { in pmm_alloc_contiguous()
296 if (a->flags & PMM_ARENA_FLAG_KMAP) { in pmm_alloc_contiguous()
302 paddr_t rounded_base = ROUNDUP(a->base, 1UL << alignment_log2); in pmm_alloc_contiguous()
303 if (rounded_base < a->base || rounded_base > a->base + a->size - 1) in pmm_alloc_contiguous()
306 uint aligned_offset = (rounded_base - a->base) / PAGE_SIZE; in pmm_alloc_contiguous()
309 LTRACEF("arena base 0x%lx size %zu\n", a->base, a->size); in pmm_alloc_contiguous()
314 while ((start < a->size / PAGE_SIZE) && in pmm_alloc_contiguous()
315 ((start + count) <= a->size / PAGE_SIZE)) { in pmm_alloc_contiguous()
316 vm_page_t *p = &a->page_array[start]; in pmm_alloc_contiguous()
333 p = &a->page_array[i]; in pmm_alloc_contiguous()
339 a->free_count--; in pmm_alloc_contiguous()
346 *pa = a->base + start * PAGE_SIZE; in pmm_alloc_contiguous()
418 pmm_arena_t *a; in cmd_pmm() local
419 list_for_every_entry(&arena_list, a, pmm_arena_t, node) { in cmd_pmm()
420 dump_arena(a, false); in cmd_pmm()