void dram_system_init(void) { dram_system_read_config(); /* Register events */ EV_DRAM_COMMAND_RECEIVE = esim_register_event(dram_event_handler, dram_domain_index); EV_DRAM_COMMAND_COMPLETE = esim_register_event(dram_event_handler, dram_domain_index); if (*dram_report_file_name) { dram_report_file = file_open_for_write(dram_report_file_name); if (!dram_report_file) fatal("%s: cannot write on DRAM report file", dram_report_file_name); } }
void moesi_init() { /* Debug */ cache_debug_category = debug_new_category(); /* Events */ EV_MOESI_FIND_AND_LOCK = esim_register_event(moesi_handler_find_and_lock); EV_MOESI_FIND_AND_LOCK_FINISH = esim_register_event(moesi_handler_find_and_lock); EV_MOESI_LOAD = esim_register_event(moesi_handler_load); EV_MOESI_LOAD_ACTION = esim_register_event(moesi_handler_load); EV_MOESI_LOAD_MISS = esim_register_event(moesi_handler_load); EV_MOESI_LOAD_FINISH = esim_register_event(moesi_handler_load); EV_MOESI_STORE = esim_register_event(moesi_handler_store); EV_MOESI_STORE_ACTION = esim_register_event(moesi_handler_store); EV_MOESI_STORE_FINISH = esim_register_event(moesi_handler_store); EV_MOESI_EVICT = esim_register_event(moesi_handler_evict); EV_MOESI_EVICT_ACTION = esim_register_event(moesi_handler_evict); EV_MOESI_EVICT_RECEIVE = esim_register_event(moesi_handler_evict); EV_MOESI_EVICT_WRITEBACK = esim_register_event(moesi_handler_evict); EV_MOESI_EVICT_WRITEBACK_EXCLUSIVE = esim_register_event(moesi_handler_evict); EV_MOESI_EVICT_WRITEBACK_FINISH = esim_register_event(moesi_handler_evict); EV_MOESI_EVICT_PROCESS = esim_register_event(moesi_handler_evict); EV_MOESI_EVICT_REPLY = esim_register_event(moesi_handler_evict); EV_MOESI_EVICT_REPLY_RECEIVE = esim_register_event(moesi_handler_evict); EV_MOESI_EVICT_FINISH = esim_register_event(moesi_handler_evict); EV_MOESI_WRITE_REQUEST = esim_register_event(moesi_handler_write_request); EV_MOESI_WRITE_REQUEST_RECEIVE = esim_register_event(moesi_handler_write_request); EV_MOESI_WRITE_REQUEST_ACTION = esim_register_event(moesi_handler_write_request); EV_MOESI_WRITE_REQUEST_EXCLUSIVE = esim_register_event(moesi_handler_write_request); EV_MOESI_WRITE_REQUEST_UPDOWN = esim_register_event(moesi_handler_write_request); EV_MOESI_WRITE_REQUEST_UPDOWN_FINISH = esim_register_event(moesi_handler_write_request); EV_MOESI_WRITE_REQUEST_DOWNUP = esim_register_event(moesi_handler_write_request); EV_MOESI_WRITE_REQUEST_REPLY = esim_register_event(moesi_handler_write_request); EV_MOESI_WRITE_REQUEST_FINISH = esim_register_event(moesi_handler_write_request); EV_MOESI_READ_REQUEST = esim_register_event(moesi_handler_read_request); EV_MOESI_READ_REQUEST_RECEIVE = esim_register_event(moesi_handler_read_request); EV_MOESI_READ_REQUEST_ACTION = esim_register_event(moesi_handler_read_request); EV_MOESI_READ_REQUEST_UPDOWN = esim_register_event(moesi_handler_read_request); EV_MOESI_READ_REQUEST_UPDOWN_MISS = esim_register_event(moesi_handler_read_request); EV_MOESI_READ_REQUEST_UPDOWN_FINISH = esim_register_event(moesi_handler_read_request); EV_MOESI_READ_REQUEST_DOWNUP = esim_register_event(moesi_handler_read_request); EV_MOESI_READ_REQUEST_DOWNUP_FINISH = esim_register_event(moesi_handler_read_request); EV_MOESI_READ_REQUEST_REPLY = esim_register_event(moesi_handler_read_request); EV_MOESI_READ_REQUEST_FINISH = esim_register_event(moesi_handler_read_request); EV_MOESI_INVALIDATE = esim_register_event(moesi_handler_invalidate); EV_MOESI_INVALIDATE_FINISH = esim_register_event(moesi_handler_invalidate); /* Stack repository */ moesi_stack_repos = repos_create(sizeof(struct moesi_stack_t), "moesi_stack_repos"); }