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

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

?? sysibmemacend.c

?? WINDRIVER SBC405 BSP
?? C
字號:
/* sysIbmEmacEnd.c - system configuration module for ibmEmac driver */ /* Copyright 1984-2002 Wind River Systems, Inc. *//*modification history--------------------01d,29jan02,g_h  Add #ifdef INCLUDE_VWARE_LAUNCH before calling                 sysCheckIfVware()01c,18jan02,g_h  Change NvRAM logic to work with visionWARE01b,17sep01,g_h  update to reflect the changes done in T2CP401a,22apr01,g_h  created*/ /*DESCRIPTIONThis is the WRS-supplied configuration module for the VxWorksmotFccEnd END driver.It performs the dynamic parameterization of the motFccEnd driver.This technique of 'just-in-time' parameterization allows driverparameter values to be declared as any other defined constants ratherthan as static strings.*/#ifdef INCLUDE_EMAC_NETWORK#include "vxWorks.h"#include "config.h" #include "vmLib.h"#include "stdio.h"#include "sysLib.h"#include "logLib.h"#include "stdlib.h"#include "string.h"#include "end.h"#include "intLib.h"#include "ibmEmacEnd.h"#include "ibmEmacEnd.c"/* globals */char       sysEmacLoadString[100];       /* load string for ibmEmacLoad  */MAL_DATA * pMalData;/* locals */char enetAddr[MAC_ADRS_LEN];/* Forward declarations */STATUS sysIbmEmacEndBldLoadStr (void);/**************************************************************************** sysIbmEmacEndBldLoadStr - builds the ibmEmacEndLoad parameter string** This routine build the EMAC loading string.** RETURNS: N/A**/STATUS sysIbmEmacEndBldLoadStr    (    void    )    {    UINT flags;    flags = 0;    /*     * The following flags can be used to make the ibmEmacEnd driver work in     * different modes.  If EMAC_INPUT_UNCACHED_BUF is specified then     * EMAC_INPUT_TX_COPY must also be, but not vice-versa.     */    flags |= EMAC_INPUT_TX_2_CHANNEL;    /* use 2 TX channels       */    /*     * Build the initialization string.  It looks like this:     *     * <baseAdrs>:<malTxChn0>:<malTxChn1>:<malRxCh0>:<intVec>:<intLvl>:     * <memAdrs>:<memSize>:<flags>:<phyAdrs>:<cacheLineSize>:<pMalData>:     * <opbSpeedMhz>     *     * The unit number will be tacked onto the beginning by muxEndLoad     */    sprintf(sysEmacLoadString, "0x%X:%d:%d:%d:%d:%d:0x%X:0x%X:0x%X:%d:%d:0x%X:%d",                                EMAC0_BASE,                                EMAC0_TX_CHN_0_CPUCORE,                                EMAC0_TX_CHN_1_CPUCORE,                                EMAC0_RX_CHN_0_CPUCORE,                                INT_VEC_ENET_0,                                INT_LVL_ENET_0,                                NONE,                                0,                                flags,                                EMAC_PHY_ADRS,                                _CACHE_ALIGN_SIZE,                                (UINT)pMalData,                                systemInfo.freqPLB/systemInfo.pllOpbDiv/1000000);    return(OK);    }/**************************************************************************** sysIbmEmacInit - prepare LAN adapter for IBM EMAC initialization** This routine is expected to perform any adapter-specific or target-specific* initialization that must be done prior to initializing the IBM EMAC.** sysNet.c calls this routine from sysNetHwInit2() routine.*** RETURNS: N/A*/void sysIbmEmacInit    (    void    )    {    MAL_INIT  malInitData;    /*     * If the native EMAC Ethernet controller is being used, the Memory Access     * Layer must be initialized.     */    malInitData.dcrBaseReg = MAL0_DCR_BASE;    malInitData.validChannels[MAL_TX_TYPE] = MAL_CHN_TX_CPUCORE;    malInitData.validChannels[MAL_RX_TYPE] = MAL_CHN_RX_CPUCORE;    malInitData.intLvlTxeob = INT_VEC_MAL_TXEOB;    malInitData.intVecTxeob = INT_LVL_MAL_TXEOB;    malInitData.intLvlRxeob = INT_VEC_MAL_RXEOB;    malInitData.intVecRxeob = INT_LVL_MAL_RXEOB;    malInitData.intLvlTxde =  INT_VEC_MAL_TXDE;    malInitData.intVecTxde =  INT_LVL_MAL_TXDE;    malInitData.intLvlRxde =  INT_VEC_MAL_RXDE;    malInitData.intVecRxde =  INT_LVL_MAL_RXDE;    malInitData.intLvlSerr =  INT_VEC_MAL_SERR;    malInitData.intVecSerr =  INT_LVL_MAL_SERR;    /* Initialize MAL and get pointer to MAL driver control structure */    pMalData = malInit(&malInitData);    /*     * Build the load string for the IBM EMAC Ethernet core.     */    sysIbmEmacEndBldLoadStr();    return;    }/**************************************************************************** sysLanIbmEmacEnable - enable the LAN interrupt** This routine enables the interrupt in the UIC corresponding to the PCI * slot where the Ethernet card was found** RETURNS: N/A**/void sysLanIbmEmacIntEnable    (    UINT intlvl    )    {    intEnable (intlvl);    }/**************************************************************************** sysLanIbmEmacIntDisable - disable the LAN interrupt** This routine disables the interrupt in the UIC corresponding to the PCI * slot where the Ethernet card was found** RETURNS: N/A**/void sysLanIbmEmacIntDisable    (    UINT intlvl    )    {    intDisable (intlvl);    }/**************************************************************************** sysLanIbmEmacEnetAddrGet - get the IBM EMAC Ethernet controller's MAC *                            address** This routine returns the Ethernet controller's MAC address to the END * driver.** RETURNS: OK, or ERROR**/STATUS sysLanIbmEmacEnetAddrGet    (    EMAC_DRV_CTRL * pDrvCtrl,    UINT8         * enetAdrs    )    {    UINT    enetFixed = ENET_DEFAULT;    UINT8 * pEnetFixed = (UINT8 *) &enetFixed;    if (pDrvCtrl->unit != 0)        return (ERROR);    /*      * If we don't come from visionWARE, set the fixed      * manufacturer's address bytes, otherwise use      * visionWARE MAC address.     */    if (!sysCheckIfVware ())        {        bcopy (pEnetFixed, enetAdrs, (MAC_ADRS_LEN / 2));        }    else        {        bcopy (enetAddr, enetAdrs, (MAC_ADRS_LEN / 2));        }            /*      * Set the user address bytes, if we are using NvRAM      * this bytes will be over writen.     */    bcopy ((enetAddr + 3), (enetAdrs + 3), (MAC_ADRS_LEN / 2));#if (NV_RAM_SIZE != NONE)    /*      * If we come from visionWARE we don't need to get the     * MAC address from the NvRAM, otherwise we need.     */    #ifdef INCLUDE_VWARE_LAUNCH    if (!sysCheckIfVware ())    #endif /* INCLUDE_VWARE_LAUNCH */    	{        /*          * We didn't come from visionWARE, so get MAC address         * from NvRAM, so read and append the variable address          * bytes from NVRAM          */        sysNvRamGet (enetAdrs+3, (MAC_ADRS_LEN / 2), (NV_ENET_OFFSET + (MAC_ADRS_LEN / 2)));        }#endif /* (NV_RAM_SIZE != NONE) */    return (OK);    }/**************************************************************************** sysLanIbmEmacBootromEnetAddrGet - get the IBM EMAC Ethernet controller's *                                   MAC address** This routine returns the Ethernet controller's MAC address to the END * driver.** RETURNS: OK, or ERROR**/STATUS sysLanIbmEmacBootromEnetAddrGet    (    int       unit,    UINT8 *   enetAdrs    )    {    UINT      enetFixed = ENET_DEFAULT;    UINT8 *   pEnetFixed = (UINT8 *) &enetFixed;    /*      * If we don't come from visionWARE, set the fixed      * manufacturer's address bytes, otherwise use      * visionWARE MAC address.     */    if (!sysCheckIfVware ())        {        bcopy (pEnetFixed, enetAdrs, (MAC_ADRS_LEN / 2));        }    else        {        bcopy (enetAddr, enetAdrs, (MAC_ADRS_LEN / 2));        }#if (NV_RAM_SIZE != NONE)    /*      * If we come from visionWARE we don't need to get the     * MAC address from the NvRAM, otherwise we need.     */    #ifdef INCLUDE_VWARE_LAUNCH    if (!sysCheckIfVware ())    #endif /* INCLUDE_VWARE_LAUNCH */    	{        /*          * We didn't come from visionWARE, so get MAC address         * from NvRAM, so read and append the variable address          * bytes from NVRAM          */        sysNvRamGet (enetAdrs+3, (MAC_ADRS_LEN / 2), (NV_ENET_OFFSET + (MAC_ADRS_LEN / 2)));        }#endif /* (NV_RAM_SIZE != NONE) */    return (OK);    }/**************************************************************************** sysLanIbmEmacEnetAddrSet - set the Ethernet address for this board** This routine sets the variable portion of the Ethernet address, the first* three bytes contain a fixed manufacturer's code, while the last 3 bytes are* set locally, to generate a unique Ethernet address on the local network.** RETURN: OK, always.** NOMANUAL*/STATUS sysLanIbmEmacEnetAddrSet    (    char byte5,                 /* Ethernet address high order byte */    char byte4,    char byte3,    char byte2,    char byte1,    char byte0                  /* Ethernet address low order byte */    )    {    enetAddr[0] = byte5;    enetAddr[1] = byte4;    enetAddr[2] = byte3;    enetAddr[3] = byte2;    enetAddr[4] = byte1;    enetAddr[5] = byte0;#if (NV_RAM_SIZE != NONE)    /*      * If we come from visionWARE we don't need to save the     * MAC address in the NvRAM, otherwise we need.     */    if (!sysCheckIfVware ())        {        /* We didn't come from visionWARE, so save MAC address in NvRAM. */        sysNvRamSet ((char *)&enetAddr[0], MAC_ADRS_LEN, NV_ENET_OFFSET);        }#endif /* (NV_RAM_SIZE != NONE) */    return (OK);    }/**************************************************************************** sysEnetAddrGet - get the IBM EMAC Ethernet controller's MAC address** This routine returns the Ethernet controller's MAC address to the END * driver.** RETURNS: OK, or ERROR**/STATUS sysEnetAddrGet    (    int  unit ,    UINT8 *  addr     /* LOcation address is returned in                 */    )    {    STATUS retVal;    retVal = sysLanIbmEmacBootromEnetAddrGet(unit, addr);    return (retVal) ;    }/**************************************************************************** sysEnetAddrSet - set the Ethernet address for this board** This routine sets the variable portion of the Ethernet address.** RETURN: None** NOMANUAL*/void  sysEnetAddrSet       (      unsigned char byte5,      unsigned char byte4,      unsigned char byte3,      unsigned char byte2,      unsigned char byte1,      unsigned char byte0      )      {      sysLanIbmEmacEnetAddrSet(byte5, byte4, byte3, byte2, byte1, byte0);      }#endif /* INCLUDE_EMAC_NETWORK */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色拍拍在线精品视频8848| 日韩精品亚洲一区| 国产精品国产a| 成人黄色在线网站| 久久久精品天堂| 日本成人在线电影网| 在线视频国内自拍亚洲视频| 欧美韩国日本一区| 国产一区二区电影| 91精品国产黑色紧身裤美女| 亚洲午夜三级在线| 欧美综合天天夜夜久久| 水野朝阳av一区二区三区| 在线免费不卡视频| 一区二区三区四区精品在线视频| 在线精品观看国产| 亚洲男同1069视频| 色哟哟在线观看一区二区三区| 一区二区三区在线不卡| 在线观看视频一区| 亚洲一区二区在线观看视频| 在线成人免费观看| 蜜臀a∨国产成人精品| 日韩一区二区高清| 国产精品小仙女| 国产欧美综合在线| av中文一区二区三区| 亚洲高清视频中文字幕| 欧美人伦禁忌dvd放荡欲情| 日本中文字幕不卡| 日韩三级精品电影久久久| 久久99国产精品久久99| 欧美日韩高清一区二区不卡 | 亚洲午夜在线电影| 欧美人狂配大交3d怪物一区| 欧美96一区二区免费视频| 国产女人aaa级久久久级 | 欧美性一区二区| 极品瑜伽女神91| 国产欧美va欧美不卡在线| 国产在线视频一区二区| 亚洲精品乱码久久久久久日本蜜臀| 色拍拍在线精品视频8848| 亚洲一区二区三区小说| 欧美刺激午夜性久久久久久久| 国产精品自拍一区| 亚洲无人区一区| 国产亚洲精久久久久久| 欧美综合在线视频| 国产成人亚洲精品青草天美| 亚洲午夜私人影院| 久久精品日产第一区二区三区高清版 | 日韩国产成人精品| 国产亚洲一区二区三区在线观看 | 亚洲电影激情视频网站| 在线看不卡av| 亚洲日本在线看| 日韩一级成人av| 成人激情图片网| 亚洲一区二区三区免费视频| 欧美精品在线观看播放| 午夜欧美电影在线观看| 久久久综合激的五月天| www.性欧美| 青青草国产成人99久久| 一区二区三区四区中文字幕| 精品国产一区二区三区忘忧草 | 亚洲婷婷在线视频| 欧美成人精品1314www| 色哟哟在线观看一区二区三区| 亚洲高清一区二区三区| 日韩美女天天操| 色88888久久久久久影院按摩 | 国产麻豆精品在线| 亚洲日本电影在线| 精品日韩99亚洲| 欧美三级蜜桃2在线观看| 懂色av一区二区三区免费观看 | 日韩无一区二区| 色嗨嗨av一区二区三区| 国产成a人无v码亚洲福利| 久久精品av麻豆的观看方式| 亚洲一区免费在线观看| 日本一区免费视频| 欧美精品日韩一区| 欧美日韩国产经典色站一区二区三区| av午夜一区麻豆| 国产精品66部| 黄页视频在线91| 秋霞午夜av一区二区三区| 中文字幕第一区综合| 久久这里都是精品| 欧美一区二视频| 欧美亚洲精品一区| 在线观看亚洲a| 色哟哟国产精品| 久久99精品视频| 亚洲国产日日夜夜| 亚洲一区二区三区自拍| 亚洲猫色日本管| 亚洲精品一二三| 一区二区成人在线视频| 亚洲男女毛片无遮挡| 亚洲精品一卡二卡| 亚洲欧美日韩国产综合在线| 亚洲欧洲精品成人久久奇米网| 国产精品天干天干在观线| 在线成人午夜影院| 欧美日韩国产天堂| 日本福利一区二区| 欧美日本一区二区在线观看| 欧美日韩在线免费视频| 欧美日韩1区2区| 欧美日韩免费电影| 91精品久久久久久久91蜜桃| 欧美一区二区三区的| 在线不卡一区二区| 日韩三级视频中文字幕| 欧美精品一区在线观看| 欧美日韩视频专区在线播放| 一本色道亚洲精品aⅴ| 欧美色视频在线观看| 9i在线看片成人免费| 色偷偷久久一区二区三区| 欧美日韩大陆在线| 日韩午夜在线观看视频| 精品播放一区二区| 国产欧美日韩卡一| 亚洲午夜电影在线观看| 日本视频在线一区| 国产成人午夜精品影院观看视频 | 国产日韩欧美a| 欧美激情一区二区三区蜜桃视频| 国产精品高潮久久久久无| 一区二区日韩av| 青青草91视频| 国产成人日日夜夜| 欧美最猛性xxxxx直播| 日韩欧美卡一卡二| 综合久久综合久久| 日精品一区二区三区| 国产精品99久久久久久宅男| 成人高清视频在线观看| 91视频观看免费| 91麻豆精品国产91久久久久久久久| 99精品视频一区| 欧美不卡一二三| 亚洲女同女同女同女同女同69| 五月综合激情日本mⅴ| 国产激情精品久久久第一区二区| 色婷婷综合视频在线观看| 日韩欧美123| 亚洲日韩欧美一区二区在线| 精品一区二区三区视频在线观看| 国产精品99久久久久久似苏梦涵 | 韩国v欧美v日本v亚洲v| 色综合视频在线观看| 久久综合色一综合色88| 一区二区理论电影在线观看| 午夜伦欧美伦电影理论片| 丁香婷婷综合激情五月色| 欧美日韩在线观看一区二区 | 中国色在线观看另类| 午夜精品免费在线观看| 免费久久精品视频| 在线国产亚洲欧美| 国产精品色噜噜| 麻豆精品一区二区av白丝在线| 91免费观看视频| 国产精品午夜在线| 国产伦理精品不卡| 欧美一级在线视频| 亚洲高清久久久| 色偷偷久久人人79超碰人人澡 | 国产色产综合色产在线视频| 麻豆免费看一区二区三区| 欧美亚洲综合一区| 亚洲品质自拍视频| 91同城在线观看| 亚洲欧洲一区二区在线播放| 蜜桃免费网站一区二区三区| 欧美日本一区二区三区四区| 亚洲国产一区二区三区| 成人美女视频在线看| 久久久久久久久蜜桃| 久草中文综合在线| 欧美视频在线一区| 亚洲人成网站精品片在线观看| 成人18精品视频| 国产精品国模大尺度视频| 国产黑丝在线一区二区三区| 欧美sm美女调教| 麻豆91精品91久久久的内涵| 一本色道**综合亚洲精品蜜桃冫| 成人欧美一区二区三区视频网页| 国产电影一区二区三区| 日韩欧美不卡在线观看视频| 亚洲一区二区三区四区中文字幕| 国产成人激情av| 国产精品久久免费看|