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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? sysgei82543end.c

?? pentium4 pc的vxworks bsp源代碼
?? C
?? 第 1 頁(yè) / 共 4 頁(yè)
字號(hào):
/* sysGei82543End.c - Intel PRO1000X/F/XT/XF/MT/MF driver support routine *//* Copyright 1989-2002 Wind River Systems, Inc.  *//*modification history--------------------01j,07jul02,jln  add 82544GC device ID (spr#79520)01i,21may02,jln  support 82545/82546 fiber-based adapters (spr 78084)01h,25apr02,jln  fix short cable errata; support larger EEPROM; add more                  BSP specific functions; support 82540/82545/82546 chips;                  change the input argument of sys543IntEnable() and                  sys543IntDisable() from vector to unit.01g,23apr02,pai  Made DEC and GEI END driver config names consistent with                 other END driver config names.01f,05dec01,jln  save pciBus/pciDevice/pciFunc in pci resource table;                  more comments on PCI to PHY address translation01e,19nov01,pai  Pass the correct CSR memory size to sysMmuMapAdd().01d,09nov01,pai  Updated documentation and routines for new device discovery                 algorithm (SPR# 35716).01c,16Oct01,jln  added sysGei8254xEndLoad; refined device detecting01b,08Aug01,jln  support jumbo frame and 544_based adapter, more comments01a,08Jan01,jln  written based on sysNetif.c.*//*This module is the WRS-supplied configuration module for Intel PRO1000F/T/XF/XT/MT/MF adapters. It has routines for initializing device resourcesand provides BSP-specific gei82543End (gei) END driver routines forIntel 82540/3/4/5/6 Ethernet PCI bus controllers.The number of supported devices that can be configured for a particularsystem is finite and is specified by the GEI_MAX_DEV configurationconstant.  This value, and the internal data structures using it, can bemodified in this file for specific implementations.SEE ALSO: ifLib,.I "RS82543GC GIGABIT ETHERNET CONTROLLER NETWORKING SILICON DEVELOPER'S MANUAL"*/#if defined(INCLUDE_GEI8254X_END)/* namespace collisions */#undef INTEL_PCI_VENDOR_ID  /* redefined in gei82543End.h (temporary fix) *//* includes */#include "end.h"#include "drv/end/gei82543End.h"/* defines *//* specify the maximum number of physical devices to configure */#define GEI_MAX_DEV      (4)/* Default RX descriptor  */#ifndef GEI_RXDES_NUM#define GEI_RXDES_NUM              (GEI_DEFAULT_RXDES_NUM)#endif/* Default TX descriptor  */#ifndef GEI_TXDES_NUM#define GEI_TXDES_NUM              (GEI_DEFAULT_TXDES_NUM)#endif/* Default User's flags  *//* ORed the flag of GEI_END_JUMBO_FRAME_SUPPORT if jumbo frame needed */#ifndef GEI_USR_FLAG#define GEI_USR_FLAG        (GEI_END_SET_TIMER | \                             GEI_END_SET_RX_PRIORITY | \                             GEI_END_FREE_RESOURCE_DELAY \                            )#endif /* GEI_USR_FLAG *//*  * If jumbo frame supported, the default 9000 bytes of MTU will be used.  * Otherwise 1500 bytes MTU for normal frames. User can set up different  * MTU here for jumbo frames.  */#ifndef GEI_JUMBO_MTU_VALUE#define GEI_JUMBO_MTU_VALUE         (0)  /* Will use default value (9000) */#endif /* GEI_JUMBO_MTU_VALUE *//* * define the offset value for different arches. * For arch like ARM which requires 4-byte alignment for Integer,  * use offset of 2 */#define GEI_X86_OFFSET_VALUE        (0x0)#define GEI_ARM_OFFSET_VALUE        (0x2)#ifndef GEI_OFFSET_VALUE#define GEI_OFFSET_VALUE            GEI_X86_OFFSET_VALUE #endif /* GEI_OFFSET_VALUE *//* * Assuming Little-Endian Arch (i.e. swapping value for the Big-Endian Arch) */#define GEI_SYS_WRITE_REG(unit, reg, value)     \   ((*(volatile UINT32 *)(PCI_MEMIO2LOCAL(geiResources[(unit)].memBaseLow + reg))) = \    (UINT32)(value))#define GEI_SYS_READ_REG(unit, reg)             \   (*(volatile UINT32 *)(PCI_MEMIO2LOCAL(geiResources[(unit)].memBaseLow + reg)))/* PCI device ID for Intel 82543/82544 Ethernet */#define PRO1000_543_PCI_DEVICE_ID_T     (0x1001) /* Copper */#define PRO1000_543_PCI_DEVICE_ID_FT    (0x1004) /* Fiber / Copper */#define PRO1000_544_PCI_DEVICE_ID_XT    (0x1008) /* Copper */#define PRO1000_544_PCI_DEVICE_ID_XF    (0x1009) /* Fiber */#define PRO1000_544_PCI_DEVICE_ID_GC    (0x100c) /* Copper */#define PRO1000_540_PCI_DEVICE_ID_XT    (0x100e) /* Copper only */#define PRO1000_545_PCI_DEVICE_ID_XT    (0x100f) /* Copper */#define PRO1000_546_PCI_DEVICE_ID_XT    (0x1010) /* Copper */#define PRO1000_545_PCI_DEVICE_ID_MF    (0x1011) /* Fiber */#define PRO1000_546_PCI_DEVICE_ID_MF    (0x1012) /* Fiber *//* device resources */#define GEI_MEMSIZE_CSR            (0x20000)     /* 128Kb CSR memory size */#define GEI_MEMSIZE_FLASH          (0x80000)     /* 512Kb Flash memory size */#define GEI_EEPROM_SZ_64           (64)          /* 64 WORD */   #define GEI_EEPROM_SZ_256          (256)         /* 256 WORD */   #define GEI0_SHMEM_BASE             NONE#define GEI0_SHMEM_SIZE             (0)#define GEI0_RXDES_NUM              GEI_RXDES_NUM#define GEI0_TXDES_NUM              GEI_TXDES_NUM#define GEI0_USR_FLAG               GEI_USR_FLAG#define GEI1_SHMEM_BASE             NONE#define GEI1_SHMEM_SIZE             (0)#define GEI1_RXDES_NUM              GEI_RXDES_NUM#define GEI1_TXDES_NUM              GEI_TXDES_NUM#define GEI1_USR_FLAG               GEI_USR_FLAG#define GEI2_SHMEM_BASE             NONE#define GEI2_SHMEM_SIZE             (0)#define GEI2_RXDES_NUM              GEI_RXDES_NUM#define GEI2_TXDES_NUM              GEI_TXDES_NUM#define GEI2_USR_FLAG               GEI_USR_FLAG#define GEI3_SHMEM_BASE             NONE#define GEI3_SHMEM_SIZE             (0)#define GEI3_RXDES_NUM              GEI_RXDES_NUM#define GEI3_TXDES_NUM              GEI_TXDES_NUM#define GEI3_USR_FLAG               GEI_USR_FLAG/* INTEL 82544 INTERNAL PHY */#define INTEL_82544PHY_OUI_ID                   (0x5043)#define INTEL_82544PHY_MODEL                    (0x3)#define INTEL_82544PHY_PHY_SPEC_CTRL_REG        (0x10)#define INTEL_82544PHY_PHY_SPEC_STAT_REG        (0x11)#define INTEL_82544PHY_INT_ENABLE_REG           (0x12)#define INTEL_82544PHY_INT_STATUS_REG           (0x13)#define INTEL_82544PHY_EXT_PHY_SPEC_CTRL_REG    (0x14)#define INTEL_82544PHY_RX_ERROR_COUNTER         (0x15)#define INTEL_82544PHY_PHY_GLOBAL_STAT          (0x17)#define INTEL_82544PHY_LED_CTRL_REG             (0x18)#define INTEL_82544PHY_PSCR_ASSERT_CRS_ON_TX    (0x0800)#define INTEL_82544PHY_EPSCR_TX_CLK_25          (0x0070)/* Alaska PHY's information */#define MARVELL_OUI_ID                  (0x5043)#define MARVELL_ALASKA_88E1000          (0x5)#define MARVELL_ALASKA_88E1000S         (0x4)#define ALASKA_PHY_SPEC_CTRL_REG        (0x10)#define ALASKA_PHY_SPEC_STAT_REG        (0x11)#define ALASKA_INT_ENABLE_REG           (0x12)#define ALASKA_INT_STATUS_REG           (0x13)#define ALASKA_EXT_PHY_SPEC_CTRL_REG    (0x14)#define ALASKA_RX_ERROR_COUNTER         (0x15)#define ALASKA_LED_CTRL_REG             (0x18)#define ALASKA_PSCR_ASSERT_CRS_ON_TX    (0x0800)#define ALASKA_EPSCR_TX_CLK_25          (0x0070)#define ALASKA_PSCR_AUTO_X_1000T        (0x0040)#define ALASKA_PSCR_AUTO_X_MODE         (0x0060)#define ALASKA_PSSR_DPLX                (0x2000)#define ALASKA_PSSR_SPEED               (0xC000)#define ALASKA_PSSR_10MBS               (0x0000)#define ALASKA_PSSR_100MBS              (0x4000)#define ALASKA_PSSR_1000MBS             (0x8000)/* typedefs */typedef struct geiResource        /* GEI_RESOURCE */    {    BOOL   adr64;                 /* Indicator for 64-bit support */    UINT32 memBaseLow;            /* Base Address LOW */    UINT32 memBaseHigh;           /* Base Address HIGH */    UINT32 flashBase;             /* Base Address for FLASH */    UINT16 eepromSize;            /* size in unit of word (16 bit) - 64/256 */     UINT16 eeprom_icw1;           /* EEPROM initialization control word 1 */    UINT16 eeprom_icw2;           /* EEPROM initialization control word 2 */    UCHAR  enetAddr[6];           /* MAC address for this adaptor */    UINT32 shMemBase;             /* Share memory address if any */    UINT32 shMemSize;             /* Share memory size if any */    UINT32 rxDesNum;              /* RX descriptor for this unit */    UINT32 txDesNum;              /* TX descriptor for this unit */    BOOL   useShortCable;         /* TRUE if short cable used for 82544 */                                     /* by default is FALSE */    UINT32 usrFlags;              /* user flags for this unit */    STATUS iniStatus;             /* initialization perform status */    } GEI_RESOURCE;/* locals */LOCAL UINT32 geiUnits = 0;     /* number of GEIs we found *//* This table defined board extended resources */LOCAL GEI_RESOURCE geiResources [GEI_MAX_DEV] =    {    {FALSE, NONE, NONE, NONE, GEI_EEPROM_SZ_64, 0, 0, {NONE},     GEI0_SHMEM_BASE, GEI0_SHMEM_SIZE, GEI0_RXDES_NUM, GEI0_TXDES_NUM, FALSE,      GEI0_USR_FLAG, ERROR    },    {FALSE, NONE, NONE, NONE, GEI_EEPROM_SZ_64, 0, 0, {NONE},     GEI1_SHMEM_BASE, GEI1_SHMEM_SIZE, GEI1_RXDES_NUM, GEI1_TXDES_NUM, FALSE,      GEI1_USR_FLAG, ERROR    },    {FALSE, NONE, NONE, NONE, GEI_EEPROM_SZ_64, 0, 0, {NONE},     GEI2_SHMEM_BASE, GEI2_SHMEM_SIZE, GEI2_RXDES_NUM, GEI2_TXDES_NUM, FALSE,      GEI2_USR_FLAG, ERROR    },    {FALSE, NONE, NONE, NONE, GEI_EEPROM_SZ_64, 0, 0, {NONE},     GEI3_SHMEM_BASE, GEI3_SHMEM_SIZE, GEI3_RXDES_NUM, GEI3_TXDES_NUM, FALSE,      GEI3_USR_FLAG, ERROR    }    };/* This table defines board PCI resources */LOCAL PCI_BOARD_RESOURCE geiPciResources [GEI_MAX_DEV] =    {    {NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,    {NONE, NONE, NONE, NONE, NONE, NONE},     (void * const)(&geiResources[0])    },    {NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,    {NONE, NONE, NONE, NONE, NONE, NONE},     (void * const)(&geiResources[1])    },    {NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,    {NONE, NONE, NONE, NONE, NONE, NONE},     (void * const)(&geiResources[2])    },    {NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,    {NONE, NONE, NONE, NONE, NONE, NONE},     (void * const)(&geiResources[3])    }    };/* forward declarations */LOCAL int       sys543IntEnable  (int unit);LOCAL int       sys543IntDisable (int unit);LOCAL int       sys543IntAck     (int unit);LOCAL STATUS    sys543eepromCheckSum (int unit);LOCAL UINT16    sys543eepromReadWord (int unit,UINT32);LOCAL STATUS    sys543EtherAdrGet (int unit);LOCAL void      sys544PhyPreInit (PHY_INFO *);LOCAL void      sys543PhySpecRegsInit(PHY_INFO *, UINT8);LOCAL BOOL      sysGei82546InitTimerSetup (ADAPTOR_INFO * ); LOCAL BOOL      sysGei82546DynaTimerSetup (ADAPTOR_INFO * ); LOCAL UINT32    sysGeiDevToType (UINT32, UINT32, UINT8);/******************************************************************************* sys543PciInit - initialize a GEI 8254x PCI ethernet device** This routine performs basic PCI initialization for 8254x ethernet* devices supported by the gei82543End END driver.  Parameters to this* routine specify a PCI function, including PCI ID registers, to* initialize.  If supported,  the device memory and I/O addresses are* mapped into the local CPU address space and an internal board-specific* PCI resources table is updated with information on the board type,* memory address, and IO address.** CAVEATS* This routine must be performed prior to MMU initialization, usrMmuInit().* If the number of supported 8254x physical device instances installed* on the PCI bus exceeds GEI_MAX_DEV, then the extra devices will not be* initialized in this routine.** RETURNS:* OK, or ERROR if the specified device is not supported, or if* the device could not be mapped into the local CPU memory space.*/STATUS sys543PciInit    (    UINT32         pciBus,      /* store a PCI bus number */    UINT32         pciDevice,   /* store a PCI device number */    UINT32         pciFunc,     /* store a PCI function number */    UINT32         vendorId,    /* store a PCI vendor ID */    UINT32         deviceId,    /* store a PCI device ID */    UINT8          revisionId   /* store a PCI revision ID */    )    {    UINT32         boardType;   /* store a BSP-specific board type constant */    UINT32         memBaseLo;   /* temporary BAR storage */    UINT32         memBaseHi;    UINT32         flashBase;    UINT8          irq;         /* store PCI interrupt line (IRQ) number */    GEI_RESOURCE * pReso;       /* alias extended resource table */    /* number of physical units exceeded the number supported ? */    if (geiUnits >= GEI_MAX_DEV)        {        return (ERROR);        }    if ((boardType = sysGeiDevToType (vendorId, deviceId, revisionId))        == BOARD_TYPE_UNKNOWN)        {        return (ERROR);        }    /* BAR information will be saved in the extended resource table */    pReso = (GEI_RESOURCE *)(geiPciResources[geiUnits].pExtended);    /*     * BAR0: [32:17]: memory base     *       [16:4] : read as "0";     *       [3]    : 0 - device is not prefetchable     *       [2:1]  : 00b - 32-bit address space, or     *                01b - 64-bit address space     *       [0]    : 0 - memory map decoded     *     * BAR1: if BAR0[2:1] == 00b, optional flash memory base     *       if BAR0[2:1] == 01b, high portion of memory base      *                            for 64-bit address space

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品vⅰdeose4hd| 亚洲丝袜美腿综合| 91麻豆精品国产自产在线| 99re成人在线| 色婷婷国产精品久久包臀| 国产传媒欧美日韩成人| 国产毛片精品视频| 久久草av在线| 国产伦精品一区二区三区视频青涩 | 精品成人私密视频| 欧美一级片在线| 欧美在线影院一区二区| 国产嫩草影院久久久久| 9191精品国产综合久久久久久| 91色.com| av电影在线不卡| 成人av电影在线网| 国产精品一二三在| 国产精品一色哟哟哟| 舔着乳尖日韩一区| 日韩国产欧美在线播放| 日韩成人免费看| 精品一区二区三区久久| 美洲天堂一区二卡三卡四卡视频 | 麻豆专区一区二区三区四区五区| 无码av免费一区二区三区试看 | 5月丁香婷婷综合| 日韩欧美美女一区二区三区| 欧美一区2区视频在线观看| 欧美一区二区日韩一区二区| 国产欧美精品国产国产专区| 欧美高清一级片在线观看| 国产精品久线观看视频| 亚洲色图在线播放| 亚洲宅男天堂在线观看无病毒| 亚洲精品高清在线| 亚洲成在人线在线播放| 日韩精品福利网| 日韩成人精品在线| 国产成人在线观看免费网站| 国产成人精品午夜视频免费| gogogo免费视频观看亚洲一| 色噜噜偷拍精品综合在线| 欧美乱妇一区二区三区不卡视频| 日韩一区二区精品| 国产午夜久久久久| 1024成人网色www| 日韩av中文字幕一区二区| 国产精品996| 91国在线观看| 日韩一级二级三级| 久久精子c满五个校花| 综合网在线视频| 日韩电影在线观看电影| 国产综合久久久久影院| 91丨porny丨蝌蚪视频| 欧美日韩性生活| 久久综合九色欧美综合狠狠| 亚洲国产精品成人综合| 欧美伊人精品成人久久综合97| 91福利资源站| 精品福利av导航| 国产精品久久久久一区二区三区共 | 在线精品视频一区二区| 欧美成人一区二区三区片免费| 日韩欧美亚洲国产精品字幕久久久| 久久精品一区二区| 亚洲五码中文字幕| 国产盗摄视频一区二区三区| 欧美日韩免费高清一区色橹橹| 欧美一区二区三区播放老司机| 国产精品三级av| 日韩av在线免费观看不卡| bt7086福利一区国产| 欧美日韩国产首页| 国产精品久久久久四虎| 日韩电影一区二区三区四区| 99精品国产一区二区三区不卡| 日韩一级大片在线观看| 精品欧美黑人一区二区三区| 一区二区三区在线视频观看 | 日韩免费视频一区二区| 亚洲精品欧美激情| 国产一区二区三区电影在线观看| 成人国产精品免费观看视频| 91精品国产综合久久精品| 国产精品第一页第二页第三页| 亚洲国产日韩精品| 成人a区在线观看| 欧美欧美午夜aⅴ在线观看| 亚洲乱码国产乱码精品精可以看 | 亚洲综合av网| 成人av在线看| 精品国产一区二区亚洲人成毛片| 亚洲一区二区三区四区在线| 成人福利视频在线看| 精品久久久久99| 午夜精品免费在线| 色菇凉天天综合网| 国产精品久久久久久久浪潮网站 | 国产午夜精品久久久久久免费视| 秋霞电影网一区二区| 欧美在线免费播放| |精品福利一区二区三区| 国产精品456| 亚洲精品一区二区在线观看| 亚洲人成影院在线观看| 国产一区91精品张津瑜| 精品电影一区二区| 另类欧美日韩国产在线| 欧美一级专区免费大片| 亚洲成av人在线观看| 91麻豆国产福利精品| 亚洲人成人一区二区在线观看| 成人福利视频在线看| 欧美成人r级一区二区三区| 韩国av一区二区三区| 精品久久久三级丝袜| 久久国产精品72免费观看| 日韩欧美在线网站| 久久精品国产99| 337p粉嫩大胆噜噜噜噜噜91av| 日韩电影免费在线观看网站| 91精品国产综合久久久久久| 青青草原综合久久大伊人精品 | 亚洲第一会所有码转帖| 91国内精品野花午夜精品| 一区二区三区在线播放| 欧洲精品在线观看| 亚洲天堂成人在线观看| 99久久精品国产导航| 《视频一区视频二区| 色噜噜狠狠成人中文综合| 亚洲精品福利视频网站| 欧美性大战xxxxx久久久| 图片区日韩欧美亚洲| 欧美性大战久久久久久久| 欧美xingq一区二区| 久久99热狠狠色一区二区| 亚洲精品一区二区三区精华液| 国产精品自拍在线| 国产精品麻豆一区二区| 波多野结衣中文字幕一区二区三区 | 在线视频欧美区| 五月激情六月综合| 久久综合色婷婷| 成年人国产精品| 亚洲一区欧美一区| 欧美一区二区三区视频免费播放| 美国欧美日韩国产在线播放 | 亚洲欧美韩国综合色| 欧美视频一区二区三区四区| 蜜桃av噜噜一区| 中文字幕高清一区| 在线精品视频小说1| 国产一区二区三区综合| 国产精品国产三级国产aⅴ中文| 91激情五月电影| 另类小说色综合网站| 国产精品福利一区二区三区| 欧美日韩一区二区在线视频| 日韩一区精品视频| 亚洲综合在线观看视频| 欧美日韩国产精品自在自线| 美国av一区二区| 自拍视频在线观看一区二区| 欧美一级高清大全免费观看| 国产不卡视频在线播放| 免费精品视频在线| 国产精品成人午夜| 91精品国产aⅴ一区二区| 国产91精品一区二区| 婷婷综合久久一区二区三区| 欧美一卡在线观看| 97精品超碰一区二区三区| 久久精品免费看| 日本不卡的三区四区五区| 久久久99精品久久| 欧美顶级少妇做爰| 97久久精品人人做人人爽50路| 日本亚洲一区二区| 亚洲精品免费在线| 亚洲精品在线网站| 欧美欧美欧美欧美| 92精品国产成人观看免费| 久久er99精品| 亚洲图片自拍偷拍| 国产精品免费aⅴ片在线观看| 日本韩国精品在线| 美女被吸乳得到大胸91| 亚洲午夜久久久久中文字幕久| 欧美激情一区二区三区不卡 | 一区二区三区欧美视频| 日韩精品一区二区在线| 欧美日韩一级黄| 91麻豆视频网站| 粉嫩嫩av羞羞动漫久久久| 日本sm残虐另类| 一区二区三区精品久久久| 国产精品伦理在线|