diff options
author | Mike Frysinger <vapier@gentoo.org> | 2015-03-23 00:44:54 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2021-02-06 12:12:51 -0500 |
commit | 4c0d76b9c420bb29cb3365c5edc9c78c50d2b231 (patch) | |
tree | 1cbf362654cf185294337a5f27e6d3c94fdb9d65 /sim/README-HACKING | |
parent | cd89c53f6d475cd05a1858b9195770e347fb2e9e (diff) | |
download | fsf-binutils-gdb-4c0d76b9c420bb29cb3365c5edc9c78c50d2b231.zip fsf-binutils-gdb-4c0d76b9c420bb29cb3365c5edc9c78c50d2b231.tar.gz fsf-binutils-gdb-4c0d76b9c420bb29cb3365c5edc9c78c50d2b231.tar.bz2 |
sim: watchpoints: use common sim_pc_get
Few arches implement STATE_WATCHPOINTS()->pc while all of them implement
sim_pc_get. Lets switch the sim-watch core for monitoring pc events to
the sim_pc_get API so this module works for all ports, and then we can
delete this old back channel of snooping in the port's cpu state -- the
code needs the pointer to the pc storage so that it can read out bytes
and compare them to the watchrange.
This also fixes the logic on multi-cpu sims by removing the limitation
of only being able to watch CPU0's state.
Diffstat (limited to 'sim/README-HACKING')
-rw-r--r-- | sim/README-HACKING | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sim/README-HACKING b/sim/README-HACKING index 9953f99..2f985bd 100644 --- a/sim/README-HACKING +++ b/sim/README-HACKING @@ -267,8 +267,8 @@ And in your insn fetcher: PROFILE_COUNT_CORE (cpu, target_addr, size_in_bytes, map_exec); To use the PC profiling code, you simply have to tell the system where to find -your simulator's PC. So in your sim_open() function: - STATE_WATCHPOINTS (sd)->pc = address_of_cpu0_pc; +your simulator's PC. So in your model initialization function: + CPU_PC_FETCH (cpu) = function_that_fetches_the_pc; To profile branches, in every location where a branch insn is executed, call one of the related helpers: |