Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

powerpc/64/kexec: NULL check "clear_all" in kexec_sequence

With Radix, it can be NULL even on !BOOKE these days so replace
the ifdef with a NULL check which is cleaner anyway.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Acked-by: Balbir Singh <bsingharora@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>

authored by

Benjamin Herrenschmidt and committed by
Michael Ellerman
fc48bad5 ef24ba70

+4 -3
+4 -3
arch/powerpc/kernel/misc_64.S
··· 660 660 li r6,1 661 661 stw r6,kexec_flag-1b(5) 662 662 663 - #ifndef CONFIG_PPC_BOOK3E 663 + cmpdi r27,0 664 + beq 1f 665 + 664 666 /* clear out hardware hash page table and tlb */ 665 667 #ifdef PPC64_ELF_ABI_v1 666 668 ld r12,0(r27) /* deref function descriptor */ ··· 671 669 #endif 672 670 mtctr r12 673 671 bctrl /* mmu_hash_ops.hpte_clear_all(void); */ 674 - #endif /* !CONFIG_PPC_BOOK3E */ 675 672 676 673 /* 677 674 * kexec image calling is: ··· 697 696 * are the boot cpu ????? 698 697 * other device tree differences (prop sizes, va vs pa, etc)... 699 698 */ 700 - mr r3,r25 # my phys cpu 699 + 1: mr r3,r25 # my phys cpu 701 700 mr r4,r30 # start, aka phys mem offset 702 701 mtlr 4 703 702 li r5,0