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

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

?? syscall.c.svn-base

?? 模擬多核狀態下龍芯處理器的功能
?? SVN-BASE
?? 第 1 頁 / 共 5 頁
字號:
	  }
	else
	  {
#ifdef _MSC_VER
	    warn("syscall getgid() not yet implemented for MSC...");
	    regs->regs_R[7] = 0;
	    break;
#else /* !_MSC_VER */

#if 0 /* FIXME: needed? */
#ifdef TIOCGETP
	    if (local_req == TIOCGETP && sim_progfd)
	      {
		/* program I/O has been redirected to file, make
		   termios() calls fail... */

		/* got an error, return details */
		regs->regs_R[2] = ENOTTY;
		regs->regs_R[7] = 1;
		break;
	      }
#endif
#endif
	    /* ioctl() code was successfully translated to a host code */

	    /* if arg ptr exists, copy NUM_IOCTL_BYTES bytes to host mem */
	    if (/*argp*/regs->regs_R[6] != 0)
	      mem_bcopy(mem_fn, mem,
			Read, /*argp*/regs->regs_R[6], buf, NUM_IOCTL_BYTES);

	    /* perform the ioctl() call */
	    /*result*/regs->regs_R[2] =
	      ioctl(/*fd*/regs->regs_R[4], local_req, buf);

	    /* if arg ptr exists, copy NUM_IOCTL_BYTES bytes from host mem */
	    if (/*argp*/regs->regs_R[6] != 0)
	      mem_bcopy(mem_fn, mem, Write, regs->regs_R[6],
			buf, NUM_IOCTL_BYTES);

	    /* check for an error condition */
	    if (regs->regs_R[2] != -1)
	      regs->regs_R[7] = 0;
	    else
	      {	
		/* got an error, return details */
		regs->regs_R[2] = errno;
		regs->regs_R[7] = 1;
	      }
#endif /* _MSC_VER */
	  }
      }
      break;


	case SS_SYS_fcntl64:/* the fcntl64 syscall may be buggy, so use the fcntl as well */ 
	case SS_SYS_fcntl:
#ifdef _MSC_VER
      warn("syscall fcntl() not yet implemented for MSC...");
      regs->regs_R[7] = 0;
#else /* !_MSC_VER */
      /* get fcntl() information on the file */
      regs->regs_R[2] =
	fcntl(/*fd*/regs->regs_R[4], /*cmd*/regs->regs_R[5],
	      /*arg*/regs->regs_R[6]);

      /* check for an error condition */
      if (regs->regs_R[2] != -1)
	regs->regs_R[7] = 0;
      else
	{
	  /* got an error, return details */
	  regs->regs_R[2] = errno;
	  regs->regs_R[7] = 1;
	}
#endif /* _MSC_VER */
      break;


	case SS_SYS_setpgid:
#ifdef _MSC_VER_	
	warn("syscall setpgid() not yet implemented for MSC...");
	regs->regs_R[7] = 0;
#else /*!_MSC_VER_*/
	  /*setpgid*/regs->regs_R[2] = setpgid(/*pid*/regs->regs_R[4], 
	                                     /*pgid*/regs->regs_R[5]);
	  /* check for an error condition */
      if (regs->regs_R[2] != -1)
		regs->regs_R[7] = 0;
      else
	{
	  /* got an error, return details */
	  regs->regs_R[2] = errno;
	  regs->regs_R[7] = 1;
	}
