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

📄 simos_interface.h

📁 一个用在mips体系结构中的操作系统
💻 H
字号:
/* * 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.  * */#ifndef CHAL2_SIMOS_INTERFACE_H#define CHAL2_SIMOS_INTERFACE_H/*    SimOS cache <-> Chal2 bus-interface declarations       by Stephen Gold, 6 May 1997*/#include "memsys.h"/*    SimOS calls this function to trigger the simulation of new bus-cycle    by Chal2.    This is the only function in the interface which can advance    the simulation clock.  All others must return within the current    bus-cycle.*/void Chal2CycleAdvance (void);/*    SimOS calls this function to enqueue a new request into the    bus-interface.  It returns SUCCESS if successful.    The request_type will be one of:      MEMSYS_GET      MEMSYS_GETX      MEMSYS_UPGRADE    If writeback_flag is TRUE, the data pointed to by replaced_data_ptr    is scheduled to be written back to replaced_paddr.  If writeback_flag    is FALSE, those arguments are ignored.*/Result Chal2Request (int cpu_id, int request_type, PA requested_paddr,   int request_id, PA replaced_paddr, int writeback_flag,   byte *replaced_data_ptr);/*    The bus-interface calls this function to indicate the    completion of a request.  The status will be MEMSYS_STATUS_SUCCESS    if the request was successful.    If the request_type was GET or GETX, returned_data_ptr will point to    the data returned by the request.    The new_cache_state will be one of:      MEMSYS_EXCLUSIVE      MEMSYS_SHARED */void Chal2Completion (unsigned cpu_id, int request_id, int new_cache_state,   void *returned_data_ptr);/*    The bus-interface calls this function to flush any exclusive copy    of a line out of a SimOS cache.    If the line is present in the cache:      SimOS copies the contents of the line into memory pointed to      by flushback_data_ptr and returns TRUE.    If the line is not present in the cache:      SimOS returns FALSE.*/bool Chal2Flush (unsigned cpu_id, PA paddr, void *flushback_data_ptr);/*    The bus-interface calls this function to invalidate any copies    of a line in a SimOS cache.    If the line is dirty in the cache:      SimOS copies the contents of the line into memory pointed to      by flushback_data_ptr, sets *flushback_indicator to TRUE, and      returns TRUE.    If the line is shared in the cache:      SimOS sets *flushback_indicator to FALSE and returns TRUE.    If the line is not present in the cache:      SimOS sets *flushback_indicator to FALSE and returns FALSE.*/bool Chal2Invalidate (unsigned cpu_id, PA paddr, bool *flushback_indicator,  void *flushback_data_ptr);#endif /* CHAL2_SIMOS_INTERFACE_H */

⌨️ 快捷键说明

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