Message ID | 20170504204112.130d7735@roar.ozlabs.ibm.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 6102c005a71b4a7a6433d43b887662fb0780746d |
Headers | show |
On Thu, 2017-05-04 at 20:41 +1000, Nicholas Piggin wrote: > On Thu, 04 May 2017 14:54:19 +0530 > Abdul Haleem <abdhalee@linux.vnet.ibm.com> wrote: > > > Hi, > > > > linux-next build fails on BE config with next-20170424 onwards > > > > the patch https://lkml.org/lkml/2017/4/20/994 fixes a similar issue > > with kvm guest build failure. > > > > arch/powerpc/kernel/exceptions-64s.S: Assembler messages: > > arch/powerpc/kernel/exceptions-64s.S:395: Error: operand out of range > > (0xffffffffffff8280 is not between 0x0000000000000000 and > > 0x000000000000ffff) > > make[1]: *** [arch/powerpc/kernel/head_64.o] Error 1 > > > > Bisection resulted with the below bad commit. > > > > commit 1945bc4549e5cb1f9aa873ec29191aa54dc851d > > Author: Nicholas Piggin <npiggin@gmail.com> > > Date: Wed Apr 19 23:05:47 2017 +1000 > > > > powerpc/64s: Fix POWER9 machine check handler from stop state > > > > Reviewed-by: Gautham R. Shenoy <ego@linux.vnet.ibm.com> > > Reviewed-by: Mahesh J Salgaonkar <mahesh@linux.vnet.ibm.com> > > Signed-off-by: Nicholas Piggin <npiggin@gmail.com> > > Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> > > > > arch/powerpc/include/asm/reg.h | 1 + > > arch/powerpc/kernel/exceptions-64s.S | 79 ++++++++++++++++++++++++++++++++++++++++++++----------------------------------- > > arch/powerpc/kernel/idle_book3s.S | 25 +++++++++++++++++++++++++ > > 3 files changed, 70 insertions(+), 35 deletions(-) > > > > the BE configuration file is attached. > > > > Thanks for the report. I wouldn't reproduce it with this config. I > suspect the following patch should fix it, can you test? > > powerpc/64s: Fix unnecessary machine check handler relocation branch > > Similarly to 2563a70c3b ("powerpc/64s: Remove unnecessary relocation > branch from idle handler"), the machine check handler has a BRANCH_TO > from relocated to relocated code, which is unnecessary. > > It has also caused build errors with some toolchains: > > arch/powerpc/kernel/exceptions-64s.S: Assembler messages: > arch/powerpc/kernel/exceptions-64s.S:395: Error: operand out of range > (0xffffffffffff8280 is not between 0x0000000000000000 and > 0x000000000000ffff) > > Fixes: 1945bc4549 ("powerpc/64s: Fix POWER9 machine check handler from stop state") > Signed-off-by: Nicholas Piggin <npiggin@gmail.com> > --- > arch/powerpc/kernel/exceptions-64s.S | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S > index 3840a7700285..ef72065f684c 100644 > --- a/arch/powerpc/kernel/exceptions-64s.S > +++ b/arch/powerpc/kernel/exceptions-64s.S > @@ -391,9 +391,7 @@ EXC_COMMON_BEGIN(machine_check_handle_early) > */ > BEGIN_FTR_SECTION > rlwinm. r11,r12,47-31,30,31 > - beq- 4f > - BRANCH_TO_COMMON(r10, machine_check_idle_common) > -4: > + bne machine_check_idle_common > END_FTR_SECTION_IFSET(CPU_FTR_HVMODE | CPU_FTR_ARCH_206) > #endif > Machine Builds and boots fine, Thanks for the patch :-) Reported-and-tested-by : Abdul Haleem <abdhalee@linux.vnet.ibm.com>
On Fri, 05 May 2017 09:40:10 +0530 Abdul Haleem <abdhalee@linux.vnet.ibm.com> wrote: > On Thu, 2017-05-04 at 20:41 +1000, Nicholas Piggin wrote: > > On Thu, 04 May 2017 14:54:19 +0530 > > Abdul Haleem <abdhalee@linux.vnet.ibm.com> wrote: > > > > > Hi, > > > > > > linux-next build fails on BE config with next-20170424 onwards > > > > > > the patch https://lkml.org/lkml/2017/4/20/994 fixes a similar issue > > > with kvm guest build failure. > > > > > > arch/powerpc/kernel/exceptions-64s.S: Assembler messages: > > > arch/powerpc/kernel/exceptions-64s.S:395: Error: operand out of range > > > (0xffffffffffff8280 is not between 0x0000000000000000 and > > > 0x000000000000ffff) > > > make[1]: *** [arch/powerpc/kernel/head_64.o] Error 1 > > > > > > Bisection resulted with the below bad commit. > > > > > > commit 1945bc4549e5cb1f9aa873ec29191aa54dc851d > > > Author: Nicholas Piggin <npiggin@gmail.com> > > > Date: Wed Apr 19 23:05:47 2017 +1000 > > > > > > powerpc/64s: Fix POWER9 machine check handler from stop state > > > > > > Reviewed-by: Gautham R. Shenoy <ego@linux.vnet.ibm.com> > > > Reviewed-by: Mahesh J Salgaonkar <mahesh@linux.vnet.ibm.com> > > > Signed-off-by: Nicholas Piggin <npiggin@gmail.com> > > > Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> > > > > > > arch/powerpc/include/asm/reg.h | 1 + > > > arch/powerpc/kernel/exceptions-64s.S | 79 ++++++++++++++++++++++++++++++++++++++++++++----------------------------------- > > > arch/powerpc/kernel/idle_book3s.S | 25 +++++++++++++++++++++++++ > > > 3 files changed, 70 insertions(+), 35 deletions(-) > > > > > > the BE configuration file is attached. > > > > > > > Thanks for the report. I wouldn't reproduce it with this config. I > > suspect the following patch should fix it, can you test? > > > > powerpc/64s: Fix unnecessary machine check handler relocation branch > > > > Similarly to 2563a70c3b ("powerpc/64s: Remove unnecessary relocation > > branch from idle handler"), the machine check handler has a BRANCH_TO > > from relocated to relocated code, which is unnecessary. > > > > It has also caused build errors with some toolchains: > > > > arch/powerpc/kernel/exceptions-64s.S: Assembler messages: > > arch/powerpc/kernel/exceptions-64s.S:395: Error: operand out of range > > (0xffffffffffff8280 is not between 0x0000000000000000 and > > 0x000000000000ffff) > > > > Fixes: 1945bc4549 ("powerpc/64s: Fix POWER9 machine check handler from stop state") > > Signed-off-by: Nicholas Piggin <npiggin@gmail.com> > > --- > > arch/powerpc/kernel/exceptions-64s.S | 4 +--- > > 1 file changed, 1 insertion(+), 3 deletions(-) > > > > diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S > > index 3840a7700285..ef72065f684c 100644 > > --- a/arch/powerpc/kernel/exceptions-64s.S > > +++ b/arch/powerpc/kernel/exceptions-64s.S > > @@ -391,9 +391,7 @@ EXC_COMMON_BEGIN(machine_check_handle_early) > > */ > > BEGIN_FTR_SECTION > > rlwinm. r11,r12,47-31,30,31 > > - beq- 4f > > - BRANCH_TO_COMMON(r10, machine_check_idle_common) > > -4: > > + bne machine_check_idle_common > > END_FTR_SECTION_IFSET(CPU_FTR_HVMODE | CPU_FTR_ARCH_206) > > #endif > > > > Machine Builds and boots fine, Thanks for the patch :-) > > Reported-and-tested-by : Abdul Haleem <abdhalee@linux.vnet.ibm.com> > Okay, thanks for testing. I've tested the MCE-from-idle wakeup path in the simulator with this patch and that still seems to work fine. Thanks, Nick
On Thu, 2017-05-04 at 10:41:12 UTC, Nicholas Piggin wrote: > On Thu, 04 May 2017 14:54:19 +0530 > Abdul Haleem <abdhalee@linux.vnet.ibm.com> wrote: > > > Hi, > > > > linux-next build fails on BE config with next-20170424 onwards > > > > the patch https://lkml.org/lkml/2017/4/20/994 fixes a similar issue > > with kvm guest build failure. > > > > arch/powerpc/kernel/exceptions-64s.S: Assembler messages: > > arch/powerpc/kernel/exceptions-64s.S:395: Error: operand out of range > > (0xffffffffffff8280 is not between 0x0000000000000000 and > > 0x000000000000ffff) > > make[1]: *** [arch/powerpc/kernel/head_64.o] Error 1 > > > > Bisection resulted with the below bad commit. > > > > commit 1945bc4549e5cb1f9aa873ec29191aa54dc851d > > Author: Nicholas Piggin <npiggin@gmail.com> > > Date: Wed Apr 19 23:05:47 2017 +1000 > > > > powerpc/64s: Fix POWER9 machine check handler from stop state > > > > Reviewed-by: Gautham R. Shenoy <ego@linux.vnet.ibm.com> > > Reviewed-by: Mahesh J Salgaonkar <mahesh@linux.vnet.ibm.com> > > Signed-off-by: Nicholas Piggin <npiggin@gmail.com> > > Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> > > > > arch/powerpc/include/asm/reg.h | 1 + > > arch/powerpc/kernel/exceptions-64s.S | 79 ++++++++++++++++++++++++++++++++++++++++++++----------------------------------- > > arch/powerpc/kernel/idle_book3s.S | 25 +++++++++++++++++++++++++ > > 3 files changed, 70 insertions(+), 35 deletions(-) > > > > the BE configuration file is attached. > > Applied to powerpc next, thanks. https://git.kernel.org/powerpc/c/6102c005a71b4a7a6433d43b887662 cheers
diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S index 3840a7700285..ef72065f684c 100644 --- a/arch/powerpc/kernel/exceptions-64s.S +++ b/arch/powerpc/kernel/exceptions-64s.S @@ -391,9 +391,7 @@ EXC_COMMON_BEGIN(machine_check_handle_early) */ BEGIN_FTR_SECTION rlwinm. r11,r12,47-31,30,31 - beq- 4f - BRANCH_TO_COMMON(r10, machine_check_idle_common) -4: + bne machine_check_idle_common END_FTR_SECTION_IFSET(CPU_FTR_HVMODE | CPU_FTR_ARCH_206) #endif