+2021-01-30 Mike Frysinger <vapier@gentoo.org>
+
+ * README-HACKING: Delete reference to sizeof_pc.
+
2021-01-29 Mike Frysinger <vapier@gentoo.org>
* MAINTAINERS (Global Maintainers): Move myself back.
PROFILE_COUNT_CORE (cpu, target_addr, size_in_bytes, map_exec);
To use the PC profiling code, you simply have to tell the system where to find
-your simulator's PC and its size. So in your sim_open() function:
+your simulator's PC. So in your sim_open() function:
STATE_WATCHPOINTS (sd)->pc = address_of_cpu0_pc;
- STATE_WATCHPOINTS (sd)->sizeof_pc = number_of_bytes_for_pc_storage;
-In a typical 32bit system, the sizeof_pc will be 4 bytes.
To profile branches, in every location where a branch insn is executed, call
one of the related helpers:
+2021-01-30 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c (sim_open): Delete STATE_WATCHPOINTS (sd)->sizeof_pc.
+
2021-01-11 Mike Frysinger <vapier@gentoo.org>
* config.in, configure: Regenerate.
/* XXX: Only first core gets profiled ? */
SIM_CPU *cpu = STATE_CPU (sd, 0);
STATE_WATCHPOINTS (sd)->pc = &cpu->pc;
- STATE_WATCHPOINTS (sd)->sizeof_pc = sizeof (cpu->pc);
}
if (sim_pre_argv_init (sd, argv[0]) != SIM_RC_OK)
+2021-01-30 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c (sim_open): Delete STATE_WATCHPOINTS (sd)->sizeof_pc.
+
2021-01-11 Mike Frysinger <vapier@gentoo.org>
* config.in, configure: Regenerate.
/* XXX: Only first core gets profiled ? */
SIM_CPU *cpu = STATE_CPU (sd, 0);
STATE_WATCHPOINTS (sd)->pc = &PCREG;
- STATE_WATCHPOINTS (sd)->sizeof_pc = sizeof (PCREG);
}
if (sim_pre_argv_init (sd, argv[0]) != SIM_RC_OK)
+2021-01-30 Mike Frysinger <vapier@gentoo.org>
+
+ * sim-watch.c (schedule_watchpoint): Change sizeof_pc to sizeof
+ sim_cia.
+ * sim-watch.h (struct _sim_watchpoints): Delete sizeof_pc.
+
2021-01-30 Mike Frysinger <vapier@gentoo.org>
* sim-profile.c (profile_pc_init): Change 1 in shifts to 1ULL.
case pc_watchpoint:
point->event = sim_events_watch_sim (sd,
watch->pc,
- watch->sizeof_pc,
+ sizeof (sim_cia),
HOST_BYTE_ORDER,
point->is_within,
point->arg0, point->arg1,
static const char *default_interrupt_names[] = { "int", 0, };
/* This default handler is "good enough" for targets that just want to trap into
- gdb when watchpoints are hit, and have only configured STATE_WATCHPOINTS pc &
- sizeof_pc fields. */
+ gdb when watchpoints are hit, and have only configured the STATE_WATCHPOINTS
+ pc field. */
static void
default_interrupt_handler (SIM_DESC sd, void *data)
{
/* FIXME: In the future this shall be generalized so that any of the
N processors M registers can be watched */
void *pc;
- int sizeof_pc;
/* Pointer to the handler for interrupt watchpoints */
/* FIXME: can this be done better? */
+2021-01-30 Mike Frysinger <vapier@gentoo.org>
+
+ * sim-if.c (sim_open): Delete STATE_WATCHPOINTS (sd)->sizeof_pc.
+
2021-01-11 Mike Frysinger <vapier@gentoo.org>
* configure.ac: Call SIM_AC_OPTION_WARNINGS.
{
SIM_CPU *current_cpu = STATE_CPU (sd, 0);
STATE_WATCHPOINTS (sd)->pc = &(PC);
- STATE_WATCHPOINTS (sd)->sizeof_pc = sizeof (PC);
}
#endif
+2021-01-30 Mike Frysinger <vapier@gentoo.org>
+
+ * sim-if.c (sim_open): Delete STATE_WATCHPOINTS (sd)->sizeof_pc.
+
2021-01-11 Mike Frysinger <vapier@gentoo.org>
* configure.ac: Call SIM_AC_OPTION_WARNINGS.
{
SIM_CPU *current_cpu = STATE_CPU (sd, 0);
STATE_WATCHPOINTS (sd)->pc = &(PC);
- STATE_WATCHPOINTS (sd)->sizeof_pc = sizeof (PC);
}
#endif
+2021-01-30 Mike Frysinger <vapier@gentoo.org>
+
+ * sim-if.c (sim_open): Delete STATE_WATCHPOINTS (sd)->sizeof_pc.
+
2021-01-11 Mike Frysinger <vapier@gentoo.org>
* configure.ac: Call SIM_AC_OPTION_WARNINGS.
{
SIM_CPU *current_cpu = STATE_CPU (sd, 0);
STATE_WATCHPOINTS (sd)->pc = &(PC);
- STATE_WATCHPOINTS (sd)->sizeof_pc = sizeof (PC);
}
#endif
+2021-01-30 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c (sim_open): Delete STATE_WATCHPOINTS (sd)->sizeof_pc.
+
2021-01-11 Mike Frysinger <vapier@gentoo.org>
* config.in, configure: Regenerate.
/* FIXME: watchpoints code shouldn't need this */
STATE_WATCHPOINTS (sd)->pc = &(PC);
- STATE_WATCHPOINTS (sd)->sizeof_pc = sizeof (PC);
STATE_WATCHPOINTS (sd)->interrupt_handler = interrupt_event;
/* Initialize the mechanism for doing insn profiling. */
+2021-01-30 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c (sim_open): Delete STATE_WATCHPOINTS (sd)->sizeof_pc.
+
2021-01-11 Mike Frysinger <vapier@gentoo.org>
* config.in, configure: Regenerate.
moment, only support watchpoints causing a breakpoint (gdb
halt). */
STATE_WATCHPOINTS (sd)->pc = &(PC);
- STATE_WATCHPOINTS (sd)->sizeof_pc = sizeof (PC);
STATE_WATCHPOINTS (sd)->interrupt_handler = NULL;
STATE_WATCHPOINTS (sd)->interrupt_names = NULL;
+2021-01-30 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c (sim_open): Delete STATE_WATCHPOINTS (sd)->sizeof_pc.
+
2021-01-11 Mike Frysinger <vapier@gentoo.org>
* config.in, configure: Regenerate.
}
STATE_WATCHPOINTS (sd)->pc = &cpu.asregs.regs[PC_REGNO];
- STATE_WATCHPOINTS (sd)->sizeof_pc = sizeof (word);
if (sim_pre_argv_init (sd, argv[0]) != SIM_RC_OK)
{
+2021-01-30 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c (sim_open): Delete STATE_WATCHPOINTS (sd)->sizeof_pc.
+
2021-01-11 Mike Frysinger <vapier@gentoo.org>
* config.in, configure: Regenerate.
/* FIXME: should be better way of setting up interrupts */
STATE_WATCHPOINTS (sd)->pc = &(PC);
- STATE_WATCHPOINTS (sd)->sizeof_pc = sizeof (PC);
STATE_WATCHPOINTS (sd)->interrupt_handler = do_interrupt;
STATE_WATCHPOINTS (sd)->interrupt_names = interrupt_names;