亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
不卡一区在线观看| 国产情人综合久久777777| 免费在线欧美视频| 欧美一区二区在线看| 激情五月播播久久久精品| 久久久久久麻豆| av在线综合网| 亚洲与欧洲av电影| 日韩一区二区在线观看| 国产一区二区三区黄视频| 亚洲国产精品成人久久综合一区| av电影在线观看不卡| 夜夜嗨av一区二区三区四季av| 8v天堂国产在线一区二区| 国内外精品视频| 国产精品不卡在线| 在线视频一区二区三| 五月激情六月综合| 久久一二三国产| 97久久精品人人澡人人爽| 亚洲成人激情社区| 久久美女艺术照精彩视频福利播放 | 久久久蜜桃精品| 9色porny自拍视频一区二区| 亚洲国产精品久久久久秋霞影院| 日韩亚洲电影在线| 国产iv一区二区三区| 亚洲永久免费视频| 精品久久国产老人久久综合| 成人短视频下载 | 亚洲午夜电影在线| 日韩美女主播在线视频一区二区三区| 成人黄色在线视频| 无码av中文一区二区三区桃花岛| 久久九九影视网| 欧美系列日韩一区| 国产精品伊人色| 午夜精品久久久久久久久| 国产亚洲成年网址在线观看| 欧美三区在线观看| 国产精品香蕉一区二区三区| 亚洲一区二区高清| 国产免费观看久久| 3d成人动漫网站| www.视频一区| 激情国产一区二区| 亚洲最新视频在线播放| 久久久久一区二区三区四区| 欧美日韩一级视频| 成人美女在线观看| 美女视频网站久久| 亚洲黄色免费电影| 久久精品一区四区| 日韩一区二区在线观看视频| 色婷婷综合久久久中文一区二区| 国产精品一区二区无线| 亚洲www啪成人一区二区麻豆| 欧美激情一二三区| 日韩欧美国产麻豆| 欧美亚洲禁片免费| 不卡的看片网站| 激情偷乱视频一区二区三区| 亚洲第四色夜色| 中文字幕一区av| 久久综合精品国产一区二区三区| 欧美精选一区二区| 在线一区二区观看| 成人午夜激情在线| 久88久久88久久久| 午夜电影一区二区| 亚洲一区二区三区小说| 国产精品午夜电影| 欧美精品一区二区三区蜜臀| 7777精品伊人久久久大香线蕉最新版| 99久久er热在这里只有精品66| 黄色日韩网站视频| 日日摸夜夜添夜夜添精品视频| 亚洲色图制服丝袜| 欧美国产精品久久| 2020日本不卡一区二区视频| 欧美一区二区在线看| 欧美日韩国产高清一区二区三区| 91在线观看成人| 成人激情视频网站| 国产精品一区在线| 国产又黄又大久久| 精品一区二区国语对白| 免费日韩伦理电影| 五月激情丁香一区二区三区| 亚洲综合免费观看高清完整版在线 | 国产精品免费观看视频| 久久精品一区二区三区不卡| 精品sm在线观看| 日韩欧美一二区| 欧美一级理论片| 欧美一级日韩不卡播放免费| 欧美另类一区二区三区| 欧美日韩中文字幕一区| 91成人在线精品| 欧美色男人天堂| 欧美性感一类影片在线播放| 91黄色激情网站| 一道本成人在线| 91精品福利视频| 欧美中文字幕一区二区三区亚洲| 色久优优欧美色久优优| 色狠狠av一区二区三区| 在线观看国产一区二区| 欧美视频精品在线| 欧美日韩视频在线一区二区| 精品视频一区二区三区免费| 欧美丰满少妇xxxxx高潮对白| 欧美日韩国产欧美日美国产精品| 在线播放中文字幕一区| 日韩欧美在线观看一区二区三区| 91精品在线观看入口| 91精品免费观看| 精品国产污污免费网站入口 | 国产精品12区| 成人美女在线视频| 色综合天天视频在线观看| 91福利社在线观看| 欧美日韩电影在线| 日韩美女视频一区二区在线观看| 久久综合久久久久88| 国产精品人妖ts系列视频| 亚洲欧美在线视频观看| 亚洲自拍另类综合| 日韩电影免费在线看| 国产一区二区毛片| 不卡在线视频中文字幕| 在线精品视频免费观看| 91麻豆精品国产综合久久久久久| 精品久久久久久久人人人人传媒 | 久久精品视频一区二区三区| 国产欧美日韩激情| 亚洲麻豆国产自偷在线| 亚洲成av人**亚洲成av**| 久久国产精品无码网站| 成人av午夜影院| 欧美日韩精品二区第二页| 欧美成人精精品一区二区频| 国产午夜精品在线观看| 亚洲老妇xxxxxx| 日产欧产美韩系列久久99| 国产精品自在欧美一区| 一本大道av一区二区在线播放| 欧美日韩aaaaaa| 久久九九全国免费| 亚洲综合色在线| 国内久久婷婷综合| 91亚洲资源网| 欧美xfplay| 亚洲视频每日更新| 麻豆精品视频在线观看免费| 国产91富婆露脸刺激对白| 在线观看一区不卡| 久久综合狠狠综合久久激情| 一区二区在线看| 韩国女主播成人在线观看| 91美女片黄在线观看91美女| 日韩视频一区在线观看| 国产精品国产成人国产三级| 天天免费综合色| 成人小视频免费观看| 欧美丰满美乳xxx高潮www| 中文字幕欧美日本乱码一线二线| 亚洲国产视频在线| 国产91富婆露脸刺激对白| 欧美久久久久久久久久| 欧美一区二区在线免费播放| 欧美mv和日韩mv的网站| 国产精品久久二区二区| 日韩av电影免费观看高清完整版 | 国产一区999| 色婷婷狠狠综合| 久久九九影视网| 亚洲bt欧美bt精品| 丁香婷婷综合色啪| 欧美精三区欧美精三区| 国产精品网站在线观看| 日韩av一区二区三区| 99国产精品久久久久久久久久久| 日韩欧美视频一区| 亚洲女同女同女同女同女同69| 久久精品国产亚洲一区二区三区| 日本乱人伦一区| 国产午夜精品福利| 麻豆成人av在线| 欧美亚一区二区| 国产精品欧美久久久久一区二区| 免费成人性网站| 欧美优质美女网站| 中文字幕乱码亚洲精品一区| 久久国产麻豆精品| 欧美日韩三级在线| 亚洲老司机在线| 成人黄色av网站在线| 久久综合九色综合97婷婷女人| 亚洲成a人片在线不卡一二三区|