diff options
| author | Christophe Leroy <christophe.leroy@c-s.fr> | 2019-05-23 04:39:27 -0400 |
|---|---|---|
| committer | Michael Ellerman <mpe@ellerman.id.au> | 2019-06-15 10:03:38 -0400 |
| commit | 82f6e266f8123d7938713c0e10c03aa655b3e68a (patch) | |
| tree | 179943409555017d04f5104635650fdb94c72ff5 | |
| parent | e8732ffa2e096d433c3f2349b871d43ed0d39f5c (diff) | |
powerpc/32: fix build failure on book3e with KVM
Build failure was introduced by the commit identified below,
due to missed macro expension leading to wrong called function's name.
arch/powerpc/kernel/head_fsl_booke.o: In function `SystemCall':
arch/powerpc/kernel/head_fsl_booke.S:416: undefined reference to `kvmppc_handler_BOOKE_INTERRUPT_SYSCALL_SPRN_SRR1'
Makefile:1052: recipe for target 'vmlinux' failed
The called function should be kvmppc_handler_8_0x01B(). This patch fixes it.
Reported-by: Paul Mackerras <paulus@ozlabs.org>
Fixes: 1a4b739bbb4f ("powerpc/32: implement fast entry for syscalls on BOOKE")
Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
| -rw-r--r-- | arch/powerpc/kernel/head_booke.h | 4 | ||||
| -rw-r--r-- | arch/powerpc/kernel/head_fsl_booke.S | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/arch/powerpc/kernel/head_booke.h b/arch/powerpc/kernel/head_booke.h index 9f9e0d109d7d..2ae635df9026 100644 --- a/arch/powerpc/kernel/head_booke.h +++ b/arch/powerpc/kernel/head_booke.h | |||
| @@ -83,7 +83,7 @@ END_BTB_FLUSH_SECTION | |||
| 83 | SAVE_4GPRS(3, r11); \ | 83 | SAVE_4GPRS(3, r11); \ |
| 84 | SAVE_2GPRS(7, r11) | 84 | SAVE_2GPRS(7, r11) |
| 85 | 85 | ||
| 86 | .macro SYSCALL_ENTRY trapno intno | 86 | .macro SYSCALL_ENTRY trapno intno srr1 |
| 87 | mfspr r10, SPRN_SPRG_THREAD | 87 | mfspr r10, SPRN_SPRG_THREAD |
| 88 | #ifdef CONFIG_KVM_BOOKE_HV | 88 | #ifdef CONFIG_KVM_BOOKE_HV |
| 89 | BEGIN_FTR_SECTION | 89 | BEGIN_FTR_SECTION |
| @@ -94,7 +94,7 @@ BEGIN_FTR_SECTION | |||
| 94 | mfspr r11, SPRN_SRR1 | 94 | mfspr r11, SPRN_SRR1 |
| 95 | mtocrf 0x80, r11 /* check MSR[GS] without clobbering reg */ | 95 | mtocrf 0x80, r11 /* check MSR[GS] without clobbering reg */ |
| 96 | bf 3, 1975f | 96 | bf 3, 1975f |
| 97 | b kvmppc_handler_BOOKE_INTERRUPT_\intno\()_SPRN_SRR1 | 97 | b kvmppc_handler_\intno\()_\srr1 |
| 98 | 1975: | 98 | 1975: |
| 99 | mr r12, r13 | 99 | mr r12, r13 |
| 100 | lwz r13, THREAD_NORMSAVE(2)(r10) | 100 | lwz r13, THREAD_NORMSAVE(2)(r10) |
diff --git a/arch/powerpc/kernel/head_fsl_booke.S b/arch/powerpc/kernel/head_fsl_booke.S index 6621f230cc37..2b39f42c3676 100644 --- a/arch/powerpc/kernel/head_fsl_booke.S +++ b/arch/powerpc/kernel/head_fsl_booke.S | |||
| @@ -413,7 +413,7 @@ interrupt_base: | |||
| 413 | 413 | ||
| 414 | /* System Call Interrupt */ | 414 | /* System Call Interrupt */ |
| 415 | START_EXCEPTION(SystemCall) | 415 | START_EXCEPTION(SystemCall) |
| 416 | SYSCALL_ENTRY 0xc00 SYSCALL | 416 | SYSCALL_ENTRY 0xc00 BOOKE_INTERRUPT_SYSCALL SPRN_SRR1 |
| 417 | 417 | ||
| 418 | /* Auxiliary Processor Unavailable Interrupt */ | 418 | /* Auxiliary Processor Unavailable Interrupt */ |
| 419 | EXCEPTION(0x2900, AP_UNAVAIL, AuxillaryProcessorUnavailable, \ | 419 | EXCEPTION(0x2900, AP_UNAVAIL, AuxillaryProcessorUnavailable, \ |
