| .. | .. |
|---|
| 15 | 15 | #include <linux/sched/task_stack.h> |
|---|
| 16 | 16 | #include <linux/init.h> |
|---|
| 17 | 17 | #include <linux/export.h> |
|---|
| 18 | +#include <linux/kexec.h> |
|---|
| 18 | 19 | |
|---|
| 19 | 20 | #include <asm/mmu_context.h> |
|---|
| 20 | 21 | #include <asm/time.h> |
|---|
| .. | .. |
|---|
| 283 | 284 | #ifdef CONFIG_HOTPLUG_CPU |
|---|
| 284 | 285 | |
|---|
| 285 | 286 | /* State of each CPU. */ |
|---|
| 286 | | -DEFINE_PER_CPU(int, cpu_state); |
|---|
| 287 | +static DEFINE_PER_CPU(int, cpu_state); |
|---|
| 287 | 288 | |
|---|
| 288 | 289 | static int octeon_cpu_disable(void) |
|---|
| 289 | 290 | { |
|---|
| .. | .. |
|---|
| 412 | 413 | |
|---|
| 413 | 414 | #endif /* CONFIG_HOTPLUG_CPU */ |
|---|
| 414 | 415 | |
|---|
| 415 | | -const struct plat_smp_ops octeon_smp_ops = { |
|---|
| 416 | +static const struct plat_smp_ops octeon_smp_ops = { |
|---|
| 416 | 417 | .send_ipi_single = octeon_send_ipi_single, |
|---|
| 417 | 418 | .send_ipi_mask = octeon_send_ipi_mask, |
|---|
| 418 | 419 | .init_secondary = octeon_init_secondary, |
|---|
| .. | .. |
|---|
| 423 | 424 | #ifdef CONFIG_HOTPLUG_CPU |
|---|
| 424 | 425 | .cpu_disable = octeon_cpu_disable, |
|---|
| 425 | 426 | .cpu_die = octeon_cpu_die, |
|---|
| 427 | +#endif |
|---|
| 428 | +#ifdef CONFIG_KEXEC |
|---|
| 429 | + .kexec_nonboot_cpu = kexec_nonboot_cpu_jump, |
|---|
| 426 | 430 | #endif |
|---|
| 427 | 431 | }; |
|---|
| 428 | 432 | |
|---|
| .. | .. |
|---|
| 501 | 505 | .cpu_disable = octeon_cpu_disable, |
|---|
| 502 | 506 | .cpu_die = octeon_cpu_die, |
|---|
| 503 | 507 | #endif |
|---|
| 508 | +#ifdef CONFIG_KEXEC |
|---|
| 509 | + .kexec_nonboot_cpu = kexec_nonboot_cpu_jump, |
|---|
| 510 | +#endif |
|---|
| 504 | 511 | }; |
|---|
| 505 | 512 | |
|---|
| 506 | 513 | void __init octeon_setup_smp(void) |
|---|