From: Ian Thompson Date: Wed, 14 Sep 2022 16:59:47 +0000 (-0700) Subject: target/xtensa: populate PS correctly during fetch X-Git-Tag: v0.12.0-rc1~26 X-Git-Url: https://review.openocd.org/gitweb?a=commitdiff_plain;h=4279b23fcacaf3bb6f7c5e8da9386eaeeafe5736;p=openocd.git target/xtensa: populate PS correctly during fetch Read PS from EPS[debuglevel] during fetch such that it reflects the correct value when read via telnet (not just via gdb_server). Signed-off-by: Ian Thompson Change-Id: I8504f68989bc6d5fe451a8cb69d01c86f4ec0100 Reviewed-on: https://review.openocd.org/c/openocd/+/7195 Tested-by: jenkins Reviewed-by: Erhan Kurubas Reviewed-by: Antonio Borneo --- diff --git a/src/target/xtensa/xtensa.c b/src/target/xtensa/xtensa.c index a6e50ccc71..f331a86654 100644 --- a/src/target/xtensa/xtensa.c +++ b/src/target/xtensa/xtensa.c @@ -1100,6 +1100,9 @@ int xtensa_fetch_all_regs(struct target *target) if (reg_num == XT_PC_REG_NUM_VIRTUAL) { /* reg number of PC for debug interrupt depends on NDEBUGLEVEL */ reg_num = (XT_PC_REG_NUM_BASE + xtensa->core_config->debug.irq_level); + } else if (reg_num == xtensa_regs[XT_REG_IDX_PS].reg_num) { + /* reg number of PS for debug interrupt depends on NDEBUGLEVEL */ + reg_num = (XT_PS_REG_NUM_BASE + xtensa->core_config->debug.irq_level); } else if (reg_num == xtensa_regs[XT_REG_IDX_CPENABLE].reg_num) { /* CPENABLE already read/updated; don't re-read */ reg_fetched = false;