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

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

?? sysend.c.bak

?? INTEL IXP425的VXWORKS BSP
?? BAK
?? 第 1 頁 / 共 3 頁
字號:
/* sysEnd.c - System Enhanced network interface support library *//* Copyright 2002 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------01f,04apr03,m_h  Spelling RDFS becomes RFDS01e,05sep02,jb3  Merge in changes from w/ t2.1 ongiong development01e,01aug02,jb  Removing Dec device support01d,30jul02,jb  Removing debug code01c,27jun02,jb  Fix warnings01b,18jun02,jb  Changing size calculation to allow veloce driver to work01a,05jun02,jb  initial version...*//*DESCRIPTIONThis file contains the board-specific routines for Ethernet adapterinitialisation of Intel Pro 100+ based adapters.NOTEAt the time of writing, this module has only been tested with the followingEthernet cards:    82559 controller: Intel PRO/100+ Management Adapter                      Intel InBusiness 10/100 PCI Network AdapterRefer to the BSP reference entry for any eventual limitations orproblems related to the BSP.SEE ALSO: ifLib,.I "Intel 10/100 MBit Ethernet Family Software technical Reference Manual."*/#include "vxWorks.h"#include "config.h"#include "cacheLib.h"#include "stdio.h"#ifdef INCLUDE_END#include "end.h"#include "netinet/if_ether.h"#include "fei82557End.h"#include "ixp425Pci.h"#ifdef END_DEBUG#undef LOCAL#define LOCAL#endif/* defines */#define CSR_BASE_MSK	0x7f		/* Mask Base Address Register */#define	END_LD_STR_SIZE	80/* PCI memory base address register configuration mode */#define FORCE		0x00	/* overwrite membase address register */#define AUTO		0x01	/* read membase address register *//* * Need to use automatic configuration mode using the resource assigning in * pciAssignResources(). */#define PCI_REG_MOD	AUTO	/* define the register configuration mode */#define TYPE_ALLOC	1000    /*Everything tested & works fine with a delay of 1, but set to 3 in       order to eliminate the possibility of any timing issues with temp. increase etc*/#define PCI_CONFIG_DELAY 3      /* * FEI cards in range 1001 -> 2000 */#define FEI_START	TYPE_ALLOC + 1#define PRO100B		FEI_START	/* Intel EtherExpress PRO-100B PCI */#define INBUSINESS	FEI_START + 1	/* Intel InBusiness 10/100 PCI */#define XX82559ER 	FEI_START + 100	/* Arbitrary card with 82559ER */#define	BOARD_TYPE_NB			(NELEMENTS(boardResources))#ifdef INCLUDE_FEI82557END/* the following two are tunable parameters which specify the   number of transmit and receive buffers to be allocated for   use by an fei (82559) driver. These must never be set below 2,   otherwise the driver will assume a default of 32, and our   calculations of how much memory to allocate for the    driver will be in error*/#define FEI_N_RFDS         32#define FEI_N_TFDS         32/* * FEI_RFD_MULTIPLIER is the multiplier that is applied to the number of RFDs requested * to determine the number of "spares" available for loaning to the network * stack. This value (4) was taken from the fei driver source code (its not * available in the header, so if this changes in future versions of the driver * this will break - if it is increased the driver will complain that we have not * given it enough memory, if it is decreased everything will work but we will be  * wasting SDRAM. */#define FEI_RFD_MULTIPLIER 4#define FEI_N_RFD_LOAN     (FEI_N_RFDS * FEI_RFD_MULTIPLIER)/* * Again  FEI_CL_OVERHEAD has been taken from the fei source code (not specified in header), * so the caveats for the FEI_RFD_MULTIPLIER apply here too */#define FEI_CL_OVERHEAD    4 /* prepended cluster header */#define FEI_CL_RFD_SIZE    (RFD_SIZE + FEI_CL_OVERHEAD)#define FEI_CFD_SIZE       CFD_SIZE/*This calculation is taken from the fei driver source, again, if this changes, the driver will   either complain that it has not been allocated enough memory, or will work fine but we will  be wasting SDRAM*/#define FEI_TOTAL_SIZE     ((FEI_N_RFDS * FEI_CL_RFD_SIZE) + \                           (FEI_N_RFD_LOAN * FEI_CL_RFD_SIZE) + \                           (FEI_N_TFDS * (FEI_CFD_SIZE +sizeof(long))) + 4)/* 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 */#define EE_ENB	        (0x4800 | EE_CS)/* 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 */#define EE_WRITE_0		0x4802#define EE_WRITE_1		0x4806/* 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_CHECKSUM     0xbaba          /* checksum *//* PC compatibility macros */#define FEI_MEMSIZE0            0x00001000#define FEI_INIT_STATE_MASK   (VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE | VM_STATE_MASK_BUFFERABLE)#define FEI_INIT_STATE        (VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT | VM_STATE_BUFFERABLE_NOT)#define UNKNOWN                 (-1)/* 82557/9 PCI specific definitions *//* Intel PRO-100B PCI specific definitions */#ifndef PRO100B_PCI_VENDOR_ID#define PRO100B_PCI_VENDOR_ID   0x8086  /* PCI vendor ID *//*  #define PRO100B_PCI_DEVICE_ID   0x1229  xfsun delete*//* PCI device ID */#define PRO100B_PCI_DEVICE_ID   0x1209  /* PCI device ID */#endif    /* PRO100B_PCI_VENDOR_ID *//* Intel InBusiness 10/100 PCI specific definitions */#ifndef INBUSINESS_PCI_VENDOR_ID#define INBUSINESS_PCI_VENDOR_ID   PRO100B_PCI_VENDOR_ID  /* PCI vendor ID */#define INBUSINESS_PCI_DEVICE_ID   0x1030                 /* PCI device ID */#endif    /* INBUSINESS_PCI_VENDOR_ID */#endif /* INCLUDE_FEI82557END *//* undef'ed PCI_IO_ADRS_OK here as IXP425 does not properly generate  read/writes to IO address space, the FEI NIC also maps its IO space to   a memory space, and can work without IO transactions*/#undef PCI_IO_ADRS_OK/* typedefs */typedef struct pciResource              /* PCI_RESOURCES */    {    UINT32      iobaseCsr;              /* Base Address Register 0 */    UINT32      membaseCsr;             /* Base Address Register 1 */    char        irq;                    /* Interrupt Request Level */    UINT32      irqvec;                 /* Interrupt Request vector */    UINT32      configType;             /* type of configuration */    void *      buf;                    /* any allocated buffer space */    UINT32      cpuToPciOffset;         /* Any offset from CPU to PCI address */    } PCI_RESOURCES;typedef struct boardResource		/* BOARD_RESOURCES */    {    UINT32  type;                   /* type of the board */    UINT32  vendorId;               /* Vendor ID */    UINT32  deviceId;               /* Device ID */    UINT32  decUsrFlags;            /* DEC driver user flags */    } BOARD_RESOURCES;#ifdef INCLUDE_FEI82557ENDtypedef struct feiResource              /* FEI_RESOURCE */    {    UINT32      membaseCsr;             /* Base Address Register 0 */    UINT32      iobaseCsr;              /* Base Address Register 1 */    UINT32      membaseFlash;           /* Base Address Register 2 */    char        irq;                    /* Interrupt Request Level */    UINT32      configType;             /* type of configuration */    UINT32      boardType;              /* type of LAN board this unit is */    UINT32      pciBus;                 /* PCI Bus number */    UINT32      pciDevice;              /* PCI Device number */    UINT32      pciFunc;                /* PCI Function number */    UINT16      eeprom[0x40];           /* 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 */    UINT        memLength;              /* required memory size */    UINT        initialStateMask;       /* mask parameter to vmStateSet */    UINT        initialState;           /* state parameter to vmStateSet */    } FEI_RESOURCE;#endif/* locals *//* * This array defines the board-specific PCI resources, the base address * register configuration mode and the Ethernet adapter type. It's indexed * using the device number returned from pciFindDevice(). * * The mode is set as AUTO so this will be erased by the configuration read * from the card that is effectively set by pciAssignResources(). See * sysLanPciInit() for this. */LOCAL PCI_RESOURCES pciResources [IXP425_PCI_MAX_DEV] =    {    {PCI_IO_ADR0, PCI_MEM_ADR0, PCI_INT_LVL0, PCI_INT_VEC0, PCI_REG_MOD, 0, 0},    {PCI_IO_ADR1, PCI_MEM_ADR1, PCI_INT_LVL1, PCI_INT_VEC1, PCI_REG_MOD, 0, 0},    {PCI_IO_ADR2, PCI_MEM_ADR2, PCI_INT_LVL2, PCI_INT_VEC2, PCI_REG_MOD, 0, 0},    {PCI_IO_ADR3, PCI_MEM_ADR3, PCI_INT_LVL3, PCI_INT_VEC3, PCI_REG_MOD, 0, 0}    };/* * This array defines board-specific vendor and device ids, flags to pass to * the drive load routine and the function used to select the media. */LOCAL BOARD_RESOURCES boardResources [] =    {#ifdef INCLUDE_FEI82557END    {PRO100B, PRO100B_PCI_VENDOR_ID, PRO100B_PCI_DEVICE_ID, 0},    {INBUSINESS, INBUSINESS_PCI_VENDOR_ID, INBUSINESS_PCI_DEVICE_ID, 0},#ifdef INCLUDE_FEI_UNTESTED    {XX82559ER, PRO100B_PCI_VENDOR_ID, I82559ER_PCI_DEVICE_ID, 0},#endif#endif /* INCLUDE_FEI82557END */    };/* END load strings */LOCAL char	endLoadStr[IXP425_PCI_MAX_DEV][END_LD_STR_SIZE];/* Index of devices */LOCAL int       currentEndDevice        = 0;#ifdef INCLUDE_FEI82557ENDLOCAL UINT32 feiUnits;                  /* number of FEIs we found */LOCAL FEI_RESOURCE feiResources [IXP425_PCI_MAX_DEV] =    {    {UNKNOWN, UNKNOWN, UNKNOWN, UNKNOWN,     UNKNOWN, UNKNOWN, UNKNOWN, UNKNOWN, UNKNOWN, {UNKNOWN}, UNKNOWN,     {UNKNOWN}, NULL, FEI_MEMSIZE0, FEI_INIT_STATE_MASK, FEI_INIT_STATE},    {UNKNOWN, UNKNOWN, UNKNOWN, UNKNOWN,     UNKNOWN, UNKNOWN, UNKNOWN, UNKNOWN, UNKNOWN, {UNKNOWN}, UNKNOWN,     {UNKNOWN}, NULL, FEI_MEMSIZE0, FEI_INIT_STATE_MASK, FEI_INIT_STATE},    {UNKNOWN, UNKNOWN, UNKNOWN, UNKNOWN,     UNKNOWN, UNKNOWN, UNKNOWN, UNKNOWN, UNKNOWN, {UNKNOWN}, UNKNOWN,     {UNKNOWN}, NULL, FEI_MEMSIZE0, FEI_INIT_STATE_MASK, FEI_INIT_STATE},    {UNKNOWN, UNKNOWN, UNKNOWN, UNKNOWN,     UNKNOWN, UNKNOWN, UNKNOWN, UNKNOWN, UNKNOWN, {UNKNOWN}, UNKNOWN,     {UNKNOWN}, NULL, FEI_MEMSIZE0, FEI_INIT_STATE_MASK, FEI_INIT_STATE}    };LOCAL const char * phys[] =    {    "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 phy_chips    {    NonSuchPhy=0, I82553AB, I82553C, I82503,    DP83840, S80C240, S80C24, I82555, DP83840A=10, UndefinedPhy    };LOCAL const char *connectors[] = {" RJ45", " BNC", " AUI", " MII"};#endif /* INCLUDE_FEI82557END *//* imports *//* End device table - should be IXP425_PCI_MAX_DEV+1 entries */IMPORT END_TBL_ENTRY	endDevTbl[];IMPORT unsigned char sysMacBase[];#ifdef INCLUDE_FEI82557END/* FEI specific imports */IMPORT FUNCPTR  feiEndIntConnect;IMPORT FUNCPTR  feiEndIntDisconnect;IMPORT END_OBJ* fei82557EndLoad (char *, void *);IMPORT void	sysFlashBoardDelay (void);/*extern void sysDelay(void);*/extern void sysMicroDelay(int microseconds);/* forward declarations */extern void printpxu(char *nameptr, unsigned int value);LOCAL UINT16    sys557eepromRead (int unit, int location);LOCAL UINT32    sys557mdioRead   (int unit, int phyId, int location);LOCAL UINT32    sys557mdioWrite  (int unit, int phyId, int location, int value);LOCAL int       sys557IntEnable  (int unit);LOCAL int       sys557IntDisable (int unit);LOCAL int       sys557IntAck     (int unit);UINT32 sys557EndPhysToPci ( int	unit, UINT32 PhysAddr);UINT32 sys557EndPciToPhys ( int	unit, UINT32 PhysAddr);#endif /* INCLUDE_FEI82557END */#define SWAP16(x) ((((x) << 8) | ((x) >> 8)) & 0xFFFF)#define SWAP32(x)               \  (((x) << 24) |                \  (((x) & 0x0000FF00) << 8) |   \  (((x) & 0x00FF0000) >> 8) |   \  (((unsigned int)(x)) >> 24))#ifdef PCI_IO_ADRS_OK#define sysPciOutWord(addr,data)   PCI_OUT_WORD((void*)(addr-IXP425_PHYS_PCI_IO_BASE),data)#define sysPciOutLong(addr,data)   PCI_OUT_LONG((void*)(addr-IXP425_PHYS_PCI_IO_BASE),data)#else#ifdef IXP425_PCI_ENABLE_BYTE_ROUTING#define sysPciOutWord(addr,data)   *(volatile UINT16*)((addr)) = SWAP16((UINT16)data)#define sysPciOutLong(addr,data)   *(volatile UINT32*)((addr)) = SWAP32((UINT32)data)#else#define sysPciOutWord(addr,data)   *((volatile UINT16*)((addr) & ~3)) = (UINT16)data#define sysPciOutLong(addr,data)   *(volatile UINT32*)((addr)) = (UINT32)data#endif#endif /*PCI_IO_ADRS_OK*//*because we do not return read values as return codes in our  pci IO config library, we must define these as functions, not macros*/UINT16 sysInWord(ULONG addr){#ifdef PCI_IO_ADRS_OK    UINT16 retval;    pciIOInWord((void*)(addr-IXP425_PHYS_PCI_IO_BASE), &retval);    return retval;#else    UINT32 val;    UINT16 retval;    if (addr & 3)    {	addr=addr & ~3; /*round down to 32 bit align*/	val = *((UINT32*)addr);#ifdef IXP425_PCI_ENABLE_BYTE_ROUTING	val = SWAP32(val); #endif	retval = val >> 16;	return retval;    }    else    {	return *((UINT16*)addr);    }#endif /*PCI_IO_ADRS_OK*/}ULONG sysInLong(ULONG addr){#ifdef PCI_IO_ADRS_OK    ULONG retval;    pciIOInLong((void*)(addr-IXP425_PHYS_PCI_IO_BASE), &retval);    return retval;#else#ifdef IXP425_PCI_ENABLE_BYTE_ROUTING    return SWAP32(*((ULONG*)addr));#else    return *((ULONG*)addr);#endif#endif}/********************************************************************************* sysLanPciInit - prepare LAN adapter for initialization

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美综合亚洲图片综合区| 国产视频一区二区在线| 亚洲精品国产高清久久伦理二区| 99精品欧美一区二区三区小说| 在线一区二区三区四区| 日韩片之四级片| 欧美激情在线一区二区| 国产精品久久看| 午夜一区二区三区视频| 国产一区二区0| 欧美亚洲综合久久| 欧美一区在线视频| 亚洲人快播电影网| 色婷婷综合久色| 国产精品久久看| 国产不卡视频在线观看| 一区二区三区四区不卡在线 | 亚洲色图清纯唯美| 成人国产精品免费观看动漫| 中文字幕亚洲不卡| 亚洲国产一区二区视频| 亚洲不卡一区二区三区| 国产精品久久三| 丰满少妇在线播放bd日韩电影| 日韩一区二区三区高清免费看看| 最新日韩av在线| 一本久久a久久精品亚洲| 五月婷婷另类国产| 国产亚洲一区二区三区在线观看 | 久久综合九色综合久久久精品综合| 不卡av免费在线观看| 亚洲日本va在线观看| 欧美日韩精品一区二区三区四区| 亚洲自拍欧美精品| 国产精品久久久久aaaa| 欧美猛男超大videosgay| 琪琪一区二区三区| 精品国产百合女同互慰| 欧美伊人久久久久久午夜久久久久| 色先锋aa成人| 极品少妇xxxx精品少妇| 亚洲日本成人在线观看| www国产精品av| 欧美日韩aaa| 91蜜桃免费观看视频| 亚洲一区二区高清| 亚洲精品v日韩精品| 国产精品久久久久久久浪潮网站| 波多野结衣一区二区三区| 在线不卡免费av| 91片在线免费观看| av中文一区二区三区| 国产iv一区二区三区| 国产精品毛片久久久久久久| 7777精品伊人久久久大香线蕉超级流畅| 欧美综合欧美视频| 91精品国产91久久久久久最新毛片| 国产在线不卡一区| 色视频欧美一区二区三区| 亚洲一区二区三区影院| 欧美一区二区啪啪| 国产成人h网站| 一区二区三区四区高清精品免费观看 | 欧美二区三区的天堂| 日韩激情一二三区| 国产欧美一区二区三区在线老狼| 色呦呦网站一区| 国产综合成人久久大片91| 亚洲免费观看高清完整版在线观看熊 | 成人丝袜18视频在线观看| 亚洲一区二区精品3399| 2020国产精品自拍| 欧美性videosxxxxx| 国产自产v一区二区三区c| 亚洲欧美日韩一区| 日韩精品一区二区三区蜜臀| 91在线观看高清| 精品一区二区三区在线视频| 亚洲人成精品久久久久| 久久亚洲精品小早川怜子| 欧美最猛黑人xxxxx猛交| 国产91高潮流白浆在线麻豆| 日韩精品电影一区亚洲| 国产精品国产自产拍高清av | 欧美日韩亚洲综合在线| 不卡一区中文字幕| 韩国av一区二区三区四区| 性欧美疯狂xxxxbbbb| 日本一区二区不卡视频| 日韩欧美国产wwwww| 色偷偷成人一区二区三区91| 国产成人丝袜美腿| 韩国v欧美v日本v亚洲v| 日韩av电影天堂| 亚洲高清久久久| 亚洲综合免费观看高清完整版| 欧美国产97人人爽人人喊| 精品国产免费一区二区三区香蕉| 欧美婷婷六月丁香综合色| 99久久精品国产观看| 国产盗摄视频一区二区三区| 精品制服美女丁香| 日韩成人午夜电影| 午夜激情一区二区| 亚洲一区二区三区四区在线 | 蜜臀av国产精品久久久久| 亚洲在线观看免费视频| 亚洲人成网站在线| 1区2区3区欧美| 亚洲日穴在线视频| 亚洲美女视频在线| 亚洲精品国产无套在线观| 1024精品合集| 一区二区日韩电影| 亚洲高清在线视频| 爽好多水快深点欧美视频| 亚洲地区一二三色| 肉丝袜脚交视频一区二区| 日本午夜精品一区二区三区电影| 日韩电影网1区2区| 九九视频精品免费| 国产一区二区不卡老阿姨| 国产尤物一区二区在线| 国产98色在线|日韩| 北岛玲一区二区三区四区| 91论坛在线播放| 色一情一乱一乱一91av| 欧美日韩国产一二三| 日韩美女视频一区二区在线观看| 日韩美女一区二区三区四区| 国产欧美一区二区在线| 亚洲女爱视频在线| 午夜精品一区二区三区三上悠亚| 午夜a成v人精品| 国产综合色视频| 99久久精品国产一区| 欧美日韩在线播放一区| 日韩你懂的电影在线观看| 久久九九久久九九| 亚洲欧美日韩电影| 奇米精品一区二区三区四区| 国产一区二区三区四区五区美女| www.亚洲色图.com| 欧美日韩三级一区| 久久久精品综合| 一区二区三区不卡在线观看| 久久国产欧美日韩精品| 国产精品影视在线观看| 91国偷自产一区二区三区观看| 日韩亚洲欧美在线| 亚洲欧美一区二区三区极速播放| 久久久久久久精| 日韩精品五月天| 亚洲一卡二卡三卡四卡| 久久成人免费网| 色综合色综合色综合色综合色综合 | 国产精品中文欧美| 欧美三电影在线| 久久久国产精华| 午夜免费欧美电影| 99麻豆久久久国产精品免费| 欧美一级欧美一级在线播放| 国产精品美女久久久久av爽李琼| 视频在线观看一区二区三区| av在线不卡免费看| 日韩视频在线永久播放| 亚洲精选一二三| 国产一区在线看| 宅男在线国产精品| 亚洲免费av高清| 国产美女精品人人做人人爽| 欧美精品一卡二卡| 一区二区国产视频| 国产成人综合自拍| 日韩一级黄色大片| 一区二区三区四区中文字幕| 国产91精品久久久久久久网曝门| 欧美一级淫片007| 日精品一区二区三区| 色欧美日韩亚洲| 亚洲欧美日韩久久精品| 丁香婷婷综合网| 久久青草国产手机看片福利盒子| 午夜精品福利一区二区三区av| 色噜噜偷拍精品综合在线| 综合自拍亚洲综合图不卡区| 国产成人在线视频免费播放| 精品裸体舞一区二区三区| 轻轻草成人在线| 日韩欧美国产一二三区| 青青草原综合久久大伊人精品| 欧美性大战久久| 亚洲成a天堂v人片| 欧美日本韩国一区二区三区视频 | 亚洲免费观看高清完整版在线观看| 国产成人av一区二区三区在线| 亚洲精品一区二区三区香蕉| 丝袜国产日韩另类美女| 日韩三级在线免费观看| 麻豆精品视频在线|