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

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

?? sysscsi.c

?? vxworks嵌入式開發vmware 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一区二区三区免费野_久草精品视频
欧美日韩精品高清| 国产成人av在线影院| 亚洲视频免费在线| 国产欧美日韩一区二区三区在线观看| 日韩欧美国产系列| 日韩欧美电影一区| 国产无人区一区二区三区| 精品国产一区a| www国产亚洲精品久久麻豆| 久久久久久久综合狠狠综合| 久久免费午夜影院| 亚洲国产精品黑人久久久| 国产精品色眯眯| 亚洲欧美日韩国产一区二区三区| 亚洲天天做日日做天天谢日日欢| 一区二区成人在线视频| 亚洲狠狠爱一区二区三区| 亚洲高清免费观看| 青青草97国产精品免费观看| 国内精品嫩模私拍在线| 成人97人人超碰人人99| 欧美日韩精品专区| 亚洲欧洲性图库| 亚洲国产成人av好男人在线观看| 蜜桃av一区二区在线观看| 国内精品久久久久影院色| 成人h动漫精品| 欧美三级一区二区| 久久精品亚洲麻豆av一区二区 | 国产一区二区三区四区五区美女| 国产69精品久久99不卡| 在线看国产一区| 久久精品视频在线看| 亚洲综合丝袜美腿| 久久成人免费网| 色88888久久久久久影院野外| 日韩欧美成人一区| 亚洲视频一二区| 久草在线在线精品观看| 99久久精品99国产精品| 日韩精品一区二区三区在线播放| 国产精品国产三级国产普通话蜜臀| 午夜精品爽啪视频| 成人国产免费视频| 欧美xxx久久| 性久久久久久久| 99在线热播精品免费| 精品国产一区二区国模嫣然| 亚洲国产综合在线| hitomi一区二区三区精品| 欧美成人r级一区二区三区| 亚洲欧美区自拍先锋| 国产高清不卡二三区| 3751色影院一区二区三区| 国产精品久久久久婷婷二区次| 精品综合免费视频观看| 91精品综合久久久久久| 亚洲午夜在线观看视频在线| 不卡av在线免费观看| 国产视频一区二区在线| 美女脱光内衣内裤视频久久网站| 在线观看91视频| 亚洲六月丁香色婷婷综合久久 | 麻豆国产欧美一区二区三区| 色综合久久中文字幕综合网| www国产精品av| 国产乱子轮精品视频| 久久色在线视频| 狠狠色综合色综合网络| 精品成人一区二区三区四区| 日本欧美肥老太交大片| 欧美精品久久99| 日韩精品乱码av一区二区| 欧美性猛交xxxxxxxx| 亚洲影院免费观看| 欧美日韩一区二区三区视频| 一区二区三区**美女毛片| 日本韩国一区二区三区| 亚洲美女视频在线观看| 色偷偷88欧美精品久久久| 亚洲免费资源在线播放| 欧美视频一区二| 日本一区中文字幕| 精品嫩草影院久久| 国产精品自在在线| 国产精品的网站| 欧美主播一区二区三区美女| 午夜精品久久久久久久| 日韩一区二区三区四区| 九九热在线视频观看这里只有精品| 精品国产91久久久久久久妲己| 国产又黄又大久久| 自拍偷自拍亚洲精品播放| 色8久久精品久久久久久蜜| 五月天一区二区三区| 日韩欧美的一区二区| 成人小视频免费观看| 亚洲男女毛片无遮挡| 欧美一区二区精品在线| 国产.精品.日韩.另类.中文.在线.播放 | 丁香五精品蜜臀久久久久99网站| 亚洲欧洲精品一区二区三区不卡 | 久久久.com| 色香色香欲天天天影视综合网| 天天综合色天天| 久久亚区不卡日本| 色综合色狠狠综合色| 开心九九激情九九欧美日韩精美视频电影| 精品国产乱码久久久久久闺蜜| 成人动漫av在线| 另类小说欧美激情| 亚洲视频一二三| 久久久久国产精品厨房| 欧美日韩精品一区二区天天拍小说| 韩日av一区二区| 亚洲成人你懂的| 国产精品久久久久久久裸模| 884aa四虎影成人精品一区| 97久久精品人人澡人人爽| 久久精品国产77777蜜臀| 亚洲女与黑人做爰| 久久久久久免费网| 欧美精品丝袜中出| 99久久精品99国产精品| 国产精品影音先锋| 日韩avvvv在线播放| 一区二区三区四区乱视频| 久久久噜噜噜久噜久久综合| 欧美精品亚洲一区二区在线播放| 精品久久久久久久人人人人传媒| 色综合中文字幕国产 | 国产精品不卡一区| 欧美精品一区二区三区视频| 欧美日韩久久久| 91亚洲精华国产精华精华液| 国产一级精品在线| 六月丁香婷婷久久| 日本成人中文字幕| 午夜精品福利一区二区三区av | 久久亚洲免费视频| 日韩西西人体444www| 欧美日韩大陆在线| 欧美亚洲国产一区二区三区va| 99久久国产综合精品色伊| 成人精品视频.| 成人丝袜视频网| 成人性视频免费网站| 国产99久久久久| 国产精品中文欧美| 国产盗摄女厕一区二区三区| 久久91精品国产91久久小草| 精品亚洲国产成人av制服丝袜| 玖玖九九国产精品| 激情综合一区二区三区| 国产美女一区二区| 福利电影一区二区三区| 岛国精品在线播放| 99精品热视频| 91高清视频免费看| 欧美日韩视频在线一区二区| 欧美另类高清zo欧美| 555www色欧美视频| 欧美精品一区二区三区在线| 久久久不卡影院| 亚洲视频图片小说| 亚洲一区二区不卡免费| 日韩精品亚洲专区| 国产一区亚洲一区| 成人午夜碰碰视频| 一本一道久久a久久精品综合蜜臀| 色94色欧美sute亚洲13| 欧美老年两性高潮| 欧美精品一区二区三区在线 | 麻豆精品久久精品色综合| 国产精品一区二区三区四区| 粉嫩av一区二区三区粉嫩| 日本一区二区三区视频视频| 亚洲少妇30p| 日本成人在线不卡视频| 国产99久久久国产精品潘金| 99久久婷婷国产| 欧美一级理论片| 国产精品成人午夜| 日本视频一区二区三区| 国产成人综合在线| 91九色02白丝porn| 精品理论电影在线观看| 中文字幕一区二区在线观看| 日韩黄色小视频| 99精品视频一区二区三区| 日韩欧美在线影院| 亚洲精品久久7777| 国产精品一区二区果冻传媒| 欧美性猛交xxxx黑人交| 国产亚洲成aⅴ人片在线观看 | 国产精品一区二区久久不卡| 欧美午夜精品久久久| 国产精品白丝在线| 国产高清亚洲一区| 欧美一级片在线观看|