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>
This commit is contained in:
committed by
Matthias Welwarsky
parent
85ba2dc4c6
commit
57e30102ea
@@ -1257,6 +1257,22 @@ int target_gdb_fileio_end(struct target *target, int retcode, int fileio_errno,
|
||||
return target->type->gdb_fileio_end(target, retcode, fileio_errno, ctrl_c);
|
||||
}
|
||||
|
||||
target_addr_t target_address_max(struct target *target)
|
||||
{
|
||||
unsigned bits = target_address_bits(target);
|
||||
if (sizeof(target_addr_t) * 8 == bits)
|
||||
return (target_addr_t) -1;
|
||||
else
|
||||
return (((target_addr_t) 1) << bits) - 1;
|
||||
}
|
||||
|
||||
unsigned target_address_bits(struct target *target)
|
||||
{
|
||||
if (target->type->address_bits)
|
||||
return target->type->address_bits(target);
|
||||
return 32;
|
||||
}
|
||||
|
||||
int target_profiling(struct target *target, uint32_t *samples,
|
||||
uint32_t max_num_samples, uint32_t *num_samples, uint32_t seconds)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user