[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v1 10/11] RISC-V: Convert trap debugging to trace ev
From: |
Alistair Francis |
Subject: |
[Qemu-devel] [PATCH v1 10/11] RISC-V: Convert trap debugging to trace events |
Date: |
Sat, 9 Feb 2019 01:00:51 +0000 |
From: Michael Clark <address@hidden>
Cc: Palmer Dabbelt <address@hidden>
Cc: Alistair Francis <address@hidden>
Signed-off-by: Michael Clark <address@hidden>
Signed-off-by: Alistair Francis <address@hidden>
---
Makefile.objs | 1 +
target/riscv/cpu_helper.c | 12 +++---------
target/riscv/trace-events | 2 ++
3 files changed, 6 insertions(+), 9 deletions(-)
create mode 100644 target/riscv/trace-events
diff --git a/Makefile.objs b/Makefile.objs
index b7aae33367..a2c5b2d186 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -196,6 +196,7 @@ trace-events-subdirs += target/arm
trace-events-subdirs += target/i386
trace-events-subdirs += target/mips
trace-events-subdirs += target/ppc
+trace-events-subdirs += target/riscv
trace-events-subdirs += target/s390x
trace-events-subdirs += target/sparc
trace-events-subdirs += ui
diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c
index a02f4dad8c..6d3fbc3401 100644
--- a/target/riscv/cpu_helper.c
+++ b/target/riscv/cpu_helper.c
@@ -22,8 +22,7 @@
#include "cpu.h"
#include "exec/exec-all.h"
#include "tcg-op.h"
-
-#define RISCV_DEBUG_INTERRUPT 0
+#include "trace.h"
int riscv_cpu_mmu_index(CPURISCVState *env, bool ifetch)
{
@@ -493,13 +492,8 @@ void riscv_cpu_do_interrupt(CPUState *cs)
}
}
- if (RISCV_DEBUG_INTERRUPT) {
- qemu_log_mask(LOG_TRACE, "core " TARGET_FMT_ld ": %s %s, "
- "epc 0x" TARGET_FMT_lx ": tval 0x" TARGET_FMT_lx "\n",
- env->mhartid, async ? "intr" : "trap",
- (async ? riscv_intr_names : riscv_excp_names)[cause],
- env->pc, tval);
- }
+ trace_riscv_trap(env->mhartid, async, cause, env->pc, tval, cause < 16 ?
+ (async ? riscv_intr_names : riscv_excp_names)[cause] : "(unknown)");
if (env->priv <= PRV_S &&
cause < TARGET_LONG_BITS && ((deleg >> cause) & 1)) {
diff --git a/target/riscv/trace-events b/target/riscv/trace-events
new file mode 100644
index 0000000000..48af0373df
--- /dev/null
+++ b/target/riscv/trace-events
@@ -0,0 +1,2 @@
+# target/riscv/cpu_helper.c
+riscv_trap(uint64_t hartid, bool async, uint64_t cause, uint64_t epc, uint64_t
tval, const char *desc) "hart:%"PRId64", async:%d, cause:%"PRId64",
epc:0x%"PRIx64", tval:0x%"PRIx64", desc=%s"
--
2.20.1
- [Qemu-devel] [PATCH v1 00/11] Upstream RISC-V fork patches, part 4, Alistair Francis, 2019/02/08
- [Qemu-devel] [PATCH v1 01/11] riscv: Ensure the kernel start address is correctly cast, Alistair Francis, 2019/02/08
- [Qemu-devel] [PATCH v1 02/11] riscv: pmp: Log pmp access errors as guest errors, Alistair Francis, 2019/02/08
- [Qemu-devel] [PATCH v1 03/11] RISC-V: Replace __builtin_popcount with ctpop8 in PLIC, Alistair Francis, 2019/02/08
- [Qemu-devel] [PATCH v1 04/11] RISC-V: Allow interrupt controllers to claim interrupts, Alistair Francis, 2019/02/08
- [Qemu-devel] [PATCH v1 05/11] RISC-V: Remove unnecessary disassembler constraints, Alistair Francis, 2019/02/08
- [Qemu-devel] [PATCH v1 06/11] elf: Add RISC-V PSABI ELF header defines, Alistair Francis, 2019/02/08
- [Qemu-devel] [PATCH v1 07/11] RISC-V: linux-user support for RVE ABI, Alistair Francis, 2019/02/08
- [Qemu-devel] [PATCH v1 08/11] RISC-V: Change local interrupts from edge to level, Alistair Francis, 2019/02/08
- [Qemu-devel] [PATCH v1 10/11] RISC-V: Convert trap debugging to trace events,
Alistair Francis <=
- [Qemu-devel] [PATCH v1 09/11] RISC-V: Add support for vectored interrupts, Alistair Francis, 2019/02/08
- [Qemu-devel] [PATCH v1 11/11] RISC-V: Update load reservation comment in do_interrupt, Alistair Francis, 2019/02/08