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

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

?? 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. */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一级二级在线| 中文字幕亚洲一区二区av在线 | av不卡在线播放| 91浏览器打开| 久久久精品中文字幕麻豆发布| 国产精品欧美综合在线| 亚洲大片在线观看| 福利视频网站一区二区三区| 欧美卡1卡2卡| 国产精品免费久久| 91麻豆免费在线观看| 亚洲一线二线三线视频| 日韩亚洲欧美高清| 亚洲国产精品久久久久婷婷884| 99视频在线观看一区三区| 一区二区三区免费在线观看| 国产成人精品在线看| 欧美精品一级二级| 韩国v欧美v亚洲v日本v| 欧美日韩视频在线第一区| 国产精品久久毛片av大全日韩| 经典三级一区二区| 精品欧美久久久| 天涯成人国产亚洲精品一区av| 91国在线观看| 亚洲欧美电影院| 99视频热这里只有精品免费| 丝袜美腿成人在线| 欧美福利视频导航| 国产69精品久久久久777| 亚洲不卡av一区二区三区| 久久综合九色综合欧美98| 精品在线一区二区| 亚洲欧美国产毛片在线| 久久亚洲精品小早川怜子| 91视频在线看| 韩国v欧美v日本v亚洲v| 亚洲成人免费在线| 国产精品免费视频观看| 精品理论电影在线| 欧美日韩免费不卡视频一区二区三区| 亚洲激情综合网| 欧美精品一卡二卡| 色综合天天综合网国产成人综合天| 日本一区二区成人| 成人丝袜18视频在线观看| 亚洲手机成人高清视频| 在线亚洲一区观看| 国产精品18久久久| 另类欧美日韩国产在线| 久久久久亚洲综合| 欧美一卡在线观看| 国产精品夜夜嗨| 一区二区在线观看免费| 日本一区二区在线不卡| 色老汉一区二区三区| 丁香婷婷深情五月亚洲| 九一九一国产精品| 免费视频一区二区| 久久看人人爽人人| 欧美mv日韩mv国产网站| 777色狠狠一区二区三区| 国产一区二区在线影院| 国产精品高潮呻吟| 国产欧美一区二区三区鸳鸯浴| 精品国产一二三| 日本伦理一区二区| 色婷婷国产精品久久包臀| 蜜桃av一区二区在线观看 | 2020国产成人综合网| 欧美精品久久99久久在免费线| 色婷婷综合中文久久一本| 99精品久久免费看蜜臀剧情介绍| 亚洲成人一区二区在线观看| 一区二区三区中文免费| 亚洲在线免费播放| 亚洲国产精品一区二区久久| 亚洲成av人片在线| 天天爽夜夜爽夜夜爽精品视频| 亚洲一区二区四区蜜桃| 亚洲一区免费视频| 天堂一区二区在线| 日韩av一二三| 亚洲精选视频在线| 一区二区三区中文字幕| 亚洲bt欧美bt精品777| 日本亚洲欧美天堂免费| 毛片av一区二区三区| 国产乱码一区二区三区| 成人精品免费视频| 另类专区欧美蜜桃臀第一页| 美女在线视频一区| 国产精品自在欧美一区| 成人中文字幕合集| 91久久精品一区二区| 51精品国自产在线| 久久女同精品一区二区| 国产精品动漫网站| 日韩制服丝袜先锋影音| 国内成人免费视频| 91在线视频在线| 91精品国产综合久久蜜臀| 久久综合久久99| 亚洲免费av网站| 免费一区二区视频| av色综合久久天堂av综合| 欧美日韩精品一区二区在线播放| 精品剧情v国产在线观看在线| 国产精品天天摸av网| 亚洲午夜久久久| 国产麻豆欧美日韩一区| 色老汉一区二区三区| 精品国产91久久久久久久妲己 | 国产成人8x视频一区二区 | 欧美一区二区日韩一区二区| 国产亚洲欧美在线| 国产欧美一区二区三区沐欲| 亚洲人成亚洲人成在线观看图片| 天涯成人国产亚洲精品一区av| 国产剧情一区二区| 欧美熟乱第一页| 欧美三日本三级三级在线播放| 欧美第一区第二区| 久久久久久电影| 亚洲成人激情av| 99久久精品费精品国产一区二区| 日韩视频免费观看高清完整版 | 亚洲一区中文在线| 国产不卡视频在线观看| 欧美精品在线观看播放| 亚洲欧美一区二区三区久本道91| 狠狠色狠狠色综合系列| 欧美三级在线视频| 国产精品乱码一区二区三区软件| 奇米影视在线99精品| 91浏览器入口在线观看| 久久精品一级爱片| 免费成人在线播放| 在线亚洲人成电影网站色www| 日本韩国一区二区三区视频| 精品国精品国产| 日本欧美在线看| 欧美人与禽zozo性伦| 亚洲欧美另类小说视频| 国产mv日韩mv欧美| 久久综合网色—综合色88| 日韩在线a电影| 欧美少妇性性性| 亚洲国产欧美在线| 一本久久a久久免费精品不卡| 国产精品区一区二区三| 国产精品1024久久| xnxx国产精品| 极品少妇xxxx偷拍精品少妇| 日韩欧美电影在线| 美女精品自拍一二三四| 91麻豆精品91久久久久久清纯| 亚洲午夜日本在线观看| 欧美亚洲综合另类| 亚洲国产一区二区a毛片| 在线视频你懂得一区| 亚洲乱码国产乱码精品精可以看 | 国产suv精品一区二区6| 国产欧美在线观看一区| 成人在线视频首页| 国产精品国产三级国产普通话蜜臀 | 韩国理伦片一区二区三区在线播放| 欧美一区二区三区在线| 免费成人在线观看| 久久久久久免费网| 国产**成人网毛片九色| 国产精品伦理一区二区| 色综合天天综合狠狠| 一区二区三区在线观看国产| 91麻豆免费观看| 亚洲午夜三级在线| 欧美一区二区高清| 国产盗摄一区二区| 成人免费视频在线观看| 在线免费观看日本一区| 五月综合激情网| 亚洲精品一区二区在线观看| 国产成a人亚洲精品| 亚洲免费毛片网站| 欧美浪妇xxxx高跟鞋交| 国产综合色视频| 亚洲天堂福利av| 欧美久久久久久久久| 精品一区中文字幕| 中文字幕成人在线观看| 欧美最新大片在线看| 蜜桃一区二区三区四区| 国产精品三级在线观看| 91国在线观看| 狠狠久久亚洲欧美| 中文字幕色av一区二区三区| 欧美日韩一区视频| 国产精品一卡二卡在线观看| 亚洲女女做受ⅹxx高潮| 91精品在线免费观看|