⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 simos_interface.c

📁 一个用在mips体系结构中的操作系统
💻 C
字号:
/* * Copyright (C) 1996-1998 by the Board of Trustees *    of Leland Stanford Junior University. *  * This file is part of the SimOS distribution.  * See LICENSE file for terms of the license.  * *//*    SimOS cache <-> Chal2 bus-interface definitions       by Stephen Gold, 6 May 1997*/#include "sim.h"#include "machine_params.h"#include "chal2/simos_interface.h"#define DUMMYstatic int linesize = 64;#ifdef DUMMYvoid Chal2CycleAdvance (void){}ResultChal2Request (int cpu_id, int request_type, PA requested_paddr,   int request_id, PA replaced_paddr, int writeback_flag,   byte *replaced_data_ptr){  return SUCCESS;}#endif /* DUMMY */voidChal2Completion (unsigned cpu_id, int request_id, int new_cache_state,   void *returned_data_ptr){  CacheCmdDone((int)cpu_id, request_id, new_cache_state,    MEMSYS_STATUS_SUCCESS, 0x0, (byte *)returned_data_ptr);}boolChal2Flush (unsigned cpu_id, PA paddr, void *flushback_data_ptr){  return CacheWriteback ((int)cpu_id, paddr, linesize,    (byte *)flushback_data_ptr);}boolChal2Invalidate (unsigned cpu_id, PA paddr, bool *flushback_indicator,  void *flushback_data_ptr){  return CacheExtract ((int)cpu_id, paddr, linesize,   (int *)flushback_indicator, (byte *)flushback_data_ptr);}voidChal2Unimplemented (void){  Sim_Error ("unimplemented chal2 function");}voidChal2SetRemap (int cpunum, PA mask){  Sim_Error ("unimplemented chal2 function: SetRemap");}voidChal2ControlRemap (int cpunum, int isEnabled){  Sim_Error ("unimplemented chal2 function: ControlRemap");}PAChal2GetNodeAddress (int cpu_id){  return (cpu_id * MEM_SIZE(0))/NUM_CPUS(0);}/***************************************************************** * MemsysInit for Chal2 *****************************************************************/voidChal2MemInit (void){  memsysVec.type = CHAL2;  memsysVec.NoMemoryDelay = FALSE;  memsysVec.InMagicCR = FALSE;  memsysVec.MemsysCmd = Chal2Request;  memsysVec.MemsysDumpStats = Chal2Unimplemented;  memsysVec.MemsysDone = Chal2Unimplemented;  memsysVec.MemsysStatus = Chal2Unimplemented;  memsysVec.MemsysDrain = Chal2Unimplemented;  memsysVec.MemsysSetRemap = Chal2SetRemap;  memsysVec.MemsysControlRemap = Chal2ControlRemap;  memsysVec.MemsysGetNodeAddress = Chal2GetNodeAddress;} /* Chal2MemInit () */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -