diff options
| author | Matt Redfearn <matt.redfearn@imgtec.com> | 2016-09-05 10:43:40 -0400 |
|---|---|---|
| committer | Ralf Baechle <ralf@linux-mips.org> | 2016-09-13 10:45:15 -0400 |
| commit | 951c39cd3bc0aedf67fbd8fb4b9380287e6205d1 (patch) | |
| tree | 1cab6c80d50863f3e823959f8d86168e2fc4dc1f | |
| parent | b03c1e3b8eed9026733c473071d1f528358a0e50 (diff) | |
MIPS: paravirt: Fix undefined reference to smp_bootstrap
If the paravirt machine is compiles without CONFIG_SMP, the following
linker error occurs
arch/mips/kernel/head.o: In function `kernel_entry':
(.ref.text+0x10): undefined reference to `smp_bootstrap'
due to the kernel entry macro always including SMP startup code.
Wrap this code in CONFIG_SMP to fix the error.
Signed-off-by: Matt Redfearn <matt.redfearn@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Cc: stable@vger.kernel.org # 3.16+
Patchwork: https://patchwork.linux-mips.org/patch/14212/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| -rw-r--r-- | arch/mips/include/asm/mach-paravirt/kernel-entry-init.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/mips/include/asm/mach-paravirt/kernel-entry-init.h b/arch/mips/include/asm/mach-paravirt/kernel-entry-init.h index 2f82bfa3a773..c9f5769dfc8f 100644 --- a/arch/mips/include/asm/mach-paravirt/kernel-entry-init.h +++ b/arch/mips/include/asm/mach-paravirt/kernel-entry-init.h | |||
| @@ -11,11 +11,13 @@ | |||
| 11 | #define CP0_EBASE $15, 1 | 11 | #define CP0_EBASE $15, 1 |
| 12 | 12 | ||
| 13 | .macro kernel_entry_setup | 13 | .macro kernel_entry_setup |
| 14 | #ifdef CONFIG_SMP | ||
| 14 | mfc0 t0, CP0_EBASE | 15 | mfc0 t0, CP0_EBASE |
| 15 | andi t0, t0, 0x3ff # CPUNum | 16 | andi t0, t0, 0x3ff # CPUNum |
| 16 | beqz t0, 1f | 17 | beqz t0, 1f |
| 17 | # CPUs other than zero goto smp_bootstrap | 18 | # CPUs other than zero goto smp_bootstrap |
| 18 | j smp_bootstrap | 19 | j smp_bootstrap |
| 20 | #endif /* CONFIG_SMP */ | ||
| 19 | 21 | ||
| 20 | 1: | 22 | 1: |
| 21 | .endm | 23 | .endm |
