Lines Matching defs:order

28  *   __find_buddy_nocheck(pool, page 0, order 0) => page 1
29 * __find_buddy_nocheck(pool, page 0, order 1) => page 2
30 * __find_buddy_nocheck(pool, page 1, order 0) => page 0
31 * __find_buddy_nocheck(pool, page 2, order 0) => page 3
35 u8 order)
39 addr ^= (PAGE_SIZE << order);
54 u8 order)
56 struct hyp_page *buddy = __find_buddy_nocheck(pool, p, order);
58 if (!buddy || buddy->order != order || buddy->refcount)
97 u8 order = p->order;
100 memset(hyp_page_to_virt(p), 0, PAGE_SIZE << p->order);
107 * Only the first struct hyp_page of a high-order page (otherwise known
108 * as the 'head') should have p->order set. The non-head pages should
109 * have p->order = HYP_NO_ORDER. Here @p may no longer be the head
112 p->order = HYP_NO_ORDER;
113 for (; (order + 1) <= pool->max_order; order++) {
114 buddy = __find_buddy_avail(pool, p, order);
120 buddy->order = HYP_NO_ORDER;
126 p->order = order;
127 page_add_to_list(p, &pool->free_area[order]);
132 u8 order)
137 while (p->order > order) {
139 * The buddy of order n - 1 currently has HYP_NO_ORDER as it
144 p->order--;
145 buddy = __find_buddy_nocheck(pool, p, p->order);
146 buddy->order = p->order;
147 page_add_to_list(buddy, &pool->free_area[buddy->order]);
186 u8 order = p->order;
189 p->order = 0;
190 for (i = 1; i < (1 << order); i++) {
193 tail->order = 0;
198 void *hyp_alloc_pages(struct hyp_pool *pool, u8 order)
201 u8 i = order;
205 /* Look for a high-enough-order page */
213 /* Extract it from the tree at the right order */
215 p = __hyp_extract_page(pool, p, order);