target/aarch64: fix use of 'target->private_config'
The function adiv5_jim_configure() casts the void pointer 'target->private_config' to a struct adiv5_private_config pointer. This is tricky in case of aarch64, where the private data are in a struct aarch64_private_config that has as first element the struct adiv5_private_config. While the current solution is working fine, it's not clean and requires special attention for any further code development. Override 'target->private_config' to the correct pointer while calling adiv5_jim_configure(). Change-Id: Ic2fc047dd1e57013943d96e6d5879a919d1eb7b3 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: http://openocd.zylin.com/5847 Tested-by: jenkins Reviewed-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com>
This commit is contained in:
parent
63d3640add
commit
3ffa14b043
|
@ -2504,8 +2504,13 @@ static int aarch64_jim_configure(struct target *target, Jim_GetOptInfo *goi)
|
|||
* options, JIM_OK if it correctly parsed the topmost option
|
||||
* and JIM_ERR if an error occurred during parameter evaluation.
|
||||
* For JIM_CONTINUE, we check our own params.
|
||||
*
|
||||
* adiv5_jim_configure() assumes 'private_config' to point to
|
||||
* 'struct adiv5_private_config'. Override 'private_config'!
|
||||
*/
|
||||
target->private_config = &pc->adiv5_config;
|
||||
e = adiv5_jim_configure(target, goi);
|
||||
target->private_config = pc;
|
||||
if (e != JIM_CONTINUE)
|
||||
return e;
|
||||
|
||||
|
|
Loading…
Reference in New Issue