RISC-V: Add hartid and \n to interrupt logging

Add carriage return that was erroneously removed
when converting to qemu_log. Change hard coded
core number to the actual hartid.

Cc: Sagar Karandikar <sagark@eecs.berkeley.edu>
Cc: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
Cc: Palmer Dabbelt <palmer@sifive.com>
Cc: Alistair Francis <Alistair.Francis@wdc.com>
Signed-off-by: Michael Clark <mjc@sifive.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
This commit is contained in:
Michael Clark 2018-12-14 00:18:30 +00:00 committed by Palmer Dabbelt
parent 6c60757eb6
commit 9543fdaf22
No known key found for this signature in database
GPG Key ID: EF4CA1502CCBAB41
1 changed files with 10 additions and 8 deletions

View File

@ -445,11 +445,13 @@ void riscv_cpu_do_interrupt(CPUState *cs)
if (RISCV_DEBUG_INTERRUPT) { if (RISCV_DEBUG_INTERRUPT) {
int log_cause = cs->exception_index & RISCV_EXCP_INT_MASK; int log_cause = cs->exception_index & RISCV_EXCP_INT_MASK;
if (cs->exception_index & RISCV_EXCP_INT_FLAG) { if (cs->exception_index & RISCV_EXCP_INT_FLAG) {
qemu_log_mask(LOG_TRACE, "core 0: trap %s, epc 0x" TARGET_FMT_lx, qemu_log_mask(LOG_TRACE, "core "
riscv_intr_names[log_cause], env->pc); TARGET_FMT_ld ": trap %s, epc 0x" TARGET_FMT_lx "\n",
env->mhartid, riscv_intr_names[log_cause], env->pc);
} else { } else {
qemu_log_mask(LOG_TRACE, "core 0: intr %s, epc 0x" TARGET_FMT_lx, qemu_log_mask(LOG_TRACE, "core "
riscv_excp_names[log_cause], env->pc); TARGET_FMT_ld ": intr %s, epc 0x" TARGET_FMT_lx "\n",
env->mhartid, riscv_excp_names[log_cause], env->pc);
} }
} }
@ -511,8 +513,8 @@ void riscv_cpu_do_interrupt(CPUState *cs)
if (hasbadaddr) { if (hasbadaddr) {
if (RISCV_DEBUG_INTERRUPT) { if (RISCV_DEBUG_INTERRUPT) {
qemu_log_mask(LOG_TRACE, "core " TARGET_FMT_ld qemu_log_mask(LOG_TRACE, "core " TARGET_FMT_ld ": badaddr 0x"
": badaddr 0x" TARGET_FMT_lx, env->mhartid, env->badaddr); TARGET_FMT_lx "\n", env->mhartid, env->badaddr);
} }
env->sbadaddr = env->badaddr; env->sbadaddr = env->badaddr;
} else { } else {
@ -536,8 +538,8 @@ void riscv_cpu_do_interrupt(CPUState *cs)
if (hasbadaddr) { if (hasbadaddr) {
if (RISCV_DEBUG_INTERRUPT) { if (RISCV_DEBUG_INTERRUPT) {
qemu_log_mask(LOG_TRACE, "core " TARGET_FMT_ld qemu_log_mask(LOG_TRACE, "core " TARGET_FMT_ld ": badaddr 0x"
": badaddr 0x" TARGET_FMT_lx, env->mhartid, env->badaddr); TARGET_FMT_lx "\n", env->mhartid, env->badaddr);
} }
env->mbadaddr = env->badaddr; env->mbadaddr = env->badaddr;
} else { } else {