mirror of https://gitee.com/openkylin/linux.git
powerpc/xmon: Allow listing and clearing breakpoints in read-only mode
Read-only mode should not prevent listing and clearing any active breakpoints. Tested-by: Daniel Axtens <dja@axtens.net> Reviewed-by: Daniel Axtens <dja@axtens.net> Signed-off-by: Christopher M. Riedl <cmr@informatik.wtf> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20190907061124.1947-2-cmr@informatik.wtf
This commit is contained in:
parent
4f5c5b76cc
commit
96664dee5c
|
@ -1047,10 +1047,6 @@ cmds(struct pt_regs *excp)
|
|||
set_lpp_cmd();
|
||||
break;
|
||||
case 'b':
|
||||
if (xmon_is_ro) {
|
||||
printf(xmon_ro_msg);
|
||||
break;
|
||||
}
|
||||
bpt_cmds();
|
||||
break;
|
||||
case 'C':
|
||||
|
@ -1319,11 +1315,16 @@ bpt_cmds(void)
|
|||
struct bpt *bp;
|
||||
|
||||
cmd = inchar();
|
||||
|
||||
switch (cmd) {
|
||||
#ifndef CONFIG_PPC_8xx
|
||||
static const char badaddr[] = "Only kernel addresses are permitted for breakpoints\n";
|
||||
int mode;
|
||||
case 'd': /* bd - hardware data breakpoint */
|
||||
if (xmon_is_ro) {
|
||||
printf(xmon_ro_msg);
|
||||
break;
|
||||
}
|
||||
if (!ppc_breakpoint_available()) {
|
||||
printf("Hardware data breakpoint not supported on this cpu\n");
|
||||
break;
|
||||
|
@ -1351,6 +1352,10 @@ bpt_cmds(void)
|
|||
break;
|
||||
|
||||
case 'i': /* bi - hardware instr breakpoint */
|
||||
if (xmon_is_ro) {
|
||||
printf(xmon_ro_msg);
|
||||
break;
|
||||
}
|
||||
if (!cpu_has_feature(CPU_FTR_ARCH_207S)) {
|
||||
printf("Hardware instruction breakpoint "
|
||||
"not supported on this cpu\n");
|
||||
|
@ -1409,7 +1414,8 @@ bpt_cmds(void)
|
|||
break;
|
||||
}
|
||||
termch = cmd;
|
||||
if (!scanhex(&a)) {
|
||||
|
||||
if (xmon_is_ro || !scanhex(&a)) {
|
||||
/* print all breakpoints */
|
||||
printf(" type address\n");
|
||||
if (dabr.enabled) {
|
||||
|
|
Loading…
Reference in New Issue