| From af41d2866f7d75bbb38d487f6ec7770425d70e45 Mon Sep 17 00:00:00 2001 |
| From: Christophe Leroy <christophe.leroy@csgroup.eu> |
| Date: Sun, 27 Mar 2022 09:32:26 +0200 |
| Subject: powerpc/64: Fix build failure with allyesconfig in book3s_64_entry.S |
| |
| From: Christophe Leroy <christophe.leroy@csgroup.eu> |
| |
| commit af41d2866f7d75bbb38d487f6ec7770425d70e45 upstream. |
| |
| Using conditional branches between two files is hasardous, |
| they may get linked too far from each other. |
| |
| arch/powerpc/kvm/book3s_64_entry.o:(.text+0x3ec): relocation truncated |
| to fit: R_PPC64_REL14 (stub) against symbol `system_reset_common' |
| defined in .text section in arch/powerpc/kernel/head_64.o |
| |
| Reorganise the code to use non conditional branches. |
| |
| Fixes: 89d35b239101 ("KVM: PPC: Book3S HV P9: Implement the rest of the P9 path in C") |
| Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> |
| [mpe: Avoid odd-looking bne ., use named local labels] |
| Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> |
| Link: https://lore.kernel.org/r/89cf27bf43ee07a0b2879b9e8e2f5cd6386a3645.1648366338.git.christophe.leroy@csgroup.eu |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| arch/powerpc/kvm/book3s_64_entry.S | 10 ++++++++-- |
| 1 file changed, 8 insertions(+), 2 deletions(-) |
| |
| --- a/arch/powerpc/kvm/book3s_64_entry.S |
| +++ b/arch/powerpc/kvm/book3s_64_entry.S |
| @@ -407,10 +407,16 @@ END_FTR_SECTION_IFSET(CPU_FTR_DAWR1) |
| */ |
| ld r10,HSTATE_SCRATCH0(r13) |
| cmpwi r10,BOOK3S_INTERRUPT_MACHINE_CHECK |
| - beq machine_check_common |
| + beq .Lcall_machine_check_common |
| |
| cmpwi r10,BOOK3S_INTERRUPT_SYSTEM_RESET |
| - beq system_reset_common |
| + beq .Lcall_system_reset_common |
| |
| b . |
| + |
| +.Lcall_machine_check_common: |
| + b machine_check_common |
| + |
| +.Lcall_system_reset_common: |
| + b system_reset_common |
| #endif |