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

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

?? sysscsi.c

?? Kontron的ETX-P3T的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一区二区| 欧美国产激情一区二区三区蜜月| 69堂精品视频| 欧美日韩久久不卡| 制服丝袜亚洲精品中文字幕| 欧美日韩aaaaa| 日韩写真欧美这视频| 日韩一级片在线观看| 精品久久一区二区三区| 久久久99精品久久| 国产精品入口麻豆原神| 亚洲精品你懂的| 亚洲一区二区视频| 男人操女人的视频在线观看欧美 | 粉嫩在线一区二区三区视频| 国产尤物一区二区在线| 丁香天五香天堂综合| 99国产欧美另类久久久精品| 欧美日韩一区二区三区不卡| 日韩一区二区三区精品视频 | 欧美国产在线观看| 亚洲欧美另类小说视频| 午夜电影网亚洲视频| 久久国产尿小便嘘嘘尿| 成人动漫av在线| 欧美性一二三区| 日韩女优视频免费观看| 欧美国产激情一区二区三区蜜月| 亚洲制服欧美中文字幕中文字幕| 日韩精品五月天| 成人午夜av电影| 9191精品国产综合久久久久久| 精品精品国产高清一毛片一天堂| 国产精品亲子乱子伦xxxx裸| 婷婷开心激情综合| 成人综合激情网| 91精品国产麻豆国产自产在线| 国产喷白浆一区二区三区| 亚洲午夜免费电影| 国产福利一区二区三区视频| 欧美日韩一区小说| 中文欧美字幕免费| 日本麻豆一区二区三区视频| 99久久久国产精品免费蜜臀| 2欧美一区二区三区在线观看视频| 亚洲视频一区二区在线观看| 激情小说亚洲一区| 欧美三日本三级三级在线播放| 国产欧美日本一区二区三区| 性欧美大战久久久久久久久| 99免费精品视频| 久久色在线观看| 日韩精品免费专区| 欧美色爱综合网| 亚洲欧美日本在线| gogo大胆日本视频一区| 精品国产一二三| 蜜乳av一区二区三区| 欧美色电影在线| 1000部国产精品成人观看| 久久成人久久爱| 91精品国产福利在线观看| 一区二区三区在线不卡| 99国产精品久久久久| 日本一区二区电影| 顶级嫩模精品视频在线看| 久久你懂得1024| 国模少妇一区二区三区| 日韩一区二区三区在线| 热久久久久久久| 欧美一卡二卡在线| 日韩成人午夜精品| 日韩一区和二区| 日本强好片久久久久久aaa| 欧美精选一区二区| 日本在线不卡视频| 欧美一二三四区在线| 美洲天堂一区二卡三卡四卡视频| 日韩一区二区三区四区五区六区| 久久精品国产久精国产| 精品国产亚洲在线| 国产不卡在线视频| 亚洲欧洲日产国产综合网| av中文字幕一区| 亚洲制服欧美中文字幕中文字幕| 欧美影院午夜播放| 丝袜美腿亚洲一区| 欧美α欧美αv大片| 国产在线精品一区二区三区不卡| 久久久激情视频| 国产xxx精品视频大全| 亚洲色图在线视频| 欧美人与性动xxxx| 激情小说亚洲一区| 最新成人av在线| 91超碰这里只有精品国产| 韩日欧美一区二区三区| 国产精品福利一区二区三区| 日本道在线观看一区二区| 日本女人一区二区三区| 国产亚洲午夜高清国产拍精品 | 久88久久88久久久| 国产亚洲一区二区三区四区| 色哟哟日韩精品| 日本亚洲三级在线| 欧美高清在线视频| 欧美精品在线一区二区| 国产精品一区不卡| 一区二区三区资源| 久久久久久**毛片大全| 色美美综合视频| 国产在线视频不卡二| 一区二区三区四区亚洲| 欧美tk丨vk视频| 欧洲国产伦久久久久久久| 久久99精品国产麻豆婷婷洗澡| 成人欧美一区二区三区小说| 91精品国产综合久久久久久久久久| 国产中文字幕精品| 亚洲国产综合色| 国产精品久久久久久妇女6080| 欧美福利视频导航| 99re在线精品| 国产成人亚洲综合a∨猫咪| 性做久久久久久久免费看| 亚洲图片激情小说| 久久精品一区四区| 欧美一级理论片| 欧美性一二三区| 91日韩一区二区三区| 丁香六月久久综合狠狠色| 美女一区二区久久| 午夜久久久久久久久| 亚洲另类色综合网站| 中文字幕av一区二区三区高| 精品日韩一区二区| 欧美精品色综合| 在线观看欧美精品| 色综合久久综合中文综合网| 国产麻豆精品一区二区| 蜜桃av一区二区在线观看| 日精品一区二区三区| 亚洲一级二级在线| 亚洲三级电影网站| 成人免费视频在线观看| 久久久av毛片精品| 久久免费看少妇高潮| 精品福利av导航| 久久综合久久综合久久| 欧美大白屁股肥臀xxxxxx| 欧美一区二区网站| 91精品国产一区二区| 日韩欧美成人激情| www国产成人| 亚洲国产激情av| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 欧美精品一二三四| 欧美精选午夜久久久乱码6080| 91精品国产综合久久婷婷香蕉 | 国产不卡视频在线播放| 国产成人自拍高清视频在线免费播放| 狠狠狠色丁香婷婷综合激情| 韩国精品久久久| 丁香五精品蜜臀久久久久99网站| 99久久久国产精品| 在线视频你懂得一区| 欧美日韩精品一区二区三区蜜桃| 7777精品久久久大香线蕉| 日韩欧美亚洲一区二区| 精品国产电影一区二区| 中文在线免费一区三区高中清不卡 | 日本韩国欧美一区| 欧美猛男gaygay网站| 精品理论电影在线| 国产精品久久久久久久久晋中| 一区二区三区欧美亚洲| 偷拍亚洲欧洲综合| 国产成人一区在线| 色香蕉久久蜜桃| 日韩精品中文字幕在线不卡尤物| 2021国产精品久久精品| 亚洲人快播电影网| 久久国内精品视频| 91女厕偷拍女厕偷拍高清| 欧美麻豆精品久久久久久| 久久精品欧美一区二区三区不卡| 亚洲欧洲国产日韩| 蜜桃久久久久久久| 99精品视频免费在线观看| 在线不卡中文字幕| 国产精品久久久久一区 | 免播放器亚洲一区| 99国内精品久久| 精品成人一区二区三区| 亚洲综合一区二区| 国产激情一区二区三区四区| 欧美人牲a欧美精品| 国产女人18毛片水真多成人如厕 | 精品一区二区三区视频在线观看|