- correctly initialize start address for XScale trace buffer decodes in fill-once mode

git-svn-id: svn://svn.berlios.de/openocd/trunk@202 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
drath 2007-08-21 16:21:05 +00:00
parent 580bb85201
commit ecfc1e39a2
2 changed files with 14 additions and 1 deletions

View File

@ -18,7 +18,7 @@
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#define OPENOCD_VERSION "Open On-Chip Debugger (2007-08-17 11:00 CEST)"
#define OPENOCD_VERSION "Open On-Chip Debugger (2007-08-21 18:30 CEST)"
#ifdef HAVE_CONFIG_H
#include "config.h"

View File

@ -3440,6 +3440,19 @@ int xscale_handle_trace_buffer_command(struct command_context_s *cmd_ctx, char *
xscale->trace.buffer_fill = -1;
}
if (xscale->trace.buffer_enabled)
{
/* if we enable the trace buffer in fill-once
* mode we know the address of the first instruction */
xscale->trace.pc_ok = 1;
xscale->trace.current_pc = buf_get_u32(armv4_5->core_cache->reg_list[15].value, 0, 32);
}
else
{
/* otherwise the address is unknown, and we have no known good PC */
xscale->trace.pc_ok = 0;
}
command_print(cmd_ctx, "trace buffer %s (%s)",
(xscale->trace.buffer_enabled) ? "enabled" : "disabled",
(xscale->trace.buffer_fill > 0) ? "fill" : "wrap");