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

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

?? sysfei82557end.c

?? Vxworks For PC Pentium 的BSP,已在Vmware上調(diào)試通過(guò),可以在pentium/pentiumII/pentium/PentiumIV 上運(yùn)行,以太網(wǎng)口工作正常. 調(diào)試環(huán)境,
?? C
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
/* sysFei82557End.c - system configuration module for fei82557End driver */ /* Copyright 1984-2002 Wind River Systems, Inc. *//*modification history--------------------01d,16jul02,jln  Added PCI device ID for 82559 chip in I82845 (spr 79781) 01c,29may02,pai  Added workaround for H/W errata relating to 82562 PHY                 integrated in i82801BA/M ICH2.01b,07nov01,pai  Updated documentation and routines for new device discovery                 algorithm (SPR# 35716).01a,11oct01,pai  Written from sysNetif.  Added dmh 8255x device discovery                 (SPR# 29068).*/ /*DESCRIPTIONThis is the WRS-supplied configuration module for the VxWorksfei82557End (fei) END driver.  It has routines for initializing deviceresources and provides BSP-specific fei82557End driver routines for anyIntel 82557, 82558, 82559, and 82562 fast Ethernet PCI bus controllersfound on the system.The number of supported devices that can be configured for a particularsystem is finite and is specified by the FEI_MAX_UNITS configurationconstant.  This value, and the internal data structures using it, can bemodified in this file for specific implementations.SEE ALSO: muxLib, endLib, ifLib,\tb "Intel 82557 User's Manual,"\tb "Intel 82558 Fast Ethernet PCI Bus Controller with Integrated PHY,"\tb "Intel 82559 Fast Ethernet Multifunction PCI/Cardbus Controller,"\tb "Intel 82559ER Fast Ethernet PCI Controller,"\tb "Intel PRO100B PCI Adapter Driver Technical Reference."INTERNALThe 8255x MII management interface allows the CPU control over the PHY unitvia a control regsiter in the 8255X.  This register, called the ManagementData Interface (MDI) Control Register, allows driver software to place thePHY in specific modes and query the PHY unit for link status.  The structureof the MDI Control Register is described in the following figure.    +-----+--+--+-----+----------+----------+----------------------+    |31 30|29|28|27 26|25      21|20      16|15                   0|    +-----+--+--+-----+----------+----------+----------------------+    | 0  0| I| R|  OP |  PHYADD  |  REGADD  |         DATA         |    +-----+--+--+-----+----------+----------+----------------------+Where:    Bits     Name              -----------------------------     0-15    Data    16-20    PHY Register Address    21-25    PHY Address    26-27    Opcode    28       Ready    29       Interrupt Enable    30-31    ReservedIn a write command, software places the data bits in the "Data" field,and the 8255x shifts them out to the PHY unit.  In a read command the8255x reads these bits serially from the PHY unit, and software canread them from this location.  The "PHY Register Address" field holdsthe PHY register address.  The "PHY Address" field holds the PHY address.The "Opcode" field has valid values:    01 - MDI write    10 - MDI readAny other values for the Opcode field are reserved.  The "Ready" field isset to '1' by the 8255x at the end of an MDI transaction (for example, aread or a write has been completed).  It should be reset to '0' by softwareat the same time the command is written.  The "Interrupt Enable" field,when set to '1' by software, will cause the 8255x to assert an interruptto indicate the end of an MDI cycle.  The "Reserved" field should alwaysbe set to 00b.This configuration module uses local routines sys557mdioRead() andsys557mdioWrite() as an interface for reading and writing MDI data.  BSPusers should not be using these routines to adjust the PHY independent ofthe driver and configuration routines contained herein.ERRATAFrom the Errata secion of Intel document number 298242-015, 'Intel 82801BAI/O Controller Hub 2 (ICH2) and Intel 82801BAM I/O Controller Hub 2 Mobile(ICH2-M) Specification Update':    "30.  LAN Microcontroller PCI Protocol Violation     Problem:     When the ICH2/ICH2-M (using the 82562ET PLC) is receiving large files     from a peer LAN device using the 10 Mbps data rate, the ICH2/ICH2-M     can cause a system lock-up.  Specifically, if the LAN controller has     Standby Enable set (EEPROM Word 0Ah bit-1 = 1), while receiving large     files using the 10 Mbps data rate and receives a CU_RESUME command     when it is just entering IDLE state, the ICH2/ICH2-M will cause a PCI     protocol violation (typically by asserting FRAME# and IRDY# together)     within the next few PCI cycles.  This will cause the PCI bus to     lock-up, further resulting in system lock-up.      Implication:     Large file transfers to the ICH2/ICH2-M using 10 Mpbs can cause the     receiving system to lock-up.      Workaround:     Clear EEPROM Word 0Ah bit-1 to 0.  This will result in an increase     power consumption of the ICH2/ICH2-M of ~ 40 mW.      Status:     There are no plans to fix this erratum."The sys557Init() routine implements the specified workaround for thiserrata.*/#if defined(INCLUDE_FEI_END)/* includes */#include <end.h>#include <drv/end/fei82557End.h>/* defines *//* BSP specific FEI ethernet device type constants */#define TYPE_PRO100B_PCI  (1)           /* Intel EtherExpress PRO-100B PCI */#define TYPE_I82557_PCI   (2)           /* Intel 82557 - 82559 */#define TYPE_I82559_PCI   (3)           /* Intel "InBusiness" model */#define TYPE_I82559ER_PCI (4)           /* Intel 82559ER */#define TYPE_I82562_PCI   (5)           /* Intel ICH2 integrated 82562 */#define TYPE_I82562ET_PCI (6)           /* Intel 82562, PCI Revs 1 & 3 *//* EEPROM control bits */#define EE_SK             (0x01)        /* shift clock */#define EE_CS             (0x02)        /* chip select */#define EE_DI             (0x04)        /* chip data in */#define EE_DO             (0x08)        /* chip data out *//* EEPROM opcode */#define EE_CMD_WRITE      (0x05)        /* WRITE opcode, 101 */#define EE_CMD_READ       (0x06)        /* READ  opcode, 110 */#define EE_CMD_ERASE      (0x07)        /* ERASE opcode, 111 *//* EEPROM misc. defines */#define EE_CMD_BITS       (3)           /* number of opcode bits */#define EE_ADDR_BITS      (6)           /* number of address bits */#define EE_DATA_BITS      (16)          /* number of data bits */#define EE_SIZE           (0x40)        /* 0x40 WORDS */#define EE_SIZE_BITS      (6)#define EE_CHECKSUM       (0xbaba)      /* checksum *//* Management Data Interface (MDI) Register */#define MDI_OPC_READ      (0x08000000)  /* MDI Read command opcode */#define MDI_OPC_WRITE     (0x04000000)  /* MDI Write command opcode *//* form an MDI Read command */#define MDI_COMMAND_RD(phyAddr, regAddr) \    (MDI_OPC_READ | ((phyAddr) << 21) | ((regAddr) << 16))/* form an MDI Write command */#define MDI_COMMAND_WR(phyAddr, regAddr, val) \    (MDI_OPC_WRITE | ((phyAddr) << 21) | ((regAddr) << 16) | (val))/* test the MDI "Ready" field */#define MDI_READY_SET(mdiReg)  ((mdiReg) & 0x10000000)/* get the content of the MDI "Data" field */#define MDI_DATA_GET(mdiReg)   ((UINT16)((UINT32)(mdiReg) & 0x0000ffff))/* PCI Vendor IDs for NICs supported by fei82557End */#define FEI_VENDORID_INTEL     (0x8086)      /* Intel PCI vendor ID */#ifndef INTEL_PCI_VENDOR_ID#define INTEL_PCI_VENDOR_ID    (0x8086)      /* Intel PCI vendor ID */#endif /* INTEL_PCI_VENDOR_ID *//* short list of PCI Device IDs for NICs supported by fei82557End */#define FEI_DEVICEID_i82557        (0x1229)      /* 82557 - 82559 */#define FEI_DEVICEID_i82559        (0x1030)      /* The "InBusiness" model */#define FEI_DEVICEID_i82559ER      (0x1209)      /* 82559ER */#define FEI_DEVICEID_i82562        (0x2449)      /* chipset integrated 82562 */#define FEI_DEVICEID_i82559_I82845 (0x103a)      /* 82559 compatible chip in I82845 */  /* typedefs */typedef struct feiResource             /* FEI_RESOURCE */    {    UINT16           eeprom[EE_SIZE];  /* Ethernet Address of this unit */    INT32            timeout;          /* timeout for the self-test */    INT32            str[6];           /* storage for the self-test result */    volatile INT32 * pResults;         /* pointer to the self-test result */    BOOL             initDone;         /* driver has called sys557Init() */    } FEI_RESOURCE;/* locals */LOCAL UINT32 feiUnits = 0;        /* number of FEIs we found *//* This table defines board extended resources */LOCAL FEI_RESOURCE feiResources [FEI_MAX_UNITS] =    {    {{NONE}, NONE, {NONE}, NULL, FALSE},    {{NONE}, NONE, {NONE}, NULL, FALSE},    {{NONE}, NONE, {NONE}, NULL, FALSE},    {{NONE}, NONE, {NONE}, NULL, FALSE}    };/* This table defines board PCI resources */LOCAL PCI_BOARD_RESOURCE feiPciResources [FEI_MAX_UNITS] =    {    {NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,    {NONE, NONE, NONE, NONE, NONE, NONE},     (void * const)(&feiResources[0])    },    {NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,    {NONE, NONE, NONE, NONE, NONE, NONE},     (void * const)(&feiResources[1])    },    {NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,    {NONE, NONE, NONE, NONE, NONE, NONE},     (void * const)(&feiResources[2])    },    {NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,    {NONE, NONE, NONE, NONE, NONE, NONE},     (void * const)(&feiResources[3])    }    };/* English descriptions of supported PHY devices */LOCAL const char * phyNames [] =     {    "None", "i82553-A/B", "i82553-C", "i82503",    "DP83840", "80c240", "80c24", "i82555",    "unknown-8", "unknown-9", "DP83840A", "unknown-11",    "unknown-12", "unknown-13", "unknown-14", "unknown-15"    };enum phyChips     {    NonSuchPhy=0, I82553AB, I82553C, I82503,    DP83840, S80C240, S80C24, I82555, DP83840A=10, UndefinedPhy    };LOCAL const char * connectors [] = {" RJ45", " BNC", " AUI", " MII"};/* forward declarations */LOCAL UINT16  sys557eepromRead (int unit, int loc);LOCAL void    sys557eepromWrite (int unit, int loc, UINT16 data);LOCAL void    sys557eepromWriteBits (int unit, UINT16 data, int bitlen);LOCAL void    sys557eepromChecksumSet (int unit);LOCAL UINT16  sys557mdioRead   (int unit, int phyId, int loc);LOCAL UINT16  sys557mdioWrite  (int unit, int phyId, int loc, UINT16 value);LOCAL int     sys557IntEnable  (int unit);LOCAL int     sys557IntDisable (int unit);LOCAL int     sys557IntAck     (int unit);LOCAL UINT32  sysFeiDevToType  (UINT32, UINT32, UINT8); /* imports */IMPORT FUNCPTR feiEndIntConnect;IMPORT FUNCPTR feiEndIntDisconnect;/********************************************************************************* sys557PciInit - initialize a 82557 PCI ethernet device** This routine performs basic PCI initialization for FEI 82557 PCI ethernet* devices supported by the fei82557End driver.  If supported, the device* memory and I/O addresses are mapped into the local CPU address space* and an internal board-specific resource table is updated with information* on the board type, memory and I/O addresses.** CAVEATS* This routine must be called before the driver attempts to initialize itself* and the physical device via sys557Init().  Also, this routine must be done* prior to MMU initialization, usrMmuInit().** The number of supported devices that can be configured for a particular* system is finite and is specified by the FEI_MAX_UNITS configuration* constant.** RETURNS:* OK, else ERROR when the specified device is not supported, or if* the device could not be mapped into the local CPU memory space.*/STATUS sys557PciInit    (    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  memIo32;     /* memory-mapped IO address (BAR 0) */    UINT32  ioBase;      /* IO base address (BAR 1) */    UINT32  flash32;     /* optional flash memory base (BAR 2) */    UINT8   irq;         /* interrupt line number (IRQ) for device */    /* number of physical units exceeded the number supported ? */    if (feiUnits >= FEI_MAX_UNITS)        {        return (ERROR);        }    if ((boardType = sysFeiDevToType (vendorId, deviceId, revisionId))        == BOARD_TYPE_UNKNOWN)        {        return (ERROR);        }    pciConfigInLong  (pciBus, pciDevice, pciFunc,                      PCI_CFG_BASE_ADDRESS_0, &memIo32);    pciConfigInLong  (pciBus, pciDevice, pciFunc,                      PCI_CFG_BASE_ADDRESS_1, &ioBase);    pciConfigInLong  (pciBus, pciDevice, pciFunc,                      PCI_CFG_BASE_ADDRESS_2, &flash32);    memIo32 &= PCI_MEMBASE_MASK;    ioBase  &= PCI_IOBASE_MASK;    flash32 &= PCI_MEMBASE_MASK;    /* map a 4Kb 32-bit non-prefetchable memory IO address decoder */    if (sysMmuMapAdd ((void *)(memIo32 & PCI_DEV_MMU_MSK),        PCI_DEV_ADRS_SIZE, VM_STATE_MASK_FOR_ALL, VM_STATE_FOR_PCI) == ERROR)        {        return (ERROR);        }    /* read the IRQ number and vector and save to the resource table */    pciConfigInByte (pciBus, pciDevice, pciFunc,                     PCI_CFG_DEV_INT_LINE, &irq);

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产视频一区二区三区在线观看| 成人app在线观看| 国产精品 欧美精品| 成人白浆超碰人人人人| 日本二三区不卡| 日韩午夜在线观看视频| 国产精品免费视频观看| 亚洲欧洲国产专区| 日本中文字幕一区二区视频| 国产精品亚洲成人| 欧美午夜在线一二页| 久久久精品免费免费| 亚洲欧美乱综合| 久久99久久99精品免视看婷婷 | 欧美日韩大陆一区二区| 精品少妇一区二区三区在线视频| 国产精品麻豆99久久久久久| 午夜视频在线观看一区二区| 国产91精品欧美| 欧美美女一区二区在线观看| 老司机免费视频一区二区| 国产成人av电影免费在线观看| 在线精品国精品国产尤物884a| 久久久天堂av| 亚洲第四色夜色| 成人av网址在线观看| 3atv在线一区二区三区| 亚洲色图制服诱惑 | 欧美日韩一区二区不卡| 久久久亚洲综合| 日韩专区欧美专区| 99精品视频一区| 久久影院午夜论| 五月天亚洲婷婷| 99久久99久久免费精品蜜臀| 日韩女优av电影在线观看| 亚洲欧美国产三级| 国产精品白丝jk黑袜喷水| 欧美久久久久久蜜桃| 亚洲啪啪综合av一区二区三区| 国产精品资源网站| 日韩欧美中文一区| 亚洲一区二区精品久久av| www.日韩大片| 国产亚洲一区二区三区| 免费在线观看日韩欧美| 欧美在线观看一区二区| 国产精品成人午夜| 国产盗摄精品一区二区三区在线| 日韩视频国产视频| 水野朝阳av一区二区三区| 日本精品一区二区三区高清 | 成人中文字幕合集| 26uuu亚洲综合色| 青青草97国产精品免费观看| 欧美日韩亚洲综合一区二区三区| 亚洲精品欧美在线| 国产精品丝袜久久久久久app| 精品一区二区三区免费视频| 6080国产精品一区二区| 亚洲国产精品久久不卡毛片| 91香蕉视频mp4| 国产精品成人一区二区艾草| 成人av资源在线观看| 国产视频一区在线播放| 国产精品一区在线| 久久综合久色欧美综合狠狠| 激情文学综合丁香| 久久久久久亚洲综合影院红桃 | 日韩片之四级片| 日本亚洲电影天堂| 欧美久久久久久蜜桃| 天天爽夜夜爽夜夜爽精品视频| 欧美无乱码久久久免费午夜一区| 亚洲综合男人的天堂| 91色视频在线| 亚洲最新在线观看| 欧美日韩一区二区三区视频 | 欧美性做爰猛烈叫床潮| 亚洲在线免费播放| 欧美三级乱人伦电影| 爽好多水快深点欧美视频| 777xxx欧美| 九色porny丨国产精品| 亚洲精品一区二区三区精华液 | 欧美一区二区福利视频| 久久国产人妖系列| 久久久久综合网| 99久久精品免费| 亚洲永久免费av| 欧美一区二区三区四区在线观看| 久久69国产一区二区蜜臀| 久久久久亚洲蜜桃| 99久精品国产| 亚洲福利一二三区| 精品日本一线二线三线不卡| 国产精品一级片在线观看| 中文字幕一区二区三中文字幕| 一本一本大道香蕉久在线精品 | 欧美主播一区二区三区| 丝袜美腿亚洲色图| 精品国产乱码久久久久久老虎| 国产成人午夜99999| 亚洲另类色综合网站| 666欧美在线视频| 国产东北露脸精品视频| 一级精品视频在线观看宜春院 | 午夜久久久影院| 精品国产区一区| 99综合影院在线| 日韩中文字幕不卡| 久久精品一区八戒影视| 中文字幕欧美日韩一区| 欧美亚洲禁片免费| 黄色精品一二区| 亚洲精品视频观看| 欧美电影免费观看高清完整版| 成人av综合一区| 日本vs亚洲vs韩国一区三区二区 | 日韩中文字幕一区二区三区| 久久久久久夜精品精品免费| 色999日韩国产欧美一区二区| 麻豆91精品视频| 亚洲桃色在线一区| 日韩精品一区二区三区四区| 99久久精品免费看国产免费软件| 日韩**一区毛片| 国产精品国产三级国产有无不卡| 91精品国产免费| 91在线观看美女| 精品在线免费观看| 一区二区三区在线观看欧美| 久久亚洲私人国产精品va媚药| 在线观看国产精品网站| 国产成人精品免费在线| 日韩成人一区二区三区在线观看| 中文字幕欧美日韩一区| 日韩一区二区免费电影| 91麻豆高清视频| 国产高清一区日本| 日韩成人一级片| 亚洲欧洲三级电影| 久久午夜免费电影| 欧美放荡的少妇| 色综合久久久网| 国产91精品露脸国语对白| 日本大胆欧美人术艺术动态| 亚洲精品老司机| 国产精品美女一区二区在线观看| 日韩一区二区麻豆国产| 欧美日韩在线免费视频| 97国产一区二区| 国产成人av福利| 精品一区二区三区影院在线午夜| 午夜精品久久久久久久| 亚洲欧美aⅴ...| 国产欧美精品一区二区三区四区| 欧美一级在线观看| 欧美日韩亚洲综合在线| 一本久久精品一区二区| 成人动漫一区二区在线| 国产一区二区毛片| 蜜臀av一区二区| 日本不卡视频在线| 亚洲福利视频一区二区| 亚洲综合区在线| 一区二区三区欧美在线观看| 综合分类小说区另类春色亚洲小说欧美 | 精品sm在线观看| 日韩一级在线观看| 欧美一区二区视频在线观看2022| 91久久免费观看| 日本高清不卡视频| 91蜜桃网址入口| 91小视频免费看| 中文字幕在线一区| 国产欧美日韩精品在线| 亚洲精品在线电影| 欧美大白屁股肥臀xxxxxx| 欧美一区二区三级| 制服.丝袜.亚洲.另类.中文| 欧美另类高清zo欧美| 7777精品伊人久久久大香线蕉完整版| 欧美性大战久久久| 在线观看一区二区视频| 在线视频国内一区二区| 欧美在线一区二区三区| 欧美性猛片aaaaaaa做受| 欧美视频在线一区| 欧美老肥妇做.爰bbww视频| 欧美久久久久免费| 日韩一区二区在线看片| 欧美第一区第二区| 久久综合久色欧美综合狠狠| 国产三级三级三级精品8ⅰ区| 久久九九国产精品| 国产精品国产三级国产a| 亚洲天天做日日做天天谢日日欢 | 91亚洲精品久久久蜜桃网站 | 国产精品青草久久|