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

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

?? sysscsi.c

?? pentium4 pc的vxworks bsp源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* sysScsi.c - x86 SCSI-2 initialization for sysLib.c *//* Copyright 1984-2001 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------01i,19nov01,hdn replaced "irq + INT_NUM_IRQ0" with INT_NUM_GET (irq)01h,19mar98,dat made #include cdromFsLib, conditional on INCLUDE_CDROMFS	        (cdromFsLib will be productized later).01g,17mar98,sbs moved AIC7880 specific declarations to aic7880.h header file.01f,12mar98,sbs added sysAic7880PciInit().                removed device specific PCI initialization from sysScsiInit().                added AIC7880 PCI host adapter definitions.01e,03mar98,sbs removed update of sysPhysMemDesc[].                using sysMmuMapAdd() for adding a Mmu entry.01d,22aug97,dds sysScsiInit returns error if SCSI device not found.01c,05aug97,dds added modifications to routine sysScsiInit ().01d,22aug97,dds sysScsiInit returns error if SCSI device not found.01c,05aug97,dds added modifications to routine sysScsiInit ().01b,11jul97,dds added aic7880.h header file.01a,10jul97,dds written (from template68k/sysScsi.c, ver 01e).*//* DESCRIPTION:This file contains the sysScsiInit() and related routines necessary forinitializing the SCSI subsystem. The routine "sysScsiInit" is called duringsystem startup, the routine scans the PCI bus to check if any SCSI HostAdapter is present. If it finds a SCSI Host Adapter it creates the SCSIController Structure with a default bus Id (SCSI_DEF_CTRL_BUS_ID), Initializes the Host Adapter, connects the Interupt Service Routine (ISR) and enables the SCSI interupt. The SCSI interupt level and interupt vectorare defined by the macros SCSI_INT_LVL and SCSI_INT_VEC. This routineessentialy initializes the SCSI system and the SCSI manager task which is then ready to execute SCSI transactions. */#ifdef  INCLUDE_SCSI/* includes */#include "sysLib.h"#include "config.h"#include "vxWorks.h"#ifdef	INCLUDE_SCSI2#include "drv/scsi/aic7880.h"#include "tapeFsLib.h"#endif#ifdef INCLUDE_CDROMFS#include "cdromFsLib.h"STATUS cdromFsInit (void);#endif#define UNKNOWN -1/* typedefs */typedef struct aic7880Info    {    UINT32 	pciBus;    UINT32	pciDevice;    UINT32	pciFunc;    char	irq; 	    } AIC7880_INFO;/* locals */LOCAL AIC7880_INFO aic7880InfoTable =    {UNKNOWN, UNKNOWN, UNKNOWN, UNKNOWN};#ifdef INCLUDE_AIC_7880/********************************************************************************* sysAic7880PciInit - initialize PCI specific configuration** This routine does PCI specific device initialization. **/void sysAic7880PciInit(void)    {    int   busNo;          /* PCI bus number              */    int   devNo;          /* PCI device number           */    int   funcNo;         /* PCI function number         */    int   index = 0;      /* desired instance of device  */    UINT32 membaseCsr;    /* base address 0 */    UINT32 iobaseCsr;     /* base address 1 */    char irq;	          /* IRQ level */	    AIC7880_INFO *aicRes;     aicRes = &aic7880InfoTable;    if ((pciFindDevice (AIC7880_PCI_VENDOR_ID, AIC7880_PCI_DEVICE_ID,			index, &busNo, &devNo, &funcNo)) != OK)        {        logMsg("AIC 7880 SCSI controller not found\n", 0, 0, 0, 0, 0, 0);         return;        }    /* if PCI_CFG_FORCE is specified then set configuration parameters */     if (PCI_CFG_TYPE == PCI_CFG_FORCE)        {        pciConfigOutLong(busNo, devNo, funcNo, PCI_CFG_BASE_ADDRESS_0,                         AIC7880_IOBASE);        pciConfigOutLong(busNo, devNo, funcNo, PCI_CFG_BASE_ADDRESS_1,                          AIC7880_MEMBASE);        pciConfigOutByte(busNo, devNo, funcNo, PCI_CFG_DEV_INT_LINE,                          AIC7880_INT_LVL);        }    /* read the configuration parameters */    pciConfigInLong(busNo, devNo, funcNo, PCI_CFG_BASE_ADDRESS_0,                     &iobaseCsr);        pciConfigInLong(busNo, devNo, funcNo, PCI_CFG_BASE_ADDRESS_1,                     &membaseCsr);      pciConfigInByte(busNo, devNo, funcNo, PCI_CFG_DEV_INT_LINE,                     &irq);    membaseCsr &= PCI_MEMBASE_MASK;    iobaseCsr  &= PCI_IOBASE_MASK;    /* update the mmu table */    if (sysMmuMapAdd((void *)membaseCsr, (UINT)AIC7880_MEMSIZE,                      (UINT)AIC7880_INIT_STATE_MASK,                      (UINT)AIC7880_INIT_STATE) == ERROR)        {        logMsg("Unable map requested memory\n", 0, 0, 0, 0, 0, 0);          return;        }    /* update the device specific info */    aicRes->pciBus = busNo;    aicRes->pciDevice = devNo;    aicRes->pciFunc = funcNo;    aicRes->irq = irq;    /* enable mapped memory and IO addresses */    pciConfigOutWord (aicRes->pciBus, aicRes->pciDevice, aicRes->pciFunc,                       PCI_CFG_COMMAND, PCI_CMD_IO_ENABLE |                       PCI_CMD_MEM_ENABLE | PCI_CMD_MASTER_ENABLE);    }#endif /* INCLUDE_AIC_7880 *//********************************************************************************* sysScsiInit - initialize the SCSI system** This routine creates and initializes an AIC 788x SCSI Host Adapter chip.* It connects the proper interrupt service routine to the desired vector, and* enables the interrupt at the desired level.** RETURNS: OK, or ERROR if the AIC controller structure cannot be created, the* controller cannot be initialized, valid values cannot be set up in the* SIOP registers, or if the interrupt service routine cannot be connected.*/STATUS sysScsiInit (VOID)    {#ifdef INCLUDE_AIC_7880    AIC7880_INFO *aicResource;    aicResource = &aic7880InfoTable;    /* Create the SCSI controller */    if ((pSysScsiCtrl = (SCSI_CTRL *) aic7880CtrlCreate         (aicResource->pciBus, aicResource->pciDevice,         SCSI_DEF_CTRL_BUS_ID)) == NULL)        {	logMsg ("Could not create SCSI controller\n", 	         0, 0, 0, 0, 0, 0);	return (ERROR);	}	    /* connect the SCSI controller's interrupt service routine */	    if ((pciIntConnect (INUM_TO_IVEC (INT_NUM_GET (aicResource->irq)),                        aic7880Intr, (int) pSysScsiCtrl)) == ERROR)        {        logMsg ("Failed to connect interrupt\n",                 0, 0, 0, 0, 0, 0);	return (ERROR);        }    sysIntEnablePIC((int) aicResource->irq) ;#endif /* INCLUDE_AIC_7880 */#ifdef  INCLUDE_TAPEFS    tapeFsInit ();      /* initialize tape file system */#endif /* INCLUDE_TAPEFS */#ifdef INCLUDE_CDROMFS    cdromFsInit ();     /* include CD-ROM file system */#endif /* INCLUDE_CDROMFS */    return (OK);    }/* Data for example code in sysScsiConfig, modify as needed */SCSI_PHYS_DEV *	pSpd20;SCSI_PHYS_DEV *	pSpd31;         /* SCSI_PHYS_DEV ptrs (suffix == ID, LUN) */SCSI_PHYS_DEV *	pSpd40;BLK_DEV *	pSbd0;BLK_DEV *	pSbd1;BLK_DEV *	pSbd2;          /* SCSI_BLK_DEV ptrs for Winchester */BLK_DEV *	pSbdFloppy;     /* ptr to SCSI floppy block device */#ifdef INCLUDE_SCSI2SEQ_DEV *	pSd0;TAPE_CONFIG *	pTapeConfig;#endif /* INCLUDE_SCSI2 *//********************************************************************************* sysScsiConfig - system SCSI configuration** This routine is an example SCSI configuration routine.** Most of the code for this routine shows how to declare a SCSI peripheral* configuration.  This routine must be edited to reflect the actual* configuration of the user's SCSI bus.  This example can also be found in* src/config/usrScsi.c.** For users just getting started, hardware configurations can be tested* by defining SCSI_AUTO_CONFIG in config.h, which probes the bus and* displays all devices found.  No device should have the same SCSI bus ID as* the VxWorks SCSI port (default = 7), or the same ID as any other device.* Check for proper bus termination.** This routine includes three configuration examples that demonstrate* configuration of a SCSI hard disk (any type), of an OMTI 3500 floppy disk,* and of a tape drive (any type).** The hard disk is divided into two 32-megabyte partitions and a third* partition with the remainder of the disk.  The first partition is* initialized as a dosFs device.  The second and third partitions are* initialized as rt11Fs devices, each with 256 directory entries.** It is recommended that the first partition on a block device (BLK_DEV) be* a dosFs device, if the intention is eventually to boot VxWorks from the* device.  This will simplify the task considerably.** The floppy, since it is a removable medium device, is allowed to have only* a single partition, and dosFs is the file system of choice because it* facilitates media compatibility with IBM PC machines.** While the hard disk configuration is fairly straightforward, the floppy* setup in this example is more intricate.  Note that the* scsiPhysDevCreate() call is issued twice.  The first time is merely to get* a "handle" to pass to scsiModeSelect(); the default media type is* sometimes inappropriate (in the case of generic SCSI-to-floppy cards).* After the hardware is correctly configured, the handle is discarded using* scsiPhysDevDelete(), after which a second call to scsiPhysDevCreate()* correctly configures the peripheral.  (Before the scsiModeSelect() call,* the configuration information was incorrect.)  Also note that following* the scsiBlkDevCreate() call, correct values for <sectorsPerTrack> and* <nHeads> must be set using scsiBlkDevInit().  This is necessary for IBM PC

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国内精品国产成人| 久久国产综合精品| 中文无字幕一区二区三区| 欧美一区二区三区在线观看| 91视频xxxx| 在线观看成人小视频| 色8久久人人97超碰香蕉987| 日本乱人伦aⅴ精品| 色婷婷综合久色| 欧美三级中文字幕在线观看| 欧美美女一区二区三区| 欧美久久久久久久久| 欧美一区二区视频免费观看| 日韩一二三区视频| 久久久美女艺术照精彩视频福利播放| 精品福利二区三区| 国产精品无遮挡| 亚洲精品亚洲人成人网在线播放| 亚洲成a天堂v人片| 久久狠狠亚洲综合| 波多野洁衣一区| 欧美系列日韩一区| 亚洲精品一线二线三线 | 久久久综合激的五月天| 国产亚洲综合av| 日韩久久一区二区| 亚洲大片精品永久免费| 久久99日本精品| 97久久精品人人做人人爽50路| 日本韩国一区二区| 日韩精品一区二区在线| 日韩一区在线看| 视频在线观看一区| 成人一道本在线| 欧美日韩一级片在线观看| 久久久久久久久久久久电影| 亚洲另类春色校园小说| 久久精品国产免费| 91搞黄在线观看| 2020国产成人综合网| 亚洲精品视频观看| 国产盗摄视频一区二区三区| 欧美日韩精品免费| 国产精品嫩草99a| 美洲天堂一区二卡三卡四卡视频| 99热精品国产| 精品少妇一区二区三区视频免付费| 亚洲欧美偷拍卡通变态| 国产一本一道久久香蕉| 欧美群妇大交群的观看方式| 欧美国产日本视频| 久久99国产精品久久99| 在线观看精品一区| 中文字幕一区视频| 国产精品一区二区果冻传媒| 69精品人人人人| 亚洲在线视频一区| 99riav久久精品riav| 久久免费视频一区| 久久精品国产99国产| 欧洲av一区二区嗯嗯嗯啊| 国产精品久久久久久亚洲伦| 日韩专区中文字幕一区二区| 一本大道久久a久久综合婷婷| 久久婷婷国产综合精品青草| 日本一区中文字幕| 欧美日韩精品免费| 亚洲线精品一区二区三区八戒| av成人免费在线观看| 国产精品欧美一级免费| 国产白丝精品91爽爽久久| 2021中文字幕一区亚洲| 麻豆视频观看网址久久| 日韩精品专区在线影院重磅| 视频一区欧美精品| 欧美一区二区免费观在线| 免费成人在线播放| 欧美成人video| 激情综合亚洲精品| 国产亚洲精品bt天堂精选| 国产成人午夜精品影院观看视频| 精品处破学生在线二十三| 国内成人精品2018免费看| 精品国产制服丝袜高跟| 久久99精品久久久久久国产越南| 91精品欧美综合在线观看最新| 奇米777欧美一区二区| 日韩一区二区电影| 国产乱码精品一区二区三区五月婷 | 久久蜜臀精品av| 国产91精品露脸国语对白| 中文字幕一区二区三区精华液 | 亚洲成人午夜电影| 日韩欧美一区二区视频| 国产精品自在在线| 亚洲特级片在线| 欧美三级午夜理伦三级中视频| 天天亚洲美女在线视频| 26uuu久久天堂性欧美| 成人性生交大片| 亚洲精品国产a| 精品日韩在线一区| av激情成人网| 日本在线不卡视频| 国产精品美女久久久久高潮| 欧美色综合影院| 国产一区二区三区久久悠悠色av| 亚洲欧美另类久久久精品2019| 欧美色图天堂网| 国产一本一道久久香蕉| 亚洲最新在线观看| 精品国产a毛片| 91麻豆免费看| 精品综合久久久久久8888| 亚洲欧洲韩国日本视频| 51久久夜色精品国产麻豆| 高清在线不卡av| 免费观看一级特黄欧美大片| ...中文天堂在线一区| 日韩一级二级三级精品视频| 91在线云播放| 国内偷窥港台综合视频在线播放| 亚洲欧美激情一区二区| 日韩精品一区二区三区在线播放| 91麻豆国产精品久久| 国产一区在线不卡| 水蜜桃久久夜色精品一区的特点| 国产精品国模大尺度视频| 欧美电视剧免费观看| 在线免费视频一区二区| 成人av免费网站| 激情欧美日韩一区二区| 日av在线不卡| 视频精品一区二区| 亚洲一区二区不卡免费| 亚洲人成影院在线观看| 久久免费的精品国产v∧| 欧美大黄免费观看| 555www色欧美视频| 欧美日韩和欧美的一区二区| 色偷偷久久人人79超碰人人澡| 成人一级片网址| 福利一区二区在线| 国产精品自拍网站| 久久99国产精品免费| 免费美女久久99| 美女被吸乳得到大胸91| 日本欧美在线看| 爽好多水快深点欧美视频| 亚洲成年人影院| 午夜精品一区二区三区电影天堂| 一区二区三区中文免费| 国产精品成人一区二区艾草 | 欧美在线短视频| 欧美日韩亚洲综合| 欧美日韩大陆在线| 在线成人免费观看| 在线成人高清不卡| 欧美一区二区在线不卡| 日韩一区二区三区四区 | 岛国精品在线播放| 成人av动漫在线| av激情成人网| 在线日韩国产精品| 制服丝袜av成人在线看| 欧美一区二区三区四区五区| 日韩视频国产视频| 337p日本欧洲亚洲大胆色噜噜| 精品国产在天天线2019| 国产日韩亚洲欧美综合| 中文字幕中文字幕一区二区 | 欧美疯狂做受xxxx富婆| 日韩一二三区视频| 久久精品夜色噜噜亚洲a∨| 国产精品超碰97尤物18| 亚洲精品水蜜桃| 蜜桃精品视频在线| 风间由美一区二区三区在线观看 | 精品电影一区二区| 国产精品久久久久9999吃药| 亚洲欧美日韩一区二区三区在线观看 | 久久综合狠狠综合久久综合88| 国产肉丝袜一区二区| 亚洲精品videosex极品| 日本在线播放一区二区三区| 国产一区二区中文字幕| 91丨九色porny丨蝌蚪| 69久久夜色精品国产69蝌蚪网| 国产亚洲成av人在线观看导航| 亚洲靠逼com| 国产一区二区三区高清播放| 色婷婷久久久久swag精品 | 国产成人综合自拍| 欧美视频在线一区| 国产日韩欧美电影| 一区二区三区电影在线播| 精东粉嫩av免费一区二区三区| 一本一道综合狠狠老| 精品国产一区二区三区不卡| 一区二区三区欧美日|