VIRTUTECH CONFIDENTIAL    Previous - Up - Next

mmu

Implemented By
cheetah-mmu, cheetah-plus-mmu, jaguar-mmu, jalapeno-mmu, niagara-strand-mmu, panther-mmu, spitfire-mmu
Description
logical_to_physical() should fill in the physical_address field (and other address fields when appropriate) in the memory transaction if the transaction is valid. Side effects such as modifying dirty or access bits should only take place if the inquiry bit in the transaction is clear. The set_error function can return a new exception to override the one set by the Simics core. The overriding exception is only used for memory accesses.
typedef struct {
        exception_type_t (*logical_to_physical)(conf_object_t *mmu_obj,
                                                v9_memory_transaction_t *);
        int (*get_current_context)(conf_object_t *mmu_obj,
                                   conf_object_t *cpu);
        void (*cpu_reset)(conf_object_t *mmu_obj,
                          conf_object_t *cpu_obj,
                          exception_type_t exc_no);
        exception_type_t (*undefined_asi)(conf_object_t *mmu_obj,
                                          v9_memory_transaction_t *mem_op);
        exception_type_t (*set_error)(conf_object_t *mmu_obj,
                                      conf_object_t *cpu_obj,
                                      exception_type_t ex,
                                      uint64 addr,
                                      int ft,
                                      int address_space,
                                      read_or_write_t r_or_w,
                                      data_or_instr_t d_or_i,
                                      int atomic,
                                      int tl,
                                      int priv);
        void (*set_error_info)(mmu_error_info_t *ei);

        exception_type_t (*asi_0x40_callback)(conf_object_t *cpu,
                                              uint64 addr, uint64 value, int size, int fp);

} mmu_interface_t;

VIRTUTECH CONFIDENTIAL    Previous - Up - Next