sim: microblaze: enable some basic trace points

This isn't super complete, but it's useful enough as-is.
This commit is contained in:
Mike Frysinger
2021-04-26 23:17:15 -04:00
parent cd09ab7c74
commit 4d47dcfcf1
3 changed files with 9 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2021-05-04 Mike Frysinger <vapier@gentoo.org>
* interp.c (sim_engine_run): Call TRACE_INSN.
(INSTRUCTION): Likewise.
* microblaze.isa (addi): Call TRACE_REGISTER.
2021-05-04 Mike Frysinger <vapier@gentoo.org> 2021-05-04 Mike Frysinger <vapier@gentoo.org>
* interp.c: Include sim-syscall.h. * interp.c: Include sim-syscall.h.

View File

@ -168,6 +168,7 @@ sim_engine_run (SIM_DESC sd,
{ {
insts += 1; insts += 1;
bonus_cycles++; bonus_cycles++;
TRACE_INSN (cpu, "HALT (%i)", RETREG);
sim_engine_halt (sd, NULL, NULL, NULL_CIA, sim_exited, RETREG); sim_engine_halt (sd, NULL, NULL, NULL_CIA, sim_exited, RETREG);
} }
else else
@ -176,6 +177,7 @@ sim_engine_run (SIM_DESC sd,
{ {
#define INSTRUCTION(NAME, OPCODE, TYPE, ACTION) \ #define INSTRUCTION(NAME, OPCODE, TYPE, ACTION) \
case NAME: \ case NAME: \
TRACE_INSN (cpu, #NAME); \
ACTION; \ ACTION; \
break; break;
#include "microblaze.isa" #include "microblaze.isa"

View File

@ -110,6 +110,7 @@ INSTRUCTION(addi,
INST_TYPE_RD_RA_IMM, INST_TYPE_RD_RA_IMM,
CARRY = C_calc(RA, IMM, 0); CARRY = C_calc(RA, IMM, 0);
RD = RA + IMM; RD = RA + IMM;
TRACE_REGISTER (cpu, "r%i = r%i + %i", rd, ra, IMM);
C_wr(CARRY); C_wr(CARRY);
PC += INST_SIZE) PC += INST_SIZE)