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

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

?? 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

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
依依成人综合视频| 一区二区三区在线高清| 91极品美女在线| 国产美女娇喘av呻吟久久| 亚洲免费观看高清完整版在线观看 | 国产一区二区在线影院| 日韩伦理av电影| 欧美tk—视频vk| 欧美精品自拍偷拍| 99久久精品国产麻豆演员表| 蜜臀久久99精品久久久久宅男| 亚洲欧洲另类国产综合| 日韩午夜在线播放| 欧美日本一区二区| 色国产综合视频| 波多野结衣中文一区| 激情五月婷婷综合| 免费一级片91| 日韩成人一区二区| 亚洲综合无码一区二区| 成人欧美一区二区三区| 国产日韩影视精品| 久久亚洲一区二区三区四区| 欧美喷潮久久久xxxxx| 色综合久久久网| 成人免费视频国产在线观看| 国产精品资源在线看| 美女脱光内衣内裤视频久久网站| 亚洲成精国产精品女| 亚洲丝袜另类动漫二区| 欧美国产综合色视频| 国产欧美一区二区精品性色超碰 | 色综合天天综合色综合av| 风间由美一区二区av101| 精品一区二区在线免费观看| 蜜臀av一区二区在线免费观看| 午夜视频一区在线观看| 五月婷婷激情综合| 青青草视频一区| 奇米精品一区二区三区四区| 蜜乳av一区二区| 精品一区中文字幕| 国产很黄免费观看久久| 国产成人丝袜美腿| 成人精品电影在线观看| 99精品国产一区二区三区不卡| 99在线热播精品免费| 暴力调教一区二区三区| 99r精品视频| 欧美性色黄大片| 欧美精品三级日韩久久| 欧美一级日韩一级| 久久久午夜电影| 欧美国产精品一区| 日韩久久一区二区| 亚洲国产日韩精品| 青青青爽久久午夜综合久久午夜| 另类小说欧美激情| 国产成人亚洲综合a∨婷婷| 成人一区二区三区视频在线观看| 91免费版在线看| 欧美日韩国产小视频| 日韩一区二区电影| 中文字幕久久午夜不卡| 亚洲男人的天堂av| 美美哒免费高清在线观看视频一区二区 | 中文字幕va一区二区三区| 1024国产精品| 婷婷一区二区三区| 精彩视频一区二区| 91在线观看视频| 欧美一级理论片| 国产精品素人视频| 亚洲成人在线网站| 国产白丝精品91爽爽久久| 成人激情av网| 在线综合视频播放| 国产精品美女一区二区| 亚洲va欧美va国产va天堂影院| 美女在线视频一区| 91蜜桃传媒精品久久久一区二区| 538在线一区二区精品国产| 国产日韩欧美麻豆| 午夜日韩在线观看| 大桥未久av一区二区三区中文| 欧美三区在线观看| 国产精品五月天| 日韩电影在线一区| 91在线观看地址| 欧美videofree性高清杂交| 亚洲另类在线视频| 国产一区二区三区视频在线播放| 在线亚洲人成电影网站色www| 欧美大胆人体bbbb| 一区二区三区精密机械公司| 狠狠色丁香九九婷婷综合五月| 色猫猫国产区一区二在线视频| 精品91自产拍在线观看一区| 亚洲免费成人av| 国产凹凸在线观看一区二区 | 国产丝袜在线精品| 日本在线不卡视频| 91看片淫黄大片一级在线观看| 2021国产精品久久精品| 午夜视黄欧洲亚洲| 91黄视频在线观看| 亚洲欧美日韩人成在线播放| 国产一区二区女| 欧美一卡2卡三卡4卡5免费| 亚洲人成精品久久久久久| 国产成人精品影视| 欧美大白屁股肥臀xxxxxx| 五月天丁香久久| 色婷婷精品大视频在线蜜桃视频| 亚洲国产成人在线| 国产精品亚洲人在线观看| 欧美videos中文字幕| 亚洲成av人片在线观看| 色婷婷av一区二区三区gif| 国产三级三级三级精品8ⅰ区| 美腿丝袜亚洲综合| 欧美一区二区精品久久911| 一区二区三区中文字幕| 99精品视频在线播放观看| 亚洲国产成人午夜在线一区| 国产乱子伦视频一区二区三区| 精品欧美一区二区久久| 日韩高清一区二区| 欧美一级日韩不卡播放免费| 石原莉奈在线亚洲三区| 欧美少妇xxx| 亚洲成av人影院| 91精品婷婷国产综合久久竹菊| 午夜电影网一区| 欧美日韩夫妻久久| 日本aⅴ亚洲精品中文乱码| 欧美日韩免费电影| 免费观看一级特黄欧美大片| 欧美一区二区三区在线观看视频| 日韩**一区毛片| 日韩欧美一区二区视频| 韩国精品在线观看| 欧美激情一区二区三区蜜桃视频| 成人一区二区三区| 亚洲欧洲一区二区在线播放| 91在线码无精品| 亚洲成在线观看| 91精品蜜臀在线一区尤物| 激情综合网激情| 日本一区二区综合亚洲| 91蜜桃在线免费视频| 亚洲高清一区二区三区| 欧美一区二区视频在线观看2022| 久久精品久久综合| 国产片一区二区三区| 99视频在线观看一区三区| 亚洲在线免费播放| 欧美一区二区福利视频| 国产成人综合网| 日韩毛片精品高清免费| 欧美丰满美乳xxx高潮www| 九九**精品视频免费播放| 国产精品久久久久永久免费观看 | 91一区在线观看| 午夜精品123| 久久精品人人做人人综合| av高清久久久| 日本怡春院一区二区| 国产视频一区不卡| 欧亚一区二区三区| 极品少妇一区二区三区精品视频| 中文字幕在线播放不卡一区| 欧美日韩一级片在线观看| 久久99久久精品| 亚洲精品福利视频网站| 欧美一级国产精品| 成人网页在线观看| 日av在线不卡| 中文字幕日韩精品一区| 欧美乱熟臀69xxxxxx| 国产老女人精品毛片久久| 亚洲亚洲人成综合网络| xnxx国产精品| 欧美精品久久天天躁| 成人一区二区三区| 日本欧美大码aⅴ在线播放| 国产精品人人做人人爽人人添| 欧美精品丝袜久久久中文字幕| 福利一区福利二区| 日本在线不卡视频| 一区二区三区小说| 欧美国产欧美亚州国产日韩mv天天看完整| 在线视频国内自拍亚洲视频| 国产一区欧美一区| 日韩中文字幕不卡| 亚洲乱码国产乱码精品精的特点 | 国产日韩欧美电影| 欧美久久久久久久久久| 不卡免费追剧大全电视剧网站| 奇米亚洲午夜久久精品|