target/riscv: only dump etrace when size is not zero
Change-Id: Ica8d5f23d4e990d597e1210e8d390d2dc1b69e3c Signed-off-by: Huaqi Fang <578567190@qq.com>
This commit is contained in:
parent
5fc851f469
commit
2c8bf769e0
|
@ -508,6 +508,7 @@ COMMAND_HANDLER(handle_etrace_enable_command)
|
||||||
target_real->etrace_trigger_index = i;
|
target_real->etrace_trigger_index = i;
|
||||||
r->trigger_unique_id[i] = 0xFE;
|
r->trigger_unique_id[i] = 0xFE;
|
||||||
r->reserved_triggers[i] = true;
|
r->reserved_triggers[i] = true;
|
||||||
|
LOG_DEBUG("Trigger %d is reserved for etrace usage.\n", i);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -568,6 +569,7 @@ COMMAND_HANDLER(handle_etrace_disable_command)
|
||||||
if (riscv_reg_set(target_real, GDB_REGNO_TDATA2, dpc_rb) != ERROR_OK)
|
if (riscv_reg_set(target_real, GDB_REGNO_TDATA2, dpc_rb) != ERROR_OK)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
|
LOG_DEBUG("Etrace free up trigger %d.\n", target_real->etrace_trigger_index);
|
||||||
r->reserved_triggers[target_real->etrace_trigger_index] = false;
|
r->reserved_triggers[target_real->etrace_trigger_index] = false;
|
||||||
r->trigger_unique_id[target_real->etrace_trigger_index] = -1;
|
r->trigger_unique_id[target_real->etrace_trigger_index] = -1;
|
||||||
target_real->etrace_trigger_index = 0xFFFFFFFF;
|
target_real->etrace_trigger_index = 0xFFFFFFFF;
|
||||||
|
@ -639,6 +641,10 @@ COMMAND_HANDLER(handle_etrace_dump_command)
|
||||||
size = end_offset;
|
size = end_offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (size == 0) {
|
||||||
|
command_print(CMD, "No etrace could be dumped!");
|
||||||
|
goto ok;
|
||||||
|
}
|
||||||
uint32_t temp_size = (size > 4096) ? 4096 : size;
|
uint32_t temp_size = (size > 4096) ? 4096 : size;
|
||||||
temp = malloc(temp_size);
|
temp = malloc(temp_size);
|
||||||
if (!temp)
|
if (!temp)
|
||||||
|
@ -674,7 +680,7 @@ COMMAND_HANDLER(handle_etrace_dump_command)
|
||||||
size_t filesize;
|
size_t filesize;
|
||||||
fileio_size(fileio, &filesize);
|
fileio_size(fileio, &filesize);
|
||||||
command_print(CMD,
|
command_print(CMD,
|
||||||
"dumped %zu bytes in %fs (%0.3f KiB/s)", filesize,
|
"Dumped etrace %zu bytes in %fs (%0.3f KiB/s)", filesize,
|
||||||
duration_elapsed(&bench), duration_kbps(&bench, filesize));
|
duration_elapsed(&bench), duration_kbps(&bench, filesize));
|
||||||
} else {
|
} else {
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
Loading…
Reference in New Issue