diff options
Diffstat (limited to 'arch/powerpc/kernel/prom.c')
-rw-r--r-- | arch/powerpc/kernel/prom.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c index abe405dab34d..70222b35cfc5 100644 --- a/arch/powerpc/kernel/prom.c +++ b/arch/powerpc/kernel/prom.c | |||
@@ -55,6 +55,7 @@ | |||
55 | #include <asm/phyp_dump.h> | 55 | #include <asm/phyp_dump.h> |
56 | #include <asm/kexec.h> | 56 | #include <asm/kexec.h> |
57 | #include <asm/opal.h> | 57 | #include <asm/opal.h> |
58 | #include <asm/fadump.h> | ||
58 | 59 | ||
59 | #include <mm/mmu_decl.h> | 60 | #include <mm/mmu_decl.h> |
60 | 61 | ||
@@ -719,6 +720,11 @@ void __init early_init_devtree(void *params) | |||
719 | of_scan_flat_dt(early_init_dt_scan_phyp_dump, NULL); | 720 | of_scan_flat_dt(early_init_dt_scan_phyp_dump, NULL); |
720 | #endif | 721 | #endif |
721 | 722 | ||
723 | #ifdef CONFIG_FA_DUMP | ||
724 | /* scan tree to see if dump is active during last boot */ | ||
725 | of_scan_flat_dt(early_init_dt_scan_fw_dump, NULL); | ||
726 | #endif | ||
727 | |||
722 | /* Pre-initialize the cmd_line with the content of boot_commmand_line, | 728 | /* Pre-initialize the cmd_line with the content of boot_commmand_line, |
723 | * which will be empty except when the content of the variable has | 729 | * which will be empty except when the content of the variable has |
724 | * been overriden by a bootloading mechanism. This happens typically | 730 | * been overriden by a bootloading mechanism. This happens typically |
@@ -750,7 +756,14 @@ void __init early_init_devtree(void *params) | |||
750 | if (PHYSICAL_START > MEMORY_START) | 756 | if (PHYSICAL_START > MEMORY_START) |
751 | memblock_reserve(MEMORY_START, 0x8000); | 757 | memblock_reserve(MEMORY_START, 0x8000); |
752 | reserve_kdump_trampoline(); | 758 | reserve_kdump_trampoline(); |
753 | reserve_crashkernel(); | 759 | #ifdef CONFIG_FA_DUMP |
760 | /* | ||
761 | * If we fail to reserve memory for firmware-assisted dump then | ||
762 | * fallback to kexec based kdump. | ||
763 | */ | ||
764 | if (fadump_reserve_mem() == 0) | ||
765 | #endif | ||
766 | reserve_crashkernel(); | ||
754 | early_reserve_mem(); | 767 | early_reserve_mem(); |
755 | phyp_dump_reserve_mem(); | 768 | phyp_dump_reserve_mem(); |
756 | 769 | ||