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

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

?? motfccend.c

?? motorola 8260 CPU上面
?? C
?? 第 1 頁 / 共 5 頁
字號:
The only adjustable parameters are the number of TBDs and RBDs that will becreated at run-time.  These parameters are given to the driver when motFccEndLoad() is called.  There is one RBD associated with each received frame whereas a single transmit packet normally uses more than one TBD.  For memory-limited applications, decreasing the number of RBDs may be desirable.  Decreasing the number of TBDs below a certain point will provide substantial performance degradation, and is not reccomended. An adequate number of loaning buffers are also pre-allocated to provide more buffering before packets are dropped, but this is not configurable.The relative priority of the netTask and of the other tasks in the systemmay heavily affect performance of this driver. Usually the best performance is achieved when the netTask priority equals that of the other applications using the driver.SPECIAL CONSIDERATIONSSEE ALSO: ifLib,.I "MPC8260 Fast Ethernet Controller (Supplement to the MPC860 User's Manual)".I "Motorola MPC860 User's Manual",INTERNALThis driver contains conditional compilation switch MOT_FCC_DBG.If defined, adds debug output routines.  Output is furtherselectable at run-time via the motFccEndDbg global variable.*/#include "vxWorks.h"#include "wdLib.h"#include "iv.h"#include "vme.h"#include "net/mbuf.h"#include "net/unixLib.h"#include "net/protosw.h"#include "sys/socket.h"#include "sys/ioctl.h"#include "errno.h"#include "memLib.h"#include "intLib.h"#include "net/route.h"#include "iosLib.h"#include "errnoLib.h"#include "vxLib.h"#include "private/funcBindP.h"#include "cacheLib.h"#include "logLib.h"#include "netLib.h"#include "stdio.h"#include "stdlib.h"#include "sysLib.h"#include "taskLib.h"#include "etherLib.h"#include "net/systm.h"#include "sys/times.h"#include "net/if_subr.h"#undef ETHER_MAP_IP_MULTICAST#include "etherMultiLib.h"#include "end.h"#include "semLib.h"#define    END_MACROS#include "endLib.h"#include "miiLib.h"#include "lstLib.h"#include "m8260Int.h"#include "motFccEnd.h"#include "drvver.h"/* defines */#undef MOT_FCC_ZERO_COPY/* Driver debug control *//* for debugging */#define MOT_FCC_DBG #ifdef MOT_FCC_DBG #undef MOT_FCC_DBG #endif/* suwp *//* Driver debug control */#ifdef MOT_FCC_DBG#define MOT_FCC_DBG_OFF			0x0000#define MOT_FCC_DBG_RX			0x0001#define MOT_FCC_DBG_TX			0x0002#define MOT_FCC_DBG_POLL		0x0004#define MOT_FCC_DBG_MII			0x0008#define MOT_FCC_DBG_LOAD		0x0010#define MOT_FCC_DBG_IOCTL		0x0020#define MOT_FCC_DBG_INT			0x0040#define MOT_FCC_DBG_START    		0x0080#define MOT_FCC_DBG_ANY    		0xffffUINT32 motFccEndDbg = 0x00; UINT32	motFccRxBsyErr = 0x0;UINT32	motFccTxErr = 0x0;UINT32	motFccHbFailErr = 0x0;UINT32	motFccTxLcErr = 0x0;UINT32	motFccTxUrErr = 0x0;UINT32	motFccTxCslErr = 0x0;UINT32	motFccTxRlErr = 0x0;UINT32	motFccRxLgErr = 0x0;UINT32	motFccRxNoErr = 0x0;UINT32	motFccRxCrcErr = 0x0;UINT32	motFccRxOvErr = 0x0;UINT32  motFccRxShErr = 0x0;UINT32  motFccRxLcErr = 0x0;UINT32  motFccRxMemErr = 0x0;DRV_CTRL *  pDrvCtrlDbg = NULL;#define MOT_FCC_RX_BSY_ADD						\    motFccRxBsyErr++;#define MOT_FCC_TX_ERR_ADD						\    motFccTxErr++;#define MOT_FCC_HB_FAIL_ADD						\    motFccHbFailErr++;#define MOT_FCC_TX_LC_ADD						\    motFccTxLcErr++;#define MOT_FCC_TX_UR_ADD						\    motFccTxUrErr++;#define MOT_FCC_TX_CSL_ADD						\    motFccTxCslErr++;#define MOT_FCC_TX_RL_ADD						\    motFccTxRlErr++;#define MOT_FCC_RX_LG_ADD						\    motFccRxLgErr++;#define MOT_FCC_RX_NO_ADD						\    motFccRxNoErr++;#define MOT_FCC_RX_CRC_ADD						\    motFccRxCrcErr++;#define MOT_FCC_RX_OV_ADD						\    motFccRxOvErr++;#define MOT_FCC_RX_LC_ADD						\    motFccRxLcErr++;#define MOT_FCC_RX_SH_ADD						\    motFccRxShErr++;#define MOT_FCC_RX_MEM_ADD						\    motFccRxMemErr++;#define MOT_FCC_LOG(FLG, X0, X1, X2, X3, X4, X5, X6)			\    {									\    if (motFccEndDbg & FLG)						\	if (_func_logMsg != NULL)					\	    _func_logMsg (X0, X1, X2, X3, X4, X5, X6);			\    }#else /* MOT_FCC_DBG */#define MOT_FCC_RX_BSY_ADD#define MOT_FCC_TX_ERR_ADD#define MOT_FCC_HB_FAIL_ADD#define MOT_FCC_TX_LC_ADD#define MOT_FCC_TX_UR_ADD#define MOT_FCC_TX_CSL_ADD#define MOT_FCC_TX_RL_ADD#define MOT_FCC_RX_MEM_ADD#define MOT_FCC_LOG(FLG, X0, X1, X2, X3, X4, X5, X6)#endif /* MOT_FCC_DBG *//* general macros for reading/writing from/to specified locations *//* Cache and virtual/physical memory related macros */#define MOT_FCC_PHYS_TO_VIRT(physAddr)					    \	CACHE_DRV_PHYS_TO_VIRT (&pDrvCtrl->bdCacheFuncs, (char *)(physAddr))#define MOT_FCC_VIRT_TO_PHYS(virtAddr)					    \	CACHE_DRV_VIRT_TO_PHYS (&pDrvCtrl->bdCacheFuncs, (char *)(virtAddr))#define MOT_FCC_BD_CACHE_INVAL(address, len)			    	    \        CACHE_DRV_INVALIDATE (&pDrvCtrl->bdCacheFuncs, (address), (len))#define MOT_FCC_CACHE_INVAL(address, len)                                   \	CACHE_DRV_INVALIDATE (&pDrvCtrl->bufCacheFuncs, (address), (len))#define MOT_FCC_CACHE_FLUSH(address, len)                                   \	CACHE_DRV_FLUSH (&pDrvCtrl->bufCacheFuncs, (address), (len))#undef  EIEIO_SYNC#define EIEIO_SYNC  __asm__("        eieio;  sync")#if  (CPU_FAMILY==PPC)#   undef CACHE_PIPE_FLUSH#   define CACHE_PIPE_FLUSH() EIEIO_SYNC#endif/* driver flags */#define MOT_FCC_OWN_BUF_MEM	0x01	/* internally provided memory for data*/#define MOT_FCC_INV_TBD_NUM	0x02	/* invalid tbdNum provided */#define MOT_FCC_INV_RBD_NUM	0x04	/* invalid rbdNum provided */#define MOT_FCC_POLLING		0x08	/* polling mode */#define MOT_FCC_PROM		0x20    /* promiscuous mode */#define MOT_FCC_MCAST		0x40    /* multicast addressing mode */#define MOT_FCC_FD		0x80    /* full duplex mode */#define MOT_FCC_OWN_BD_MEM	0x10	/* internally provided memory for BDs *//* shortcuts */#define MOT_FCC_FLAG_CLEAR(clearBits)					\    (pDrvCtrl->flags &= ~(clearBits))#define MOT_FCC_FLAG_SET(setBits)					\    (pDrvCtrl->flags |= (setBits))#define MOT_FCC_FLAG_GET()						\    (pDrvCtrl->flags)#define MOT_FCC_FLAG_ISSET(setBits)					\    (pDrvCtrl->flags & (setBits))#define MOT_FCC_PHY_FLAGS_SET(setBits)					\    (pDrvCtrl->phyInfo->phyFlags |= (setBits))#define MOT_FCC_PHY_FLAGS_ISSET(setBits)				\    (pDrvCtrl->phyInfo->phyFlags & (setBits))#define MOT_FCC_PHY_FLAGS_GET(setBits)					\    (pDrvCtrl->phyInfo->phyFlags)#define MOT_FCC_PHY_FLAGS_CLEAR(clearBits)				\    (pDrvCtrl->phyInfo->phyFlags &= ~(clearBits))#define MOT_FCC_USR_FLAG_ISSET(setBits)					\    (pDrvCtrl->userFlags & (setBits))#define END_FLAGS_ISSET(setBits)					\    ((&pDrvCtrl->endObj)->flags & (setBits))#define MOT_FCC_ADDR_GET(pEnd)                                          \    ((pEnd)->mib2Tbl.ifPhysAddress.phyAddress)#define MOT_FCC_ADDR_LEN_GET(pEnd)                                      \    ((pEnd)->mib2Tbl.ifPhysAddress.addrLength)/* some BDs definitions *//*  * the total is 0x630 and it accounts for the required alignment * of receive data buffers, and the cluster overhead. */#define MOT_FCC_MAX_CL_LEN      ((MII_ETH_MAX_PCK_SZ			\				 + (MOT_FCC_BUF_ALIGN - 1)		\				 + MOT_FCC_BUF_ALIGN			\				 + (CL_OVERHEAD - 1))			\				 & (~ (CL_OVERHEAD - 1)))#define MOT_FCC_RX_CL_SZ       (MOT_FCC_MAX_CL_LEN)#define MOT_FCC_TX_CL_SZ       (MOT_FCC_MAX_CL_LEN)#define MOT_FCC_BUF_MEM_SZ(pDrvCtrl)					\    ((pDrvCtrl)->bufSize)#define MOT_FCC_BD_MEM_SZ(pDrvCtrl)					\    ((pDrvCtrl)->bdSize)#define MOT_FCC_LOAN_SZ							\    (MOT_FCC_RX_CL_SZ * MOT_FCC_BD_LOAN_NUM)#define MOT_FCC_RX_MEM_SZ(pDrvCtrl)					\    (MOT_FCC_RX_CL_SZ * ((pDrvCtrl)->rbdNum + MOT_FCC_BD_LOAN_NUM))#define MOT_FCC_TX_MEM_SZ(pDrvCtrl)					\    (MOT_FCC_TX_CL_SZ * (MOT_FCC_TX_POLL_NUM + MOT_FCC_TX_CL_NUM))#define MOT_FCC_TBD_MEM(pDrvCtrl)					\    (MOT_FCC_TBD_SZ * (pDrvCtrl)->tbdNum)#define MOT_FCC_RBD_MEM(pDrvCtrl)					\    (MOT_FCC_RBD_SZ * (pDrvCtrl)->rbdNum)#define MOT_FCC_BD_MEM(pDrvCtrl)					\    (MOT_FCC_TBD_MEM (pDrvCtrl) + MOT_FCC_RBD_MEM (pDrvCtrl))/* read/write macros to access internal memory */#define MOT_FCC_REG_LONG_WR(regAddr, regVal)				\    {									\    UINT32 temp = 0;							\									\    temp = (UINT32) MOT_FCC_VIRT_TO_PHYS (regAddr);			\									\    MOT_FCC_LONG_WR ((UINT32 *) (temp), (regVal));			\    }									#define MOT_FCC_REG_LONG_RD(regAddr, regVal)				\    {									\    UINT32 temp = 0;							\									\    temp = (UINT32) MOT_FCC_VIRT_TO_PHYS (regAddr);			\									\    MOT_FCC_LONG_RD ((UINT32 *) (temp), (regVal));			\    }									#define MOT_FCC_REG_WORD_WR(regAddr, regVal)				\    {									\    UINT32 temp = 0;							\									\    temp = (UINT32) MOT_FCC_VIRT_TO_PHYS (regAddr);			\									\    MOT_FCC_WORD_WR ((UINT16 *) (temp), (regVal));			\    }									#define MOT_FCC_REG_WORD_RD(regAddr, regVal)				\    {									\    UINT32 temp = 0;							\									\    temp = (UINT32) MOT_FCC_VIRT_TO_PHYS (regAddr);			\									\    MOT_FCC_WORD_RD ((UINT16 *) (temp), (regVal));			\    }									/* macros to read/write tx/rx buffer descriptors */#define MOT_FCC_BD_WORD_WR(bdAddr, bdOff, bdVal)			\    {									\    UINT32 temp = 0;							\									\    temp = (UINT32) MOT_FCC_VIRT_TO_PHYS ((bdAddr) + (bdOff));		\									\    MOT_FCC_WORD_WR ((UINT16 *) (temp), (bdVal));			\    }									/* here we're writing the data pointer, so it's a physical address */#define MOT_FCC_BD_LONG_WR(bdAddr, bdOff, bdVal)			\    {									\    UINT32 temp1 = 0;							\    UINT32 temp2 = 0;							\									\    temp1 = (UINT32) MOT_FCC_VIRT_TO_PHYS ((bdAddr) + (bdOff));		\    temp2 = (UINT32) MOT_FCC_VIRT_TO_PHYS (bdVal);			\									\    MOT_FCC_LONG_WR ((UINT32 *) (temp1), (temp2));			\    }									#define MOT_FCC_BD_WORD_RD(bdAddr, bdOff, bdVal)			\    {									\    UINT32 temp = 0;							\									\    temp = (UINT32) MOT_FCC_VIRT_TO_PHYS ((bdAddr) + (bdOff));		\									\    MOT_FCC_WORD_RD ((UINT16 *) (temp), (bdVal));			\    }									#define MOT_FCC_BD_LONG_RD(bdAddr, bdOff, bdVal)			\    {									\    UINT32 temp1 = 0;							\    UINT32 temp2 = 0;							\									\    temp1 = (UINT32) MOT_FCC_VIRT_TO_PHYS ((bdAddr) + (bdOff));		\									\    MOT_FCC_LONG_RD ((UINT32 *) (temp1), (temp2));			\									\    bdVal = (char *) MOT_FCC_PHYS_TO_VIRT (temp2);			\    }									#define MOT_FCC_NEXT_TBD(pDrvCtrl, pTbd)				\    (pTbd) = (MOT_FCC_TBD_ID) ((pDrvCtrl)->tbdBase +   			\			       ((pDrvCtrl)->tbdIndex * MOT_FCC_TBD_SZ))#define MOT_FCC_USED_TBD(pDrvCtrl, pTbd)				\    (pTbd) = (MOT_FCC_TBD_ID) ((pDrvCtrl)->tbdBase + 	   		\			       ((pDrvCtrl)->usedTbdIndex * MOT_FCC_TBD_SZ))#define MOT_FCC_NEXT_RBD(pDrvCtrl, pRbd)				\

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲视频在线观看一区| 日本在线观看不卡视频| 日韩欧美成人午夜| 972aa.com艺术欧美| 奇米色一区二区三区四区| 国产精品成人午夜| 久久影院视频免费| 欧美日韩国产首页在线观看| 成人黄色国产精品网站大全在线免费观看| 丝袜美腿亚洲一区二区图片| 亚洲天堂av一区| 国产欧美日韩在线观看| 日韩免费视频一区| 欧美一区二区三区系列电影| 色噜噜久久综合| 99久久婷婷国产综合精品 | 亚洲精品久久久蜜桃| 久久亚洲私人国产精品va媚药| 欧美精品在线一区二区三区| 色婷婷激情一区二区三区| av电影在线观看一区| 国产乱色国产精品免费视频| 麻豆精品视频在线| 秋霞电影网一区二区| 日韩精品免费视频人成| 亚洲愉拍自拍另类高清精品| 亚洲色图制服诱惑| 亚洲日穴在线视频| 亚洲免费观看高清| 亚洲制服欧美中文字幕中文字幕| 自拍偷在线精品自拍偷无码专区| 国产精品丝袜久久久久久app| 国产亚洲欧美日韩在线一区| 久久久久久久久久久久电影| 欧美精品一区二区三区很污很色的| 欧美一区二区三区电影| 日韩网站在线看片你懂的| 日韩视频免费观看高清在线视频| 欧美日韩国产精品成人| 欧美日韩一级大片网址| 欧美伦理电影网| 欧美一区二区三区视频| 日韩欧美你懂的| 亚洲精品一区二区三区香蕉| 久久久久久亚洲综合| 国产精品丝袜久久久久久app| 国产精品久久网站| 最新日韩av在线| 一区二区三区美女| 婷婷夜色潮精品综合在线| 免费在线观看一区| 国产老妇另类xxxxx| 成人福利在线看| 日本韩国欧美一区二区三区| 欧美三级中文字幕在线观看| 欧美岛国在线观看| 中文字幕乱码亚洲精品一区| 亚洲婷婷国产精品电影人久久| 亚洲一线二线三线视频| 免费人成在线不卡| 国产高清不卡二三区| 91丨porny丨首页| 欧美日韩国产一二三| xfplay精品久久| 国产精品对白交换视频| 亚洲一区二区欧美日韩| 开心九九激情九九欧美日韩精美视频电影| 国产一区二区三区四| 91亚洲精品一区二区乱码| 欧美日韩国产123区| 国产亚洲欧美在线| 一区二区三区国产| 国内精品伊人久久久久av一坑| 成人一区在线观看| 欧美日韩国产经典色站一区二区三区| 精品国产一区二区三区四区四| 综合av第一页| 久久99精品国产麻豆不卡| 99久久99久久精品免费观看| 51午夜精品国产| 国产精品少妇自拍| 美日韩一区二区三区| 99久久er热在这里只有精品15 | 一本大道久久精品懂色aⅴ| 717成人午夜免费福利电影| 亚洲国产精品成人久久综合一区| 亚洲一区在线观看网站| 国产一区二区在线观看免费| 欧美午夜精品一区二区蜜桃| 日本一区二区在线不卡| 日本亚洲欧美天堂免费| 99re6这里只有精品视频在线观看| 51精品国自产在线| 亚洲欧美一区二区久久| 国产综合一区二区| 91精品国产综合久久香蕉的特点| 中文字幕五月欧美| 国模冰冰炮一区二区| 欧美人妖巨大在线| 亚洲老妇xxxxxx| 国产成人精品一区二区三区四区 | 久久久不卡网国产精品一区| 亚洲综合激情网| 91麻豆产精品久久久久久| 国产午夜一区二区三区| 日本女优在线视频一区二区| 日本伦理一区二区| 国产精品美女久久久久久久网站| 久久国产精品色| 91精品国产综合久久久久| 亚洲一区二区欧美日韩| 色妹子一区二区| 日本一区二区成人| 国产成人啪免费观看软件| 日韩精品一区二区三区蜜臀| 五月激情综合色| 色婷婷综合久久久中文一区二区| 欧美高清在线一区二区| 国产酒店精品激情| 精品成人免费观看| 九九国产精品视频| 欧美成人vps| 精品一区二区在线看| 欧美一区二区福利视频| 秋霞电影网一区二区| 51精品国自产在线| 日韩精品乱码免费| 在线播放中文字幕一区| 日韩精品亚洲专区| 日韩一区二区三区在线| 美女任你摸久久 | 亚洲综合在线视频| 色香蕉久久蜜桃| 亚洲精品乱码久久久久久| 91麻豆高清视频| 亚洲福利视频一区| 欧美精品成人一区二区三区四区| 天天影视网天天综合色在线播放| 欧美日韩视频专区在线播放| 五月综合激情网| 日韩一级免费观看| 黄色日韩网站视频| 亚洲国产精品国自产拍av| 9i看片成人免费高清| 亚洲一区二区在线播放相泽| 欧美日本国产一区| 麻豆成人免费电影| 日本一区二区免费在线| 99麻豆久久久国产精品免费 | 欧美精品乱码久久久久久按摩| 亚洲va天堂va国产va久| 欧美一三区三区四区免费在线看 | 亚洲香肠在线观看| 91精品一区二区三区在线观看| 免费国产亚洲视频| 国产日韩精品一区二区三区在线| 成人精品视频一区二区三区| 亚洲码国产岛国毛片在线| 欧美精品一级二级| 国产精品综合一区二区| 一区二区三区中文在线| 51精品国自产在线| 成人午夜视频免费看| 亚洲国产另类精品专区| 欧美成人aa大片| 97aⅴ精品视频一二三区| 日韩国产在线观看一区| 久久精品欧美日韩精品 | 4438亚洲最大| 国产凹凸在线观看一区二区| 一个色综合av| 久久综合精品国产一区二区三区| 99国内精品久久| 精品一区二区在线免费观看| 自拍偷拍亚洲激情| 日韩精品一区二区三区四区视频| 成人国产精品免费观看动漫| 日韩影院在线观看| 亚洲综合色在线| 2023国产精华国产精品| 在线视频综合导航| 国产精品中文有码| 亚洲电影第三页| 国产精品天干天干在线综合| 欧美一级日韩免费不卡| av亚洲产国偷v产偷v自拍| 裸体一区二区三区| 亚洲欧美电影院| 国产农村妇女毛片精品久久麻豆| 欧美日韩国产在线播放网站| 成人久久18免费网站麻豆| 久久精品理论片| 亚洲成人资源在线| 日韩理论在线观看| 久久午夜电影网| 日韩精品中文字幕在线不卡尤物 | 国产精品热久久久久夜色精品三区| 欧美日韩精品福利| 日本道色综合久久| 国产91丝袜在线播放0|