Skip to content

Commit

Permalink
powerpc/xmon: Move insertion of breakpoint for xol'ing
Browse files Browse the repository at this point in the history
When a new breakpoint is created, the second instruction of that
breakpoint is patched with a trap instruction. This assumes the length
of the instruction is always the same. In preparation for prefixed
instructions, remove this assumption. Insert the trap instruction at the
same time the first instruction is inserted.

Signed-off-by: Jordan Niethe <jniethe5@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Reviewed-by: Alistair Popple <alistair@popple.id.au>
Link: https://lore.kernel.org/r/20200506034050.24806-20-jniethe5@gmail.com
  • Loading branch information
Jordan Niethe authored and Michael Ellerman committed May 18, 2020
1 parent 6c7a4f0 commit 7fccfcf
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion arch/powerpc/xmon/xmon.c
Original file line number Diff line number Diff line change
Expand Up @@ -878,7 +878,6 @@ static struct bpt *new_breakpoint(unsigned long a)
if (!bp->enabled && atomic_read(&bp->ref_count) == 0) {
bp->address = a;
bp->instr = (void *)(bpt_table + ((bp - bpts) * BPT_WORDS));
patch_instruction(bp->instr + 1, ppc_inst(bpinstr));
return bp;
}
}
Expand Down Expand Up @@ -910,6 +909,8 @@ static void insert_bpts(void)
continue;
}
patch_instruction(bp->instr, instr);
patch_instruction((void *)bp->instr + ppc_inst_len(instr),
ppc_inst(bpinstr));
if (bp->enabled & BP_CIABR)
continue;
if (patch_instruction((struct ppc_inst *)bp->address,
Expand Down

0 comments on commit 7fccfcf

Please sign in to comment.