step_event_instrumentation synchronous_mode
API Reference Manual  /  5 Model-to-Simulator Interfaces  / 

step_info

Description
The step_info interface can be implemented by processors that optimize the execution by advancing the step count using special instructions or processor modes.

The get_halt_steps and set_halt_steps functions are used to get and set the number of steps that have been advanced using special features in the architecture. Examples; X86 processor it is the number of halt instructions executed, PPC processors it is the number of steps spent in sleep mode, ARM processors it is the number of steps spent in the "wait for interrupt" state.

The get_ffwd and set_ffwd_steps functions are used to get and set the number of steps that the processor have optimized the execution by advancing time that is not architectural. This can for instance be execution loops that does not affect the processor state.

SIM_INTERFACE(step_info) {
        pc_step_t (*get_halt_steps)(conf_object_t *obj);
        void (*set_halt_steps)(conf_object_t *obj, pc_step_t steps);
        pc_step_t (*get_ffwd_steps)(conf_object_t *obj);
        void (*set_ffwd_steps)(conf_object_t *obj, pc_step_t steps);
        pc_step_t (*get_ma_steps)(conf_object_t *obj);
        void (*set_ma_steps)(conf_object_t *obj, pc_step_t steps);
};
#define STEP_INFO_INTERFACE "step_info"

Execution Context
Cell Context for all methods.

step_event_instrumentation synchronous_mode