aboutsummaryrefslogtreecommitdiff
path: root/sim/README-HACKING
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2015-03-23 00:30:52 -0400
committerMike Frysinger <vapier@gentoo.org>2021-01-30 10:14:21 -0500
commitd4e3adda1225d29b99f7bc81cc711806ecaacb70 (patch)
tree9e28132b4b36b74d943160bfb5aa7dd03e19b494 /sim/README-HACKING
parent18d4b488f4538f11cfdc618ddfb26eaf2c955fb7 (diff)
downloadgdb-d4e3adda1225d29b99f7bc81cc711806ecaacb70.zip
gdb-d4e3adda1225d29b99f7bc81cc711806ecaacb70.tar.gz
gdb-d4e3adda1225d29b99f7bc81cc711806ecaacb70.tar.bz2
sim: watchpoints: change sizeof_pc to sizeof(sim_cia)
Existing ports already have sizeof_pc set to the same size as sim_cia, so simply make that part of the core code. We already assume this in places by way of sim_pc_{get,set}, and this is how it's documented in the sim-base.h API. There is code to allow sims to pick different register word sizes from address sizes, but most ports use the defaults for both (32-bits), and the few that support multiple register sizes never change the address size (so address defaults to register). I can't think of any machine where the register hardware size would be larger than the address word size either. We have ABIs that behave that way (e.g. x32), but the hardware is still equivalent register sized.
Diffstat (limited to 'sim/README-HACKING')
-rw-r--r--sim/README-HACKING4
1 files changed, 1 insertions, 3 deletions
diff --git a/sim/README-HACKING b/sim/README-HACKING
index 583a559..9953f99 100644
--- a/sim/README-HACKING
+++ b/sim/README-HACKING
@@ -267,10 +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 and its size. So in your sim_open() function:
+your simulator's PC. So in your sim_open() function:
STATE_WATCHPOINTS (sd)->pc = address_of_cpu0_pc;
- STATE_WATCHPOINTS (sd)->sizeof_pc = number_of_bytes_for_pc_storage;
-In a typical 32bit system, the sizeof_pc will be 4 bytes.
To profile branches, in every location where a branch insn is executed, call
one of the related helpers: