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

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

?? sysln97xend.c

?? vxworks嵌入式開發vmware bsp包 其中已包括網卡的驅動 本人試過 非常好用
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* sysLn97xEnd.c - system configuration module for AMD 79C97x END driver */ /* Copyright 1984-2001 Wind River Systems, Inc. *//*modification history--------------------01d,11oct01,pai  Now using VM_STATE_MASK_FOR_ALL and VM_STATE_FOR_PCI in                 sysMmuMapAdd call.  Updated documentation and routines                 for new device discovery algorithm (SPR# 35716).01c,09oct01,pai  Corrected variable usage in sysLn97xEndLoad and                 sysLan97xPciInit.  Conditionally compile PCI_DEV_MMU_MSK                 and PCI_DEV_ADRS_SIZE.01b,05oct01,pai  Removed inaccurate commentary in sysLan97xPciInit().01a,02oct01,pai  Written from sysNetif.  Implemented a new BSP driver load                 routine that processes multiple physical devices and END                 units.  This replaces sysLan97xInitStrCook (SPR #35716).*//*DESCRIPTIONThis is the WRS-supplied configuration module for the VxWorksln97xEnd (lnPci) END driver.  It initializes device resources andprovides BSP-specific ln97xEnd driver routines for any Am79C970A,Am79C971, Am79C972, and Am79C973 PCnet-PCI ethernet devices found onthe system.The number of supported devices that can be configured for a particularsystem is finite and is specified by the LN97X_MAX_DEV configurationconstant in this file.  This value, and the internal data structuresusing it, can be modified in this file for specific implementations.*/#if defined(INCLUDE_LN_97X_END)/* namespace collisions */#undef CSR  /* redefined in ln97xEnd.h (temporary fix) *//* includes */#include "end.h"#include "ln97xEnd.h"			/* modify by frank *//* defines *//* specify the maximum number of physical devices to configure */#define LN97X_MAX_DEV           (8)/* AMD 79C97x 10/100Base-TX PCI Ethernet Board Types */#define AMD_PCI_VENDOR_ID       (0x1022)  /* AMD PCI vendor ID */#define LN97X_PCI_VENDOR_ID     (0x1022)  /* AMD PCI vendor ID */#define LN97X_PCI_DEVICE_ID     (0x2000)  /* Am79c97x device ID */#define LN970_PCI_REV_MASK      (0x10)    /* Am79c970A PCI rev mask */#define LN971_PCI_REV_MASK      (0x20)    /* Am79c971  PCI rev mask */#define LN972_PCI_REV_MASK      (0x30)    /* Am79c972  PCI rev mask */#define LN973_PCI_REV_MASK      (0x40)    /* Am79c973  PCI rev mask *//* LN_TYPE_97x values are equivalent to (LN97x_PCI_REV_MASK >> 4) */#define LN_TYPE_970             (1)       /* Am97c970A PCNet-PCI II */#define LN_TYPE_971             (2)       /* Am97c971  PCNet-Fast   */#define LN_TYPE_972             (3)       /* Am97c972  PCNet-Fast+  */#define LN_TYPE_973             (4)       /* Am97c973  PCNet-Fast III *//* driver configuration flags *//* The <offset> parameter specifies the offset from which a packet has * to be loaded from the beginning of a device buffer.  Normally, this * parameter is zero except for architectures which access long words * only on aligned addresses.  For these architectures, the value of * this <offset> should be 2. */#define LN97X_OFFS_VALUE        (0)       /* driver <offset> value */#define LN97X_CSR3_VALUE        (0)       /* CSR3 register value */#define LN97X_RSVD_FLAGS        (0)       /* driver <flags> value *//* imports */IMPORT STATUS    sysMmuMapAdd (void * address, UINT len,                               UINT initialStateMask,                               UINT initialState);IMPORT END_OBJ * ln97xEndLoad (char *);/* locals */ LOCAL int ln97XUnits = 0;  /* the number of physical units found *//* This string table stores English descriptions of supported devices. * LN_TYPE_97x values index the table to obtain board descriptions. */LOCAL const char * ln97xStrDesc [] =    {    "AMD 79C97x PCI Enhanced Network Driver",    "AMD Am79C970A PCnet-PCI II Enhanced Network Driver",    "AMD Am79C971 PCnet-FAST Enhanced Network Driver",    "AMD Am79C972 PCnet-FAST+ Enhanced Network Driver",    "AMD Am79C973 PCnet-FAST III Enhanced Network Driver"    };/* * This array defines the board-specific PCI resources.  There is one * unique END unit associated with one unique physical device recorded * in this table.  The END unit number is equivalent to an index into * this table. */ LOCAL PCI_BOARD_RESOURCE ln97xPciResources [LN97X_MAX_DEV] =    {    {NONE, NONE, NONE, AMD_PCI_VENDOR_ID, LN97X_PCI_DEVICE_ID,     LN970_PCI_REV_MASK, LN_TYPE_970, NONE, NONE,    {NONE, NONE, NONE, NONE, NONE, NONE}, NULL    },    {NONE, NONE, NONE, AMD_PCI_VENDOR_ID, LN97X_PCI_DEVICE_ID,     LN970_PCI_REV_MASK, LN_TYPE_970, NONE, NONE,    {NONE, NONE, NONE, NONE, NONE, NONE}, NULL    },    {NONE, NONE, NONE, AMD_PCI_VENDOR_ID, LN97X_PCI_DEVICE_ID,     LN970_PCI_REV_MASK, LN_TYPE_970, NONE, NONE,    {NONE, NONE, NONE, NONE, NONE, NONE}, NULL    },    {NONE, NONE, NONE, AMD_PCI_VENDOR_ID, LN97X_PCI_DEVICE_ID,     LN970_PCI_REV_MASK, LN_TYPE_970, NONE, NONE,    {NONE, NONE, NONE, NONE, NONE, NONE}, NULL    },    {NONE, NONE, NONE, AMD_PCI_VENDOR_ID, LN97X_PCI_DEVICE_ID,     LN970_PCI_REV_MASK, LN_TYPE_970, NONE, NONE,    {NONE, NONE, NONE, NONE, NONE, NONE}, NULL    },    {NONE, NONE, NONE, AMD_PCI_VENDOR_ID, LN97X_PCI_DEVICE_ID,     LN970_PCI_REV_MASK, LN_TYPE_970, NONE, NONE,    {NONE, NONE, NONE, NONE, NONE, NONE}, NULL    },    {NONE, NONE, NONE, AMD_PCI_VENDOR_ID, LN97X_PCI_DEVICE_ID,     LN970_PCI_REV_MASK, LN_TYPE_970, NONE, NONE,    {NONE, NONE, NONE, NONE, NONE, NONE}, NULL    },    {NONE, NONE, NONE, AMD_PCI_VENDOR_ID, LN97X_PCI_DEVICE_ID,     LN970_PCI_REV_MASK, LN_TYPE_970, NONE, NONE,    {NONE, NONE, NONE, NONE, NONE, NONE}, NULL    }    };/* forward declarations */LOCAL UINT32 sysLn97xDev2Type (UINT32, UINT32, UINT8);/******************************************************************************** sysLn97xEndLoad - construct a load string and load an Am79C97x device** This routine will be invoked by the MUX for the purpose of loading* an Am79C97x (lnPci) device with initial parameters.  This routine is* constructed as an interface wrapper for the driver load routine.* Thus, the arguments and return values are consistent with any* xxxEndLoad() routine defined for an END driver and the MUX API.** INTERNAL* The muxDevLoad() operation calls this routine twice.  A zero length* <pParamStr> parameter string indicates that this is the first time* through this routine.  The driver load routine should return the* driver name in <pParamStr>.** On the second pass though this routine, the initialization parameter* string is constructed.  Note that on the second pass, the <pParamStr>* consists of a colon-delimeted END device unit number and rudimentary* initialization string (often empty) constructed from entries in the* BSP END Device Table such that:**     <pParamStr> = "<unit>:<default initialization string>"** In the process of building the rest of <pParamStr>, the prepended unit* number must be preserved and passed to the driver load routine.  The* <default initialization string> portion mentioned above is discarded,* but future versions of this routine may use it.** The complete ln97xEnd driver load string has format:**     <unit>:<devMemAddr>:<devIoAddr>:<pciMemBase:<vecNum>:<intLvl>:*     <memAdrs>:<memSize>:<memWidth>:<csr3b>:<offset>:<flags>** RETURNS: An END object pointer, or NULL on error, or 0 and the name of the* device if the <pParamStr> was NULL.** SEE ALSO: ln97xEndLoad()*/END_OBJ * sysLn97xEndLoad    (    char *      pParamStr,   /* pointer to initialization parameter string */    void *      unused       /* unused optional argument */    )    {    END_OBJ *   pEnd;    char        paramStr [END_INIT_STR_MAX];    static const char * const paramTemplate =         "%d:0x%x:0x%x:0x%x:%d:%d:-1:-1:-1:0x%x:%d:0x%x:%p";    /* alias local PCI and board resource table addresses */    PCI_BOARD_RESOURCE * const pciRsrc = ln97xPciResources;    if (strlen (pParamStr) == 0)        {        /* PASS (1)         * The driver load routine returns the driver name in <pParamStr>.         */        pEnd = ln97xEndLoad (pParamStr);        }    else        {        /* PASS (2)         * The END <unit> number is prepended to <pParamStr>.  Construct         * the rest of the driver load string based on physical devices         * discovered in sysLan97xPciInit().  When this routine is called         * to process a particular END <unit> number, use the END <unit>         * as an index into the PCI "resources" table to build the driver         * parameter string.         */        int    typeIdx;   /* index to the string resource table */        char * holder  = NULL;        int    endUnit = atoi (strtok_r (pParamStr, ":", &holder));        /* is there a PCI resource associated with this END unit ? */        if (endUnit >= ln97XUnits)            {            /* This is an error - no physical devs available to this unit */            return NULL;            }        /* construct an index into the string resource table */        typeIdx = (pciRsrc[endUnit].boardType);        /* construct the initialization parameter string */        sprintf (paramStr, paramTemplate,                 endUnit,                     /* END unit number */                 NONE, /* pciRsrc[endUnit].bar[1],   modify by frank */  /* memory-mapped IO base */                 pciRsrc[endUnit].bar[0],     /* IO address space base */                 PCI2DRAM_BASE_ADRS,          /* host PCI mem. base */                 pciRsrc[endUnit].irqvec,     /* IRQ vector */                 pciRsrc[endUnit].irq,        /* IRQ number */                 LN97X_CSR3_VALUE,            /* csr3 register value */                 LN97X_OFFS_VALUE,            /* offset */                 LN97X_RSVD_FLAGS,            /* flags (reserved) */                 &ln97xStrDesc[typeIdx]       /* device description */                );        if ((pEnd = ln97xEndLoad (paramStr)) == (END_OBJ *) NULL)            {            printf ("Error sysLn97xEndLoad: device failed.\n");            }        }    return (pEnd);    }/********************************************************************************* sysLn97xDev2Type - convert a PCI Revision ID to a board type** Given <vendorId>, <deviceId>, and <revisionId> values read from PCI* configuration space, this routine will attempt to map the ID to a board* type value defined in this file.** INTERNAL* The PCI Vendor and Device IDs are the same for all driver supported* Am79c97x devices.  When an instance is located, the PCI Revision ID is

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美一区二区三区孕妇| 久久精品水蜜桃av综合天堂| 国产老肥熟一区二区三区| 亚洲欧洲制服丝袜| 免费人成精品欧美精品 | 波多野结衣视频一区| 日本v片在线高清不卡在线观看| 国产成人免费在线观看不卡| 国产精品1区2区3区在线观看| 色综合天天综合色综合av| 高潮精品一区videoshd| 国产九色sp调教91| 欧美人成免费网站| 欧美日韩亚洲不卡| 91精品国产全国免费观看| 3d动漫精品啪啪| 欧美精品一区二区三区视频| 久久久国产精华| 亚洲欧美日韩一区二区三区在线观看| 免费成人在线视频观看| 91看片淫黄大片一级| 日韩午夜激情av| 国产精品免费视频网站| 日韩毛片高清在线播放| 亚洲黄网站在线观看| 三级影片在线观看欧美日韩一区二区| 五月婷婷综合在线| 激情综合一区二区三区| 国产91丝袜在线播放九色| 精品国产凹凸成av人导航| 免费欧美高清视频| 日韩一区二区中文字幕| 蜜臀av性久久久久蜜臀aⅴ| 成人一级片在线观看| 欧美日韩精品综合在线| 一区二区三区成人在线视频 | 中文字幕日本不卡| 麻豆91精品视频| 欧美一级爆毛片| 国产在线视频精品一区| 91精品在线免费观看| 亚洲高清视频的网址| 国产老女人精品毛片久久| 久久亚洲一级片| 性做久久久久久免费观看欧美| 国产乱码精品一区二区三区五月婷| 日韩精品专区在线影院观看 | 97se亚洲国产综合自在线| 7777精品伊人久久久大香线蕉完整版 | 精品一区二区三区在线播放视频| 日韩写真欧美这视频| 黑人巨大精品欧美黑白配亚洲| 欧美精品一区在线观看| 成人性色生活片| 中文字幕色av一区二区三区| 欧美性猛片aaaaaaa做受| 欧美激情在线免费观看| 日韩高清一区二区| 91福利国产精品| 国产精品欧美极品| 日本韩国欧美一区二区三区| 午夜久久久久久| 久久久精品日韩欧美| 91丨九色丨黑人外教| 石原莉奈在线亚洲二区| 中文成人综合网| 欧美精品色一区二区三区| 亚洲福利一区二区| 精品精品欲导航| 日本美女一区二区三区视频| 日韩va亚洲va欧美va久久| 欧美伊人久久久久久久久影院| 欧美精品电影在线播放| 国产乱子伦视频一区二区三区| 日本一区二区免费在线观看视频 | 亚洲综合在线观看视频| 国产在线精品一区二区不卡了| 555www色欧美视频| 懂色av一区二区在线播放| 一区二区免费看| 久久女同精品一区二区| 欧美视频一区在线观看| 国产精品白丝jk白祙喷水网站| 亚洲韩国一区二区三区| 国产日韩欧美综合在线| 在线播放91灌醉迷j高跟美女| 国产69精品久久777的优势| 亚洲成人福利片| 国产精品久久久久久福利一牛影视| 国产999精品久久久久久| 亚洲二区在线视频| 亚洲天堂网中文字| 日韩三级免费观看| 欧美日韩三级在线| 亚洲成人动漫在线免费观看| 亚洲国产精品成人综合| 7777精品伊人久久久大香线蕉完整版| 91视频在线观看免费| 国产精品夜夜嗨| 蜜臀av性久久久久蜜臀aⅴ四虎| 一片黄亚洲嫩模| 136国产福利精品导航| 国产三级一区二区三区| 91精品国产日韩91久久久久久| 欧美午夜精品久久久| 91视频www| 色综合天天性综合| 亚洲伦理在线免费看| 国产精品久久二区二区| 欧美激情综合五月色丁香| 久久综合久久综合久久综合| 精品免费日韩av| 日韩一级免费一区| 日韩免费一区二区三区在线播放| 欧美猛男男办公室激情| 欧美日本视频在线| 欧美一区二区免费观在线| 91麻豆精品久久久久蜜臀| 欧美一区二区网站| 日韩免费观看高清完整版| 日韩精品一区二区三区在线播放| 欧美一区二区三区视频免费 | 91麻豆视频网站| 在线精品国精品国产尤物884a| 久久电影网电视剧免费观看| 国产精品女上位| 国产精品丝袜一区| 亚洲人成亚洲人成在线观看图片| 亚洲男人的天堂在线aⅴ视频| 亚洲美女一区二区三区| 亚洲欧美韩国综合色| 亚洲一区欧美一区| 丝袜美腿亚洲综合| 激情都市一区二区| 成人高清视频在线观看| 另类小说色综合网站| 国产美女娇喘av呻吟久久| 国产精华液一区二区三区| 成人动漫一区二区三区| 色哟哟国产精品免费观看| 欧美高清一级片在线| 精品国产亚洲在线| 亚洲欧洲av一区二区三区久久| 亚洲一区日韩精品中文字幕| 蜜桃久久av一区| youjizz国产精品| 欧美疯狂做受xxxx富婆| 久久久亚洲精品一区二区三区| 亚洲欧美激情插| 国内外成人在线| 欧美性三三影院| 久久精品人人做人人综合| 亚洲人被黑人高潮完整版| 秋霞电影网一区二区| 成人性视频免费网站| 欧美精品视频www在线观看| 国产欧美精品一区| 图片区小说区区亚洲影院| 丁香婷婷综合色啪| 欧美精三区欧美精三区| 国产精品色在线| 开心九九激情九九欧美日韩精美视频电影| 国产91精品精华液一区二区三区 | 欧美日韩精品专区| 国产午夜精品一区二区| 日本黄色一区二区| 亚洲视频资源在线| 欧美影院午夜播放| 亚洲精品视频自拍| 欧美系列日韩一区| 成人高清视频在线观看| 91精品国产全国免费观看| 亚洲色大成网站www久久九九| 免费在线观看视频一区| 色综合久久综合网| 国产精品沙发午睡系列990531| 蜜臀久久久99精品久久久久久| 欧美性色黄大片| 亚洲男人的天堂在线aⅴ视频 | 中文欧美字幕免费| 国产在线视频精品一区| 在线成人小视频| 亚洲精品高清视频在线观看| 国产福利一区在线| 日韩写真欧美这视频| 日韩国产一区二| 欧美高清视频一二三区| 亚洲午夜激情网页| 在线观看91精品国产入口| 1024亚洲合集| 91香蕉视频污在线| 中文字幕在线观看不卡视频| 国产mv日韩mv欧美| 国产日韩精品一区| 美脚の诱脚舐め脚责91| 日韩一区和二区| 精品无码三级在线观看视频| 日韩欧美电影一二三| 狠狠色2019综合网| 国产日韩欧美a|