CFLAGS-$(CONFIG_PPC32) += $(call cc-option,-mno-readonly-in-sdata)
 
-ifdef CONFIG_PPC_BOOK3S_64
-ifdef CONFIG_CPU_LITTLE_ENDIAN
-CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=power8
-else
-CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=power4
-endif
-CFLAGS-$(CONFIG_GENERIC_CPU) += $(call cc-option,-mtune=power10,       \
-                                 $(call cc-option,-mtune=power9,       \
-                                 $(call cc-option,-mtune=power8)))
-else ifdef CONFIG_PPC_BOOK3E_64
-CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=powerpc64
-endif
-
 ifdef CONFIG_FUNCTION_TRACER
 CC_FLAGS_FTRACE := -pg
 ifdef CONFIG_MPROFILE_KERNEL
 endif
 endif
 
-CFLAGS-$(CONFIG_TARGET_CPU_BOOL) += $(call cc-option,-mcpu=$(CONFIG_TARGET_CPU))
-AFLAGS-$(CONFIG_TARGET_CPU_BOOL) += $(call cc-option,-mcpu=$(CONFIG_TARGET_CPU))
+CFLAGS-$(CONFIG_TARGET_CPU_BOOL) += -mcpu=$(CONFIG_TARGET_CPU)
+AFLAGS-$(CONFIG_TARGET_CPU_BOOL) += -mcpu=$(CONFIG_TARGET_CPU)
 
-CFLAGS-$(CONFIG_E5500_CPU) += $(call cc-option,-mcpu=e500mc64,-mcpu=powerpc64)
-CFLAGS-$(CONFIG_E6500_CPU) += $(call cc-option,-mcpu=e6500,$(E5500_CPU))
+CFLAGS-$(CONFIG_POWERPC64_CPU) += $(call cc-option,-mtune=power10,     \
+                                 $(call cc-option,-mtune=power9,       \
+                                 $(call cc-option,-mtune=power8)))
 
 asinstr := $(call as-instr,lis 9$(comma)foo@high,-DHAVE_AS_ATHIGH=1)
 
 
 
 choice
        prompt "CPU selection"
-       default GENERIC_CPU
        help
          This will create a kernel which is optimised for a particular CPU.
          The resulting kernel may not run on other CPUs, so use this with care.
 
          If unsure, select Generic.
 
-config GENERIC_CPU
+config POWERPC64_CPU
        bool "Generic (POWER5 and PowerPC 970 and above)"
        depends on PPC_BOOK3S_64 && !CPU_LITTLE_ENDIAN
        select PPC_64S_HASH_MMU
 
-config GENERIC_CPU
+config POWERPC64_CPU
        bool "Generic (POWER8 and above)"
        depends on PPC_BOOK3S_64 && CPU_LITTLE_ENDIAN
        select ARCH_HAS_FAST_MULTIPLIER
 
 config TOOLCHAIN_DEFAULT_CPU
        bool "Rely on the toolchain's implicit default CPU"
-       depends on PPC32
 
 endchoice
 
 config TARGET_CPU_BOOL
        bool
-       default !GENERIC_CPU && !TOOLCHAIN_DEFAULT_CPU
+       default !TOOLCHAIN_DEFAULT_CPU
 
 config TARGET_CPU
        string
        default "power8" if POWER8_CPU
        default "power9" if POWER9_CPU
        default "power10" if POWER10_CPU
+       default "e500mc64" if E5500_CPU
+       default "e6500" if E6500_CPU
+       default "power4" if POWERPC64_CPU && !CPU_LITTLE_ENDIAN
+       default "power8" if POWERPC64_CPU && CPU_LITTLE_ENDIAN
        default "405" if 405_CPU
        default "440" if 440_CPU
        default "464" if 464_CPU