Lines Matching refs:fw_dump
46 static struct fw_dump fw_dump; variable
74 fw_dump.fadump_supported = 1; in early_init_dt_scan_fw_dump()
75 fw_dump.ibm_configure_kernel_dump = be32_to_cpu(*token); in early_init_dt_scan_fw_dump()
83 fw_dump.dump_active = 1; in early_init_dt_scan_fw_dump()
104 fw_dump.cpu_state_data_size = in early_init_dt_scan_fw_dump()
108 fw_dump.hpte_region_size = in early_init_dt_scan_fw_dump()
119 return fw_dump.dump_active; in is_fadump_active()
126 (fw_dump.fadump_supported ? "present" : "no support")); in fadump_show_config()
128 if (!fw_dump.fadump_supported) in fadump_show_config()
132 (fw_dump.fadump_enabled ? "yes" : "no")); in fadump_show_config()
134 (fw_dump.dump_active ? "yes" : "no")); in fadump_show_config()
136 pr_debug(" CPU state data size: %lx\n", fw_dump.cpu_state_data_size); in fadump_show_config()
137 pr_debug(" HPTE region size : %lx\n", fw_dump.hpte_region_size); in fadump_show_config()
138 pr_debug("Boot memory size : %lx\n", fw_dump.boot_memory_size); in fadump_show_config()
173 fdm->cpu_state_data.source_len = cpu_to_be64(fw_dump.cpu_state_data_size); in init_fadump_mem_struct()
175 addr += fw_dump.cpu_state_data_size; in init_fadump_mem_struct()
181 fdm->hpte_region.source_len = cpu_to_be64(fw_dump.hpte_region_size); in init_fadump_mem_struct()
183 addr += fw_dump.hpte_region_size; in init_fadump_mem_struct()
189 fdm->rmr_region.source_len = cpu_to_be64(fw_dump.boot_memory_size); in init_fadump_mem_struct()
191 addr += fw_dump.boot_memory_size; in init_fadump_mem_struct()
219 if (fw_dump.reserve_bootvar) in fadump_calculate_reserve_size()
220 return fw_dump.reserve_bootvar; in fadump_calculate_reserve_size()
243 size += fw_dump.cpu_state_data_size; in get_fadump_area_size()
244 size += fw_dump.hpte_region_size; in get_fadump_area_size()
245 size += fw_dump.boot_memory_size; in get_fadump_area_size()
260 if (!fw_dump.fadump_enabled) in fadump_reserve_mem()
263 if (!fw_dump.fadump_supported) { in fadump_reserve_mem()
266 fw_dump.fadump_enabled = 0; in fadump_reserve_mem()
275 fw_dump.boot_memory_size = be64_to_cpu(fdm_active->rmr_region.source_len); in fadump_reserve_mem()
277 fw_dump.boot_memory_size = fadump_calculate_reserve_size(); in fadump_reserve_mem()
300 if (fw_dump.dump_active) { in fadump_reserve_mem()
308 base = fw_dump.boot_memory_size; in fadump_reserve_mem()
316 fw_dump.fadumphdr_addr = in fadump_reserve_mem()
320 (void *) fw_dump.fadumphdr_addr); in fadump_reserve_mem()
331 fw_dump.reserve_dump_area_start = base; in fadump_reserve_mem()
332 fw_dump.reserve_dump_area_size = size; in fadump_reserve_mem()
343 fw_dump.fadump_enabled = 1; in early_fadump_param()
345 fw_dump.fadump_enabled = 0; in early_fadump_param()
355 fw_dump.reserve_bootvar = memparse(p, &p); in early_fadump_reserve_mem()
369 rc = rtas_call(fw_dump.ibm_configure_kernel_dump, 3, 1, NULL, in register_fw_dump()
391 fw_dump.dump_registered = 1; in register_fw_dump()
396 fw_dump.dump_registered = 1; in register_fw_dump()
405 if (!fw_dump.dump_registered || !fw_dump.fadumphdr_addr) in crash_fadump()
408 fdh = __va(fw_dump.fadumphdr_addr); in crash_fadump()
539 phdr->p_paddr = fw_dump.cpu_notes_buf; in fadump_update_elfcore_header()
541 phdr->p_filesz = fw_dump.cpu_notes_buf_size; in fadump_update_elfcore_header()
542 phdr->p_memsz = fw_dump.cpu_notes_buf_size; in fadump_update_elfcore_header()
625 fw_dump.cpu_notes_buf_size = num_cpus * sizeof(note_buf_t); in fadump_build_cpu_notes()
626 fw_dump.cpu_notes_buf_size = PAGE_ALIGN(fw_dump.cpu_notes_buf_size); in fadump_build_cpu_notes()
627 note_buf = fadump_cpu_notes_buf_alloc(fw_dump.cpu_notes_buf_size); in fadump_build_cpu_notes()
630 "cpu notes buffer\n", fw_dump.cpu_notes_buf_size); in fadump_build_cpu_notes()
633 fw_dump.cpu_notes_buf = __pa(note_buf); in fadump_build_cpu_notes()
638 if (fw_dump.fadumphdr_addr) in fadump_build_cpu_notes()
639 fdh = __va(fw_dump.fadumphdr_addr); in fadump_build_cpu_notes()
674 fadump_cpu_notes_buf_free((unsigned long)__va(fw_dump.cpu_notes_buf), in fadump_build_cpu_notes()
675 fw_dump.cpu_notes_buf_size); in fadump_build_cpu_notes()
676 fw_dump.cpu_notes_buf = 0; in fadump_build_cpu_notes()
677 fw_dump.cpu_notes_buf_size = 0; in fadump_build_cpu_notes()
691 if (!fdm_active || !fw_dump.fadumphdr_addr) in process_fadump()
709 fdh = __va(fw_dump.fadumphdr_addr); in process_fadump()
747 ra_start = fw_dump.reserve_dump_area_start; in fadump_exclude_reserved_area()
748 ra_end = ra_start + fw_dump.reserve_dump_area_size; in fadump_exclude_reserved_area()
810 fadump_add_crash_memory(RMA_START, fw_dump.boot_memory_size); in fadump_setup_crash_memory_ranges()
815 if (start == RMA_START && end >= fw_dump.boot_memory_size) in fadump_setup_crash_memory_ranges()
816 start = fw_dump.boot_memory_size; in fadump_setup_crash_memory_ranges()
830 if (paddr > RMA_START && paddr < fw_dump.boot_memory_size) in fadump_relocate()
927 fw_dump.fadumphdr_addr = addr; in init_fadump_header()
949 if (!fw_dump.reserve_dump_area_size) in register_fadump()
975 rc = rtas_call(fw_dump.ibm_configure_kernel_dump, 3, 1, NULL, in fadump_unregister_dump()
989 fw_dump.dump_registered = 0; in fadump_unregister_dump()
1002 rc = rtas_call(fw_dump.ibm_configure_kernel_dump, 3, 1, NULL, in fadump_invalidate_dump()
1016 fw_dump.dump_active = 0; in fadump_invalidate_dump()
1024 if (fw_dump.dump_active) { in fadump_cleanup()
1040 ra_start = fw_dump.reserve_dump_area_start; in fadump_release_memory()
1041 ra_end = ra_start + fw_dump.reserve_dump_area_size; in fadump_release_memory()
1061 if (!fw_dump.dump_active) { in fadump_invalidate_release_mem()
1074 reserved_area_start = fw_dump.reserve_dump_area_start; in fadump_invalidate_release_mem()
1076 fw_dump.reserve_dump_area_size; in fadump_invalidate_release_mem()
1081 fw_dump.reserve_dump_area_start = destination_address; in fadump_invalidate_release_mem()
1082 fw_dump.reserve_dump_area_size = get_fadump_area_size(); in fadump_invalidate_release_mem()
1085 if (fw_dump.cpu_notes_buf) { in fadump_invalidate_release_mem()
1087 (unsigned long)__va(fw_dump.cpu_notes_buf), in fadump_invalidate_release_mem()
1088 fw_dump.cpu_notes_buf_size); in fadump_invalidate_release_mem()
1089 fw_dump.cpu_notes_buf = 0; in fadump_invalidate_release_mem()
1090 fw_dump.cpu_notes_buf_size = 0; in fadump_invalidate_release_mem()
1093 init_fadump_mem_struct(&fdm, fw_dump.reserve_dump_area_start); in fadump_invalidate_release_mem()
1100 if (!fw_dump.dump_active) in fadump_release_memory_store()
1120 return sprintf(buf, "%d\n", fw_dump.fadump_enabled); in fadump_enabled_show()
1127 return sprintf(buf, "%d\n", fw_dump.dump_registered); in fadump_register_show()
1136 if (!fw_dump.fadump_enabled || fdm_active) in fadump_register_store()
1143 if (fw_dump.dump_registered == 0) { in fadump_register_store()
1151 if (fw_dump.dump_registered == 1) { in fadump_register_store()
1172 if (!fw_dump.fadump_enabled) in fadump_region_show()
1209 (fw_dump.reserve_dump_area_start == in fadump_region_show()
1217 (unsigned long long)fw_dump.reserve_dump_area_start, in fadump_region_show()
1220 fw_dump.reserve_dump_area_start, in fadump_region_show()
1222 fw_dump.reserve_dump_area_start); in fadump_region_show()
1273 if (fw_dump.dump_active) { in fadump_init_files()
1287 if (!fw_dump.fadump_enabled) in setup_fadump()
1290 if (!fw_dump.fadump_supported) { in setup_fadump()
1301 if (fw_dump.dump_active) { in setup_fadump()
1310 else if (fw_dump.reserve_dump_area_size) in setup_fadump()
1311 init_fadump_mem_struct(&fdm, fw_dump.reserve_dump_area_start); in setup_fadump()