sim: trace: centralize the system tracing
First we convert the ETRACE_P to STRACE_EVENTS_P. This means we move from using the sim_events.trace storage to the common sim_state_base.trace_data array. With that deleted, the common trace init code can be simplified so the sim state works the same as the sim cpu.
This commit is contained in:
parent
ce4eda4a58
commit
83034798de
@ -1,3 +1,12 @@
|
||||
2015-06-11 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* sim-events.c (ETRACE_P): Delete.
|
||||
(ETRACE): Change ETRACE_P to STRACE_EVENTS_P(sd).
|
||||
(update_time_from_event, sim_events_schedule_vtracef): Likewise.
|
||||
* sim-events.h (struct _sim_events): Delete trace member.
|
||||
* sim-trace.c (set_trace_option_mask): Delete trace_nr check and
|
||||
always set STATE_TRACE_FLAGS(sd)[trace_nr] element.
|
||||
|
||||
2015-06-11 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* sim-trace.h (STRACE_ANY_P, STRACE_INSN_P, STRACE_DECODE_P,
|
||||
|
@ -140,14 +140,11 @@ struct _sim_event {
|
||||
|
||||
#define _ETRACE sd, NULL
|
||||
|
||||
#undef ETRACE_P
|
||||
#define ETRACE_P (WITH_TRACE && STATE_EVENTS (sd)->trace)
|
||||
|
||||
#undef ETRACE
|
||||
#define ETRACE(ARGS) \
|
||||
do \
|
||||
{ \
|
||||
if (ETRACE_P) \
|
||||
if (STRACE_EVENTS_P (sd)) \
|
||||
{ \
|
||||
if (STRACE_DEBUG_P (sd)) \
|
||||
{ \
|
||||
@ -409,7 +406,7 @@ update_time_from_event (SIM_DESC sd)
|
||||
events->time_of_event = current_time - 1;
|
||||
events->time_from_event = -1;
|
||||
}
|
||||
if (ETRACE_P)
|
||||
if (STRACE_EVENTS_P (sd))
|
||||
{
|
||||
sim_event *event;
|
||||
int i;
|
||||
@ -521,7 +518,7 @@ sim_events_schedule_vtracef (SIM_DESC sd,
|
||||
new_event->data = data;
|
||||
new_event->handler = handler;
|
||||
new_event->watching = watch_timer;
|
||||
if (fmt == NULL || !ETRACE_P || vasprintf (&new_event->trace, fmt, ap) < 0)
|
||||
if (fmt == NULL || !STRACE_EVENTS_P (sd) || vasprintf (&new_event->trace, fmt, ap) < 0)
|
||||
new_event->trace = NULL;
|
||||
insert_sim_event (sd, new_event, delta_time);
|
||||
ETRACE ((_ETRACE,
|
||||
|
@ -94,7 +94,6 @@ struct _sim_events {
|
||||
SIM_ELAPSED_TIME resume_wallclock;
|
||||
signed64 time_of_event;
|
||||
signed64 time_from_event;
|
||||
int trace;
|
||||
};
|
||||
|
||||
|
||||
|
@ -173,22 +173,14 @@ set_trace_option_mask (SIM_DESC sd, const char *name, int mask, const char *arg)
|
||||
}
|
||||
}
|
||||
|
||||
/* update applicable trace bits */
|
||||
/* Update applicable trace bits. */
|
||||
for (trace_nr = 0; trace_nr < MAX_TRACE_VALUES; ++trace_nr)
|
||||
{
|
||||
if ((mask & (1 << trace_nr)) == 0)
|
||||
continue;
|
||||
|
||||
/* Set non-cpu specific values. */
|
||||
switch (trace_nr)
|
||||
{
|
||||
case TRACE_EVENTS_IDX:
|
||||
STATE_EVENTS (sd)->trace = trace_val;
|
||||
break;
|
||||
case TRACE_DEBUG_IDX:
|
||||
STATE_TRACE_FLAGS (sd)[trace_nr] = trace_val;
|
||||
break;
|
||||
}
|
||||
STATE_TRACE_FLAGS (sd)[trace_nr] = trace_val;
|
||||
|
||||
/* Set cpu values. */
|
||||
for (cpu_nr = 0; cpu_nr < MAX_NR_PROCESSORS; cpu_nr++)
|
||||
|
Loading…
Reference in New Issue
Block a user