#endif /*_MSC_VER_*/
    break;
	

	case SS_SYS_olduname:
	{
		struct oldold_utsname *name;
		
		name = (struct oldold_utsname *)malloc(sizeof(struct oldold_utsname));
		if (!name)
	      fatal("out of virtual memory in SYS_uname");
		
		/*result*/regs->regs_R[2] = uname(name);

		/* copy host side memory into target side pointer data */
		mem_bcopy(mem_fn, mem, Write, regs->regs_R[4],
		  name, sizeof(struct oldold_utsname));

		if (regs->regs_R[2] != -1)
		  regs->regs_R[7] = 0;
		else
		  {
			regs->regs_R[2] = errno;
		    regs->regs_R[7] = 1;
		  }
 
		/* free the host memory */
		free(name);
	}
	break;


	case SS_SYS_umask:
	{
	  /*result*/regs->regs_R[2] = umask(/*mask*/regs->regs_R[4]);

	  /* check for an error condition */
      if (regs->regs_R[2] != -1)
		regs->regs_R[7] = 0;
      else
	  {
	    /* got an error, return details */
	    regs->regs_R[2] = errno;
	    regs->regs_R[7] = 1;
	  }
	}
	break;
	

	case SS_SYS_chroot:
	{
		char buf[MAXBUFSIZE];

		/* copy arguments to the host memroy */
		mem_strcpy(mem_fn, mem, Read, /*filename*/regs->regs_R[4], buf);

		/*result*/regs->regs_R[2] = chroot(buf);

		/* check for an error condition */
      if (regs->regs_R[2] != -1)
		regs->regs_R[7] = 0;
      else
	  {
	    /* got an error, return details */
	    regs->regs_R[2] = errno;
	    regs->regs_R[7] = 1;
	  }
	}
	break;


	case SS_SYS_ustat:
	{
		int i;
		struct ustat ubuf;
		struct ss_ustat ss_ubuf;

		/*result*/regs->regs_R[2] = ustat(/*dev*/regs->regs_R[4], &ubuf);

		/* translate from host ustat structure to target format */
		ss_ubuf.ss_f_tfree = MD_SWAPW((long)ubuf.f_tfree);
		ss_ubuf.ss_f_tinode = MD_SWAPW((unsigned long)ubuf.f_tinode);
		for (i=0; i<6; i++)
		{
		  ss_ubuf.ss_f_fname[i] = ubuf.f_fname[i];
		  ss_ubuf.ss_f_fpack[i] = ubuf.f_fpack[i];
		}

		/* copy the result to the target memory */
		mem_bcopy(mem_fn, mem, Write, /*ubuf*/regs->regs_R[5], 
		  &ss_ubuf, sizeof(struct ss_ustat));

		/* check for an error condition */
        if (regs->regs_R[2] != -1)
		  regs->regs_R[7] = 0;
        else
	    {
	      /* got an error, return details */
	      regs->regs_R[2] = errno;
	      regs->regs_R[7] = 1;
	    }
	}
	break;


	case SS_SYS_dup2:
      /* dup2() the file descriptor */
      regs->regs_R[2] =
	dup2(/* fd1 */regs->regs_R[4], /* fd2 */regs->regs_R[5]);

      /* check for an error condition */
      if (regs->regs_R[2] != -1) {
	regs->regs_R[7] = 0;
#ifdef DUMP_SIMPOINT
	  {
	    extern void record_file_dup2(int oldfd,int newfd);
	    record_file_dup2(regs->regs_R[4],regs->regs_R[5]);
	  }
#endif
      }
      else
	{
	  /* got an error, return details */
	  regs->regs_R[2] = errno;
	  regs->regs_R[7] = 1;
	}
      break;


	case SS_SYS_getppid:
#ifdef _MSC_VER
      warn("syscall getppid() not yet implemented for MSC...");
      regs->regs_R[7] = 0;
#else /*!_MSC_VER_*/
	  /*result*/regs->regs_R[2] = getppid();

      /* check for an error condition */
      if (regs->regs_R[2] != -1)
	    regs->regs_R[7] = 0;
      else
	  {
	    /* got an error, return details */
	    regs->regs_R[2] = errno;
	    regs->regs_R[7] = 1;
	  }
#endif /* _MSC_VER */
      break;   


	case SS_SYS_getpgrp:
#ifdef _MSC_VER
      warn("syscall getpgrp() not yet implemented for MSC...");
      regs->regs_R[7] = 0;
#else /*!_MSC_VER_*/
	  /*result*/regs->regs_R[2] = getpgrp();

      /* check for an error condition */
      if (regs->regs_R[2] != -1)
	    regs->regs_R[7] = 0;
      else
	  {
	    /* got an error, return details */
	    regs->regs_R[2] = errno;
	    regs->regs_R[7] = 1;
	  }
#endif /* _MSC_VER */
      break;    


	case SS_SYS_setsid:
#ifdef _MSC_VER
      warn("syscall setsid() not yet implemented for MSC...");
      regs->regs_R[7] = 0;
#else /*!_MSC_VER_*/
	  /*result*/regs->regs_R[2] = setsid();

      /* check for an error condition */
      if (regs->regs_R[2] != -1)
	    regs->regs_R[7] = 0;
      else
	  {
	    /* got an error, return details */
	    regs->regs_R[2] = errno;
	    regs->regs_R[7] = 1;
	  }
