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

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

?? sysend.c

?? mtx604在vxworks下的bsp源代碼
?? C
字號:
/* sysEnd.c - System enhanced network interface support library *//* Copyright 1997-1999 Wind River Systems, Inc. *//* Copyright 1999 Motorola, Inc. All Rights Reserved */#include "copyright_wrs.h"/*modification history--------------------01j,26mar02,dtr  Removing compiler warnings.01i,28mar01,pch  Remove references to DEC_USR_PHY_CHK, which is no longer                 defined.01h,17jul99,dmw  added support for a secondary ethernet device.01g,17may99,tm   Added DEC_USR_PHY_CHK (poll phy via mii) to default flags01f,26apr99,srr  changed dec2114xSromWordRead to dec21140SromWordRead.01e,20apr99,srr  Remove motorola21143SromFix and change names to dec21x40.01d,15apr99,srr  Changed to WRS address space naming convention.01c,27jan99,scb	 Changed dec21140SromWordRead to dec2114xSromWordRead01b,20jan99,scb	 Adapted for the Motorola MCPN750 and MCP75001a,17jun98,tm   derived from ebsa285 sysEnd.c*//*.SH DESCRIPTIONThis file contains the board-specific routines for the Motorola MCP750 withon-board Digital Semiconductor 21140 Ethernet adapter and the MotorolaMCPN750 with the Digital Semiconductor 21143 Ethernet adapter. This file is required to update the END load string that the END driver utilizes for initial configuration. .LPSEE ALSO: endLib*/#include "vxWorks.h"#include "config.h"#include "vmLib.h"#include "stdio.h"#include "drv/pci/pciAutoConfigLib.h"#include "drv/pci/pciConfigLib.h"#include "drv/end/dec21x40End.h"/* defines */#define DEC_USR_21140   0x80000000      /* DEC 21140 part */#define DEC_USR_21143   0x40000000      /* DEC 21143 part *//* Special dec21143 configuration device driver area register */#define PCI_CFG_21143_DA        0x40#define END_LD_STR_SIZE 80#define DRV_CTRL        DEC21X40_DRV_CTRL/* DEC driver user flags */#define DEC_USR_FLAGS_143 (DEC_USR_21143)#define DEC_USR_FLAGS_140 (DEC_USR_BAR_RX | DEC_USR_RML | DEC_USR_CAL_08 | \			   DEC_USR_PBL_04 | DEC_USR_21140)#define DEC_USR_FLAGS_040 (DEC_USR_BAR_RX | DEC_USR_RML | DEC_USR_CAL_08 | \			   DEC_USR_PBL_04)/* forward declarations */STATUS sysDec21x40EnetAddrGet ( DRV_CTRL *pDrvCtrl, char *enetAdrs );/* typedefs */ /* locals *//* END load strings */LOCAL char	endLoadStr[NUM_ENET_UNITS][END_LD_STR_SIZE];/* imports */IMPORT  STATUS sysDynEnetFind (UINT bus, UINT dev, UINT func, PCI_ID * pciId); IMPORT  END_TBL_ENTRY endDevTbl[];/********************************************************************************* sysDec21x40UpdateLoadStr - Update the END load string after PCI Autoconfig** This routine is to be called from sysHwInit() before the END initialization* takes place, but after the network adapter under consideration has been* configured by a mechanism such as PCI autoconfig. This routine will scan* for the ethernet device via a call to the "sysLib.c" routine * sysDynEnetFind().  If the enternet device is found, the device's * configuration space is read, and the END load string is composed from this * information. The endDevTbl entry is then updated with a pointer to the * updated load string, which resides in statically allocated data local to * this module.** Note that this routine assumes that the entry for the END device is the* first entry in the in the END device table (endDevTbl[]).** RETURNS: N/A*/ void sysDec21x40UpdateLoadStr (void)    {    int     pciBus;    int     pciDevice;    int     pciFunc;    int     curBus = PRIMARY_ENET_BUS;    int     curDev = PRIMARY_ENET_DEV;    int     curFnc = PRIMARY_ENET_FNC;    int     ivec;     int     ilevel;    UINT32  iobaseCsr;    UINT8   intLine;    UINT32  cpuPciAddr;    UINT32  flags = 0;    STATUS  status;    PCI_ID  pciId;    int	    unit = 0;    /* find the ethernet devices */    for (;unit < NUM_ENET_UNITS; unit++)        {#ifdef INCLUDE_SECONDARY_ENET        if (unit != 0)            {            curBus = SECONDARY_ENET_BUS;            curDev = SECONDARY_ENET_DEV;            curFnc = SECONDARY_ENET_FNC;            }#endif /* INCLUDE_SECONDARY_ENET */                if ((status = (sysDynEnetFind (curBus, curDev, curFnc, &pciId))) == OK)	    {	    pciBus = pciId.loc.bus;	    pciDevice = pciId.loc.device;	    pciFunc = pciId.loc.function;	    /*	     * get the IO base address - for the Digital 21x4x the first BAR is	     * I/O and the second is memory	     */	    pciConfigInLong ( pciBus, pciDevice, pciFunc,			      PCI_CFG_BASE_ADDRESS_0, &iobaseCsr );	    cpuPciAddr = ((iobaseCsr & 0xfffffffe) | ISA_MSTR_IO_LOCAL);	    pciConfigInByte ( pciBus, pciDevice, pciFunc,			      PCI_CFG_DEV_INT_LINE, &intLine );	    ivec = (int)(intLine);	    ilevel = (int)(intLine);            switch (pciId.devVend)                {                case PCI_ID_LN_DEC21040:                    flags = DEC_USR_FLAGS_040;                    break;                case PCI_ID_LN_DEC21140:                    flags = DEC_USR_FLAGS_140;                    break;                case PCI_ID_LN_DEC21143:                    flags = DEC_USR_FLAGS_143;                    break;                default:                    printf("Unsupported Ethernet device found\r\n");                    break;                }	    /*	     * create the config string. The format is:	     * 	     * <devAdrs>:<pciAdrs>:<ivec>:<inum>:<numrds>:<numtds>:	     * <membase>:<memsize>:<userflags>	     */	    sprintf ( endLoadStr[unit], "0x%x:0x%x:0x%x:0x%x:-1:-1:-1:0:0x%x",		      cpuPciAddr, PCI2DRAM_BASE_ADRS, ivec, ilevel, 		      flags );	    endDevTbl[unit].endLoadString = endLoadStr[unit];		    /* If this is a dec21143, disable sleep mode */	    if (flags == DEC_USR_FLAGS_143)	        {	        pciConfigOutLong ( pciBus, pciDevice, pciFunc,			       PCI_CFG_21143_DA, 0 );	        }	    }        }    return;    }/********************************************************************************* sysDec21x40EnetAddrGet - gets the ethernet address from the ROM register ** This routine reads an ethernet address from the serial ROM. It supports* legacy, ver 1/A, and 3.0 serial ROM formats.* * RETURNS: OK on success, and ERROR if the ethernet address bytes cannot be* read.*/STATUS sysDec21x40EnetAddrGet    (    DRV_CTRL *	pDrvCtrl,    char * 	enetAdrs	/* pointer to the ethernet address */     )    {#ifndef INCLUDE_END    USHORT	sromData;    int		adrsOffset;    int		len;    /* Check if SROM is programmed. */    sromData = dec21140SromWordRead (pDrvCtrl, 0);    if ( sromData == 0xFFFF )         {        /* SROM is unprogrammed, get MAC address from NVRAM. */        if (( sysNvRamGet ((char *)enetAdrs, 6, 		     (int) ((int) BB_ENET - NV_BOOT_OFFSET)) ) == ERROR )            return (ERROR);        }    else	{    	sromData = dec21140SromWordRead (pDrvCtrl, 13);    	/*     	 * Set MAC address offset from the ROM format.     	 *  Legacy ROMs have ethernet address start at offset 0,     	 *  while the rest (ver 1/A and 3.0) have it at byte offset 20.     	 */    	adrsOffset = (sromData == 0xAA55) ? 0: 10;    	for (len=EADDR_LEN; len; len-=2, adrsOffset++)            {            sromData = dec21140SromWordRead (pDrvCtrl, adrsOffset);            *enetAdrs++ = MSB(sromData);            *enetAdrs++ = LSB(sromData);            }        }#endif    return (OK);    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产女人aaa级久久久级| 91麻豆高清视频| 精品国产制服丝袜高跟| 青青草成人在线观看| 4438x成人网最大色成网站| 久久成人精品无人区| 日韩精品一区二区三区四区| 久久精品av麻豆的观看方式| 国产欧美一区二区精品婷婷| 成人综合日日夜夜| 亚洲精品国产精华液| 91福利精品视频| 麻豆精品在线播放| 久久精品人人做人人爽人人| a在线欧美一区| 亚洲国产精品久久久久婷婷884 | 首页综合国产亚洲丝袜| 欧美日韩国产首页在线观看| 美女脱光内衣内裤视频久久影院| 精品国产污污免费网站入口| 成人国产亚洲欧美成人综合网| 亚洲美女视频在线| 欧美大片在线观看一区二区| 国产成+人+日韩+欧美+亚洲| 亚洲自拍偷拍图区| 日韩午夜在线观看视频| 成人听书哪个软件好| 亚洲午夜在线观看视频在线| 久久这里只有精品视频网| 色婷婷亚洲综合| 狠狠狠色丁香婷婷综合久久五月| 亚洲视频一区在线| 日韩欧美你懂的| 在线一区二区视频| 国产一区视频在线看| 亚洲乱码精品一二三四区日韩在线| 欧美一区二区网站| 色综合欧美在线视频区| 麻豆精品国产传媒mv男同| 综合在线观看色| 精品久久国产老人久久综合| 欧美三级电影网| 成人午夜免费av| 韩国在线一区二区| 午夜精品福利一区二区蜜股av | 日韩一区二区在线观看视频| 成人美女视频在线观看18| 日日欢夜夜爽一区| 亚洲欧美日韩精品久久久久| 国产亚洲精久久久久久| 日韩一级成人av| 欧美视频一区二区三区| 不卡视频免费播放| 激情小说亚洲一区| 日本伊人午夜精品| 亚洲一区二区四区蜜桃| 国产精品久久久一本精品| 欧美大肚乱孕交hd孕妇| 精品视频一区三区九区| 99久久久无码国产精品| 国产成人精品aa毛片| 蜜臀av性久久久久av蜜臀妖精 | 成人av电影在线观看| 国产在线观看一区二区| 偷拍自拍另类欧美| 亚洲午夜在线视频| 亚洲国产精品久久久男人的天堂| 亚洲乱码国产乱码精品精可以看 | 国精产品一区一区三区mba视频| 亚洲国产色一区| 亚洲午夜久久久久久久久久久| 国产精品久久久久精k8| 国产欧美一区二区三区网站| 国产视频一区二区在线| 精品国产乱码久久久久久老虎 | 亚洲国产精品精华液ab| 久久久久久毛片| 国产亚洲欧美一级| 国产欧美日韩在线视频| 久久精品欧美一区二区三区不卡| 久久青草国产手机看片福利盒子 | 欧美日韩高清影院| 欧美三级电影一区| 日韩视频在线一区二区| 精品福利一二区| 国产亚洲成aⅴ人片在线观看| 日本一区二区三级电影在线观看 | 欧美高清在线精品一区| 国产人伦精品一区二区| 国产精品视频观看| 国产精品初高中害羞小美女文| 日韩美女久久久| 亚洲va欧美va国产va天堂影院| 亚洲成av人在线观看| 青青国产91久久久久久 | 青青草视频一区| 青青国产91久久久久久| 国产一区二区三区免费观看| 国产91在线|亚洲| 色综合天天综合网天天看片| 欧美三区在线视频| 欧美成人bangbros| 国产精品久久久久久福利一牛影视 | 国产成人精品午夜视频免费| av在线这里只有精品| 在线免费精品视频| 日韩欧美一级在线播放| 中文字幕精品综合| 亚洲一区二区三区四区在线| 日本亚洲天堂网| 国产91精品久久久久久久网曝门| 91丨porny丨首页| 日韩视频一区二区在线观看| 国产精品欧美极品| 天堂午夜影视日韩欧美一区二区| 国产在线日韩欧美| 一本一道波多野结衣一区二区| 欧美日韩国产美| 日本一区免费视频| 日韩精品免费视频人成| 成人午夜视频免费看| 欧美日韩久久不卡| 欧美激情一区不卡| 日韩电影在线观看一区| 高清不卡在线观看| 欧美一区二区在线免费播放 | 亚洲精品国产a久久久久久| 日韩国产欧美一区二区三区| 成人激情视频网站| 91麻豆精品国产91久久久久久| 欧美激情一区二区三区四区| 石原莉奈一区二区三区在线观看| 成人性色生活片免费看爆迷你毛片| 欧美精品自拍偷拍| 中文字幕亚洲一区二区av在线| 免费在线观看一区| 欧美视频在线不卡| 亚洲欧美在线视频| 国产一区二区成人久久免费影院| 欧美日韩在线观看一区二区| 国产精品天天看| 久久精工是国产品牌吗| 欧美三级一区二区| 一区二区三区欧美在线观看| 粉嫩久久99精品久久久久久夜| 在线电影欧美成精品| 亚洲嫩草精品久久| av中文字幕一区| 国产欧美精品在线观看| 黑人巨大精品欧美黑白配亚洲| 欧美久久久久久蜜桃| 亚洲综合久久av| 91麻豆文化传媒在线观看| 精品日韩欧美一区二区| 日本在线播放一区二区三区| 国产精品国产三级国产普通话蜜臀 | 最新热久久免费视频| 精品一区二区久久久| 在线播放中文一区| 亚洲图片欧美色图| 91黄色小视频| 亚洲日本va在线观看| 成人美女视频在线观看| 欧美国产成人在线| 成人成人成人在线视频| 亚洲国产电影在线观看| 国产又粗又猛又爽又黄91精品| 精品理论电影在线观看| 韩国精品在线观看| 国产亚洲一区二区三区四区| 国产在线视视频有精品| 久久久激情视频| 国产精品系列在线播放| 国产亚洲精久久久久久| 国产乱人伦精品一区二区在线观看 | 国产精品网站在线观看| 高清国产午夜精品久久久久久| 久久在线免费观看| 成人性视频网站| 国产精品高清亚洲| 色婷婷亚洲精品| 亚洲国产日产av| 欧美一级精品在线| 国产综合久久久久影院| 国产三区在线成人av| 99麻豆久久久国产精品免费| 亚洲人精品午夜| 欧美日本一道本| 精品一区二区三区日韩| 久久精品夜色噜噜亚洲a∨| 国产aⅴ综合色| 亚洲欧美电影一区二区| 91丨九色丨黑人外教| 五月综合激情婷婷六月色窝| 日韩一区二区三区在线视频| 国产乱码精品一区二区三区忘忧草 | 五月天一区二区三区| 欧美一区二区三区四区五区 | 一本色道久久综合精品竹菊| 午夜欧美在线一二页|