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

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

?? fei82557end.h

?? Kontron的ETX-P3T的BSP的源代碼
?? H
?? 第 1 頁 / 共 2 頁
字號:
/* fei82557End.h - Intel 82557 network interface header *//* Copyright 1990-2005 Wind River Systems, Inc. *//*modification history--------------------01r,16feb05,pmr  macrotized the 32-byte alignment used by device.01q,26jan05,pmr  SPR 102537: make CFD_SIZE a multiple of cache line size.01p,17may04,mdo  Add include file to fix compilation error when included in                 the wrSbc405gp BSP01o,26mar04,dlk  Fix incorrect usage of 'volatile' keyword.01n,28jan04,wap  Add checksum offload support01m,24feb03,rcs  added added definition of RFD_DESC_SIZE SPR#8635201l,23jan03,rcs  Added RBD_TAG struct 01k,20sep01,dat  Removing ANSI errors for diab compiler01j,28sep00,jgn  remove physical to virtual translations (SPR 34891)01i,13sep00,jkf  T3 SPR#33822 (aka T2 SPR's 33792, 33795, and 33796)01i,11jun00,ham  removed reference to etherLib.01h,06nov99,dat  Merge from tor3_x.bsp_drv_facility branch01g,12nov99,mas  added typecasting to non-PPC FEI_XXXX_RD macros (SPR 24474)01f,21mar99,jkf  Added PPC access routines needed for Yellowknife.01e,21jul98,cn   Moved here some redefineable macros01d,01apr98,cn   added vendor and device id definitions01c,11mar98,cn   checked-in01b,05mar98,cn   code clean-up after code review01a,07nov97,cn	 created from ../netif/if_fei.h, version 01c*/#ifndef __INCfei82557Endh#define __INCfei82557Endh/* includes */#include "netBufLib.h"#ifdef __cplusplusextern "C" {#endif#if ((CPU_FAMILY==I960) && (defined __GNUC__))#pragma align 1                 /* tell gcc960 not to optimize alignments */#endif	/* CPU_FAMILY==I960 *//* defines *//* * redefine the macro below in the bsp if you need to access the device * registers/descriptors in a more suitable way. */#if (CPU_FAMILY == PPC)#ifndef FEI_LONG_WR#define FEI_LONG_WR(addr, value) (sysOutLong ((ULONG) addr, (ULONG) value))#endif #ifndef FEI_WORD_WR#define FEI_WORD_WR(addr, value) (sysOutWord ((ULONG) addr, (USHORT) value))#endif #ifndef FEI_BYTE_WR#define FEI_BYTE_WR(addr, value) (sysOutByte ((ULONG) addr, (UCHAR) value))#endif #ifndef FEI_LONG_RD#define FEI_LONG_RD(addr, value) (value = sysInLong ((ULONG) addr))#endif #ifndef FEI_WORD_RD#define FEI_WORD_RD(addr, value) (value = sysInWord ((ULONG) addr))#endif #ifndef FEI_BYTE_RD#define FEI_BYTE_RD(addr, value) (value = sysInByte ((ULONG) addr))#endif #endif /* CPU_FAMILY == PPC */#ifndef FEI_LONG_WR#define FEI_LONG_WR(addr, value)                                        \    (* (volatile UINT32 *) (addr) = ((UINT32) FEI_SWAP_LONG (value) ))#endif /* FEI_LONG_WR */ #ifndef FEI_WORD_WR#define FEI_WORD_WR(addr, value)                                        \    (* (volatile UINT16 *) (addr) = ((UINT16) FEI_SWAP_WORD (value) ))#endif /* FEI_WORD_WR */ #ifndef FEI_BYTE_WR#define FEI_BYTE_WR(addr, value)                                        \    (* (volatile UINT8 *) (addr) = (UINT8) (value) )#endif /* FEI_BYTE_WR */ #ifndef FEI_LONG_RD#define FEI_LONG_RD(addr, value)                                        \    do  {								\	UINT32 _temp_ = *(volatile UINT32 *)(addr);			\	(value) = (UINT32) FEI_SWAP_LONG (_temp_);			\	} while (0)#endif /* FEI_LONG_RD */ #ifndef FEI_WORD_RD#define FEI_WORD_RD(addr, value)                                        \    do  {								\	UINT16 _temp_ = *(volatile UINT16 *)(addr);			\	(value) = (UINT16) FEI_SWAP_WORD (_temp_);			\	} while (0)#endif /* FEI_WORD_RD */ #ifndef FEI_BYTE_RD#define FEI_BYTE_RD(addr, value)                                        \    do  {								\	(value) = (UINT8) (*(volatile UINT8 *)(addr));			\	} while (0)#endif /* FEI_BYTE_RD */ /* * Default macro definitions for BSP interface. * These macros can be redefined in a wrapper file, to generate * a new module with an optimized interface. */ #ifndef SYS_INT_CONNECT#define SYS_INT_CONNECT(pDrvCtrl, pFunc, arg, pRet)                         \    {                                                                       \    /* SPR 33796/33822 - init SYS_INT_CONNECT's return value" to ERROR */   \    *pRet = ERROR;                                                          \                                                                            \    /* SPR 33792 - remove FEI_VECTOR checking from SYS_INT_CONNECT */       \    /* SPR 33795 - add feiEndIntConnect NULL checking in SYS_INT_CONNECT */ \    if (feiEndIntConnect != NULL)                                      \        {                                                                   \        *pRet = (feiEndIntConnect) ((VOIDFUNCPTR*)                     \                             INUM_TO_IVEC (FEI_VECTOR (pDrvCtrl)),          \                             (pFunc), (int) (arg));                         \        }                                                                   \    }#endif /* SYS_INT_CONNECT */ #ifndef SYS_INT_DISCONNECT#define SYS_INT_DISCONNECT(pDrvCtrl, pFunc, arg, pRet)                      \    {                                                                       \    /* SPR 33796 - initialize SYS_INT_DISCONNECT's return value to ERROR */ \    *pRet = ERROR;                                                          \                                                                            \    /* SPR 33792 - remove FEI_VECTOR checking from SYS_INT_DISCONNECT */    \    if (feiEndIntDisconnect != NULL)                                   \        {                                                                   \        *pRet = feiEndIntDisconnect ((VOIDFUNCPTR*)                    \                              INUM_TO_IVEC (FEI_VECTOR (pDrvCtrl)),         \                              (pFunc));                                     \        }                                                                   \    }#endif /* SYS_INT_DISCONNECT */ #ifndef SYS_INT_ENABLE#define SYS_INT_ENABLE(pDrvCtrl)                                            \if (FEI_INT_ENABLE (pDrvCtrl))                                              \    ((*(FUNCPTR) (FEI_INT_ENABLE (pDrvCtrl))) (pDrvCtrl->unit))#endif /*SYS_INT_ENABLE*/ #ifndef SYS_INT_DISABLE#define SYS_INT_DISABLE(pDrvCtrl)                                           \if (FEI_INT_DISABLE (pDrvCtrl))                                             \    ((*(FUNCPTR) (FEI_INT_DISABLE (pDrvCtrl))) (pDrvCtrl->unit))#endif /*SYS_INT_DISABLE*/ #ifndef SYS_INT_ACK#define SYS_INT_ACK(pDrvCtrl)                                               \if (FEI_INT_ACK (pDrvCtrl))                                                 \    ((*(FUNCPTR) (FEI_INT_ACK (pDrvCtrl))) (pDrvCtrl->unit))#endif /*SYS_INT_ACK*/ #ifndef LOCAL_TO_SYS_ADDR#define LOCAL_TO_SYS_ADDR(unit,localAddr)                                   \    ((int) pDrvCtrl->board.sysLocalToBus ?                                  \    (*pDrvCtrl->board.sysLocalToBus) (unit, localAddr) : localAddr)#endif /* LOCAL_TO_SYS_ADDR */ #ifndef SYS_TO_LOCAL_ADDR#define SYS_TO_LOCAL_ADDR(unit,sysAddr)                                     \    ((int) pDrvCtrl->board.sysBusToLocal ?                                  \    (*pDrvCtrl->board.sysBusToLocal)(unit, sysAddr) : sysAddr)#endif /* SYS_TO_LOCAL_ADDR */ /* Intel PRO-100B PCI specific definitions */ #define PRO100B_PCI_VENDOR_ID   0x8086  /* PCI vendor ID */#define PRO100B_PCI_DEVICE_ID   0x1229  /* PCI device ID */#define FEI82557_DEVICE_ID      0x1229  /* 82557 device ID */ #define FEI82550_DEVICE_ID	0x9999	/* 82550 pseudo device ID */ #define MC_FEI MC_EI  /* temp */#define DEV_NAME        "fme"#define DEV_NAME_LEN    4#define DEF_NUM_CFDS    64                      /* default number of CFDs */#define DEF_NUM_RFDS    128                      /* default number of RFDs */#define FEI_100MBS      100000000               /* bits per sec */#define FEI_10MBS       10000000                /* bits per sec */#define EADDR_LEN       6                       /* ethernet address length */#define FEI_ADDR_LEN    EADDR_LEN               /* ethernet address length */ #define FEI_ACTION_TMO          0x01    /* action command timeout in seconds */#define FEI_SCB_TMO             0x01    /* SCB command timeout in seconds */#define FEI_INIT_TMO            0x01    /* 557 init timeout in seconds */#define FEI_TX_RESTART_TMO      0x01    /* tx restart watchdog timeout */#define FEI_TCB_TX_THRESH       0x10    /* Tx threshold value *//* Cluster Size */ #define CLUSTER_SIZE	        1536	 /* RFD and CFD size */#define DESC_ALIGN		32#define RFD_SIZE_HDR            16        /* The RFD wants to be 32 byte aligned  so is rounded up to 32 */ #define RFD_SIZE_HDR            16#define RFD_SIZE_EXTHDR         16#define RFD_SIZE_PKT            (EH_SIZE + ETHERMTU + 2)#define RFD_SIZE_TRAIL          RFD_SIZE_PREV + RFD_SIZE_SW_NEXT#define RFD_SIZE_PREV           4#define RFD_SIZE_SW_NEXT        4#define RFD_SIZE                ROUND_UP ((RFD_SIZE_HDR +               \                                           RFD_SIZE_EXTHDR +            \                                           RFD_SIZE_PKT +               \                                           RFD_SIZE_TRAIL), 4)#define RFD_DESC_SIZE           DESC_ALIGN #define RFD_STATUS_NONE		0x00#define RFD_STATUS_START	0x01#define RFD_STATUS_EL		0x02#define FIRST_RFD		0x00#define LAST_RFD		0xff#define MID_RFD			0x12         /* The actual RBD size is 16 bytes but wants to be 32 byte aligned */ #define RBD_SIZE		DESC_ALIGN #define RBD_STATUS_FREE		0x00#define RBD_STATUS_DMA		0x01#define RBD_STATUS_MISSED	0x03#define RBD_STATUS_EL_SEEN	0x55#define RBD_STATUS_BAD		0xff#define RBD_FORCE_REQUEUE       0xff#define RBD_TAG_FREE		0x00#define RBD_TAG_DMA		0x01#define RBD_TAG_RING		0x02#define RBD_TAG_BAD		0xff#define CFD_SIZE_HDR            8#define CFD_SIZE_DUMP           4#define CFD_SIZE_MULTIC         (2 + (6 * N_MCAST))#define CFD_SIZE_IA             8#define CFD_SIZE_NOP            0#define CFD_SIZE_PKT            (EH_SIZE + ETHERMTU + 2)#define CFD_SIZE_TCB            (8 + CFD_SIZE_PKT)#define CFD_SIZE_PREV           4#define CFD_SIZE_SW_NEXT	4#define CFD_SIZE_ACTION         1#define CFD_SIZE_TRAIL          (CFD_SIZE_PREV +			\				 CFD_SIZE_SW_NEXT +			\				 CFD_SIZE_ACTION)#define CFD_SIZE_CORE           CFD_SIZE_TCB         /* The CFD wants to be 32 byte aligned  so is rounded up to 32 */ #define CFD_SIZE                ROUND_UP ((CFD_SIZE_HDR +               \                                           CFD_SIZE_CORE +              \                                           CFD_SIZE_TRAIL), DESC_ALIGN) /* frame descriptors definitions */ #define CFD_STAT_OFFSET         0x00                    /* status word */#define CFD_COMM_OFFSET         0x02                    /* command word */#define CFD_NEXT_OFFSET         0x04                    /* next frame */#define CFD_PREV_OFFSET         (CFD_SIZE - 4)          /* previous frame */#define CFD_TBD_ADDR_OFFSET     0x08                    /* buffer descriptor*/#define CFD_COUNT_OFFSET        0x0c                    /* count field */#define CFD_NUM_OFFSET          0x0f                    /* buffer num  field */#define CFD_THRESH_OFFSET       0x0e                    /* threshold field *//* * Extended CFD offsets (present in 82550 and 82551 only). These * are used when we issue an IPCB transmit command, which gives us * extra fields that allow the use of TX checksum offload. */#define CFD_SCHEDLO_OFFSET      0x10                    /* 16 bits */#define CFD_IPSCHED_OFFSET      0x12                    /* 8 bits */#define CFD_IPACTIVATEHI_OFFSET 0x13                    /* 8 bits */#define CFD_VLAN_OFFSET         0x14                    /* 16 bits */#define CFD_IPHDROFF_OFFSET     0x16                    /* 8 bits */#define CFD_TCPUDPHDROFF_OFFSET 0x17                    /* 8 bits */#define CFD_TBDZEROPTR_OFFSET   0x18                    /* 32 bits */#define CFD_TBDZEROSIZE_OFFSET  0x1C                    /* 16 bits */#define CFD_TOTALTCPLEN_OFFSET  0x1E                    /* 16 bits */#define CFD_ACTION_OFFSET       (CFD_SIZE - 9)          /* action/transmit */#define CFD_SW_NEXT_OFFSET	(CFD_SIZE - 8)		/* s/w next link */#define CFD_PKT_OFFSET          (CFD_SIZE_HDR + 8)      /* packet data */#define CFD_IA_OFFSET           CFD_SIZE_HDR            /* individual address */#define CFD_MCOUNT_OFFSET       CFD_SIZE_HDR            /* mcount field */#define CFD_MC_OFFSET           (CFD_SIZE_HDR + 2)      /* mcast list */ #define RFD_STAT_OFFSET         0x00                    /* status word */#define RFD_COMM_OFFSET         0x02                    /* command word */#define RFD_NEXT_OFFSET         0x04                    /* next frame field */#define RFD_PREV_OFFSET         (RFD_SIZE - 4)          /* previous frame */#define RFD_SW_NEXT_OFFSET      (RFD_SIZE - 8)          /* s/w next frame */#define RFD_RBD_OFFSET          0x08                    /* buffer descriptor */#define RFD_COUNT_OFFSET        0x0c                    /* count field */#define RFD_SIZE_OFFSET         0x0e                    /* data size *//* Extended RFD offsets (present in 82550 and 82551 only) */#define RFD_VLANID_OFFSET       0x10                    /* VLAN ID (16 bits) */#define RFD_RXPARSESTS_OFFSET   0x12                    /* 8 bits */#define RFD_RSVD0_OFFSET        0x13                    /* 8 bits */#define RFD_SECURITYSTS_OFFSET  0x14                    /* 16 bits */#define RFD_CSUMSTS_OFFSET      0x16                    /* 8 bits */#define RFD_ZEROCOPYSTS_OFFSET  0x17                    /* 8 bits */#define RFD_PAD_OFFSET          0x18                    /* 64 bits */#define RFD_PKT_OFFSET          (RFD_SIZE_HDR)          /* packet data*/#define RBD_STAT_OFFSET         0x00                    /* Count &  F flag */ #define RBD_EOF_OFFSET		0x02			/* End of Frame */#define RBD_NEXT_OFFSET         0x04			/* Next RBD in list */#define RBD_BUFFER_OFFSET	0x08			/* cluster pointer */#define RBD_CFG_OFFSET          0x0c			/* EL & size fields */	#define RBD_C_EL		0x8000#define RBD_EL_MASK             0x8000	#define RBD_SIZE_MASK		0x7fff#define RBD_COUNT_MASK          0x3fff#define TBD_NOT_USED            0xffffffff            /* use semplified mode */#define RBD_NULL_ADDR           0xffffffff            /* use flexible mode *//* TX-specific constants *//* Number of TX frags allowed per transmission. */#define TBD_MAX_FRAGS           32/* * We place the transmit buffer array immediately after * the CFD structure, when doing scatter/gather TX DMA. */#define CFD_TBD_OFFSET          0x10#define CFD_TBD_OFFSET_TxCB     0x20#define CFD_TBD_OFFSET_IPCB     0x20#define CFD_FRAG1_OFFSET        CFD_TBD_OFFSET#define CFD_FRAG1_OFFSET_TxCB   CFD_TBD_OFFSET#define CFD_FRAG1_OFFSET_IPCB   0x18/* A fragment address/length pair is 8 bytes long (two 32-bit words). */#define TBD_SIZE                8/* * A fragment addrees/length pair contains a 32-bit physical address * pointer, followed by a 32-bit length field. */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美综合一区| 国产一区不卡在线| 91精彩视频在线观看| 午夜激情一区二区三区| 日韩精品一区二区三区swag| 国产乱子伦视频一区二区三区 | 欧美精品第1页| 国产精品一区二区三区四区 | 国精产品一区一区三区mba视频| 精品久久一二三区| 在线中文字幕一区二区| 99久久精品情趣| 国产美女av一区二区三区| 久久国产精品免费| 亚洲一区二区欧美激情| 国产精品美女久久久久久| 日韩欧美不卡一区| www成人在线观看| 欧美久久一二区| 欧美一区二区三区不卡| 欧美性受xxxx黑人xyx性爽| 成人三级伦理片| 国产精品一二三四| 色婷婷久久99综合精品jk白丝| 国产一区不卡在线| 成人小视频免费在线观看| 欧美综合亚洲图片综合区| 成人精品一区二区三区四区| 91蜜桃传媒精品久久久一区二区| 国产激情视频一区二区在线观看| 韩国欧美一区二区| 成人激情免费视频| 国产成人精品亚洲日本在线桃色| 92精品国产成人观看免费| 在线不卡中文字幕播放| 国产婷婷色一区二区三区四区| 久久夜色精品一区| 一区二区三区四区不卡在线| 亚洲欧美色一区| 最新不卡av在线| 亚洲免费av在线| 国产伦理精品不卡| 91麻豆免费看片| 久久久国产综合精品女国产盗摄| 精品国产a毛片| 国产亚洲精品精华液| 亚洲综合免费观看高清完整版在线 | 国产日韩欧美一区二区三区乱码| 精品欧美一区二区三区精品久久| 国产精品盗摄一区二区三区| 日本一区二区久久| 日韩美女视频19| 国产成人午夜片在线观看高清观看| 精品视频资源站| 麻豆精品视频在线观看视频| 热久久一区二区| 国产精品88av| 91精品黄色片免费大全| 精品国产髙清在线看国产毛片 | 777xxx欧美| 自拍偷自拍亚洲精品播放| 国产一区在线看| 精品日韩一区二区| 青青草国产成人99久久| 欧美性一区二区| 一区二区成人在线观看| 92国产精品观看| 中文字幕一区二区三区色视频 | 国产精品盗摄一区二区三区| 精品在线亚洲视频| 色狠狠桃花综合| 国产精品久久久久久久久快鸭 | 91精品国产91久久综合桃花| 一区二区激情小说| 色偷偷88欧美精品久久久| 国产精品日韩成人| 91丨porny丨中文| 亚洲色图制服丝袜| 欧美午夜一区二区三区| 亚洲福利视频一区| 国产黑丝在线一区二区三区| 久久久久亚洲蜜桃| 国产成人av电影在线观看| 欧美午夜影院一区| 午夜精品福利一区二区蜜股av | 久久色在线观看| 国产成人啪免费观看软件| 国产视频视频一区| 色综合天天综合在线视频| 日韩欧美亚洲另类制服综合在线| 日本伊人色综合网| 在线观看成人小视频| 亚洲精品成人天堂一二三| 成人国产精品免费观看视频| 1000部国产精品成人观看| 欧美在线一区二区三区| 婷婷综合久久一区二区三区| 日韩精品最新网址| 国产98色在线|日韩| 亚洲精品中文在线观看| 欧美日韩精品欧美日韩精品| 中文字幕在线不卡一区二区三区| 色婷婷久久综合| 蜜桃视频一区二区| 国产精品久久久久久亚洲毛片| 94-欧美-setu| 久草中文综合在线| 亚洲精品欧美专区| 2020国产成人综合网| 91女人视频在线观看| 久久成人久久鬼色| 亚洲欧洲一区二区在线播放| 日韩欧美国产一区二区在线播放| 大陆成人av片| 另类小说欧美激情| 玉米视频成人免费看| 久久精品一区二区三区不卡牛牛| 一本一道综合狠狠老| 国产一区二区福利| 亚洲成av人综合在线观看| 欧美日韩精品免费观看视频| 国产福利精品一区二区| 偷拍亚洲欧洲综合| 国产精品国产三级国产aⅴ入口| 在线播放国产精品二区一二区四区| 国产精品一区二区免费不卡| 香蕉久久一区二区不卡无毒影院| 中文字幕av一区二区三区免费看| 91精品国产欧美一区二区成人| 91在线小视频| 丁香桃色午夜亚洲一区二区三区| 免费成人在线播放| 性欧美疯狂xxxxbbbb| 一区二区三区在线播| 亚洲欧洲色图综合| 中文字幕av在线一区二区三区| 精品免费国产二区三区| 欧美日韩精品一区二区天天拍小说| 99re这里只有精品首页| 成人午夜免费电影| 成人免费观看视频| 国产精品香蕉一区二区三区| 美国欧美日韩国产在线播放| 丝袜亚洲另类欧美| 久久精品夜夜夜夜久久| 精品日韩99亚洲| 欧美精品一区二区三区高清aⅴ| 337p亚洲精品色噜噜狠狠| 欧美二区三区91| 欧美精品v国产精品v日韩精品| 欧美手机在线视频| 欧美日韩一区精品| 91麻豆精品国产自产在线观看一区 | av动漫一区二区| 天堂在线一区二区| 日韩电影免费在线| 久久精品久久久精品美女| 美女一区二区久久| 国产一区免费电影| 国产成人精品一区二| 成人自拍视频在线观看| 97久久精品人人做人人爽50路| 成人a免费在线看| 色噜噜久久综合| 91福利在线播放| 欧美日韩国产综合久久| 日韩一区二区三区在线视频| 精品国产一区二区三区av性色| 久久综合成人精品亚洲另类欧美| 国产蜜臀av在线一区二区三区| 中文字幕日本不卡| 午夜精品成人在线视频| 国产一区二区精品久久99| 不卡区在线中文字幕| 欧美日韩免费电影| 久久久欧美精品sm网站| 亚洲免费av观看| 精品一区在线看| 色综合激情久久| 日韩一卡二卡三卡四卡| 欧美国产一区在线| 亚洲国产精品麻豆| 粉嫩绯色av一区二区在线观看 | 精品人伦一区二区色婷婷| 中文字幕av资源一区| 亚洲成av人综合在线观看| 国产成人免费视| 911精品国产一区二区在线| 亚洲国产精品黑人久久久| 五月天久久比比资源色| 成人午夜激情片| 欧美一区二区三区在线看| 亚洲欧洲国产日韩| 韩国午夜理伦三级不卡影院| 91搞黄在线观看| 国产精品久久久久久福利一牛影视| 日韩精品一卡二卡三卡四卡无卡| 成人黄色小视频在线观看| 91麻豆精品国产无毒不卡在线观看| 中文子幕无线码一区tr|