• Naveen N. Rao's avatar
    powerpc/hw_breakpoint: Only disable hw breakpoint if cpu supports it · 5d6a03eb
    Naveen N. Rao authored
    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 __set_breakpoint+0xb4/0x140
       LR  kexec_prepare_cpus_wait+0x58/0x150
       Call Trace:
         0xc0000000ee70fb20 (unreliable)
         0xc0000000ee70fb20
         default_machine_kexec+0x234/0x2c0
         machine_kexec+0x84/0x90
         kernel_kexec+0xd8/0xe0
         SyS_reboot+0x214/0x2c0
         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.
    
    Fixes: 96541531 ("powerpc: Disable DAWR in the base POWER9 CPU features")
    Signed-off-by: default avatarNaveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    5d6a03eb
hw_breakpoint.h 3.21 KB