X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;ds=sidebyside;f=ltt%2Fbranches%2Fpoly%2Flttv%2Flttv%2Fstate.h;h=be2e0b1c71be34249fd8f5298ef6de0a4828f783;hb=8743690d339401db862834d50f9b6bbd1268271f;hp=c419e43fe0e132fc5453448aa35dc5b1e227383e;hpb=d3d99fde8e46d9df5bce73544013242c9a3185fa;p=lttv.git diff --git a/ltt/branches/poly/lttv/lttv/state.h b/ltt/branches/poly/lttv/lttv/state.h index c419e43f..be2e0b1c 100644 --- a/ltt/branches/poly/lttv/lttv/state.h +++ b/ltt/branches/poly/lttv/lttv/state.h @@ -206,6 +206,12 @@ extern LttvCPUMode LTTV_CPU_IRQ, LTTV_CPU_TRAP; +typedef GQuark LttvIRQMode; +extern LttvIRQMode + LTTV_IRQ_UNKNOWN, + LTTV_IRQ_IDLE, + LTTV_IRQ_BUSY; + typedef struct _LttvExecutionState { LttvExecutionMode t; LttvExecutionSubmode n; @@ -287,8 +293,13 @@ GType lttv_traceset_state_get_type (void); typedef struct _LttvCPUState { GArray *mode_stack; + guint last_irq; } LttvCPUState; +typedef struct _LttvIRQState { + GArray *mode_stack; +} LttvIRQState; + struct _LttvTraceState { LttvTraceContext parent; @@ -313,6 +324,7 @@ struct _LttvTraceState { LttvProcessState **running_process; gboolean has_precomputed_states; LttvCPUState *cpu_states; /* state of each cpu */ + LttvIRQState *irq_states; /* state of each irq handler */ }; struct _LttvTraceStateClass {