Lines Matching refs:map
50 struct e820entry *ei = &e820.map[i]; in e820_all_mapped()
80 if (x == ARRAY_SIZE(e820.map)) { in add_memory_region()
85 e820.map[x].addr = start; in add_memory_region()
86 e820.map[x].size = size; in add_memory_region()
87 e820.map[x].type = type; in add_memory_region()
91 static void __init print_e820_memory_map(struct e820entry *map, unsigned int entries) in print_e820_memory_map() argument
97 (unsigned long long)(map[i].addr), in print_e820_memory_map()
98 (unsigned long long)(map[i].addr + map[i].size)); in print_e820_memory_map()
99 switch (map[i].type) { in print_e820_memory_map()
116 printk("type %u\n", map[i].type); in print_e820_memory_map()
354 if (e820.map[i].type != E820_RAM) in find_max_pfn()
356 start = PFN_UP(e820.map[i].addr); in find_max_pfn()
357 end = PFN_DOWN(e820.map[i].addr + e820.map[i].size); in find_max_pfn()
377 if ( (e820.map[i].type == E820_RAM) && in clip_to_limit()
378 ((e820.map[i].addr + e820.map[i].size) > limit) ) in clip_to_limit()
386 uint64_t, old_limit, e820.map[i].addr + e820.map[i].size); in clip_to_limit()
389 if ( e820_change_range_type(&e820, max(e820.map[i].addr, limit), in clip_to_limit()
390 e820.map[i].addr + e820.map[i].size, in clip_to_limit()
398 if ( e820.map[i].addr < limit ) in clip_to_limit()
400 e820.map[i].size = limit - e820.map[i].addr; in clip_to_limit()
404 memmove(&e820.map[i], &e820.map[i+1], in clip_to_limit()
519 sanitize_e820_map(raw->map, &raw->nr_map); in machine_specific_memory_setup()
520 copy_e820_map(raw->map, raw->nr_map); in machine_specific_memory_setup()
528 if ( e820.map[i].type == E820_RAM ) in machine_specific_memory_setup()
529 size += e820.map[i].size; in machine_specific_memory_setup()
532 e820.map[i-1].addr + e820.map[i-1].size - (size-opt_availmem), in machine_specific_memory_setup()
561 uint64_t rs = e820->map[i].addr; in e820_add_range()
562 uint64_t re = rs + e820->map[i].size; in e820_add_range()
564 if ( rs == e && e820->map[i].type == type ) in e820_add_range()
566 e820->map[i].addr = s; in e820_add_range()
570 if ( re == s && e820->map[i].type == type && in e820_add_range()
571 (i + 1 == e820->nr_map || e820->map[i + 1].addr >= e) ) in e820_add_range()
573 e820->map[i].size += e - s; in e820_add_range()
584 if ( e820->nr_map >= ARRAY_SIZE(e820->map) ) in e820_add_range()
591 memmove(e820->map + i + 1, e820->map + i, in e820_add_range()
592 (e820->nr_map - i) * sizeof(*e820->map)); in e820_add_range()
595 e820->map[i].addr = s; in e820_add_range()
596 e820->map[i].size = e - s; in e820_add_range()
597 e820->map[i].type = type; in e820_add_range()
612 rs = e820->map[i].addr; in e820_change_range_type()
613 re = rs + e820->map[i].size; in e820_change_range_type()
618 if ( (i == e820->nr_map) || (e820->map[i].type != orig_type) ) in e820_change_range_type()
623 e820->map[i].type = new_type; in e820_change_range_type()
627 if ( (e820->nr_map + 1) > ARRAY_SIZE(e820->map) ) in e820_change_range_type()
630 memmove(&e820->map[i+1], &e820->map[i], in e820_change_range_type()
631 (e820->nr_map-i) * sizeof(e820->map[0])); in e820_change_range_type()
636 e820->map[i].size = e - s; in e820_change_range_type()
637 e820->map[i].type = new_type; in e820_change_range_type()
638 e820->map[i+1].addr = e; in e820_change_range_type()
639 e820->map[i+1].size = re - e; in e820_change_range_type()
643 e820->map[i].size = s - rs; in e820_change_range_type()
644 e820->map[i+1].addr = s; in e820_change_range_type()
645 e820->map[i+1].size = e - s; in e820_change_range_type()
646 e820->map[i+1].type = new_type; in e820_change_range_type()
651 if ( (e820->nr_map + 2) > ARRAY_SIZE(e820->map) ) in e820_change_range_type()
654 memmove(&e820->map[i+2], &e820->map[i], in e820_change_range_type()
655 (e820->nr_map-i) * sizeof(e820->map[0])); in e820_change_range_type()
658 e820->map[i].size = s - rs; in e820_change_range_type()
659 e820->map[i+1].addr = s; in e820_change_range_type()
660 e820->map[i+1].size = e - s; in e820_change_range_type()
661 e820->map[i+1].type = new_type; in e820_change_range_type()
662 e820->map[i+2].addr = e; in e820_change_range_type()
663 e820->map[i+2].size = re - e; in e820_change_range_type()
669 if ( (e820->map[i].type != e820->map[i+1].type) || in e820_change_range_type()
670 ((e820->map[i].addr + e820->map[i].size) != e820->map[i+1].addr) ) in e820_change_range_type()
672 e820->map[i].size += e820->map[i+1].size; in e820_change_range_type()
673 memmove(&e820->map[i+1], &e820->map[i+2], in e820_change_range_type()
674 (e820->nr_map-i-2) * sizeof(e820->map[0])); in e820_change_range_type()
698 print_e820_memory_map(raw->map, raw->nr_map); in init_e820()
707 print_e820_memory_map(e820.map, e820.nr_map); in init_e820()