Commit f83b04d3 authored by Vincent Chen's avatar Vincent Chen Committed by Palmer Dabbelt

kgdb: Add kgdb_has_hit_break function

The break instruction in RISC-V does not have an immediate value field, so
the kernel cannot identify the purpose of each trap exception through the
opcode. This makes the existing identification schemes in other
architecture unsuitable for the RISC-V kernel. To solve this problem, this
patch adds kgdb_has_hit_break(), which can help RISC-V kernel identify
the KGDB trap exception.
Signed-off-by: default avatarVincent Chen <vincent.chen@sifive.com>
Reviewed-by: default avatarPalmer Dabbelt <palmerdabbelt@google.com>
Acked-by: default avatarDaniel Thompson <daniel.thompson@linaro.org>
Signed-off-by: default avatarPalmer Dabbelt <palmerdabbelt@google.com>
parent eb077c9c
...@@ -417,6 +417,18 @@ int kgdb_isremovedbreak(unsigned long addr) ...@@ -417,6 +417,18 @@ int kgdb_isremovedbreak(unsigned long addr)
return 0; return 0;
} }
int kgdb_has_hit_break(unsigned long addr)
{
int i;
for (i = 0; i < KGDB_MAX_BREAKPOINTS; i++) {
if (kgdb_break[i].state == BP_ACTIVE &&
kgdb_break[i].bpt_addr == addr)
return 1;
}
return 0;
}
int dbg_remove_all_break(void) int dbg_remove_all_break(void)
{ {
int error; int error;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment