mirror of
https://github.com/linux-msm/openocd.git
synced 2026-02-25 13:15:07 -08:00
target: aarch64: fix regs invalidation when -defer-examine
The code for aarch64 allocates the register cache during the very first examine of the target. To prevent a segmentation fault in assert_reset(), the call to register_cache_invalidate() is guarded by target_was_examined(). But for targets with -defer-examine, the target is set as not examined in handle_target_reset() just before entering in assert_reset(). This causes registers to not be invalidated while reset a target examined but with -defer-examine. Change the condition and invalidate the register cache if it has been already allocated. Change-Id: Ie13abb0ae2cc28fc3295d678c4ad1691024eb7b8 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/8214 Tested-by: jenkins
This commit is contained in:
@@ -1983,7 +1983,7 @@ static int aarch64_assert_reset(struct target *target)
|
||||
}
|
||||
|
||||
/* registers are now invalid */
|
||||
if (target_was_examined(target)) {
|
||||
if (armv8->arm.core_cache) {
|
||||
register_cache_invalidate(armv8->arm.core_cache);
|
||||
register_cache_invalidate(armv8->arm.core_cache->next);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user