translation_flush usb
API Reference Manual  /  4 Model-to-Model Interfaces  / 

translator

Description
The translator interface is implemented by objects which perform address translations or map memory transactions to devices or address spaces.

The translate method takes a physical address addr and returns a value of the type translation_t which describes the translation for an address range which must include addr. Please refer to the translation_t documentation for a complete description of the return value and more information regarding the implementation of translator objects.

A translator can translate read transactions, write transactions and instruction fetches differently. The access parameter is set to all requested access types in the form of a bitmask. The translator should return null in the target field if a translation valid for all requested accesses cannot be performed; when this happens, the requestor is expected to repeat the interface call with just a single bit set in the access mask, e.g. Sim_Access_Read.

The default_target parameter is a default target, which can be NULL, of the translator mapping (i.e., the target field of the respective memory-space's map entry specifying mapping).

SIM_INTERFACE(translator) {
        translation_t (*translate)(conf_object_t *NOTNULL obj,
                                   physical_address_t addr,
                                   access_t access,
                                   const map_target_t *default_target);
};

#define TRANSLATOR_INTERFACE "translator"

Execution Context
Cell Context for all methods.

translation_flush usb