config KEXEC
        bool "kexec system call"
-       depends on (PPC_BOOK3S || PPC_85xx || (44x && !SMP)) || PPC_BOOK3E
+       depends on (PPC_BOOK3S || PPC_85xx || (44x && !SMP)) || PPC_BOOK3E_64
        select KEXEC_CORE
        help
          kexec is a system call that implements the ability to shutdown your
 
 #define CPU_FTRS_COMPATIBLE    (CPU_FTR_PPCAS_ARCH_V2)
 
 #ifdef CONFIG_PPC64
-#ifdef CONFIG_PPC_BOOK3E
+#ifdef CONFIG_PPC_BOOK3E_64
 #define CPU_FTRS_POSSIBLE      (CPU_FTRS_E6500 | CPU_FTRS_E5500)
 #else
 #ifdef CONFIG_CPU_LITTLE_ENDIAN
 #endif /* __powerpc64__ */
 
 #ifdef CONFIG_PPC64
-#ifdef CONFIG_PPC_BOOK3E
+#ifdef CONFIG_PPC_BOOK3E_64
 #define CPU_FTRS_ALWAYS                (CPU_FTRS_E6500 & CPU_FTRS_E5500)
 #else
 
 
                if (TRAP(regs) == INTERRUPT_PERFMON)
                       return false;
        }
