fadump_conf 122 arch/powerpc/include/asm/fadump-internal.h u64 (*fadump_init_mem_struct)(struct fw_dump *fadump_conf); fadump_conf 124 arch/powerpc/include/asm/fadump-internal.h int (*fadump_setup_metadata)(struct fw_dump *fadump_conf); fadump_conf 126 arch/powerpc/include/asm/fadump-internal.h int (*fadump_register)(struct fw_dump *fadump_conf); fadump_conf 127 arch/powerpc/include/asm/fadump-internal.h int (*fadump_unregister)(struct fw_dump *fadump_conf); fadump_conf 128 arch/powerpc/include/asm/fadump-internal.h int (*fadump_invalidate)(struct fw_dump *fadump_conf); fadump_conf 129 arch/powerpc/include/asm/fadump-internal.h void (*fadump_cleanup)(struct fw_dump *fadump_conf); fadump_conf 130 arch/powerpc/include/asm/fadump-internal.h int (*fadump_process)(struct fw_dump *fadump_conf); fadump_conf 131 arch/powerpc/include/asm/fadump-internal.h void (*fadump_region_show)(struct fw_dump *fadump_conf, fadump_conf 156 arch/powerpc/include/asm/fadump-internal.h extern void rtas_fadump_dt_scan(struct fw_dump *fadump_conf, u64 node); fadump_conf 159 arch/powerpc/include/asm/fadump-internal.h rtas_fadump_dt_scan(struct fw_dump *fadump_conf, u64 node) { } fadump_conf 163 arch/powerpc/include/asm/fadump-internal.h extern void opal_fadump_dt_scan(struct fw_dump *fadump_conf, u64 node); fadump_conf 166 arch/powerpc/include/asm/fadump-internal.h opal_fadump_dt_scan(struct fw_dump *fadump_conf, u64 node) { } fadump_conf 31 arch/powerpc/platforms/powernv/opal-fadump.c void __init opal_fadump_dt_scan(struct fw_dump *fadump_conf, u64 node) fadump_conf 77 arch/powerpc/platforms/powernv/opal-fadump.c fadump_conf->boot_mem_top = be64_to_cpu(addr); fadump_conf 78 arch/powerpc/platforms/powernv/opal-fadump.c pr_debug("Preserve everything above %llx\n", fadump_conf->boot_mem_top); fadump_conf 81 arch/powerpc/platforms/powernv/opal-fadump.c fadump_conf->dump_active = 1; fadump_conf 93 arch/powerpc/platforms/powernv/opal-fadump.c static int opal_fadump_unregister(struct fw_dump *fadump_conf); fadump_conf 95 arch/powerpc/platforms/powernv/opal-fadump.c static void opal_fadump_update_config(struct fw_dump *fadump_conf, fadump_conf 104 arch/powerpc/platforms/powernv/opal-fadump.c fadump_conf->boot_mem_dest_addr = fdm->rgn[0].dest; fadump_conf 106 arch/powerpc/platforms/powernv/opal-fadump.c fadump_conf->boot_mem_dest_addr); fadump_conf 108 arch/powerpc/platforms/powernv/opal-fadump.c fadump_conf->fadumphdr_addr = fdm->fadumphdr_addr; fadump_conf 115 arch/powerpc/platforms/powernv/opal-fadump.c static void opal_fadump_get_config(struct fw_dump *fadump_conf, fadump_conf 121 arch/powerpc/platforms/powernv/opal-fadump.c if (!fadump_conf->dump_active) fadump_conf 126 arch/powerpc/platforms/powernv/opal-fadump.c fadump_conf->boot_memory_size = 0; fadump_conf 134 arch/powerpc/platforms/powernv/opal-fadump.c fadump_conf->boot_mem_addr[i] = base; fadump_conf 135 arch/powerpc/platforms/powernv/opal-fadump.c fadump_conf->boot_mem_sz[i] = size; fadump_conf 136 arch/powerpc/platforms/powernv/opal-fadump.c fadump_conf->boot_memory_size += size; fadump_conf 146 arch/powerpc/platforms/powernv/opal-fadump.c fadump_conf->reserve_dump_area_start = fdm->rgn[0].dest; fadump_conf 172 arch/powerpc/platforms/powernv/opal-fadump.c fadump_conf->boot_mem_top = (fadump_conf->boot_memory_size + hole_size); fadump_conf 173 arch/powerpc/platforms/powernv/opal-fadump.c fadump_conf->boot_mem_regs_cnt = fdm->region_cnt; fadump_conf 174 arch/powerpc/platforms/powernv/opal-fadump.c opal_fadump_update_config(fadump_conf, fdm); fadump_conf 186 arch/powerpc/platforms/powernv/opal-fadump.c static u64 opal_fadump_init_mem_struct(struct fw_dump *fadump_conf) fadump_conf 188 arch/powerpc/platforms/powernv/opal-fadump.c u64 addr = fadump_conf->reserve_dump_area_start; fadump_conf 191 arch/powerpc/platforms/powernv/opal-fadump.c opal_fdm = __va(fadump_conf->kernel_metadata); fadump_conf 195 arch/powerpc/platforms/powernv/opal-fadump.c for (i = 0; i < fadump_conf->boot_mem_regs_cnt; i++) { fadump_conf 196 arch/powerpc/platforms/powernv/opal-fadump.c opal_fdm->rgn[i].src = fadump_conf->boot_mem_addr[i]; fadump_conf 198 arch/powerpc/platforms/powernv/opal-fadump.c opal_fdm->rgn[i].size = fadump_conf->boot_mem_sz[i]; fadump_conf 201 arch/powerpc/platforms/powernv/opal-fadump.c addr += fadump_conf->boot_mem_sz[i]; fadump_conf 209 arch/powerpc/platforms/powernv/opal-fadump.c fadump_conf->boot_memory_size); fadump_conf 211 arch/powerpc/platforms/powernv/opal-fadump.c opal_fadump_update_config(fadump_conf, opal_fdm); fadump_conf 221 arch/powerpc/platforms/powernv/opal-fadump.c static int opal_fadump_setup_metadata(struct fw_dump *fadump_conf) fadump_conf 230 arch/powerpc/platforms/powernv/opal-fadump.c fadump_conf->kernel_metadata = (fadump_conf->reserve_dump_area_start + fadump_conf 231 arch/powerpc/platforms/powernv/opal-fadump.c fadump_conf->reserve_dump_area_size - fadump_conf 233 arch/powerpc/platforms/powernv/opal-fadump.c pr_info("Kernel metadata addr: %llx\n", fadump_conf->kernel_metadata); fadump_conf 236 arch/powerpc/platforms/powernv/opal-fadump.c opal_fdm = __va(fadump_conf->kernel_metadata); fadump_conf 244 arch/powerpc/platforms/powernv/opal-fadump.c fadump_conf->kernel_metadata); fadump_conf 255 arch/powerpc/platforms/powernv/opal-fadump.c fadump_conf->boot_mem_top); fadump_conf 269 arch/powerpc/platforms/powernv/opal-fadump.c static int opal_fadump_register(struct fw_dump *fadump_conf) fadump_conf 288 arch/powerpc/platforms/powernv/opal-fadump.c fadump_conf->dump_registered = 1; fadump_conf 295 arch/powerpc/platforms/powernv/opal-fadump.c fadump_conf->dump_registered = 1; fadump_conf 303 arch/powerpc/platforms/powernv/opal-fadump.c fadump_conf->fadump_supported = 0; fadump_conf 304 arch/powerpc/platforms/powernv/opal-fadump.c fadump_conf->fadump_enabled = 0; fadump_conf 316 arch/powerpc/platforms/powernv/opal-fadump.c opal_fadump_unregister(fadump_conf); fadump_conf 321 arch/powerpc/platforms/powernv/opal-fadump.c static int opal_fadump_unregister(struct fw_dump *fadump_conf) fadump_conf 332 arch/powerpc/platforms/powernv/opal-fadump.c fadump_conf->dump_registered = 0; fadump_conf 336 arch/powerpc/platforms/powernv/opal-fadump.c static int opal_fadump_invalidate(struct fw_dump *fadump_conf) fadump_conf 346 arch/powerpc/platforms/powernv/opal-fadump.c fadump_conf->dump_active = 0; fadump_conf 351 arch/powerpc/platforms/powernv/opal-fadump.c static void opal_fadump_cleanup(struct fw_dump *fadump_conf) fadump_conf 364 arch/powerpc/platforms/powernv/opal-fadump.c static bool __init is_opal_fadump_cpu_data_valid(struct fw_dump *fadump_conf) fadump_conf 369 arch/powerpc/platforms/powernv/opal-fadump.c fadump_conf->cpu_state_data_version = fadump_conf 371 arch/powerpc/platforms/powernv/opal-fadump.c fadump_conf->cpu_state_entry_size = fadump_conf 373 arch/powerpc/platforms/powernv/opal-fadump.c fadump_conf->cpu_state_dest_vaddr = fadump_conf 375 arch/powerpc/platforms/powernv/opal-fadump.c fadump_conf->cpu_state_data_size = fadump_conf 378 arch/powerpc/platforms/powernv/opal-fadump.c if (fadump_conf->cpu_state_data_version != HDAT_FADUMP_CPU_DATA_VER) { fadump_conf 381 arch/powerpc/platforms/powernv/opal-fadump.c fadump_conf->cpu_state_data_version); fadump_conf 385 arch/powerpc/platforms/powernv/opal-fadump.c if ((fadump_conf->cpu_state_dest_vaddr == 0) || fadump_conf 386 arch/powerpc/platforms/powernv/opal-fadump.c (fadump_conf->cpu_state_entry_size == 0) || fadump_conf 387 arch/powerpc/platforms/powernv/opal-fadump.c (fadump_conf->cpu_state_entry_size > fadump_conf 388 arch/powerpc/platforms/powernv/opal-fadump.c fadump_conf->cpu_state_data_size)) { fadump_conf 409 arch/powerpc/platforms/powernv/opal-fadump.c opal_fadump_build_cpu_notes(struct fw_dump *fadump_conf, fadump_conf 420 arch/powerpc/platforms/powernv/opal-fadump.c if (is_opal_fadump_cpu_data_valid(fadump_conf)) { fadump_conf 421 arch/powerpc/platforms/powernv/opal-fadump.c size_per_thread = fadump_conf->cpu_state_entry_size; fadump_conf 422 arch/powerpc/platforms/powernv/opal-fadump.c num_cpus = (fadump_conf->cpu_state_data_size / size_per_thread); fadump_conf 423 arch/powerpc/platforms/powernv/opal-fadump.c bufp = __va(fadump_conf->cpu_state_dest_vaddr); fadump_conf 431 arch/powerpc/platforms/powernv/opal-fadump.c note_buf = (u32 *)fadump_conf->cpu_notes_buf_vaddr; fadump_conf 495 arch/powerpc/platforms/powernv/opal-fadump.c if (fadump_conf->cpu_notes_buf_vaddr == (u64)note_buf) { fadump_conf 513 arch/powerpc/platforms/powernv/opal-fadump.c static int __init opal_fadump_process(struct fw_dump *fadump_conf) fadump_conf 518 arch/powerpc/platforms/powernv/opal-fadump.c if (!opal_fdm_active || !fadump_conf->fadumphdr_addr) fadump_conf 522 arch/powerpc/platforms/powernv/opal-fadump.c fdh = __va(fadump_conf->fadumphdr_addr); fadump_conf 540 arch/powerpc/platforms/powernv/opal-fadump.c rc = opal_fadump_build_cpu_notes(fadump_conf, fdh); fadump_conf 554 arch/powerpc/platforms/powernv/opal-fadump.c static void opal_fadump_region_show(struct fw_dump *fadump_conf, fadump_conf 561 arch/powerpc/platforms/powernv/opal-fadump.c if (fadump_conf->dump_active) fadump_conf 571 arch/powerpc/platforms/powernv/opal-fadump.c if ((fadump_conf->dump_active) && fadump_conf 582 arch/powerpc/platforms/powernv/opal-fadump.c if (fadump_conf->dump_active) { fadump_conf 584 arch/powerpc/platforms/powernv/opal-fadump.c fadump_conf->reserve_dump_area_start); fadump_conf 623 arch/powerpc/platforms/powernv/opal-fadump.c void __init opal_fadump_dt_scan(struct fw_dump *fadump_conf, u64 node) fadump_conf 667 arch/powerpc/platforms/powernv/opal-fadump.c fadump_conf->ops = &opal_fadump_ops; fadump_conf 668 arch/powerpc/platforms/powernv/opal-fadump.c fadump_conf->fadump_supported = 1; fadump_conf 674 arch/powerpc/platforms/powernv/opal-fadump.c fadump_conf->max_copy_size = _ALIGN_DOWN(U32_MAX, PAGE_SIZE); fadump_conf 713 arch/powerpc/platforms/powernv/opal-fadump.c fadump_conf->dump_active = 1; fadump_conf 714 arch/powerpc/platforms/powernv/opal-fadump.c opal_fadump_get_config(fadump_conf, opal_fdm_active); fadump_conf 28 arch/powerpc/platforms/pseries/rtas-fadump.c static void rtas_fadump_update_config(struct fw_dump *fadump_conf, fadump_conf 31 arch/powerpc/platforms/pseries/rtas-fadump.c fadump_conf->boot_mem_dest_addr = fadump_conf 34 arch/powerpc/platforms/pseries/rtas-fadump.c fadump_conf->fadumphdr_addr = (fadump_conf->boot_mem_dest_addr + fadump_conf 35 arch/powerpc/platforms/pseries/rtas-fadump.c fadump_conf->boot_memory_size); fadump_conf 42 arch/powerpc/platforms/pseries/rtas-fadump.c static void rtas_fadump_get_config(struct fw_dump *fadump_conf, fadump_conf 45 arch/powerpc/platforms/pseries/rtas-fadump.c fadump_conf->boot_mem_addr[0] = fadump_conf 47 arch/powerpc/platforms/pseries/rtas-fadump.c fadump_conf->boot_mem_sz[0] = be64_to_cpu(fdm->rmr_region.source_len); fadump_conf 48 arch/powerpc/platforms/pseries/rtas-fadump.c fadump_conf->boot_memory_size = fadump_conf->boot_mem_sz[0]; fadump_conf 50 arch/powerpc/platforms/pseries/rtas-fadump.c fadump_conf->boot_mem_top = fadump_conf->boot_memory_size; fadump_conf 51 arch/powerpc/platforms/pseries/rtas-fadump.c fadump_conf->boot_mem_regs_cnt = 1; fadump_conf 57 arch/powerpc/platforms/pseries/rtas-fadump.c fadump_conf->reserve_dump_area_start = fadump_conf 60 arch/powerpc/platforms/pseries/rtas-fadump.c rtas_fadump_update_config(fadump_conf, fdm); fadump_conf 63 arch/powerpc/platforms/pseries/rtas-fadump.c static u64 rtas_fadump_init_mem_struct(struct fw_dump *fadump_conf) fadump_conf 65 arch/powerpc/platforms/pseries/rtas-fadump.c u64 addr = fadump_conf->reserve_dump_area_start; fadump_conf 97 arch/powerpc/platforms/pseries/rtas-fadump.c cpu_to_be64(fadump_conf->cpu_state_data_size); fadump_conf 99 arch/powerpc/platforms/pseries/rtas-fadump.c addr += fadump_conf->cpu_state_data_size; fadump_conf 107 arch/powerpc/platforms/pseries/rtas-fadump.c cpu_to_be64(fadump_conf->hpte_region_size); fadump_conf 109 arch/powerpc/platforms/pseries/rtas-fadump.c addr += fadump_conf->hpte_region_size; fadump_conf 116 arch/powerpc/platforms/pseries/rtas-fadump.c fdm.rmr_region.source_len = cpu_to_be64(fadump_conf->boot_memory_size); fadump_conf 118 arch/powerpc/platforms/pseries/rtas-fadump.c addr += fadump_conf->boot_memory_size; fadump_conf 120 arch/powerpc/platforms/pseries/rtas-fadump.c rtas_fadump_update_config(fadump_conf, &fdm); fadump_conf 130 arch/powerpc/platforms/pseries/rtas-fadump.c static int rtas_fadump_register(struct fw_dump *fadump_conf) fadump_conf 137 arch/powerpc/platforms/pseries/rtas-fadump.c rc = rtas_call(fadump_conf->ibm_configure_kernel_dump, 3, 1, fadump_conf 150 arch/powerpc/platforms/pseries/rtas-fadump.c fadump_conf->dump_registered = 1; fadump_conf 167 arch/powerpc/platforms/pseries/rtas-fadump.c fadump_conf->dump_registered = 1; fadump_conf 178 arch/powerpc/platforms/pseries/rtas-fadump.c static int rtas_fadump_unregister(struct fw_dump *fadump_conf) fadump_conf 185 arch/powerpc/platforms/pseries/rtas-fadump.c rc = rtas_call(fadump_conf->ibm_configure_kernel_dump, 3, 1, fadump_conf 199 arch/powerpc/platforms/pseries/rtas-fadump.c fadump_conf->dump_registered = 0; fadump_conf 203 arch/powerpc/platforms/pseries/rtas-fadump.c static int rtas_fadump_invalidate(struct fw_dump *fadump_conf) fadump_conf 210 arch/powerpc/platforms/pseries/rtas-fadump.c rc = rtas_call(fadump_conf->ibm_configure_kernel_dump, 3, 1, fadump_conf 224 arch/powerpc/platforms/pseries/rtas-fadump.c fadump_conf->dump_active = 0; fadump_conf 304 arch/powerpc/platforms/pseries/rtas-fadump.c static int __init rtas_fadump_build_cpu_notes(struct fw_dump *fadump_conf) fadump_conf 339 arch/powerpc/platforms/pseries/rtas-fadump.c note_buf = (u32 *)fadump_conf->cpu_notes_buf_vaddr; fadump_conf 341 arch/powerpc/platforms/pseries/rtas-fadump.c if (fadump_conf->fadumphdr_addr) fadump_conf 342 arch/powerpc/platforms/pseries/rtas-fadump.c fdh = __va(fadump_conf->fadumphdr_addr); fadump_conf 388 arch/powerpc/platforms/pseries/rtas-fadump.c static int __init rtas_fadump_process(struct fw_dump *fadump_conf) fadump_conf 393 arch/powerpc/platforms/pseries/rtas-fadump.c if (!fdm_active || !fadump_conf->fadumphdr_addr) fadump_conf 412 arch/powerpc/platforms/pseries/rtas-fadump.c fdh = __va(fadump_conf->fadumphdr_addr); fadump_conf 418 arch/powerpc/platforms/pseries/rtas-fadump.c rc = rtas_fadump_build_cpu_notes(fadump_conf); fadump_conf 432 arch/powerpc/platforms/pseries/rtas-fadump.c static void rtas_fadump_region_show(struct fw_dump *fadump_conf, fadump_conf 468 arch/powerpc/platforms/pseries/rtas-fadump.c fadump_conf->reserve_dump_area_start); fadump_conf 490 arch/powerpc/platforms/pseries/rtas-fadump.c void __init rtas_fadump_dt_scan(struct fw_dump *fadump_conf, u64 node) fadump_conf 504 arch/powerpc/platforms/pseries/rtas-fadump.c fadump_conf->ibm_configure_kernel_dump = be32_to_cpu(*token); fadump_conf 505 arch/powerpc/platforms/pseries/rtas-fadump.c fadump_conf->ops = &rtas_fadump_ops; fadump_conf 506 arch/powerpc/platforms/pseries/rtas-fadump.c fadump_conf->fadump_supported = 1; fadump_conf 509 arch/powerpc/platforms/pseries/rtas-fadump.c fadump_conf->max_copy_size = _ALIGN_DOWN(U64_MAX, PAGE_SIZE); fadump_conf 518 arch/powerpc/platforms/pseries/rtas-fadump.c fadump_conf->dump_active = 1; fadump_conf 519 arch/powerpc/platforms/pseries/rtas-fadump.c rtas_fadump_get_config(fadump_conf, (void *)__pa(fdm_active)); fadump_conf 541 arch/powerpc/platforms/pseries/rtas-fadump.c fadump_conf->cpu_state_data_size = fadump_conf 545 arch/powerpc/platforms/pseries/rtas-fadump.c fadump_conf->hpte_region_size =