Lines Matching full:base
50 uint64_t base;
58 e820_element_alloc(uint64_t base, uint64_t end, enum e820_memory_type type)
67 element->base = base;
102 element->base, element->end,
143 entry->base = element->base;
144 entry->length = element->end - element->base;
154 e820_add_entry(const uint64_t base, const uint64_t end,
162 assert(end >= base);
164 new_element = e820_element_alloc(base, end, type);
171 * search for a range whose end is larger than the base parameter.
174 if (element->end > base) {
184 * base is larger than of any existing element. Add new system
195 assert(end >= element->base);
211 (base < element->base || end > element->end))
214 if (base == element->base && end == element->end) {
226 } else if (base == element->base) {
228 * New element at system memory base boundary. Add new
229 * element before current and adjust the base of the old
239 element->base = end;
253 element->end = base;
267 ram_element = e820_element_alloc(element->base, base,
274 element->base = end;
278 * If the previous element has the same type and ends at our base
284 sib_element->end == new_element->base) {
285 new_element->base = sib_element->base;
297 sib_element->base == new_element->end) {
308 e820_add_memory_hole(const uint64_t base, const uint64_t end)
313 assert(end >= base);
317 * search for an element which end is larger than the base parameter.
320 if (element->end > base) {
325 if (element == NULL || end <= element->base) {
333 if (base == element->base) {
335 * New hole at system memory base boundary.
342 element->base = end;
352 element->end = base;
363 ram_element = e820_element_alloc(element->base, base,
369 element->base = end;
382 uint64_t address, base, end;
385 base = roundup2(element->base, alignment);
392 if (element->type != E820_TYPE_MEMORY || end < base ||
393 end - base < length || end - length == 0) {
416 uint64_t base, end;
419 base = MAX(min_address, roundup2(element->base, alignment));
422 * If base == 0, we would allocate memory at address 0. This
426 if (element->type != E820_TYPE_MEMORY || end < base ||
427 end - base < length || base == 0) {
431 if (e820_add_entry(base, base + length, type) != 0) {
435 return (base);