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

📄 devices.c

📁 这个是LINUX下的GDB调度工具的源码
💻 C
字号:
// OBSOLETE /* fr30 device support// OBSOLETE    Copyright (C) 1998, 1999 Free Software Foundation, Inc.// OBSOLETE    Contributed by Cygnus Solutions.// OBSOLETE // OBSOLETE This file is part of the GNU simulators.// OBSOLETE // OBSOLETE This program is free software; you can redistribute it and/or modify// OBSOLETE it under the terms of the GNU General Public License as published by// OBSOLETE the Free Software Foundation; either version 2, or (at your option)// OBSOLETE any later version.// OBSOLETE // OBSOLETE This program is distributed in the hope that it will be useful,// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the// OBSOLETE GNU General Public License for more details.// OBSOLETE // OBSOLETE You should have received a copy of the GNU General Public License along// OBSOLETE with this program; if not, write to the Free Software Foundation, Inc.,// OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */// OBSOLETE // OBSOLETE /* ??? All of this is just to get something going.  wip!  */// OBSOLETE // OBSOLETE #include "sim-main.h"// OBSOLETE // OBSOLETE #ifdef HAVE_DV_SOCKSER// OBSOLETE #include "dv-sockser.h"// OBSOLETE #endif// OBSOLETE // OBSOLETE device fr30_devices;// OBSOLETE // OBSOLETE int// OBSOLETE device_io_read_buffer (device *me, void *source, int space,// OBSOLETE 		       address_word addr, unsigned nr_bytes,// OBSOLETE 		       SIM_DESC sd, SIM_CPU *cpu, sim_cia cia)// OBSOLETE {// OBSOLETE   if (STATE_ENVIRONMENT (sd) != OPERATING_ENVIRONMENT)// OBSOLETE     return nr_bytes;// OBSOLETE // OBSOLETE #ifdef HAVE_DV_SOCKSER// OBSOLETE   if (addr == UART_INCHAR_ADDR)// OBSOLETE     {// OBSOLETE       int c = dv_sockser_read (sd);// OBSOLETE       if (c == -1)// OBSOLETE 	return 0;// OBSOLETE       *(char *) source = c;// OBSOLETE       return 1;// OBSOLETE     }// OBSOLETE   if (addr == UART_STATUS_ADDR)// OBSOLETE     {// OBSOLETE       int status = dv_sockser_status (sd);// OBSOLETE       unsigned char *p = source;// OBSOLETE       p[0] = 0;// OBSOLETE       p[1] = (((status & DV_SOCKSER_INPUT_EMPTY)// OBSOLETE #ifdef UART_INPUT_READY0// OBSOLETE 	       ? UART_INPUT_READY : 0)// OBSOLETE #else// OBSOLETE 	       ? 0 : UART_INPUT_READY)// OBSOLETE #endif// OBSOLETE 	      + ((status & DV_SOCKSER_OUTPUT_EMPTY) ? UART_OUTPUT_READY : 0));// OBSOLETE       return 2;// OBSOLETE     }// OBSOLETE #endif// OBSOLETE // OBSOLETE   return nr_bytes;// OBSOLETE }// OBSOLETE // OBSOLETE int// OBSOLETE device_io_write_buffer (device *me, const void *source, int space,// OBSOLETE 			address_word addr, unsigned nr_bytes,// OBSOLETE 			SIM_DESC sd, SIM_CPU *cpu, sim_cia cia)// OBSOLETE {// OBSOLETE #if WITH_SCACHE// OBSOLETE   if (addr == MCCR_ADDR)// OBSOLETE     {// OBSOLETE       if ((*(const char *) source & MCCR_CP) != 0)// OBSOLETE 	scache_flush (sd);// OBSOLETE       return nr_bytes;// OBSOLETE     }// OBSOLETE #endif// OBSOLETE // OBSOLETE   if (STATE_ENVIRONMENT (sd) != OPERATING_ENVIRONMENT)// OBSOLETE     return nr_bytes;// OBSOLETE // OBSOLETE #if HAVE_DV_SOCKSER// OBSOLETE   if (addr == UART_OUTCHAR_ADDR)// OBSOLETE     {// OBSOLETE       int rc = dv_sockser_write (sd, *(char *) source);// OBSOLETE       return rc == 1;// OBSOLETE     }// OBSOLETE #endif// OBSOLETE // OBSOLETE   return nr_bytes;// OBSOLETE }// OBSOLETE // OBSOLETE void// OBSOLETE device_error (device *me, char *message, ...)// OBSOLETE {// OBSOLETE }

⌨️ 快捷键说明

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