#endif /* _MSC_VER */
      break;    


	/* this syscall may be buggy */
	case SS_SYS_sigaction:
	{
		struct sigaction * act, * oact;

		act = (struct sigaction*)malloc(sizeof(struct sigaction));
		oact = (struct sigaction*)malloc(sizeof(struct sigaction));
		if ((!act)||(!oact))
		  fatal("out of virtual memoyt in SYS_sigaction");

		/* copy arguments to the host memory */
		mem_bcopy(mem_fn, mem, Read, /*act*/regs->regs_R[5],
		  act, sizeof(struct sigaction));

		/*result*/regs->regs_R[2] = sigaction(/*sig*/regs->regs_R[4], act, oact);

		/* copy result to the target memory */
		mem_bcopy(mem_fn, mem, Write, /*oact*/regs->regs_R[6], 
		  oact, sizeof(struct sigaction));

		/* check for an error condition */
        if (regs->regs_R[2] != -1)
	     regs->regs_R[7] = 0;
        else
	    {
	      /* got an error, return details */
	      regs->regs_R[2] = errno;
	      regs->regs_R[7] = 1;
	    }
	  free(act);
	  free(oact);
	}
	break;

#if 0
	case SS_SYS_sgetmask:
	{
		/*result*/regs->regs_R[2] = sgetmask();

		/* check for an error condition */
        if (regs->regs_R[2] != -1)
	     regs->regs_R[7] = 0;
        else
	    {
	      /* got an error, return details */
	      regs->regs_R[2] = errno;
	      regs->regs_R[7] = 1;
	    }
	}
	break;


	case SS_SYS_ssetmask:
	{
		/*result*/regs->regs_R[2] = ssetmask(/*newmask*/regs->regs_R[4]);

		/* check for an error condition */
        if (regs->regs_R[2] != -1)
	     regs->regs_R[7] = 0;
        else
	    {
	      /* got an error, return details */
	      regs->regs_R[2] = errno;
	      regs->regs_R[7] = 1;
	    }
	}
	break;
#endif

	case SS_SYS_setreuid:
	{
		/*result*/regs->regs_R[2] = setreuid(/*ruid*/regs->regs_R[4], 
											/*euid*/regs->regs_R[5]);

		/* check for an error condition */
        if (regs->regs_R[2] != -1)
	     regs->regs_R[7] = 0;
        else
	    {
	      /* got an error, return details */
	      regs->regs_R[2] = errno;
	      regs->regs_R[7] = 1;
	    }
	}
	break;


	case SS_SYS_setregid:
	{
		/*result*/regs->regs_R[2] = setregid(/*ruid*/regs->regs_R[4], 
											/*euid*/regs->regs_R[5]);

		/* check for an error condition */
        if (regs->regs_R[2] != -1)
	     regs->regs_R[7] = 0;
        else
	    {
	      /* got an error, return details */
	      regs->regs_R[2] = errno;
	      regs->regs_R[7] = 1;
	    }
	}
	break;


/* syscall SS_SYS_sigsuspend() 4072 is not implemented for simplescalar */  


	case SS_SYS_sigpending:
	{
	  mips_old_sigset_t ss_buf;
	  sigset_t buf;
	  int i;

	  /*result*/regs->regs_R[2] = sigpending(&buf);

	  ss_buf = 0;
	  for (i=0;i<32;i++) {
	    if (sigismember(&buf,i)) {
	      ss_buf |= (1<<i);
	    }
	  }

	  /* copy result to the target memory */
	  mem_bcopy(mem_fn, mem, Write, /*buf*/regs->regs_R[4], 
	      &ss_buf, sizeof(mips_old_sigset_t));

	  /* check for an error condition */
	  if (regs->regs_R[2] != -1)
	    regs->regs_R[7] = 0;
	  else
	  {
	    /* got an error, return details */
	    regs->regs_R[2] = errno;
	    regs->regs_R[7] = 1;
	  }
	}
	break;


	case SS_SYS_sethostname:
	{
		char buf[MAXBUFSIZE];

		/* copy arguments to the host memory */
		mem_strcpy(mem_fn, mem, Read, /*name*/regs->regs_R[4], buf);

		/*result*/regs->regs_R[2] = sethostname(buf, /*len*/regs->regs_R[5]);

		/* check for an error condition */
        if (regs->regs_R[2] != -1)
	     regs->regs_R[7] = 0;
        else
	    {
	      /* got an error, return details */
	      regs->regs_R[2] = errno;
	      regs->regs_R[7] = 1;
	    }		
	}
	break;


	case SS_SYS_getrlimit:
    case SS_SYS_setrlimit:
