target: add -dbgbase option to target configuration
Really a Cortex-A specific option, but there is no system in place to support target specific options currently and there has been no need for such a system until now. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
This commit is contained in:
parent
ac6f8f9616
commit
b75bdb7b04
|
@ -3703,6 +3703,7 @@ enum target_cfg_param {
|
|||
TCFG_VARIANT,
|
||||
TCFG_COREID,
|
||||
TCFG_CHAIN_POSITION,
|
||||
TCFG_DBGBASE,
|
||||
};
|
||||
|
||||
static Jim_Nvp nvp_config_opts[] = {
|
||||
|
@ -3716,6 +3717,7 @@ static Jim_Nvp nvp_config_opts[] = {
|
|||
{ .name = "-variant", .value = TCFG_VARIANT },
|
||||
{ .name = "-coreid", .value = TCFG_COREID },
|
||||
{ .name = "-chain-position", .value = TCFG_CHAIN_POSITION },
|
||||
{ .name = "-dbgbase", .value = TCFG_DBGBASE },
|
||||
{ .name = NULL, .value = -1 }
|
||||
};
|
||||
|
||||
|
@ -4006,6 +4008,22 @@ static int target_configure(Jim_GetOptInfo *goi, struct target *target)
|
|||
Jim_SetResultString(goi->interp, target->tap->dotted_name, -1);
|
||||
/* loop for more e*/
|
||||
break;
|
||||
case TCFG_DBGBASE:
|
||||
if (goi->isconfigure) {
|
||||
e = Jim_GetOpt_Wide(goi, &w);
|
||||
if (e != JIM_OK) {
|
||||
return e;
|
||||
}
|
||||
target->dbgbase = (uint32_t)w;
|
||||
target->dbgbase_set = true;
|
||||
} else {
|
||||
if (goi->argc != 0) {
|
||||
goto no_params;
|
||||
}
|
||||
}
|
||||
Jim_SetResult(goi->interp, Jim_NewIntObj(goi->interp, target->dbgbase));
|
||||
/* loop for more */
|
||||
break;
|
||||
}
|
||||
} /* while (goi->argc) */
|
||||
|
||||
|
|
|
@ -155,6 +155,11 @@ struct target
|
|||
* lots of halted/resumed info when stepping in debugger. */
|
||||
bool halt_issued; /* did we transition to halted state? */
|
||||
long long halt_issued_time; /* Note time when halt was issued */
|
||||
|
||||
bool dbgbase_set; /* By default the debug base is not set */
|
||||
uint32_t dbgbase; /* Really a Cortex-A specific option, but there is no
|
||||
system in place to support target specific options
|
||||
currently. */
|
||||
};
|
||||
|
||||
/** Returns the instance-specific name of the specified target. */
|
||||
|
|
Loading…
Reference in New Issue