亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? eio.cc

?? linux下基于c++的處理器仿真平臺。具有處理器流水線
?? CC
?? 第 1 頁 / 共 2 頁
字號:
/* $Id: eio.cc 1.51 05/06/04 22:33:09-04:00 binkertn@crampon.my.domain $ *//* * eio.cc - external interfaces to external I/O f\iles * * This file is a part of the SimpleScalar tool suite written by * Todd M. Austin as a part of the Multiscalar Research Project. * * The tool suite is currently maintained by Doug Burger and Todd M. Austin. * * Copyright (C) 1997, 1998 by Todd M. Austin * * This source file is distributed "as is" in the hope that it will be * useful.  The tool set comes with no warranty, and no author or * distributor accepts any responsibility for the consequences of its * use. * * Everyone is granted permission to copy, modify and redistribute * this tool set under the following conditions: * *    This source code is distributed for non-commercial use only. *    Please contact the maintainer for restrictions applying to *    commercial use. * *    Permission is granted to anyone to make or distribute copies *    of this source code, either as received or modified, in any *    medium, provided that all copyright notices, permission and *    nonwarranty notices are preserved, and that the distributor *    grants the recipient permission for further redistribution as *    permitted by this document. * *    Permission is granted to distribute this file in compiled *    or executable form under the same conditions that apply for *    source code, provided that either: * *    A. it is accompanied by the corresponding machine-readable *       source code, *    B. it is accompanied by a written offer, with no time limit, *       to give anyone a machine-readable copy of the corresponding *       source code in return for reimbursement of the cost of *       distribution.  This written offer must permit verbatim *       duplication by anyone, or *    C. it is distributed by someone who received only the *       executable form, and is accompanied by a copy of the *       written offer of source code that they received concurrently. * * In other words, you are welcome to use, share and improve this * source file.  You are forbidden to forbid anyone else to use, share * and improve what you give them. * * INTERNET: dburger@cs.wisc.edu * US Mail:  1210 W. Dayton Street, Madison, WI 53706 * */#include <unistd.h>#include <string>#include "base/cprintf.hh"#include "base/endian.hh"#include "base/misc.hh"#include "cpu/smt.hh"#include "encumbered/cpu/full/spec_state.hh"#include "encumbered/eio/eio.hh"#include "sim/builder.hh"#include "sim/host.hh"#include "sim/root.hh"	// for curTick// note that libexo.h has to be last, as it does some nasty #defines;// specifically, it #defines as_float in a way that conflicts with a// field name in eval.h.#include "encumbered/eio/libexo.h"using namespace std;static struct {  char *type;  char *ext;  char *cmd;} gzcmds[] = {  /* type */	/* extension */		/* command */  { "r",	".gz",			"%s -dc %s" },  { "rb",	".gz",			"%s -dc %s" },  { "r",	".Z",			"%s -dc %s" },  { "rb",	".Z",			"%s -dc %s" },  { "w",	".gz",			"%s > %s" },  { "wb",	".gz",			"%s > %s" }};#ifndef GZIP_PATH#define GZIP_PATH "gzip"#endif/* same semantics as fopen() except that filenames ending with a ".gz" or ".Z"   will be automagically get compressed */FILE *gzopen(const char *fname, const char *type){  int i;  char *cmd = NULL;  const char *ext;  FILE *fd;  char str[2048];  /* get the extension */  ext = strrchr(fname, '.');  /* check if extension indicates compressed file */  if (ext != NULL && *ext != '\0')    {      for (i=0; i < sizeof(gzcmds) / sizeof(gzcmds[0]); i++)	{	  if (!strcmp(gzcmds[i].type, type) && !strcmp(gzcmds[i].ext, ext))	    {	      cmd = gzcmds[i].cmd;	      break;	    }	}    }  if (!cmd)    {      /* open file */      fd = fopen(fname, type);    }  else    {      /* open pipe to compressor/decompressor */      sprintf(str, cmd, GZIP_PATH, fname);      fd = popen(str, type);    }  return fd;}/* close compressed stream */voidgzclose(FILE *fd){  /* attempt pipe close, otherwise file close */  if (pclose(fd) == -1)    fclose(fd);}#ifdef _MSC_VER#define write		_write#endif#define EIO_FILE_HEADER							\  "/* This is a SimpleScalar EIO file - DO NOT MOVE OR EDIT THIS LINE! */\n"/*   EIO transaction format:   (inst_count, pc,    ... reg inputs ...    [r2, r3, r4, r5, r6, r7],    ... mem inputs ...    ((addr, size, blob), ...)    ... reg outputs ...    [r2, r3, r4, r5, r6, r7],    ... mem outputs ...    ((addr, size, blob), ...)   )*/FILE *eio_open(const string &fname){    FILE *fd;    struct exo_term_t *exo;    int file_format, file_version, big_endian, target_big_endian;    target_big_endian = HostBigEndian();    fd = gzopen(fname.c_str(), "r");    if (!fd)	fatal("unable to open EIO file `%s'", fname);    /* read and check EIO file header */    exo = exo_read(fd);    if (!exo	|| exo->ec != ec_list	|| !exo->as_list.head	|| exo->as_list.head->ec != ec_integer	|| !exo->as_list.head->next	|| exo->as_list.head->next->ec != ec_integer	|| !exo->as_list.head->next->next	|| exo->as_list.head->next->next->ec != ec_integer	|| exo->as_list.head->next->next->next != NULL)	fatal("could not read EIO file header");    file_format = exo->as_list.head->as_integer.val;    file_version = exo->as_list.head->next->as_integer.val;    big_endian = exo->as_list.head->next->next->as_integer.val;    exo_delete(exo);    if (file_format != MD_EIO_FILE_FORMAT)	fatal("EIO file `%s' has incompatible format", fname);    if (file_version != EIO_FILE_VERSION)	fatal("EIO file `%s' has incompatible version", fname);    if (!!big_endian != !!target_big_endian)	fatal("EIO file `%s' has incompatible endian format", fname);    return fd;}/* returns non-zero if file FNAME has a valid EIO header */inteio_valid(const string &fname){    FILE *fd;    char buf[512];    /* open possible EIO file */    fd = gzopen(fname.c_str(), "r");    if (!fd)	return false;    /* read and check EIO file header */    fgets(buf, 512, fd);    /* check the header */    if (strcmp(buf, EIO_FILE_HEADER))	return false;    /* all done, close up file */    gzclose(fd);    /* else, has a valid header, go with it... */    return true;}voideio_close(FILE * fd){    gzclose(fd);}/* read check point of architected state from stream FD, returns   EIO transaction count (an EIO file pointer) */exo_integer_tEioProcess::read_chkpt(RegFile *regs,			  FILE *fd) /* stream to read */{    int i, page_count;    exo_integer_t trans_icnt;    struct exo_term_t *exo, *elt;    /* read the EIO file pointer */    exo = exo_read(fd);    if (!exo || exo->ec != ec_integer)	fatal("could not read EIO file pointer");    trans_icnt = exo->as_integer.val;    exo_delete(exo);    /* read misc regs: icnt, PC, NPC, HI, LO, FCC */    exo = exo_read(fd);    MD_EXO_TO_MISC_REGS(exo, chkpt_num_inst, regs);    exo_delete(exo);    /* read integer registers */    exo = exo_read(fd);    if (!exo || exo->ec != ec_list)	fatal("could not read EIO integer regs");    elt = exo->as_list.head;    for (i = 0; i < NumIntRegs; i++) {	if (!elt)	    fatal("could not read EIO integer regs (too few)");	if (elt->ec != ec_address)	    fatal("could not read EIO integer regs (bad value)");	MD_EXO_TO_IREG(elt, regs, i);	elt = elt->next;    }    if (elt != NULL)	fatal("could not read EIO integer regs (too many)");    exo_delete(exo);    /* read FP registers */    exo = exo_read(fd);    if (!exo || exo->ec != ec_list)	fatal("could not read EIO FP regs");    elt = exo->as_list.head;    for (i = 0; i < NumFloatRegs; i++) {	if (!elt)	    fatal("could not read EIO FP regs (too few)");	if (elt->ec != ec_address)	    fatal("could not read EIO FP regs (bad value)");	MD_EXO_TO_FREG(elt, regs, i);	elt = elt->next;    }    if (elt != NULL)	fatal("could not read EIO FP regs (too many)");    exo_delete(exo);    /* read the number of page defs, and memory config */    exo = exo_read(fd);    if (!exo	|| exo->ec != ec_list	|| !exo->as_list.head	|| exo->as_list.head->ec != ec_integer	|| !exo->as_list.head->next	|| exo->as_list.head->next->ec != ec_address	|| !exo->as_list.head->next->next	|| exo->as_list.head->next->next->ec != ec_address	|| exo->as_list.head->next->next->next != NULL)	fatal("could not read EIO memory page count");    page_count = exo->as_list.head->as_integer.val;    brk_point = (Addr) exo->as_list.head->next->as_integer.val;    stack_min = (Addr) exo->as_list.head->next->next->as_integer.val;    exo_delete(exo);    /* read text segment specifiers */    exo = exo_read(fd);    if (!exo	|| exo->ec != ec_list	|| !exo->as_list.head	|| exo->as_list.head->ec != ec_address	|| !exo->as_list.head->next	|| exo->as_list.head->next->ec != ec_integer	|| exo->as_list.head->next->next != NULL)	fatal("count not read EIO text segment specifiers");    text_base = (Addr) exo->as_list.head->as_integer.val;    text_size = (unsigned int) exo->as_list.head->next->as_integer.val;    exo_delete(exo);    /* read data segment specifiers */    exo = exo_read(fd);    if (!exo	|| exo->ec != ec_list	|| !exo->as_list.head	|| exo->as_list.head->ec != ec_address	|| !exo->as_list.head->next	|| exo->as_list.head->next->ec != ec_integer	|| exo->as_list.head->next->next != NULL)	fatal("count not read EIO data segment specifiers");    data_base = (Addr) exo->as_list.head->as_integer.val;    data_size = (unsigned int) exo->as_list.head->next->as_integer.val;    exo_delete(exo);    /* read stack segment specifiers */    exo = exo_read(fd);    if (!exo	|| exo->ec != ec_list	|| !exo->as_list.head	|| exo->as_list.head->ec != ec_address	|| !exo->as_list.head->next	|| exo->as_list.head->next->ec != ec_integer	|| exo->as_list.head->next->next != NULL)	fatal("count not read EIO stack segment specifiers");    stack_base = (Addr) exo->as_list.head->as_integer.val;    stack_size = (unsigned int) exo->as_list.head->next->as_integer.val;    //Make the stack size 16MB    next_thread_stack_base = stack_base - (16 * 1024 * 1024);    exo_delete(exo);    for (i = 0; i < page_count; i++) {	int j;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品全国免费观看高清| 日韩欧美国产一区在线观看| 视频一区二区三区在线| 国产午夜精品久久| 精品国产乱码久久久久久久| 宅男噜噜噜66一区二区66| 一本大道av伊人久久综合| 风间由美性色一区二区三区| 国产综合久久久久久鬼色 | 天天综合网天天综合色| 亚洲午夜三级在线| 亚洲午夜一区二区三区| 成人午夜电影小说| 欧洲生活片亚洲生活在线观看| 色老汉一区二区三区| 欧美群妇大交群中文字幕| 日韩欧美你懂的| 亚洲成a人片综合在线| 日韩vs国产vs欧美| 韩国女主播成人在线| 欧美一级黄色录像| √…a在线天堂一区| 亚洲激情五月婷婷| 午夜欧美视频在线观看| 欧美伊人久久大香线蕉综合69| 欧美一区二区三区啪啪| 国产肉丝袜一区二区| 亚洲国产日产av| 色噜噜狠狠色综合中国| 亚洲日本免费电影| 日韩电影免费在线看| 欧美日本一区二区| 亚洲观看高清完整版在线观看| 色久综合一二码| 亚洲午夜国产一区99re久久| 在线视频综合导航| 亚洲永久精品大片| 国产suv精品一区二区883| 精品国产欧美一区二区| 国产自产2019最新不卡| 国产三级一区二区| 成人av电影观看| 欧美丰满嫩嫩电影| 亚洲三级在线观看| 91久久精品日日躁夜夜躁欧美| 亚洲乱码精品一二三四区日韩在线| 99久久99久久综合| 精品处破学生在线二十三| 国产综合成人久久大片91| 国产欧美日韩另类视频免费观看| 高清日韩电视剧大全免费| 国产精品国模大尺度视频| 久久99最新地址| 欧美精品视频www在线观看| 日本午夜精品一区二区三区电影| 日韩欧美在线一区二区三区| 国产精品一区一区| 欧美成人女星排名| 日韩av电影免费观看高清完整版 | 成人免费毛片aaaaa**| 自拍偷在线精品自拍偷无码专区| 在线精品国精品国产尤物884a| 婷婷综合久久一区二区三区| 国产亚洲一区二区三区四区 | 福利视频网站一区二区三区| 一区二区三国产精华液| 97成人超碰视| 免费人成精品欧美精品 | 91欧美一区二区| 久久精品一区二区| 91成人看片片| 国产激情一区二区三区四区| 国产亚洲精品7777| 欧美色国产精品| 日韩电影在线观看一区| 国产精品免费久久| 欧美成人综合网站| 在线观看视频一区二区欧美日韩| 精品在线观看视频| 久久午夜色播影院免费高清 | 亚洲图片欧美色图| 久久久久99精品国产片| 国产九九视频一区二区三区| 一区二区三区资源| 久久久久综合网| 91精品国产高清一区二区三区| 成人免费视频视频在线观看免费 | 亚洲美女电影在线| 色噜噜狠狠色综合中国| 国产一区二区在线观看视频| 国产欧美日韩不卡| 日韩视频免费观看高清在线视频| 91免费版在线| 粉嫩一区二区三区在线看 | 亚洲丶国产丶欧美一区二区三区| 中文字幕免费不卡在线| 91在线观看美女| 国产成人免费9x9x人网站视频| 肉肉av福利一精品导航| 亚洲最新视频在线播放| 国产精品久久久久久一区二区三区| 日韩西西人体444www| 欧美日韩亚洲丝袜制服| 91啪亚洲精品| 91污片在线观看| 99热99精品| 日韩制服丝袜av| 亚洲国产成人tv| 亚洲综合色丁香婷婷六月图片| 中文字幕中文字幕在线一区| 久久久美女艺术照精彩视频福利播放| 欧美成人国产一区二区| 精品美女一区二区| 欧美va在线播放| 日韩欧美国产精品| 日韩免费观看高清完整版 | 久草精品在线观看| 美女脱光内衣内裤视频久久影院| 国产午夜亚洲精品理论片色戒| 精品国产成人在线影院| 精品国产污污免费网站入口| 26uuu欧美| 国产欧美精品一区aⅴ影院| 久久亚洲精精品中文字幕早川悠里 | 美女视频网站久久| 另类综合日韩欧美亚洲| 久久99日本精品| 丁香亚洲综合激情啪啪综合| 成人永久看片免费视频天堂| 91一区二区在线| 欧美自拍偷拍午夜视频| 欧美日韩电影一区| 欧美成人精精品一区二区频| 国产欧美一区二区精品性色超碰| 国产精品久久久久久久久免费相片| 国产欧美日韩视频一区二区| 亚洲美女少妇撒尿| 男男成人高潮片免费网站| 韩国成人在线视频| 91麻豆免费看| 91精品国产福利| 国产精品久久午夜夜伦鲁鲁| 亚洲精选一二三| 日本特黄久久久高潮| 国产成人精品午夜视频免费 | 亚洲午夜精品17c| 激情图片小说一区| av中文一区二区三区| 欧美群妇大交群的观看方式| 国产亚洲一二三区| 一区二区三区中文在线观看| 久久爱另类一区二区小说| 成人精品视频一区二区三区尤物| 91久久精品午夜一区二区| 欧美成人艳星乳罩| 一区二区欧美国产| 国产一区亚洲一区| 一本一道综合狠狠老| 精品少妇一区二区三区| 亚洲综合在线免费观看| 精品一区二区免费视频| 色综合天天综合给合国产| 久久er99精品| 欧美日韩中文精品| 中文字幕第一区二区| 亚洲午夜av在线| 99久久99久久久精品齐齐| 日韩欧美另类在线| 亚洲高清免费视频| av亚洲精华国产精华精华 | 日韩久久一区二区| 激情深爱一区二区| 欧美精品v日韩精品v韩国精品v| 国产无遮挡一区二区三区毛片日本| 亚洲一区二区欧美日韩| 成人午夜电影小说| 久久先锋影音av| 美女精品自拍一二三四| 欧美日韩国产综合一区二区三区| 国产精品久久久久影院亚瑟| 久久av中文字幕片| 欧美日本一区二区三区四区| 亚洲欧美日韩国产综合| 成人小视频在线| 国产午夜精品美女毛片视频| 老司机一区二区| 日韩一区二区电影网| 视频在线观看一区| 精品视频一区二区不卡| 一区二区三区在线观看网站| www.欧美亚洲| 欧美精彩视频一区二区三区| 韩国视频一区二区| 2019国产精品| 国产原创一区二区| 久久精品夜色噜噜亚洲aⅴ| 精品亚洲aⅴ乱码一区二区三区| 日韩一级免费一区| 韩国女主播一区二区三区| 久久综合久久99|