Lines Matching refs:entry

82 		struct e820_entry *entry = &table->entries[idx];  in _e820__mapped_any()  local
84 if (type && entry->type != type) in _e820__mapped_any()
86 if (entry->addr >= end || entry->addr + entry->size <= start) in _e820__mapped_any()
117 struct e820_entry *entry = &e820_table->entries[idx]; in __e820__mapped_all() local
119 if (type && entry->type != type) in __e820__mapped_all()
123 if (entry->addr >= end || entry->addr + entry->size <= start) in __e820__mapped_all()
130 if (entry->addr <= start) in __e820__mapped_all()
131 start = entry->addr + entry->size; in __e820__mapped_all()
138 return entry; in __e820__mapped_all()
157 struct e820_entry *entry = __e820__mapped_all(start, end, 0); in e820__get_entry_type() local
159 return entry ? entry->type : -EINVAL; in e820__get_entry_type()
211 struct e820_entry *entry = e820_table->entries + idx; in e820__print_table() local
214 range_start = entry->addr; in e820__print_table()
215 range_end = entry->addr + entry->size; in e820__print_table()
229 e820_print_type(entry->type); in e820__print_table()
299 struct e820_entry *entry; member
323 return (ap->addr != ap->entry->addr) - (bp->addr != bp->entry->addr); in cpcompare()
377 change_point[chg_idx++]->entry = &entries[idx]; in e820__update_table()
379 change_point[chg_idx++]->entry = &entries[idx]; in e820__update_table()
396 if (change_point[chg_idx]->addr == change_point[chg_idx]->entry->addr) { in e820__update_table()
398 overlap_list[overlap_entries++] = change_point[chg_idx]->entry; in e820__update_table()
402 if (overlap_list[idx] == change_point[chg_idx]->entry) in e820__update_table()
451 struct boot_e820_entry *entry = entries; in append_e820_table() local
458 u64 start = entry->addr; in append_e820_table()
459 u64 size = entry->size; in append_e820_table()
461 u32 type = entry->type; in append_e820_table()
469 entry++; in append_e820_table()
495 struct e820_entry *entry = &table->entries[idx]; in __e820__range_update() local
499 if (entry->type != old_type) in __e820__range_update()
502 entry_end = entry->addr + entry->size; in __e820__range_update()
505 if (entry->addr >= start && entry_end <= end) { in __e820__range_update()
506 entry->type = new_type; in __e820__range_update()
507 real_updated_size += entry->size; in __e820__range_update()
512 if (entry->addr < start && entry_end > end) { in __e820__range_update()
514 __e820__range_add(table, end, entry_end - end, entry->type); in __e820__range_update()
515 entry->size = start - entry->addr; in __e820__range_update()
521 final_start = max(start, entry->addr); in __e820__range_update()
534 entry->size -= final_end - final_start; in __e820__range_update()
535 if (entry->addr < final_start) in __e820__range_update()
538 entry->addr = final_end; in __e820__range_update()
570 struct e820_entry *entry = &e820_table->entries[idx]; in e820__range_remove() local
574 if (filter_type && entry->type != filter_type) in e820__range_remove()
577 entry_end = entry->addr + entry->size; in e820__range_remove()
580 if (entry->addr >= start && entry_end <= end) { in e820__range_remove()
581 memset(entry, 0, sizeof(*entry)); in e820__range_remove()
586 if (entry->addr < start && entry_end > end) { in e820__range_remove()
587 e820__range_add(end, entry_end - end, entry->type); in e820__range_remove()
588 entry->size = start - entry->addr; in e820__range_remove()
593 final_start = max(start, entry->addr); in e820__range_remove()
602 entry->size -= final_end - final_start; in e820__range_remove()
603 if (entry->addr < final_start) in e820__range_remove()
606 entry->addr = final_end; in e820__range_remove()
631 struct e820_entry *entry; in e820_search_gap() local
639 entry = e820_table->entries + idx; in e820_search_gap()
640 range_start = entry->addr; in e820_search_gap()
641 range_end = entry->addr + entry->size; in e820_search_gap()
666 if (entry->addr + entry->size < MAX_GAP_END) { in e820_search_gap()
667 u64 gap_start = entry->addr + entry->size; in e820_search_gap()
790 struct e820_entry *entry = &e820_table->entries[idx]; in e820__register_nosave_regions() local
792 if (entry->type != E820_TYPE_RAM) in e820__register_nosave_regions()
795 if (last_addr < entry->addr) in e820__register_nosave_regions()
796 register_nosave_region(PFN_DOWN(last_addr), PFN_UP(entry->addr)); in e820__register_nosave_regions()
798 last_addr = entry->addr + entry->size; in e820__register_nosave_regions()
814 struct e820_entry *entry = &e820_table->entries[idx]; in e820__register_nvs_regions() local
816 if (entry->type == E820_TYPE_NVS) in e820__register_nvs_regions()
817 acpi_nvs_register(entry->addr, entry->size); in e820__register_nvs_regions()
867 struct e820_entry *entry = &e820_table->entries[idx]; in e820__end_ram_pfn() local
871 if (entry->type != E820_TYPE_RAM && in e820__end_ram_pfn()
872 entry->type != E820_TYPE_ACPI) in e820__end_ram_pfn()
875 start_pfn = entry->addr >> PAGE_SHIFT; in e820__end_ram_pfn()
876 end_pfn = (entry->addr + entry->size) >> PAGE_SHIFT; in e820__end_ram_pfn()
1030 __init static const char * e820_type_to_string(struct e820_entry *entry) in e820_type_to_string() argument
1032 switch (entry->type) { in e820_type_to_string()
1045 __init static unsigned long e820_type_to_iomem_type(struct e820_entry *entry) in e820_type_to_iomem_type() argument
1047 switch (entry->type) { in e820_type_to_iomem_type()
1060 __init static unsigned long e820_type_to_iores_desc(struct e820_entry *entry) in e820_type_to_iores_desc() argument
1062 switch (entry->type) { in e820_type_to_iores_desc()
1124 struct e820_entry *entry = e820_table->entries + idx; in e820__reserve_resources() local
1126 end = entry->addr + entry->size - 1; in e820__reserve_resources()
1131 res->start = entry->addr; in e820__reserve_resources()
1133 res->name = e820_type_to_string(entry); in e820__reserve_resources()
1134 res->flags = e820_type_to_iomem_type(entry); in e820__reserve_resources()
1135 res->desc = e820_type_to_iores_desc(entry); in e820__reserve_resources()
1142 if (!e820_device_region(entry->type, res)) { in e820__reserve_resources()
1151 struct e820_entry *entry = e820_table_kexec->entries + idx; in e820__reserve_resources() local
1153 firmware_map_add_early(entry->addr, entry->addr + entry->size, e820_type_to_string(entry)); in e820__reserve_resources()
1213 struct e820_entry *entry = &e820_table->entries[idx]; in e820__reserve_resources_late() local
1216 if (entry->type != E820_TYPE_RAM) in e820__reserve_resources_late()
1219 start = entry->addr + entry->size; in e820__reserve_resources_late()
1335 struct e820_entry *entry = &e820_table->entries[idx]; in e820__memblock_setup() local
1337 end = entry->addr + entry->size; in e820__memblock_setup()
1341 if (entry->type == E820_TYPE_SOFT_RESERVED) in e820__memblock_setup()
1342 memblock_reserve(entry->addr, entry->size); in e820__memblock_setup()
1344 if (entry->type != E820_TYPE_RAM) in e820__memblock_setup()
1347 memblock_add(entry->addr, entry->size); in e820__memblock_setup()