powerpc: Change places using CONFIG_KEXEC to use CONFIG_KEXEC_CORE instead.
authorThiago Jung Bauermann <bauerman@linux.vnet.ibm.com>
Tue, 29 Nov 2016 12:45:50 +0000 (23:45 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 30 Nov 2016 12:15:11 +0000 (23:15 +1100)
Commit 2965faa5e03d ("kexec: split kexec_load syscall from kexec core
code") introduced CONFIG_KEXEC_CORE so that CONFIG_KEXEC means whether
the kexec_load system call should be compiled-in and CONFIG_KEXEC_FILE
means whether the kexec_file_load system call should be compiled-in.
These options can be set independently from each other.

Since until now powerpc only supported kexec_load, CONFIG_KEXEC and
CONFIG_KEXEC_CORE were synonyms. That is not the case anymore, so we
need to make a distinction. Almost all places where CONFIG_KEXEC was
being used should be using CONFIG_KEXEC_CORE instead, since
kexec_file_load also needs that code compiled in.

Signed-off-by: Thiago Jung Bauermann <bauerman@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
20 files changed:
arch/powerpc/Kconfig
arch/powerpc/include/asm/debug.h
arch/powerpc/include/asm/kexec.h
arch/powerpc/include/asm/machdep.h
arch/powerpc/include/asm/smp.h
arch/powerpc/kernel/Makefile
arch/powerpc/kernel/head_64.S
arch/powerpc/kernel/misc_32.S
arch/powerpc/kernel/misc_64.S
arch/powerpc/kernel/prom.c
arch/powerpc/kernel/setup_64.c
arch/powerpc/kernel/smp.c
arch/powerpc/kernel/traps.c
arch/powerpc/platforms/85xx/corenet_generic.c
arch/powerpc/platforms/85xx/smp.c
arch/powerpc/platforms/cell/spu_base.c
arch/powerpc/platforms/powernv/setup.c
arch/powerpc/platforms/ps3/setup.c
arch/powerpc/platforms/pseries/Makefile
arch/powerpc/platforms/pseries/setup.c

index cfc0688a25e93d5603e5d65e873bb9f0c83d15df..a063c7235fa994bbe010647b433140fee5ecb84f 100644 (file)
@@ -508,7 +508,7 @@ config CRASH_DUMP
 
 config FA_DUMP
        bool "Firmware-assisted dump"
-       depends on PPC64 && PPC_RTAS && CRASH_DUMP && KEXEC
+       depends on PPC64 && PPC_RTAS && CRASH_DUMP && KEXEC_CORE
        help
          A robust mechanism to get reliable kernel crash dump with
          assistance from firmware. This approach does not use kexec,
index a954e4975049c5632059e13535932ae0c8e7587c..86308f177f2d8a62cc718f0de528c727ad5ab656 100644 (file)
@@ -10,7 +10,7 @@ struct pt_regs;
 
 extern struct dentry *powerpc_debugfs_root;
 
-#if defined(CONFIG_DEBUGGER) || defined(CONFIG_KEXEC)
+#if defined(CONFIG_DEBUGGER) || defined(CONFIG_KEXEC_CORE)
 
 extern int (*__debugger)(struct pt_regs *regs);
 extern int (*__debugger_ipi)(struct pt_regs *regs);
index a46f5f45570c8904a5a13de12ecb3edfed5c2449..eca2f975bf44fa4be6510784efbf9b7b2eb0dcc5 100644 (file)
@@ -53,7 +53,7 @@
 
 typedef void (*crash_shutdown_t)(void);
 
-#ifdef CONFIG_KEXEC
+#ifdef CONFIG_KEXEC_CORE
 
 /*
  * This function is responsible for capturing register states if coming
@@ -91,7 +91,7 @@ static inline bool kdump_in_progress(void)
        return crashing_cpu >= 0;
 }
 
-#else /* !CONFIG_KEXEC */
+#else /* !CONFIG_KEXEC_CORE */
 static inline void crash_kexec_secondary(struct pt_regs *regs) { }
 
 static inline int overlaps_crashkernel(unsigned long start, unsigned long size)
@@ -116,7 +116,7 @@ static inline bool kdump_in_progress(void)
        return false;
 }
 
-#endif /* CONFIG_KEXEC */
+#endif /* CONFIG_KEXEC_CORE */
 #endif /* ! __ASSEMBLY__ */
 #endif /* __KERNEL__ */
 #endif /* _ASM_POWERPC_KEXEC_H */
index e02cbc6a6c704fa7a31b4d46ab22bb79f9546c9a..5011b69107a720b5a52cb4e80ba13019f2757d6b 100644 (file)
@@ -183,7 +183,7 @@ struct machdep_calls {
         */
        void (*machine_shutdown)(void);
 
-#ifdef CONFIG_KEXEC
+#ifdef CONFIG_KEXEC_CORE
        void (*kexec_cpu_down)(int crash_shutdown, int secondary);
 
        /* Called to do what every setup is needed on image and the
@@ -198,7 +198,7 @@ struct machdep_calls {
         * no return.
         */
        void (*machine_kexec)(struct kimage *image);
-#endif /* CONFIG_KEXEC */
+#endif /* CONFIG_KEXEC_CORE */
 
 #ifdef CONFIG_SUSPEND
        /* These are called to disable and enable, respectively, IRQs when
index 0d02c11dc331016ee6de817cb0cf127477335920..32db16d2e7ad0c0149ab44ee78200c0103387589 100644 (file)
@@ -176,7 +176,7 @@ static inline void set_hard_smp_processor_id(int cpu, int phys)
 #endif /* !CONFIG_SMP */
 #endif /* !CONFIG_PPC64 */
 
-#if defined(CONFIG_PPC64) && (defined(CONFIG_SMP) || defined(CONFIG_KEXEC))
+#if defined(CONFIG_PPC64) && (defined(CONFIG_SMP) || defined(CONFIG_KEXEC_CORE))
 extern void smp_release_cpus(void);
 #else
 static inline void smp_release_cpus(void) { };
index 7a9f7164cc2e5c98640bdd89ef52977612867319..68a6a3c8322e15db2701c7a2380a1be453791b07 100644 (file)
@@ -109,7 +109,7 @@ pci64-$(CONFIG_PPC64)               += pci_dn.o pci-hotplug.o isa-bridge.o
 obj-$(CONFIG_PCI)              += pci_$(BITS).o $(pci64-y) \
                                   pci-common.o pci_of_scan.o
 obj-$(CONFIG_PCI_MSI)          += msi.o
-obj-$(CONFIG_KEXEC)            += machine_kexec.o crash.o \
+obj-$(CONFIG_KEXEC_CORE)       += machine_kexec.o crash.o \
                                   machine_kexec_$(BITS).o
 obj-$(CONFIG_AUDIT)            += audit.o
 obj64-$(CONFIG_AUDIT)          += compat_audit.o
@@ -130,7 +130,7 @@ obj64-$(CONFIG_PPC_TRANSACTIONAL_MEM)       += tm.o
 obj-$(CONFIG_PPC64)            += $(obj64-y)
 obj-$(CONFIG_PPC32)            += $(obj32-y)
 
-ifneq ($(CONFIG_XMON)$(CONFIG_KEXEC),)
+ifneq ($(CONFIG_XMON)$(CONFIG_KEXEC_CORE),)
 obj-y                          += ppc_save_regs.o
 endif
 
index bdb4612491a9faa201e52e53e44e64b0209b3eb2..1dc5eae2ced3ad011bfa094c2e66b5a099ddf853 100644 (file)
@@ -160,7 +160,7 @@ __secondary_hold:
        cmpdi   0,r12,0
        beq     100b
 
-#if defined(CONFIG_SMP) || defined(CONFIG_KEXEC)
+#if defined(CONFIG_SMP) || defined(CONFIG_KEXEC_CORE)
 #ifdef CONFIG_PPC_BOOK3E
        tovirt(r12,r12)
 #endif
index 93cf7a5846a6f5875534cc43a2a3409357dc482a..1863324c6a3c96db16028de56d35f0c2698f33e6 100644 (file)
@@ -614,7 +614,7 @@ _GLOBAL(start_secondary_resume)
 _GLOBAL(__main)
        blr
 
-#ifdef CONFIG_KEXEC
+#ifdef CONFIG_KEXEC_CORE
        /*
         * Must be relocatable PIC code callable as a C function.
         */
index 4f178671f230ccd799a9089ca4389590e94bc703..32be2a844947436662b48e034ff42a2cad6fc3d9 100644 (file)
@@ -478,7 +478,7 @@ _GLOBAL(kexec_wait)
        addi    r5,r5,kexec_flag-1b
 
 99:    HMT_LOW
-#ifdef CONFIG_KEXEC            /* use no memory without kexec */
+#ifdef CONFIG_KEXEC_CORE       /* use no memory without kexec */
        lwz     r4,0(r5)
        cmpwi   0,r4,0
        beq     99b
@@ -503,7 +503,7 @@ kexec_flag:
        .long   0
 
 
-#ifdef CONFIG_KEXEC
+#ifdef CONFIG_KEXEC_CORE
 #ifdef CONFIG_PPC_BOOK3E
 /*
  * BOOK3E has no real MMU mode, so we have to setup the initial TLB
@@ -716,4 +716,4 @@ _GLOBAL(kexec_sequence)
        mtlr    4
        li      r5,0
        blr     /* image->start(physid, image->start, 0); */
-#endif /* CONFIG_KEXEC */
+#endif /* CONFIG_KEXEC_CORE */
index a7b87b6b4ef4a0d9f82199ff31da8b2a9ed5f6cb..f5d399e461932c19a0ce01af7c3f976b3cc39eab 100644 (file)
@@ -428,7 +428,7 @@ static int __init early_init_dt_scan_chosen_ppc(unsigned long node,
                tce_alloc_end = *lprop;
 #endif
 
-#ifdef CONFIG_KEXEC
+#ifdef CONFIG_KEXEC_CORE
        lprop = of_get_flat_dt_prop(node, "linux,crashkernel-base", NULL);
        if (lprop)
                crashk_res.start = *lprop;
index 7ac8e6eaab5ba24566f1f6fe06829e22727e86ea..c3e129080c31d77aa245c6ad5d377d44b8cd0424 100644 (file)
@@ -346,7 +346,7 @@ void early_setup_secondary(void)
 
 #endif /* CONFIG_SMP */
 
-#if defined(CONFIG_SMP) || defined(CONFIG_KEXEC)
+#if defined(CONFIG_SMP) || defined(CONFIG_KEXEC_CORE)
 static bool use_spinloop(void)
 {
        if (!IS_ENABLED(CONFIG_PPC_BOOK3E))
@@ -391,7 +391,7 @@ void smp_release_cpus(void)
 
        DBG(" <- smp_release_cpus()\n");
 }
-#endif /* CONFIG_SMP || CONFIG_KEXEC */
+#endif /* CONFIG_SMP || CONFIG_KEXEC_CORE */
 
 /*
  * Initialize some remaining members of the ppc64_caches and systemcfg
index 9c6f3fd580597e5fdfcc5fc46031d9be0aaac74b..893bd7f79be682decd077a3e05a42e1bc7520452 100644 (file)
@@ -193,7 +193,7 @@ int smp_request_message_ipi(int virq, int msg)
        if (msg < 0 || msg > PPC_MSG_DEBUGGER_BREAK) {
                return -EINVAL;
        }
-#if !defined(CONFIG_DEBUGGER) && !defined(CONFIG_KEXEC)
+#if !defined(CONFIG_DEBUGGER) && !defined(CONFIG_KEXEC_CORE)
        if (msg == PPC_MSG_DEBUGGER_BREAK) {
                return 1;
        }
@@ -325,7 +325,7 @@ void tick_broadcast(const struct cpumask *mask)
 }
 #endif
 
-#if defined(CONFIG_DEBUGGER) || defined(CONFIG_KEXEC)
+#if defined(CONFIG_DEBUGGER) || defined(CONFIG_KEXEC_CORE)
 void smp_send_debugger_break(void)
 {
        int cpu;
@@ -340,7 +340,7 @@ void smp_send_debugger_break(void)
 }
 #endif
 
-#ifdef CONFIG_KEXEC
+#ifdef CONFIG_KEXEC_CORE
 void crash_send_ipi(void (*crash_ipi_callback)(struct pt_regs *))
 {
        crash_ipi_function_ptr = crash_ipi_callback;
index b922c6f4a2fed0ec058ea8fdd43dbf8bfb4f4927..5faaed2f21443e9b0c98df94c08e196e1ab4b745 100644 (file)
@@ -66,7 +66,7 @@
 #include <sysdev/fsl_pci.h>
 #include <asm/kprobes.h>
 
-#if defined(CONFIG_DEBUGGER) || defined(CONFIG_KEXEC)
+#if defined(CONFIG_DEBUGGER) || defined(CONFIG_KEXEC_CORE)
 int (*__debugger)(struct pt_regs *regs) __read_mostly;
 int (*__debugger_ipi)(struct pt_regs *regs) __read_mostly;
 int (*__debugger_bpt)(struct pt_regs *regs) __read_mostly;
index 1179115a4b5c64aff563af4699e645b311b0e979..3803b0addf657edafae38ee217136db69a5db900 100644 (file)
@@ -220,7 +220,7 @@ define_machine(corenet_generic) {
  *
  * Likewise, problems have been seen with kexec when coreint is enabled.
  */
-#if defined(CONFIG_HOTPLUG_CPU) || defined(CONFIG_KEXEC)
+#if defined(CONFIG_HOTPLUG_CPU) || defined(CONFIG_KEXEC_CORE)
        .get_irq                = mpic_get_irq,
 #else
        .get_irq                = mpic_get_coreint_irq,
index fe9f19e5e935f538dec748c40390e41d2313ff09..a83a6d26090d1dbc8356f9d15d9e6401931ab3e3 100644 (file)
@@ -349,13 +349,13 @@ struct smp_ops_t smp_85xx_ops = {
        .cpu_disable    = generic_cpu_disable,
        .cpu_die        = generic_cpu_die,
 #endif
-#if defined(CONFIG_KEXEC) && !defined(CONFIG_PPC64)
+#if defined(CONFIG_KEXEC_CORE) && !defined(CONFIG_PPC64)
        .give_timebase  = smp_generic_give_timebase,
        .take_timebase  = smp_generic_take_timebase,
 #endif
 };
 
-#ifdef CONFIG_KEXEC
+#ifdef CONFIG_KEXEC_CORE
 #ifdef CONFIG_PPC32
 atomic_t kexec_down_cpus = ATOMIC_INIT(0);
 
@@ -458,7 +458,7 @@ static void mpc85xx_smp_machine_kexec(struct kimage *image)
 
        default_machine_kexec(image);
 }
-#endif /* CONFIG_KEXEC */
+#endif /* CONFIG_KEXEC_CORE */
 
 static void smp_85xx_basic_setup(int cpu_nr)
 {
@@ -512,7 +512,7 @@ void __init mpc85xx_smp_init(void)
 #endif
        smp_ops = &smp_85xx_ops;
 
-#ifdef CONFIG_KEXEC
+#ifdef CONFIG_KEXEC_CORE
        ppc_md.kexec_cpu_down = mpc85xx_smp_kexec_cpu_down;
        ppc_md.machine_kexec = mpc85xx_smp_machine_kexec;
 #endif
index e84d8fbc2e21ddbee1a73e1f87cf1f06cc9a11f7..96c2b8a406303194737962905330c0a7a3900944 100644 (file)
@@ -676,7 +676,7 @@ static ssize_t spu_stat_show(struct device *dev,
 
 static DEVICE_ATTR(stat, 0444, spu_stat_show, NULL);
 
-#ifdef CONFIG_KEXEC
+#ifdef CONFIG_KEXEC_CORE
 
 struct crash_spu_info {
        struct spu *spu;
index efe8b6bb168b97961f3943f7e2038a9faae2f702..d50c7d99baaf4c4c052cdd44c4245dd9243af304 100644 (file)
@@ -174,7 +174,7 @@ static void pnv_shutdown(void)
        opal_shutdown();
 }
 
-#ifdef CONFIG_KEXEC
+#ifdef CONFIG_KEXEC_CORE
 static void pnv_kexec_wait_secondaries_down(void)
 {
        int my_cpu, i, notified = -1;
@@ -245,7 +245,7 @@ static void pnv_kexec_cpu_down(int crash_shutdown, int secondary)
                opal_reinit_cpus(OPAL_REINIT_CPUS_HILE_BE);
        }
 }
-#endif /* CONFIG_KEXEC */
+#endif /* CONFIG_KEXEC_CORE */
 
 #ifdef CONFIG_MEMORY_HOTPLUG_SPARSE
 static unsigned long pnv_memory_block_size(void)
@@ -311,7 +311,7 @@ define_machine(powernv) {
        .machine_shutdown       = pnv_shutdown,
        .power_save             = NULL,
        .calibrate_decr         = generic_calibrate_decr,
-#ifdef CONFIG_KEXEC
+#ifdef CONFIG_KEXEC_CORE
        .kexec_cpu_down         = pnv_kexec_cpu_down,
 #endif
 #ifdef CONFIG_MEMORY_HOTPLUG_SPARSE
index 3a487e7f4a5e73e049a91780bdde0c38ed3de9ac..6244bc849469e33af7dcc5a4ac2b21dd970ac1c6 100644 (file)
@@ -250,7 +250,7 @@ static int __init ps3_probe(void)
        return 1;
 }
 
-#if defined(CONFIG_KEXEC)
+#if defined(CONFIG_KEXEC_CORE)
 static void ps3_kexec_cpu_down(int crash_shutdown, int secondary)
 {
        int cpu = smp_processor_id();
@@ -276,7 +276,7 @@ define_machine(ps3) {
        .progress                       = ps3_progress,
        .restart                        = ps3_restart,
        .halt                           = ps3_halt,
-#if defined(CONFIG_KEXEC)
+#if defined(CONFIG_KEXEC_CORE)
        .kexec_cpu_down                 = ps3_kexec_cpu_down,
 #endif
 };
index 942fe116a8bae3d01dec5fe9c9b415f798058ef8..8f4ba089e80273f7d9cf6ce88032f329eaef64b8 100644 (file)
@@ -8,7 +8,7 @@ obj-y                   := lpar.o hvCall.o nvram.o reconfig.o \
                           pci.o pci_dlpar.o eeh_pseries.o msi.o
 obj-$(CONFIG_SMP)      += smp.o
 obj-$(CONFIG_SCANLOG)  += scanlog.o
-obj-$(CONFIG_KEXEC)    += kexec.o
+obj-$(CONFIG_KEXEC_CORE)       += kexec.o
 obj-$(CONFIG_PSERIES_ENERGY)   += pseries_energy.o
 
 obj-$(CONFIG_HOTPLUG_CPU)      += hotplug-cpu.o
index 97aa3f332f240cb056c1d4bca4f59d4125d6e52b..7736352f7279b86a60ea727464082bc1a9aee8ce 100644 (file)
@@ -367,7 +367,7 @@ void pseries_disable_reloc_on_exc(void)
 }
 EXPORT_SYMBOL(pseries_disable_reloc_on_exc);
 
-#ifdef CONFIG_KEXEC
+#ifdef CONFIG_KEXEC_CORE
 static void pSeries_machine_kexec(struct kimage *image)
 {
        if (firmware_has_feature(FW_FEATURE_SET_MODE))
@@ -725,7 +725,7 @@ define_machine(pseries) {
        .progress               = rtas_progress,
        .system_reset_exception = pSeries_system_reset_exception,
        .machine_check_exception = pSeries_machine_check_exception,
-#ifdef CONFIG_KEXEC
+#ifdef CONFIG_KEXEC_CORE
        .machine_kexec          = pSeries_machine_kexec,
        .kexec_cpu_down         = pseries_kexec_cpu_down,
 #endif