Previous - Up - Next

13.1   Implementing the Interface

The timing-model and snoop-memory contains only one function called operate():

static cycles_t
my_timing_model_operate(conf_object_t         *mem_hier,
                        conf_object_t         *mem_space,
                        map_list_t            *map_list,
                        generic_transaction_t *mem_op);

The four arguments are:

conf_object_t *mem_hier
This points to the timing model or snooper itself; it can be safely cast to the actual type of the listening object.
conf_object_t *mem_space
The mem_space argument is the memory space object that the timing model or snooper is connected to.
map_list_t *map_list
The map_list argument describes the entry in the map attribute list that this memory operation matched (as returned from a call to the space_lookup() function in the lookup interface).
generic_transaction_t *mem_op
This is a pointer to information about the current memory operation. The generic_transaction_t data structure is explained in detail in the Simics API Data Types section of the API chapter in the Simics Reference Manual.

Previous - Up - Next