From d77c4a953c1f2a6e1f84c28e64bf9296a4bb398a Mon Sep 17 00:00:00 2001 From: Palmer Dabbelt Date: Wed, 21 Jun 2017 10:16:25 -0700 Subject: Don't set breakpoints on disabled harts --- src/target/riscv/riscv-013.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/target/riscv/riscv-013.c b/src/target/riscv/riscv-013.c index a68a1c7..86f5f1b 100644 --- a/src/target/riscv/riscv-013.c +++ b/src/target/riscv/riscv-013.c @@ -832,6 +832,9 @@ static int add_trigger(struct target *target, struct trigger *trigger) uint64_t tdata1_rb; for (int hartid = 0; hartid < riscv_count_harts(target); ++hartid) { + if (!riscv_hart_enabled(target, i)) + continue; + riscv_set_current_hartid(target, hartid); if (hartid > 0) { @@ -918,6 +921,9 @@ static int remove_trigger(struct target *target, struct trigger *trigger) } LOG_DEBUG("Stop using resource %d for bp %d", i, trigger->unique_id); for (int hartid = 0; hartid < riscv_count_harts(target); ++hartid) { + if (!riscv_hart_enabled(target, i)) + continue; + riscv_set_current_hartid(target, hartid); register_write_direct(target, GDB_REGNO_TSELECT, i); register_write_direct(target, GDB_REGNO_TDATA1, 0); -- cgit v1.1