mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 13:40:53 +07:00
powerpc/xmon: Add patch_instruction() support for xmon
Move from mwrite() to patch_instruction() for xmon for breakpoint addition and removal. Signed-off-by: Balbir Singh <bsingharora@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
parent
f3eca95638
commit
efe4fbb1ac
@ -53,6 +53,7 @@
|
||||
#include <asm/xive.h>
|
||||
#include <asm/opal.h>
|
||||
#include <asm/firmware.h>
|
||||
#include <asm/code-patching.h>
|
||||
|
||||
#ifdef CONFIG_PPC64
|
||||
#include <asm/hvcall.h>
|
||||
@ -837,7 +838,8 @@ static void insert_bpts(void)
|
||||
store_inst(&bp->instr[0]);
|
||||
if (bp->enabled & BP_CIABR)
|
||||
continue;
|
||||
if (mwrite(bp->address, &bpinstr, 4) != 4) {
|
||||
if (patch_instruction((unsigned int *)bp->address,
|
||||
bpinstr) != 0) {
|
||||
printf("Couldn't write instruction at %lx, "
|
||||
"disabling breakpoint there\n", bp->address);
|
||||
bp->enabled &= ~BP_TRAP;
|
||||
@ -874,7 +876,8 @@ static void remove_bpts(void)
|
||||
continue;
|
||||
if (mread(bp->address, &instr, 4) == 4
|
||||
&& instr == bpinstr
|
||||
&& mwrite(bp->address, &bp->instr, 4) != 4)
|
||||
&& patch_instruction(
|
||||
(unsigned int *)bp->address, bp->instr[0]) != 0)
|
||||
printf("Couldn't remove breakpoint at %lx\n",
|
||||
bp->address);
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user