Lines Matching refs:element
60 struct e820_element *element; in e820_element_alloc() local
62 element = calloc(1, sizeof(*element)); in e820_element_alloc()
63 if (element == NULL) { in e820_element_alloc()
67 element->base = base; in e820_element_alloc()
68 element->end = end; in e820_element_alloc()
69 element->type = type; in e820_element_alloc()
71 return (element); in e820_element_alloc()
94 struct e820_element *element; in e820_dump_table() local
100 TAILQ_FOREACH(element, &e820_table, chain) { in e820_dump_table()
102 element->base, element->end, in e820_dump_table()
103 e820_get_type_name(element->type)); in e820_dump_table()
113 struct e820_element *element; in e820_get_fwcfg_item() local
118 TAILQ_FOREACH(element, &e820_table, chain) { in e820_get_fwcfg_item()
140 TAILQ_FOREACH(element, &e820_table, chain) { in e820_get_fwcfg_item()
143 entry->base = element->base; in e820_get_fwcfg_item()
144 entry->length = element->end - element->base; in e820_get_fwcfg_item()
145 entry->type = element->type; in e820_get_fwcfg_item()
158 struct e820_element *element; in e820_add_entry() local
173 TAILQ_FOREACH(element, &e820_table, chain) { in e820_add_entry()
174 if (element->end > base) { in e820_add_entry()
187 if (element == NULL) { in e820_add_entry()
195 assert(end >= element->base); in e820_add_entry()
197 TAILQ_INSERT_BEFORE(element, new_element, chain); in e820_add_entry()
210 if (element == NULL || element->type != E820_TYPE_MEMORY || in e820_add_entry()
211 (base < element->base || end > element->end)) in e820_add_entry()
214 if (base == element->base && end == element->end) { in e820_add_entry()
223 TAILQ_INSERT_BEFORE(element, new_element, chain); in e820_add_entry()
224 TAILQ_REMOVE(&e820_table, element, chain); in e820_add_entry()
225 free(element); in e820_add_entry()
226 } else if (base == element->base) { in e820_add_entry()
238 TAILQ_INSERT_BEFORE(element, new_element, chain); in e820_add_entry()
239 element->base = end; in e820_add_entry()
240 } else if (end == element->end) { in e820_add_entry()
252 TAILQ_INSERT_AFTER(&e820_table, element, new_element, chain); in e820_add_entry()
253 element->end = base; in e820_add_entry()
267 ram_element = e820_element_alloc(element->base, base, in e820_add_entry()
272 TAILQ_INSERT_BEFORE(element, ram_element, chain); in e820_add_entry()
273 TAILQ_INSERT_BEFORE(element, new_element, chain); in e820_add_entry()
274 element->base = end; in e820_add_entry()
310 struct e820_element *element; in e820_add_memory_hole() local
319 TAILQ_FOREACH(element, &e820_table, chain) { in e820_add_memory_hole()
320 if (element->end > base) { in e820_add_memory_hole()
325 if (element == NULL || end <= element->base) { in e820_add_memory_hole()
331 assert(element->type == E820_TYPE_MEMORY); in e820_add_memory_hole()
333 if (base == element->base) { in e820_add_memory_hole()
342 element->base = end; in e820_add_memory_hole()
343 } else if (end == element->end) { in e820_add_memory_hole()
352 element->end = base; in e820_add_memory_hole()
363 ram_element = e820_element_alloc(element->base, base, in e820_add_memory_hole()
368 TAILQ_INSERT_BEFORE(element, ram_element, chain); in e820_add_memory_hole()
369 element->base = end; in e820_add_memory_hole()
379 struct e820_element *element; in e820_alloc_highest() local
381 TAILQ_FOREACH_REVERSE(element, &e820_table, e820_table, chain) { in e820_alloc_highest()
384 end = MIN(max_address, element->end); in e820_alloc_highest()
385 base = roundup2(element->base, alignment); in e820_alloc_highest()
392 if (element->type != E820_TYPE_MEMORY || end < base || in e820_alloc_highest()
413 struct e820_element *element; in e820_alloc_lowest() local
415 TAILQ_FOREACH(element, &e820_table, chain) { in e820_alloc_lowest()
418 end = element->end; in e820_alloc_lowest()
419 base = MAX(min_address, roundup2(element->base, alignment)); in e820_alloc_lowest()
426 if (element->type != E820_TYPE_MEMORY || end < base || in e820_alloc_lowest()