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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? sysscsi.c

?? Kontron的ETX-P3T的BSP的源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號(hào):
/* 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

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91农村精品一区二区在线| 香蕉久久一区二区不卡无毒影院 | 国产成人在线影院| 日本不卡中文字幕| 亚洲国产精品久久人人爱蜜臀| 中文字幕一区二区三区四区| 国产精品久久久久久久久快鸭| 中文字幕欧美国产| 成人欧美一区二区三区1314| 国产精品久久久久久久久免费桃花| 中国av一区二区三区| 国产精品人成在线观看免费| 中文字幕在线不卡国产视频| 伊人婷婷欧美激情| 日韩精品三区四区| 国产在线国偷精品产拍免费yy| 成人免费黄色大片| 97国产一区二区| 欧美日韩一区国产| 精品国产乱码久久久久久老虎 | 国产制服丝袜一区| 国产.精品.日韩.另类.中文.在线.播放| 国产suv精品一区二区6| 91福利精品视频| 91麻豆精品久久久久蜜臀 | 国产精品热久久久久夜色精品三区| 亚洲人成伊人成综合网小说| 五月开心婷婷久久| 丰满白嫩尤物一区二区| 色噜噜夜夜夜综合网| 欧美不卡视频一区| 亚洲人成7777| 国产在线一区观看| 欧美性猛交xxxx乱大交退制版| 精品国产乱码久久久久久浪潮| 亚洲女同一区二区| 精品一区二区三区蜜桃| 91成人在线精品| 久久这里只精品最新地址| 亚洲精品成人a在线观看| 国产一区二区三区久久久| 91黄色免费看| 欧美激情一区二区三区全黄| 天天色综合天天| 91在线porny国产在线看| 2020日本不卡一区二区视频| 亚洲蜜桃精久久久久久久| 久久不见久久见免费视频1| 色婷婷亚洲综合| 精品噜噜噜噜久久久久久久久试看 | 国产欧美日韩视频在线观看| 天天综合天天综合色| 91在线精品一区二区三区| 日韩色在线观看| 午夜精品爽啪视频| eeuss鲁片一区二区三区| 欧美成人a视频| 日韩va欧美va亚洲va久久| 在线视频你懂得一区二区三区| 国产亚洲精品精华液| 蜜芽一区二区三区| 欧美无乱码久久久免费午夜一区| 国产精品免费av| 国产suv精品一区二区6| 久久久另类综合| 国产一区二区三区精品欧美日韩一区二区三区 | 欧美成人精品1314www| 亚洲免费资源在线播放| 成人av电影在线网| 国产欧美日韩另类视频免费观看| 久久国产福利国产秒拍| 欧美一级黄色片| 日本成人超碰在线观看| 91精品一区二区三区久久久久久 | 人人爽香蕉精品| 制服丝袜成人动漫| 日韩av在线播放中文字幕| 欧美日韩中文一区| 亚洲成人av一区| 欧美一区二区三区视频在线| 日韩av一级片| 国产亚洲成年网址在线观看| 毛片av一区二区三区| 2024国产精品视频| 成人网男人的天堂| 亚洲美女免费在线| 在线视频你懂得一区二区三区| 亚洲第一搞黄网站| 日韩一区二区三区四区| 久久精品国产99| 国产目拍亚洲精品99久久精品| 成人精品免费网站| 亚洲网友自拍偷拍| 日韩欧美精品三级| 成人一区在线观看| 亚洲综合色视频| 日韩欧美一区二区免费| 成人中文字幕电影| 亚洲国产裸拍裸体视频在线观看乱了| 欧美一区二区三区视频免费| 韩国中文字幕2020精品| 国产欧美一区二区三区在线老狼| 99久久久精品| 蜜桃视频一区二区| 中文一区二区在线观看| 欧美性猛交一区二区三区精品| 日韩av电影天堂| 中文字幕一区视频| 91精品国产品国语在线不卡 | 国产精品久久久久毛片软件| 在线视频欧美精品| 国模娜娜一区二区三区| 亚洲综合色视频| 国产婷婷一区二区| 欧美日韩国产综合视频在线观看| 国模冰冰炮一区二区| 亚洲一区二区三区不卡国产欧美| 日韩精品影音先锋| 日本乱人伦一区| 国产69精品久久777的优势| 亚洲国产欧美在线| 国产欧美精品一区二区三区四区 | 久久99这里只有精品| 亚洲一区二区av电影| 国产女人18水真多18精品一级做| 色综合中文字幕国产 | 狠狠网亚洲精品| 亚洲在线视频网站| 国产精品久久久久久久久久久免费看| 在线综合+亚洲+欧美中文字幕| av中文一区二区三区| 国产乱码字幕精品高清av| 日本中文在线一区| 亚洲美女少妇撒尿| 国产精品不卡一区二区三区| 精品国产91久久久久久久妲己| 欧美猛男gaygay网站| 91社区在线播放| 成人深夜在线观看| 国产精品小仙女| 狠狠色丁香婷婷综合| 麻豆一区二区99久久久久| 亚洲福利电影网| 亚洲一区在线观看免费| |精品福利一区二区三区| 中文av一区特黄| 久久久精品人体av艺术| 久久香蕉国产线看观看99| 欧美va亚洲va在线观看蝴蝶网| 777奇米四色成人影色区| 欧美视频一区二区三区四区| 欧美色综合天天久久综合精品| 91黄色小视频| 欧美日韩免费视频| 欧美精品一卡二卡| 日韩欧美国产三级电影视频| 日韩一区二区三区在线观看| 欧美成人vr18sexvr| 欧美成人免费网站| 国产偷v国产偷v亚洲高清| 国产精品久久久久久妇女6080| 国产精品视频你懂的| 1024国产精品| 亚洲国产日韩一区二区| 日韩不卡在线观看日韩不卡视频| 日本va欧美va欧美va精品| 激情欧美一区二区| 成人av资源网站| 91麻豆swag| 91精品午夜视频| 精品精品欲导航| 国产精品欧美久久久久一区二区| 亚洲另类在线视频| 偷拍自拍另类欧美| 精品一区二区精品| 91在线看国产| 欧美一区二区三区在线| 久久综合久色欧美综合狠狠| 久久影院电视剧免费观看| 亚洲激情五月婷婷| 麻豆精品一二三| 不卡的av中国片| 欧美另类久久久品| 久久精品视频免费观看| 亚洲免费视频中文字幕| 日本视频一区二区| 懂色av一区二区三区蜜臀| 精品视频在线免费观看| 国产亚洲综合在线| 亚洲成a人片在线不卡一二三区| 国产一区二区在线视频| 91麻豆免费在线观看| 日韩女同互慰一区二区| 亚洲视频 欧洲视频| 狠狠网亚洲精品| 欧美精品乱人伦久久久久久| 国产精品美女www爽爽爽| 蜜桃精品在线观看| 欧美伊人久久久久久久久影院| 欧美精品一区二|