#ifdef _MSC_VER
      warn("syscall get/setrlimit() not yet implemented for MSC...");
      regs->regs_R[7] = 0;
#elif defined(__CYGWIN32__)
      warn("syscall: called get/setrlimit()\n");
      regs->regs_R[7] = 0;
#else
      {
	/* FIXME: check this..., was: struct rlimit ss_rl; */
	struct ss_rlimit ss_rl;
	struct rlimit rl;

	/* copy rlimit structure to host memory */
	mem_bcopy(mem_fn, mem, Read, /*rlimit*/regs->regs_R[5],
		  &ss_rl, sizeof(struct ss_rlimit));

	/* convert rlimit structure to host format */
	rl.rlim_cur = MD_SWAPW(ss_rl.ss_rlim_cur);
	rl.rlim_max = MD_SWAPW(ss_rl.ss_rlim_max);

	/* get rlimit information */
	if (syscode == SS_SYS_getrlimit)
	  /*result*/regs->regs_R[2] = getrlimit(regs->regs_R[4], &rl);
	else /* syscode == SS_SYS_setrlimit */
	  /*result*/regs->regs_R[2] = setrlimit(regs->regs_R[4], &rl);

	/* check for an error condition */
	if (regs->regs_R[2] != -1)
	  regs->regs_R[7] = 0;
	else
	  {
	    /* got an error, indicate results */
	    regs->regs_R[2] = errno;
	    regs->regs_R[7] = 1;
	  }

	/* convert rlimit structure to target format */
	ss_rl.ss_rlim_cur = MD_SWAPW(rl.rlim_cur);
	ss_rl.ss_rlim_max = MD_SWAPW(rl.rlim_max);

	/* copy rlimit structure to target memory */
	mem_bcopy(mem_fn, mem, Write, /*rlimit*/regs->regs_R[5],
		  &ss_rl, sizeof(struct ss_rlimit));
      }
#endif
      break;


	   case SS_SYS_getrusage:
