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

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

?? sysend.c

?? vxwork arm920 bsp開發包
?? C
?? 第 1 頁 / 共 3 頁
字號:
    /*     * The following code tries to automatically detect and configure     * all instances of supported Ethernet cards.     */    for (ix = 0; ix < BOARD_TYPE_NB; ix++)	{	for (iy = 0; iy < INTEGRATOR_MAX_END_DEVS; iy++)	    {	    if (pciFindDevice ((int) boardResources[ix].vendorId,			       (int) boardResources[ix].deviceId,			       iy, (int *)&pciBus, (int *)(&pciDevice), 			       (int *)(&pciFunc)) != OK)		{		break;	/* skip to next vendor/product pair */		}	    /* board detected */	    boardType = boardResources[ix].type;	    /*	     * Update the END device table	     *	     * pciDevice for PCI cards plugged in is in the range 10 to 12.	     */	    pRsrc = &(pciResources[pciDevice - 10]);	    if (pRsrc->configType == AUTO)		{		/* Assign resources (interrupt, I/O) */		pciAssignResources (pciBus, pciDevice, pciFunc);		/* get memory base address and I/O base address */#ifdef INCLUDE_DEC21X40END		if ((boardType >= DEC_START) &&		    (boardType < (DEC_START + TYPE_ALLOC)))		    {		    pciConfigInLong ((int)pciBus, (int)pciDevice, (int)pciFunc,				     PCI_CFG_BASE_ADDRESS_0,				     (int *)&pRsrc->iobaseCsr);		    pciConfigInLong ((int)pciBus, (int)pciDevice, (int)pciFunc,				     PCI_CFG_BASE_ADDRESS_1,				     (int *)&pRsrc->membaseCsr);		    pciConfigInByte ((int)pciBus, (int)pciDevice, (int)pciFunc,				     PCI_CFG_DEV_INT_LINE, (char *)&pRsrc->irq);		    pRsrc->membaseCsr &= ~CSR_BASE_MSK;		    pRsrc->iobaseCsr &= ~CSR_BASE_MSK;		    /* overwrite the resource table with read value */		    pRsrc->irqvec       = IVEC_TO_INUM(pRsrc->irq);		    }#endif /* INCLUDE_DEC21X40END */#ifdef INCLUDE_FEI82557END		if ((boardType >= FEI_START) && 		    (boardType < (FEI_START + TYPE_ALLOC)))                    {                    pFeiRes = &feiResources [unit];                    pciConfigInLong ((int)pciBus, (int)pciDevice, (int)pciFunc,                                     PCI_CFG_BASE_ADDRESS_0,                                     (int *)&pFeiRes->membaseCsr);                    /* Convert to CPU address */                    pFeiRes->membaseCsr += PCI2CPU_MEM_OFFSET;                    pciConfigInLong ((int)pciBus, (int)pciDevice, (int)pciFunc,                                     PCI_CFG_BASE_ADDRESS_1,                                     (int *)&pFeiRes->iobaseCsr);                    pFeiRes->iobaseCsr &= ~PCI_BASE_IO;                    pFeiRes->iobaseCsr += PCI2CPU_IO_OFFSET;                    pciConfigInByte (pciBus, pciDevice, pciFunc,                                     PCI_CFG_DEV_INT_LINE,                                     &pFeiRes->irq);                    }#endif /* INCLUDE_FEI82557END */		}	    else		/* Force PCI configuration */		{#ifdef INCLUDE_DEC21X40END		if ((boardType >= DEC_START) &&		    (boardType < (DEC_START + TYPE_ALLOC)))		    {		    /* set memory base address and I/O base address */		    pciConfigOutLong (pciBus, pciDevice, pciFunc,				      PCI_CFG_BASE_ADDRESS_0,				      pRsrc->iobaseCsr | PCI_BASE_IO);		    pciConfigOutLong (pciBus, pciDevice, pciFunc,				      PCI_CFG_BASE_ADDRESS_1,				      pRsrc->membaseCsr);		    pciConfigOutByte (pciBus, pciDevice, pciFunc,				      PCI_CFG_DEV_INT_LINE, pRsrc->irq);		    }#endif /* INCLUDE_DEC21X40END */#ifdef INCLUDE_FEI82557END		if ((boardType >= FEI_START) && 		    (boardType < (FEI_START + TYPE_ALLOC)))                    {                    pFeiRes = &feiResources [unit];                    pciConfigOutLong (pciBus, pciDevice, pciFunc,                                      PCI_CFG_BASE_ADDRESS_0,                                      pRsrc->membaseCsr);                    pFeiRes->membaseCsr = pRsrc->membaseCsr + PCI2CPU_MEM_OFFSET;                    pciConfigOutLong (pciBus, pciDevice, pciFunc,                                      PCI_CFG_BASE_ADDRESS_1,                                      pRsrc->iobaseCsr | PCI_BASE_IO);                    pFeiRes->iobaseCsr = pRsrc->iobaseCsr + PCI2CPU_IO_OFFSET;                    pciConfigOutByte (pciBus, pciDevice, pciFunc,                                      PCI_CFG_DEV_INT_LINE, pRsrc->irq);                    pFeiRes->irq = pRsrc->irq;		    }#endif /* INCLUDE_FEI82557END */		}	    /*	     * Update the END device table & dynamically create the load	     * string we need for this device	     */#ifdef INCLUDE_DEC21X40END	    if ((boardType >= DEC_START) &&		(boardType < (DEC_START + TYPE_ALLOC)))		{		/*		 * END load string format:		 *  "<deviceAddr>:<pciAddr>:<iVec>:<iLevel>:<numRds>:<numTds>:\		 *  <memBase>:<memSize>:<userFlags>:<phyAddr>:<pPhyTbl>:\		 *  <phyFlags>:<offset>"		 */#ifdef INTEGRATOR_ENET_FIXED_BUF_ADRS		pRsrc->buf = (void *)sysEnetBufAdrs [unit];		pRsrc->cpuToPciOffset = 0;#else /* INTEGRATOR_ENET_FIXED_BUF_ADRS */		pRsrc->cpuToPciOffset = PCI2DRAM_BASE_ADRS;#ifdef INTEGRATOR_ENET_CHECK_BUFFERS		if (pRsrc->buf = cacheDmaMalloc (INTEGRATOR_DEC_BUF_SIZE),		    pRsrc->buf == NULL)		    {		    /* cannot log msg at this point in initialisation timeline*/		    return ERROR;		    }		if (((UINT32)pRsrc->buf) < INTEGRATOR_HDR_SSRAM_SIZE)		    {		    /* cannot log msg at this point in initialisation timeline*/		    return ERROR;		    }#else /* INTEGRATOR_ENET_CHECK_BUFFERS */		pRsrc->buf = (void *)NONE;#endif /* INTEGRATOR_ENET_CHECK_BUFFERS */#endif /* INTEGRATOR_ENET_FIXED_BUF_ADRS */		sprintf (endLoadStr[currentEndDevice],			 "%#x:%#x:%#x:%#x:-1:-1:%#x:%#x:%#x:%#x:%#x:%#x:2:-1:0:",                         /* Note: unit is prepended by the mux driver */			 pRsrc->iobaseCsr + PCI2CPU_IO_OFFSET,  /*devAdrs*/			 pRsrc->cpuToPciOffset,                 /*pciMemBase*/			 pRsrc->irq, pRsrc->irqvec,             /*ivec,ilevel*/                         /* numRds=default, numTds=default */			 (UINT32)pRsrc->buf,                   /*memBase*/			 INTEGRATOR_DEC_BUF_SIZE,              /*memSize*/			 boardResources[ix].decUsrFlags,        /*usrFlags*/                         1, 0,                       /* phyAddr,pMiiPhyTbl,*/                         DEC_USR_MII_10MB  |                          DEC_USR_MII_HD    | DEC_USR_MII_100MB |                         DEC_USR_MII_FD    | DEC_USR_MII_BUS_MON                         );		endDevTbl[currentEndDevice].unit = unit++;		endDevTbl[currentEndDevice].endLoadFunc = dec21x40EndLoad;		endDevTbl[currentEndDevice].endLoadString =						endLoadStr[currentEndDevice];		endDevTbl[currentEndDevice].endLoan = DEC_BUFF_LOAN;		currentEndDevice++;		/* enable mapped memory and I/O addresses */		pciConfigOutWord (pciBus, pciDevice, pciFunc, PCI_CFG_COMMAND,				  PCI_CMD_IO_ENABLE | PCI_CMD_MASTER_ENABLE);		/* disable sleep mode */		pciConfigOutByte (pciBus, pciDevice, pciFunc, PCI_CFG_MODE,				  SLEEP_MODE_DIS);	        }#endif /* INCLUDE_DEC21X40END */#ifdef INCLUDE_FEI82557END            if ((boardType >= FEI_START) &&                (boardType < (FEI_START + TYPE_ALLOC)))                {#ifdef INTEGRATOR_ENET_FIXED_BUF_ADRS		pRsrc->buf = (void *)sysEnetBufAdrs [unit];#else  /* INTEGRATOR_ENET_FIXED_BUF_ADRS */#ifdef INTEGRATOR_ENET_CHECK_BUFFERS		if (pRsrc->buf = cacheDmaMalloc (INTEGRATOR_FEI_BUF_SIZE),		    pRsrc->buf == NULL)		    {		    /* cannot log msg at this point in initialisation timeline*/		    return ERROR;		    }		if (((UINT32)pRsrc->buf) < INTEGRATOR_HDR_SSRAM_SIZE)		    {		    /* cannot log msg at this point in initialisation timeline*/		    return ERROR;		    }#else /* INTEGRATOR_ENET_CHECK_BUFFERS */		pRsrc->buf = (void *)NONE;#endif /* INTEGRATOR_ENET_CHECK_BUFFERS */#endif /* INTEGRATOR_ENET_FIXED_BUF_ADRS */                sprintf (endLoadStr[currentEndDevice],                        "0x%08X:0x%08X:0x%X:0x%X:0x00:2",			(UINT32)pRsrc->buf, INTEGRATOR_FEI_BUF_SIZE,			INTEGRATOR_FEI_NUM_CFDS, INTEGRATOR_FEI_NUM_RFDS);                endDevTbl[currentEndDevice].unit = unit++;                endDevTbl[currentEndDevice].endLoadFunc = fei82557EndLoad;                endDevTbl[currentEndDevice].endLoadString =                                                endLoadStr[currentEndDevice];                endDevTbl[currentEndDevice].endLoan = 1;                currentEndDevice++;                /* enable mapped I/O addresses */                pciConfigOutWord (pciBus, pciDevice, pciFunc,                          PCI_CFG_COMMAND, PCI_CMD_IO_ENABLE |                          PCI_CMD_MASTER_ENABLE);		}#endif /* INCLUDE_FEI82557END */	    /* Configured the maximum number of adaptors? */	    if (currentEndDevice == INTEGRATOR_MAX_END_DEVS)		{		return OK;		}	    }	}    if ((unit == 0) || (pciDevice > PCI_MAX_DEV))	{	return ERROR;	}    return OK;    }#ifdef INCLUDE_DEC21X40END/********************************************************************************* sysLanIntEnable - enable dec21X4X interrupts** This routine enables dec21X4X interrupts.  This may involve operations on* interrupt control hardware.** RETURNS: OK or ERROR for invalid arguments.*/STATUS sysLanIntEnable    (    int	level		/* level number */    )    {    return (intEnable(level));    }/********************************************************************************* sysLanIntDisable - disable dec21X4X interrupts** This routine disables dec21X4X interrupts.  This may involve operations on* interrupt control hardware.** RETURNS: OK or ERROR for invalid arguments.*/STATUS sysLanIntDisable    (    int	level		/* level number */    )    {    return (intDisable(level));    }/********************************************************************************* sysDec21x40EnetAddrGet - get Ethernet address** This routine provides a target-specific interface for accessing a* device Ethernet address.** RETURNS: OK or ERROR if could not be obtained.*/STATUS sysDec21x40EnetAddrGet    (    int		unit,    char *	enetAdrs    )    {    /*     * There isn't a target-specific interface for accessing a     * device Ethernet address.     */    return (ERROR);    }#endif /* INCLUDE_DEC21X40END */#ifdef INCLUDE_FEI82557END#ifndef INTEGRATOR_ENET_FIXED_BUF_ADRS/********************************************************************************* sys557CpuToPci - Convert a CPU memory address to a PCI address** Must convert virtual address to a physical address, then convert the* physical address to a PCI address (PCI2DRAM_BASE_ADRS is the offset of the* CPU's memory on the PCI bus,* i.e. PCI address = (CPU physical address + PCI2DRAM_BASE_ADRS)** This routine works only for addresses in SDRAM.** WARNING: No attempt is made to ensure that the address passed into this* function is valid.** RETURNS: PCI address corresponding to the CPU virtual address provided*/UINT32 sys557CpuToPci    (    int		unit,		/* ignored */    UINT32	addr    )    {    unit = unit;		/* silence compiler */#ifdef SYS_FEI_DEBUG    logMsg ("sys557CpuToPci %#x -> %#x\n", addr, addr + PCI2DRAM_BASE_ADRS,	    0,0,0,0);#endif    return (UINT32)((CACHE_DMA_VIRT_TO_PHYS(addr)) + PCI2DRAM_BASE_ADRS);    }/********************************************************************************* sys557PciToCpu - Convert a PCI memory address to a CPU address** This is the reverse of the previous function. Here we convert from a PCI* address to a physical address in the CPU's address space, then use the* current translation tables to find the corresponding virtual address.** This routine works only for addresses in SDRAM.** WARNING: No attempt is made to ensure that the address passed into this* function is valid.** RETURNS: CPU virtual address for specified PCI address*/UINT32 sys557PciToCpu    (    int		unit,		/* ignored */    UINT32	addr    )    {    unit = unit;		/* silence compiler */#ifdef SYS_FEI_DEBUG    logMsg ("sys557PciToCpu %#x -> %#x\n", addr, addr - PCI2DRAM_BASE_ADRS,	    0,0,0,0);#endif    return (UINT32)(CACHE_DMA_PHYS_TO_VIRT(addr - PCI2DRAM_BASE_ADRS));    }#endif /* INTEGRATOR_ENET_FIXED_BUF_ADRS *//********************************************************************************* sysDelay - a small delay**/void sysDelay (void)    {    volatile UINT32 p;    /* Read from ROM, a known timing */    p = *(volatile UINT32 *)ROM_TEXT_ADRS;    /*     * Create a little more delay: some arithmetic operations that     * involve immediate constants that cannot be performed in one     * instruction.  Clearly it is possible that compiler changes will     * affect this code and leave this no longer calibrated.     */    p &=0xffff;    p +=0xff11;    p +=0xff51;    return;    }/********************************************************************************* sys557Init - prepare LAN adapter for 82557 initialization** This routine is expected to perform any adapter-specific or target-specific* initialization that must be done prior to initializing the 82557.** The 82557 driver calls this routine from the driver attach routine before* any other routines in this library.** This routine returns the interrupt level the <pIntLvl> parameter.** RETURNS: OK or ERROR if the adapter could not be prepared for initialization.*/STATUS sys557Init    (    int	unit,			/* unit number */    FEI_BOARD_INFO * pBoard     /* board information for the end driver */    )    {    volatile FEI_RESOURCE * pReso = &feiResources [unit];    UINT16	sum          = 0;    int		ix;    int		iy;    UINT16	value;#ifndef INTEGRATOR_ENET_FIXED_BUF_ADRS    void *	testbuf = 0;	/* keep compiler quite */#endif    /*     * Locate the 82557 based adapter - PRO100B, INBUSINESS and XXX.     * Note that since the INBUSINESS adapter is based upon the PRO100B     * board type, it is initialised and driven like one.     */#ifdef SYS_FEI_DEBUG    printf ("fei%d: I/O %08X membase %08X irq %d\n", unit, pReso->iobaseCsr,	    pReso->membaseCsr, pReso->irq);#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产色综合久久ai换脸| 国产一区 二区| 亚洲伊人色欲综合网| 一区二区成人在线| 婷婷综合另类小说色区| 免费在线视频一区| 国产乱对白刺激视频不卡| aa级大片欧美| 欧美福利视频导航| 欧美国产精品专区| 亚洲午夜免费电影| 国产一区二区在线影院| 91碰在线视频| 久久久激情视频| 亚洲成人三级小说| jvid福利写真一区二区三区| 91久久人澡人人添人人爽欧美| 欧美精品xxxxbbbb| 中文字幕av在线一区二区三区| 亚洲一二三四在线| av亚洲精华国产精华| 日韩欧美一级精品久久| 亚洲一区二区四区蜜桃| 风流少妇一区二区| 欧美日韩精品三区| 亚洲激情自拍视频| 99re成人在线| 国产精品欧美久久久久无广告| 亚洲一卡二卡三卡四卡| 国产精品一区二区在线观看不卡| 欧美日韩精品一区二区三区四区 | 日本亚洲视频在线| 色欧美乱欧美15图片| 国产精品午夜在线| 高清不卡一区二区| 国产精品日日摸夜夜摸av| 国产精一区二区三区| 国产午夜精品久久久久久免费视| 日韩精品色哟哟| 日韩一二三四区| 国内精品视频一区二区三区八戒| 欧美在线看片a免费观看| 国产午夜一区二区三区| 国产成人精品免费网站| 2欧美一区二区三区在线观看视频| 日本亚洲欧美天堂免费| 免费观看日韩av| 欧美mv日韩mv亚洲| 国产福利一区在线| 亚洲色图制服诱惑| 欧美色网站导航| 激情五月激情综合网| 中文字幕一区二区三区视频| 日韩三级视频在线看| 日韩国产一区二| 另类专区欧美蜜桃臀第一页| 欧美日韩日日摸| 国产精品综合av一区二区国产馆| 中文字幕av不卡| 91精品国产高清一区二区三区蜜臀 | 69堂国产成人免费视频| 成人av资源站| 美腿丝袜一区二区三区| 亚洲精品久久久蜜桃| 精品成人一区二区三区四区| 欧美日韩精品电影| av亚洲精华国产精华| 国产精品538一区二区在线| 五月婷婷久久综合| 亚洲激情av在线| 亚洲乱码中文字幕| 国产精品久久久久婷婷| 久久久精品国产99久久精品芒果| 欧美日韩高清影院| 国产精品免费视频一区| xvideos.蜜桃一区二区| 国产乱色国产精品免费视频| 久久久久久久久伊人| 欧美裸体bbwbbwbbw| 日本不卡123| 在线观看亚洲精品| 亚洲午夜日本在线观看| 欧美午夜不卡视频| 色欧美日韩亚洲| 极品少妇一区二区三区精品视频| 久久精品国产77777蜜臀| 奇米影视一区二区三区| 亚洲第一精品在线| 一区二区三区视频在线观看| 国产精品日韩成人| 中文字幕av一区二区三区高| 国产欧美日韩激情| 中文字幕一区二区三区不卡| 一级精品视频在线观看宜春院 | 亚洲欧美国产高清| 亚洲成a人v欧美综合天堂下载 | 中文字幕一区二区三区四区不卡| 久久综合色之久久综合| 久久久久久一二三区| 国产无一区二区| 欧美激情一区二区三区不卡| 亚洲欧美激情一区二区| 天堂影院一区二区| 国产激情偷乱视频一区二区三区| 色哟哟在线观看一区二区三区| 欧美精品在线一区二区三区| 亚洲国产精品成人综合色在线婷婷 | 国内精品免费在线观看| 菠萝蜜视频在线观看一区| 欧美三级视频在线播放| 国产精品每日更新| 美脚の诱脚舐め脚责91| 色综合天天性综合| 欧美一区二区在线免费播放| 中文字幕在线一区二区三区| 极品少妇一区二区| 91精品国产综合久久久蜜臀图片| 亚洲欧洲日韩一区二区三区| 国精产品一区一区三区mba视频| 欧美乱熟臀69xxxxxx| 亚洲欧美日韩国产综合在线| 国产在线精品免费| 欧美一区二区观看视频| 亚洲成人av一区| 色呦呦国产精品| 国产精品国产精品国产专区不片| 美女免费视频一区二区| 欧美年轻男男videosbes| 亚洲一二三区在线观看| 91 com成人网| 五月综合激情婷婷六月色窝| 91麻豆精品国产| 日韩精品电影一区亚洲| 在线播放日韩导航| 天堂成人国产精品一区| 欧美高清一级片在线| 手机精品视频在线观看| 日韩一区二区中文字幕| 久久精品国产久精国产爱| 久久―日本道色综合久久| 欧美亚洲免费在线一区| 亚洲成av人综合在线观看| 日韩欧美国产综合一区| 国产一区视频网站| 国产精品成人一区二区艾草 | 精品国产伦一区二区三区观看方式| 日韩电影在线观看电影| 欧美videos大乳护士334| 国产黄色91视频| 日韩国产精品久久久久久亚洲| 国产免费成人在线视频| 欧美色综合网站| 国产精品一区二区三区99| 亚洲欧洲一区二区在线播放| 日韩欧美123| 欧美伊人精品成人久久综合97| 国产福利一区二区| 一区二区三区在线高清| 91精品婷婷国产综合久久| 丰满岳乱妇一区二区三区| 婷婷六月综合网| 自拍偷在线精品自拍偷无码专区 | 亚洲自拍偷拍av| 中文字幕一区二区三区精华液| 日韩欧美一区二区视频| 91国模大尺度私拍在线视频| 风间由美一区二区av101| 国内精品免费**视频| 日韩不卡一区二区三区 | 91麻豆国产精品久久| 成人免费高清在线观看| 国产成人精品一区二| 蜜臀av在线播放一区二区三区| 亚洲主播在线观看| 亚洲精品视频观看| 一区二区三区四区高清精品免费观看 | 色哟哟国产精品免费观看| 99久久精品免费精品国产| 91麻豆swag| 欧美午夜寂寞影院| 91看片淫黄大片一级在线观看| 成人涩涩免费视频| 91丨九色丨蝌蚪丨老版| 一本一道久久a久久精品综合蜜臀| 99久久免费国产| 欧美日韩午夜精品| 欧美撒尿777hd撒尿| 日韩欧美国产精品| 久久亚洲影视婷婷| 亚洲欧美视频在线观看视频| 夜夜夜精品看看| 日韩电影网1区2区| 国内成人免费视频| 97久久超碰国产精品电影| 欧美乱妇一区二区三区不卡视频| 欧美一级在线免费| 成人免费一区二区三区在线观看| 亚洲资源中文字幕| 成人av资源站| 欧美tickling网站挠脚心|