diff options
author | Tim Newsome <tim@sifive.com> | 2019-02-25 14:02:30 -0800 |
---|---|---|
committer | Matthias Welwarsky <matthias@welwarsky.de> | 2019-03-08 14:05:19 +0000 |
commit | 57e30102ea440d77aa001e26eb901d0cbb305a30 (patch) | |
tree | ed63b282decaa8a1fdbe04c2f4c213e56e493eae /src/server | |
parent | 85ba2dc4c6ab4c91f4461c2853660cc2cb9e2623 (diff) | |
download | riscv-openocd-57e30102ea440d77aa001e26eb901d0cbb305a30.zip riscv-openocd-57e30102ea440d77aa001e26eb901d0cbb305a30.tar.gz riscv-openocd-57e30102ea440d77aa001e26eb901d0cbb305a30.tar.bz2 |
gdb_server, target: Add target_address_bits()
Targets can use this to expose how many address bits there are.
gdb_server uses this to send gdb the appropriate upper limit in the
memory-map. (Before this change the upper limit would only be correct
for 32-bit targets.)
Change-Id: Idb0933255ed53951fcfb05e040674bcdf19441e1
Signed-off-by: Tim Newsome <tim@sifive.com>
Reviewed-on: http://openocd.zylin.com/4947
Tested-by: jenkins
Reviewed-by: Peter Mamonov <pmamonov@gmail.com>
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
Diffstat (limited to 'src/server')
-rw-r--r-- | src/server/gdb_server.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/server/gdb_server.c b/src/server/gdb_server.c index 54cf9af..3ade195 100644 --- a/src/server/gdb_server.c +++ b/src/server/gdb_server.c @@ -1921,11 +1921,10 @@ static int gdb_memory_map(struct connection *connection, if (ram_start != 0) xml_printf(&retval, &xml, &pos, &size, "<memory type=\"ram\" start=\"" TARGET_ADDR_FMT "\" " - "length=\"0x%x\"/>\n", - ram_start, 0-ram_start); - /* ELSE a flash chip could be at the very end of the 32 bit address - * space, in which case ram_start will be precisely 0 - */ + "length=\"" TARGET_ADDR_FMT "\"/>\n", + ram_start, target_address_max(target) - ram_start + 1); + /* ELSE a flash chip could be at the very end of the address space, in + * which case ram_start will be precisely 0 */ free(banks); |