#if defined(__svr4__) || defined(__USLC__) || defined(hpux) || defined(__hpux) || defined(_AIX)
      {
	struct tms tms_buf;
	struct ss_rusage rusage;

	/* get user and system times */
	if (times(&tms_buf) != -1)
	  {
	    /* no error */
	    regs->regs_R[2] = 0;
	    regs->regs_R[7] = 0;
	  }
	else
	  {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
337p亚洲精品色噜噜| 成人av电影在线观看| 欧美日韩在线一区二区| 亚洲乱码日产精品bd| 99久久久国产精品免费蜜臀| 亚洲欧洲av色图| 日本高清无吗v一区| 亚洲成人激情综合网| 制服丝袜在线91| 韩国av一区二区三区在线观看| 欧美电影免费观看高清完整版在线观看 | av在线不卡观看免费观看| 国产欧美一区二区三区网站| 菠萝蜜视频在线观看一区| 综合欧美亚洲日本| 欧美性xxxxx极品少妇| 日本美女一区二区| 精品久久久久av影院| 国产v日产∨综合v精品视频| 中文字幕在线不卡国产视频| 欧美无乱码久久久免费午夜一区| 免费在线观看成人| 中国色在线观看另类| 欧美艳星brazzers| 国内不卡的二区三区中文字幕| 国产日韩v精品一区二区| 日本高清视频一区二区| 久久成人免费网站| 1000部国产精品成人观看| 欧美伊人久久久久久久久影院| 久久精品国产999大香线蕉| 国产精品国产三级国产普通话三级 | 久久亚洲欧美国产精品乐播| 成人的网站免费观看| 亚洲va欧美va天堂v国产综合| 欧美岛国在线观看| 色欧美乱欧美15图片| 久久99精品国产91久久来源| 亚洲日本中文字幕区| 日韩女优视频免费观看| 97精品国产露脸对白| 久久成人免费日本黄色| 亚洲精品v日韩精品| 久久综合视频网| 欧美影院一区二区| 不卡视频一二三| 久久精品国产久精国产爱| 亚洲激情一二三区| 国产三级精品视频| 欧美一卡二卡三卡| 在线亚洲一区观看| 成人小视频免费观看| 久久不见久久见中文字幕免费| 日韩久久一区二区| 国产日韩高清在线| 精品剧情v国产在线观看在线| 欧美一a一片一级一片| 成人激情免费网站| 国内不卡的二区三区中文字幕| 亚洲高清久久久| 亚洲女同ⅹxx女同tv| 国产色91在线| 日韩欧美专区在线| 欧美日韩一区二区三区高清| 色综合天天综合网天天看片| 国产.精品.日韩.另类.中文.在线.播放| 三级影片在线观看欧美日韩一区二区| 国产精品情趣视频| 国产欧美一二三区| 国产亚洲成年网址在线观看| 日韩午夜三级在线| 欧美伦理影视网| 欧美无人高清视频在线观看| 在线精品视频小说1| 色哟哟国产精品| 91色视频在线| 91免费看`日韩一区二区| 91在线视频官网| 99综合影院在线| youjizz国产精品| 成人app在线观看| 成人午夜激情影院| 成人97人人超碰人人99| 成人午夜视频福利| 不卡一卡二卡三乱码免费网站| 国产 欧美在线| 成人福利电影精品一区二区在线观看| 国产成人免费视频网站| 高清不卡在线观看| av福利精品导航| 91啪亚洲精品| 欧美影视一区在线| 91精品黄色片免费大全| 欧美一区中文字幕| 精品欧美一区二区三区精品久久| 日韩免费观看高清完整版 | 国产精品久久一级| 亚洲欧洲精品一区二区三区不卡| 国产精品二三区| 亚洲午夜久久久| 日本美女一区二区三区| 久久精品国产一区二区| 国产高清久久久| 一本大道久久a久久综合 | 欧美三级日韩三级国产三级| 欧美精品v日韩精品v韩国精品v| 91麻豆精品久久久久蜜臀| 日韩女优av电影在线观看| 国产亚洲短视频| 一区二区三区四区乱视频| 亚洲电影一区二区| 久久福利视频一区二区| av在线不卡观看免费观看| 欧美三级欧美一级| 2欧美一区二区三区在线观看视频| 国产亚洲精品久| 亚洲一区二区中文在线| 美女在线一区二区| jiyouzz国产精品久久| 欧美视频日韩视频| 久久精品视频网| 亚洲大片精品永久免费| 国产老肥熟一区二区三区| 色综合天天综合给合国产| 欧美一区二区三区电影| 国产午夜精品一区二区三区嫩草 | 蜜桃av噜噜一区| 福利电影一区二区| 欧美日免费三级在线| 久久亚洲一级片| 亚洲国产成人av好男人在线观看| 精品一区二区三区不卡| 99久久综合色| 精品第一国产综合精品aⅴ| 中文字幕综合网| 国产精品资源在线| 欧美日韩一区二区三区在线看| 日本一区二区三区视频视频| 香港成人在线视频| 99久久综合国产精品| 精品1区2区在线观看| 一区二区三区日韩欧美| 国产盗摄女厕一区二区三区| 日韩一区二区免费在线观看| 一区二区三区中文字幕| 岛国精品在线观看| 欧美一级欧美一级在线播放| 亚洲日本va午夜在线电影| 国产精品1024久久| 日韩欧美亚洲一区二区| 亚洲国产wwwccc36天堂| 99综合电影在线视频| 国产日产精品一区| 激情小说欧美图片| 欧美一级黄色录像| 天天操天天色综合| 在线观看91精品国产入口| 亚洲日本免费电影| 99re6这里只有精品视频在线观看| 国产亚洲一区二区三区四区| 九一九一国产精品| 日韩午夜三级在线| 麻豆精品蜜桃视频网站| 欧美日韩国产成人在线免费| 亚洲久草在线视频| 99久久伊人久久99| 国产精品久久毛片a| 成人动漫av在线| 亚洲人精品午夜| 色婷婷狠狠综合| 亚洲一区二区精品视频| 在线观看日韩一区| 亚洲综合一二区| 在线观看一区不卡| 亚洲第一综合色| 欧美精品高清视频| 蜜桃一区二区三区在线| 精品国精品自拍自在线| 国内精品久久久久影院色| 久久久久久亚洲综合| 国产风韵犹存在线视精品| 国产精品欧美综合在线| www.66久久| 亚洲综合小说图片| 在线成人小视频| 蜜桃av一区二区三区电影| 久久网这里都是精品| 高清在线成人网| 最新欧美精品一区二区三区| 91网站黄www| 午夜天堂影视香蕉久久| 日韩午夜在线播放| 国产jizzjizz一区二区| 亚洲天天做日日做天天谢日日欢| 色婷婷精品久久二区二区蜜臀av | 亚洲香肠在线观看| 3d成人动漫网站| 国产精品白丝jk黑袜喷水| 国产精品短视频| 欧美日韩精品一二三区|