linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] powerpc/hw_breakpoint: Only disable hw breakpoint if cpu supports it
@ 2018-04-04 10:41 Naveen N. Rao
  2018-04-04 14:39 ` Michael Ellerman
  0 siblings, 1 reply; 2+ messages in thread
From: Naveen N. Rao @ 2018-04-04 10:41 UTC (permalink / raw)
  To: Michael Ellerman; +Cc: linuxppc-dev

We get the below warning if we try to use kexec on P9:
    kexec_core: Starting new kernel
    WARNING: CPU: 0 PID: 1223 at arch/powerpc/kernel/process.c:826 __set_breakpoint+0xb4/0x140
    [snip]
    NIP [c00000000001bf44] __set_breakpoint+0xb4/0x140
    LR [c000000000061268] kexec_prepare_cpus_wait+0x58/0x150
    Call Trace:
    [c0000000ee70fad0] [c0000000ee70fb20] 0xc0000000ee70fb20 (unreliable)
    [c0000000ee70faf0] [c0000000ee70fb20] 0xc0000000ee70fb20
    [c0000000ee70fbb0] [c000000000061884] default_machine_kexec+0x234/0x2c0
    [c0000000ee70fc40] [c0000000000605c4] machine_kexec+0x84/0x90
    [c0000000ee70fc70] [c000000000206548] kernel_kexec+0xd8/0xe0
    [c0000000ee70fce0] [c000000000169e74] SyS_reboot+0x214/0x2c0
    [c0000000ee70fe30] [c00000000000bd60] system_call+0x58/0x6c

This happens since we are trying to clear hw breakpoint on POWER9, though
we don't have CPU_FTR_DAWR enabled. Guard __set_breakpoint() within
hw_breakpoint_disable() with ppc_breakpoint_available() to address this.

Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
---
 arch/powerpc/include/asm/hw_breakpoint.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/powerpc/include/asm/hw_breakpoint.h b/arch/powerpc/include/asm/hw_breakpoint.h
index 90c708e5e7c4..8e7b09703ca4 100644
--- a/arch/powerpc/include/asm/hw_breakpoint.h
+++ b/arch/powerpc/include/asm/hw_breakpoint.h
@@ -80,7 +80,8 @@ static inline void hw_breakpoint_disable(void)
 	brk.address = 0;
 	brk.type = 0;
 	brk.len = 0;
-	__set_breakpoint(&brk);
+	if (ppc_breakpoint_available())
+		__set_breakpoint(&brk);
 }
 extern void thread_change_pc(struct task_struct *tsk, struct pt_regs *regs);
 int hw_breakpoint_handler(struct die_args *args);
-- 
2.16.2

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: powerpc/hw_breakpoint: Only disable hw breakpoint if cpu supports it
  2018-04-04 10:41 [PATCH] powerpc/hw_breakpoint: Only disable hw breakpoint if cpu supports it Naveen N. Rao
@ 2018-04-04 14:39 ` Michael Ellerman
  0 siblings, 0 replies; 2+ messages in thread
From: Michael Ellerman @ 2018-04-04 14:39 UTC (permalink / raw)
  To: Naveen N. Rao; +Cc: linuxppc-dev

On Wed, 2018-04-04 at 10:41:16 UTC, "Naveen N. Rao" wrote:
> We get the below warning if we try to use kexec on P9:
>     kexec_core: Starting new kernel
>     WARNING: CPU: 0 PID: 1223 at arch/powerpc/kernel/process.c:826 __set_breakpoint+0xb4/0x140
>     [snip]
>     NIP [c00000000001bf44] __set_breakpoint+0xb4/0x140
>     LR [c000000000061268] kexec_prepare_cpus_wait+0x58/0x150
>     Call Trace:
>     [c0000000ee70fad0] [c0000000ee70fb20] 0xc0000000ee70fb20 (unreliable)
>     [c0000000ee70faf0] [c0000000ee70fb20] 0xc0000000ee70fb20
>     [c0000000ee70fbb0] [c000000000061884] default_machine_kexec+0x234/0x2c0
>     [c0000000ee70fc40] [c0000000000605c4] machine_kexec+0x84/0x90
>     [c0000000ee70fc70] [c000000000206548] kernel_kexec+0xd8/0xe0
>     [c0000000ee70fce0] [c000000000169e74] SyS_reboot+0x214/0x2c0
>     [c0000000ee70fe30] [c00000000000bd60] system_call+0x58/0x6c
> 
> This happens since we are trying to clear hw breakpoint on POWER9, though
> we don't have CPU_FTR_DAWR enabled. Guard __set_breakpoint() within
> hw_breakpoint_disable() with ppc_breakpoint_available() to address this.
> 
> Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>

Applied to powerpc next, thanks.

https://git.kernel.org/powerpc/c/5d6a03ebc88f82b0b0adcec24eabb9

cheers

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-04-04 14:39 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-04-04 10:41 [PATCH] powerpc/hw_breakpoint: Only disable hw breakpoint if cpu supports it Naveen N. Rao
2018-04-04 14:39 ` Michael Ellerman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).