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:
Øyvind Harboe 2011-03-30 13:32:47 +02:00
parent ac6f8f9616
commit b75bdb7b04
2 changed files with 23 additions and 0 deletions

View File

@ -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) */

View File

@ -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. */