-       if (IS_ENABLED(CONFIG_PPC_BOOK3E)) {
+       if (IS_ENABLED(CONFIG_PPC_BOOK3E_64)) {
                if (TRAP(regs) == INTERRUPT_PERFMON)
                        return false;
        }
 
 {
 
 }
-#endif /* !CONFIG_PPC_BOOK3E */
+#endif /* !CONFIG_PPC_BOOK3E_64 */
 
 static inline pgd_t *pgd_alloc(struct mm_struct *mm)
 {
 
 #include <asm/lppaca.h>
 #include <asm/mmu.h>
 #include <asm/page.h>
-#ifdef CONFIG_PPC_BOOK3E
+#ifdef CONFIG_PPC_BOOK3E_64
 #include <asm/exception-64e.h>
 #else
 #include <asm/exception-64s.h>
 #endif
 #endif /* CONFIG_PPC_BOOK3S_64 */
 
-#ifdef CONFIG_PPC_BOOK3E
+#ifdef CONFIG_PPC_BOOK3E_64
        u64 exgen[8] __aligned(0x40);
        /* Keep pgd in the same cacheline as the start of extlb */
        pgd_t *pgd __aligned(0x40); /* Current PGD */
        void *dbg_kstack;
 
        struct tlb_core_data tcd;
-#endif /* CONFIG_PPC_BOOK3E */
+#endif /* CONFIG_PPC_BOOK3E_64 */
 
 #ifdef CONFIG_PPC_64S_HASH_MMU
        unsigned char mm_ctx_low_slices_psize[BITS_PER_LONG / BITS_PER_BYTE];
 #ifdef CONFIG_PPC64
        u64 exit_save_r1;               /* Syscall/interrupt R1 save */
 #endif
-#ifdef CONFIG_PPC_BOOK3E
+#ifdef CONFIG_PPC_BOOK3E_64
        u16 trap_save;                  /* Used when bad stack is encountered */
 #endif
 #ifdef CONFIG_PPC_BOOK3S_64
 
  * kernel is built for.
  */
 
-#ifdef CONFIG_PPC_BOOK3E
+#ifdef CONFIG_PPC_BOOK3E_64
 #define FIXUP_ENDIAN
 #else
 /*
        .long 0x2402004c; /* hrfid                              */ \
 191:
 
-#endif /* !CONFIG_PPC_BOOK3E */
+#endif /* !CONFIG_PPC_BOOK3E_64 */
 
 #endif /*  __ASSEMBLY__ */
 
 
        OFFSET(PACAIRQHAPPENED, paca_struct, irq_happened);
        OFFSET(PACA_FTRACE_ENABLED, paca_struct, ftrace_enabled);
 
-#ifdef CONFIG_PPC_BOOK3E
+#ifdef CONFIG_PPC_BOOK3E_64
        OFFSET(PACAPGD, paca_struct, pgd);
        OFFSET(PACA_KERNELPGD, paca_struct, kernel_pgd);
        OFFSET(PACA_EXGEN, paca_struct, exgen);
        OFFSET(TCD_ESEL_NEXT, tlb_core_data, esel_next);
        OFFSET(TCD_ESEL_MAX, tlb_core_data, esel_max);
        OFFSET(TCD_ESEL_FIRST, tlb_core_data, esel_first);
-#endif /* CONFIG_PPC_BOOK3E */
+#endif /* CONFIG_PPC_BOOK3E_64 */
 
 #ifdef CONFIG_PPC_BOOK3S_64
        OFFSET(PACA_EXGEN, paca_struct, exgen);
 #ifdef CONFIG_PPC64
        OFFSET(PACA_EXIT_SAVE_R1, paca_struct, exit_save_r1);
 #endif
-#ifdef CONFIG_PPC_BOOK3E
+#ifdef CONFIG_PPC_BOOK3E_64
        OFFSET(PACA_TRAP_SAVE, paca_struct, trap_save);
 #endif
        OFFSET(PACA_SPRG_VDSO, paca_struct, sprg_vdso);
 
 
        /* Prepare a 32-bit mode big endian MSR
         */
-#ifdef CONFIG_PPC_BOOK3E
+#ifdef CONFIG_PPC_BOOK3E_64
        rlwinm  r11,r11,0,1,31
        mtsrr1  r11
        rfi
-#else /* CONFIG_PPC_BOOK3E */
+#else /* CONFIG_PPC_BOOK3E_64 */
        LOAD_REG_IMMEDIATE(r12, MSR_SF | MSR_LE)
        andc    r11,r11,r12
        mtsrr1  r11
        RFI_TO_KERNEL
-#endif /* CONFIG_PPC_BOOK3E */
+#endif /* CONFIG_PPC_BOOK3E_64 */
 
 1:     /* Return from OF */
        FIXUP_ENDIAN
 
        .globl  __secondary_hold
 __secondary_hold:
        FIXUP_ENDIAN
-#ifndef CONFIG_PPC_BOOK3E
+#ifndef CONFIG_PPC_BOOK3E_64
        mfmsr   r24
        ori     r24,r24,MSR_RI
        mtmsrd  r24                     /* RI on */
        sync
 
        li      r26,0
-#ifdef CONFIG_PPC_BOOK3E
+#ifdef CONFIG_PPC_BOOK3E_64
        tovirt(r26,r26)
 #endif
        /* All secondary cpus wait here until told to start. */
        beq     100b
 
 #if defined(CONFIG_SMP) || defined(CONFIG_KEXEC_CORE)
-#ifdef CONFIG_PPC_BOOK3E
+#ifdef CONFIG_PPC_BOOK3E_64
        tovirt(r12,r12)
 #endif
        mtctr   r12
         * it may be the case that other platforms have r4 right to
         * begin with, this gives us some safety in case it is not
         */
-#ifdef CONFIG_PPC_BOOK3E
+#ifdef CONFIG_PPC_BOOK3E_64
        mr      r4,r25
 #else
        li      r4,0
 
 #include "interrupt_64.S"
 
-#ifdef CONFIG_PPC_BOOK3E
+#ifdef CONFIG_PPC_BOOK3E_64
 /*
  * The booting_thread_hwid holds the thread id we want to boot in cpu
  * hotplug case. It is set by cpu hotplug code, and is invalid by default.
        bl      book3e_secondary_thread_init
        b       generic_secondary_common_init
 
-#endif /* CONFIG_PPC_BOOK3E */
+#endif /* CONFIG_PPC_BOOK3E_64 */
 
 /*
  * On pSeries and most other platforms, secondary processors spin
        bl      relative_toc
        tovirt(r2,r2)
 
-#ifdef CONFIG_PPC_BOOK3E
+#ifdef CONFIG_PPC_BOOK3E_64
        /* Book3E initialization */
        mr      r3,r24
        mr      r4,r25
        b       kexec_wait              /* next kernel might do better   */
 
 2:     SET_PACA(r13)
-#ifdef CONFIG_PPC_BOOK3E
+#ifdef CONFIG_PPC_BOOK3E_64
        addi    r12,r13,PACA_EXTLB      /* and TLB exc frame in another  */
        mtspr   SPRN_SPRG_TLB_EXFRAME,r12
 #endif
        mr      r29,r9
 #endif
 
-#ifdef CONFIG_PPC_BOOK3E
+#ifdef CONFIG_PPC_BOOK3E_64
        bl      start_initialization_book3e
        b       __after_prom_start
 #else
        /* Switch off MMU if not already off */
        bl      __mmu_off
        b       __after_prom_start
-#endif /* CONFIG_PPC_BOOK3E */
+#endif /* CONFIG_PPC_BOOK3E_64 */
 
 __REF
 __boot_from_prom:
        /* process relocations for the final address of the kernel */
        lis     r25,PAGE_OFFSET@highest /* compute virtual base of kernel */
        sldi    r25,r25,32
-#if defined(CONFIG_PPC_BOOK3E)
+#if defined(CONFIG_PPC_BOOK3E_64)
        tovirt(r26,r26)         /* on booke, we already run at PAGE_OFFSET */
 #endif
        lwz     r7,(FIXED_SYMBOL_ABS_ADDR(__run_at_load))(r26)
-#if defined(CONFIG_PPC_BOOK3E)
+#if defined(CONFIG_PPC_BOOK3E_64)
        tophys(r26,r26)
 #endif
        cmplwi  cr0,r7,1        /* flagged to stay where we are ? */
        add     r25,r25,r26
 1:     mr      r3,r25
        bl      relocate
-#if defined(CONFIG_PPC_BOOK3E)
+#if defined(CONFIG_PPC_BOOK3E_64)
        /* IVPR needs to be set after relocation. */
        bl      init_core_book3e
 #endif
  * Note: This process overwrites the OF exception vectors.
  */
        li      r3,0                    /* target addr */
-#ifdef CONFIG_PPC_BOOK3E
+#ifdef CONFIG_PPC_BOOK3E_64
        tovirt(r3,r3)           /* on booke, we already run at PAGE_OFFSET */
 #endif
        mr.     r4,r26                  /* In some cases the loader may  */
-#if defined(CONFIG_PPC_BOOK3E)
+#if defined(CONFIG_PPC_BOOK3E_64)
        tovirt(r4,r4)
 #endif
        beq     9f                      /* have already put us at zero */
  * variable __run_at_load, if it is set the kernel is treated as relocatable
  * kernel, otherwise it will be moved to PHYSICAL_START
  */
-#if defined(CONFIG_PPC_BOOK3E)
+#if defined(CONFIG_PPC_BOOK3E_64)
        tovirt(r26,r26)         /* on booke, we already run at PAGE_OFFSET */
 #endif
        lwz     r7,(FIXED_SYMBOL_ABS_ADDR(__run_at_load))(r26)
        cmplwi  cr0,r7,1
        bne     3f
 
-#ifdef CONFIG_PPC_BOOK3E
+#ifdef CONFIG_PPC_BOOK3E_64
        LOAD_REG_ADDR(r5, __end_interrupts)
        LOAD_REG_ADDR(r11, _stext)
        sub     r5,r5,r11
  */
 enable_64b_mode:
        mfmsr   r11                     /* grab the current MSR */
-#ifdef CONFIG_PPC_BOOK3E
+#ifdef CONFIG_PPC_BOOK3E_64
        oris    r11,r11,0x8000          /* CM bit set, we'll set ICM later */
        mtmsr   r11
-#else /* CONFIG_PPC_BOOK3E */
+#else /* CONFIG_PPC_BOOK3E_64 */
        LOAD_REG_IMMEDIATE(r12, MSR_64BIT)
        or      r11,r11,r12
        mtmsrd  r11
        std     r29,8(r11);
 #endif
 
-#ifndef CONFIG_PPC_BOOK3E
+#ifndef CONFIG_PPC_BOOK3E_64
        mfmsr   r6
        ori     r6,r6,MSR_RI
        mtmsrd  r6                      /* RI on */
 
 
 
 #ifdef CONFIG_KEXEC_CORE
-#ifdef CONFIG_PPC_BOOK3E
+#ifdef CONFIG_PPC_BOOK3E_64
 /*
  * BOOK3E has no real MMU mode, so we have to setup the initial TLB
  * for a core to identity map v:0 to p:0.  This current implementation
  * don't overwrite r3 here, it is live for kexec_wait above.
  */
 real_mode:     /* assume normal blr return */
-#ifdef CONFIG_PPC_BOOK3E
+#ifdef CONFIG_PPC_BOOK3E_64
        /* Create an identity mapping. */
        b       kexec_create_tlb
 #else
        lhz     r25,PACAHWCPUID(r13)    /* get our phys cpu from paca */
 
        /* disable interrupts, we are overwriting kernel data next */
-#ifdef CONFIG_PPC_BOOK3E
+#ifdef CONFIG_PPC_BOOK3E_64
        wrteei  0
 #else
        mfmsr   r3
 
 #ifdef CONFIG_PPC_PSERIES
        new_paca->lppaca_ptr = NULL;
 #endif
-#ifdef CONFIG_PPC_BOOK3E
+#ifdef CONFIG_PPC_BOOK3E_64
        new_paca->kernel_pgd = swapper_pg_dir;
 #endif
        new_paca->lock_token = 0x8000;
        new_paca->slb_shadow_ptr = NULL;
 #endif
 
-#ifdef CONFIG_PPC_BOOK3E
+#ifdef CONFIG_PPC_BOOK3E_64
        /* For now -- if we have threads this will be adjusted later */
        new_paca->tcd_ptr = &new_paca->tcd;
 #endif
        /* Setup r13 */
        local_paca = new_paca;
 
-#ifdef CONFIG_PPC_BOOK3E
+#ifdef CONFIG_PPC_BOOK3E_64
        /* On Book3E, initialize the TLB miss exception frames */
        mtspr(SPRN_SPRG_TLB_EXFRAME, local_paca->extlb);
 #else
 
 static inline void check_smt_enabled(void) { }
 #endif
 
-#if defined(CONFIG_PPC_BOOK3E) && defined(CONFIG_SMP)
+#if defined(CONFIG_PPC_BOOK3E_64) && defined(CONFIG_SMP)
 void setup_tlb_core_data(void);
 #else
 static inline void setup_tlb_core_data(void) { }
 
 };
 EXPORT_SYMBOL_GPL(ppc64_caches);
 
-#if defined(CONFIG_PPC_BOOK3E) && defined(CONFIG_SMP)
+#if defined(CONFIG_PPC_BOOK3E_64) && defined(CONFIG_SMP)
 void __init setup_tlb_core_data(void)
 {
        int cpu;
  */
 __init u64 ppc64_bolted_size(void)
 {
-#ifdef CONFIG_PPC_BOOK3E
+#ifdef CONFIG_PPC_BOOK3E_64
        /* Freescale BookE bolts the entire linear mapping */
        /* XXX: BookE ppc64_rma_limit setup seems to disagree? */
        if (early_mmu_has_feature(MMU_FTR_TYPE_FSL_E))
        }
 }
 
-#ifdef CONFIG_PPC_BOOK3E
+#ifdef CONFIG_PPC_BOOK3E_64
 void __init exc_lvl_early_init(void)
 {
        unsigned int i;
        /*
         * BookE and BookS radix are historical values and should be revisited.
         */
-       if (IS_ENABLED(CONFIG_PPC_BOOK3E)) {
+       if (IS_ENABLED(CONFIG_PPC_BOOK3E_64)) {
                atom_size = SZ_1M;
        } else if (radix_enabled()) {
                atom_size = PAGE_SIZE;
 
        .head.text : AT(ADDR(.head.text) - LOAD_OFFSET) {
 #ifdef CONFIG_PPC64
                KEEP(*(.head.text.first_256B));
-#ifdef CONFIG_PPC_BOOK3E
+#ifdef CONFIG_PPC_BOOK3E_64
 #else
                KEEP(*(.head.text.real_vectors));
                *(.head.text.real_trampolines);
 
         * the RMA. On BookE there is no real MMU off mode, so we have to
         * keep it enabled as well (but then we have bolted TLB entries).
         */
-#ifdef CONFIG_PPC_BOOK3E
+#ifdef CONFIG_PPC_BOOK3E_64
        copy_with_mmu_off = false;
 #else
        copy_with_mmu_off = radix_enabled() ||
 
 #else /* CONFIG_40x || CONFIG_PPC_8xx */
 extern void _tlbil_all(void);
 extern void _tlbil_pid(unsigned int pid);
-#ifdef CONFIG_PPC_BOOK3E
+#ifdef CONFIG_PPC_BOOK3E_64
 extern void _tlbil_pid_noind(unsigned int pid);
 #else
 #define _tlbil_pid_noind(pid)  _tlbil_pid(pid)
        asm volatile ("tlbie %0; sync" : : "r" (address) : "memory");
        trace_tlbie(0, 0, address, pid, 0, 0, 0);
 }
-#elif defined(CONFIG_PPC_BOOK3E)
+#elif defined(CONFIG_PPC_BOOK3E_64)
 extern void _tlbil_va(unsigned long address, unsigned int pid,
                      unsigned int tsize, unsigned int ind);
 #else
 }
 #endif /* CONFIG_PPC_8xx */
 
-#if defined(CONFIG_PPC_BOOK3E) || defined(CONFIG_PPC_47x)
+#if defined(CONFIG_PPC_BOOK3E_64) || defined(CONFIG_PPC_47x)
 extern void _tlbivax_bcast(unsigned long address, unsigned int pid,
                           unsigned int tsize, unsigned int ind);
 #else
 
        isync
 1:     wrtee   r10
        blr
-#elif defined(CONFIG_PPC_BOOK3E)
+#elif defined(CONFIG_PPC_BOOK3E_64)
 /*
  * New Book3E (>= 2.06) implementation
  *
 
 # SPDX-License-Identifier: GPL-2.0
 menuconfig FSL_SOC_BOOKE
        bool "Freescale Book-E Machine Type"
-       depends on PPC_85xx || PPC_BOOK3E
+       depends on PPC_85xx || PPC_BOOK3E_64
        select FSL_SOC
        select PPC_UDBG_16550
        select MPIC
 
        def_bool y
        depends on PPC_BOOK3S_32 || PPC_BOOK3S_64
 
-config PPC_BOOK3E
-       def_bool y
-       depends on PPC_BOOK3E_64
-
 config E500
        select FSL_EMB_PERFMON
        select PPC_FSL_BOOK3E
 
 config BOOKE
        bool
-       depends on E500 || 44x || PPC_BOOK3E
+       depends on E500 || 44x || PPC_BOOK3E_64
        default y
 
 config BOOKE_OR_40x
 
 config PPC_BOOK3E_MMU
        def_bool y
-       depends on PPC_85xx || PPC_BOOK3E
+       depends on PPC_85xx || PPC_BOOK3E_64
 
 config PPC_HAVE_PMU_SUPPORT
        bool
        select SMP
 
 config SMP
-       depends on PPC_BOOK3S || PPC_BOOK3E || PPC_85xx || PPC_47x
+       depends on PPC_BOOK3S || PPC_BOOK3E_64 || PPC_85xx || PPC_47x
        select GENERIC_IRQ_MIGRATION
        bool "Symmetric multi-processing support" if !FORCE_SMP
        help
 
 #ifdef CONFIG_44x
 static void dump_tlb_44x(void);
 #endif
-#ifdef CONFIG_PPC_BOOK3E
+#ifdef CONFIG_PPC_BOOK3E_64
 static void dump_tlb_book3e(void);
 #endif
 
   t    print backtrace\n\
   x    exit monitor and recover\n\
   X    exit monitor and don't recover\n"
-#if defined(CONFIG_PPC64) && !defined(CONFIG_PPC_BOOK3E)
+#if defined(CONFIG_PPC64) && !defined(CONFIG_PPC_BOOK3E_64)
 "  u   dump segment table or SLB\n"
 #elif defined(CONFIG_PPC_BOOK3S_32)
 "  u   dump segment registers\n"
-#elif defined(CONFIG_44x) || defined(CONFIG_PPC_BOOK3E)
+#elif defined(CONFIG_44x) || defined(CONFIG_PPC_BOOK3E_64)
 "  u   dump TLB\n"
 #endif
 "  U   show uptime information\n"
                case 'u':
                        dump_tlb_44x();
                        break;
-#elif defined(CONFIG_PPC_BOOK3E)
+#elif defined(CONFIG_PPC_BOOK3E_64)
                case 'u':
                        dump_tlb_book3e();
                        break;
        DUMP(p, rfi_flush_fallback_area, "%-*px");
 #endif
        DUMP(p, dscr_default, "%#-*llx");
-#ifdef CONFIG_PPC_BOOK3E
+#ifdef CONFIG_PPC_BOOK3E_64
        DUMP(p, pgd, "%-*px");
        DUMP(p, kernel_pgd, "%-*px");
        DUMP(p, tcd_ptr, "%-*px");
        DUMP(p, canary, "%#-*lx");
 #endif
        DUMP(p, saved_r1, "%#-*llx");
-#ifdef CONFIG_PPC_BOOK3E
+#ifdef CONFIG_PPC_BOOK3E_64
        DUMP(p, trap_save, "%#-*x");
 #endif
        DUMP(p, irq_soft_mask, "%#-*x");
 }
 #endif /* CONFIG_44x */
 
-#ifdef CONFIG_PPC_BOOK3E
+#ifdef CONFIG_PPC_BOOK3E_64
 static void dump_tlb_book3e(void)
 {
        u32 mmucfg, pidmask, lpidmask;
                }
        }
 }
-#endif /* CONFIG_PPC_BOOK3E */
+#endif /* CONFIG_PPC_BOOK3E_64 */
 
 static void xmon_init(int enable)
 {