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

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

?? sys_loopback_bw_2_eg_tx.uc

?? 開發Inetl IXP2400平臺所必須的硬件診斷和測試程序。該軟件包支持的功能包括CPU基本功能檢測
?? UC
字號:
/* emi_bw_tx.uc
 *
 * Brief:
 *
 *
 *---------------------------------------------------------------------------
 *                                                                      
 *                  I N T E L   P R O P R I E T A R Y                   
 *                                                                      
 *     COPYRIGHT (c)  2002 BY  INTEL  CORPORATION.  ALL RIGHTS          
 *     RESERVED.   NO  PART  OF THIS PROGRAM  OR  PUBLICATION  MAY      
 *     BE  REPRODUCED,   TRANSMITTED,   TRANSCRIBED,   STORED  IN  A    
 *     RETRIEVAL SYSTEM, OR TRANSLATED INTO ANY LANGUAGE OR COMPUTER    
 *     LANGUAGE IN ANY FORM OR BY ANY MEANS, ELECTRONIC, MECHANICAL,    
 *     MAGNETIC,  OPTICAL,  CHEMICAL, MANUAL, OR OTHERWISE,  WITHOUT    
 *     THE PRIOR WRITTEN PERMISSION OF :                                
 *                                                                      
 *                        INTEL  CORPORATION                            
 *                                                                     
 *                     2200 MISSION COLLEGE BLVD                        
 *                                                                      
 *               SANTA  CLARA,  CALIFORNIA  95052-8119                  
 *                                                                      
 *---------------------------------------------------------------------------
 *
 *
 *  system: IXDP2400
 *  subsystem: DIAG
 *  author: dalsraja, 23 December, 2002
 *  revisions: 
 * 
 * 
 * --------------------------------------------------------------------------
 */


#include "common_uc.h"

#define TX_ELEMENT_SIZE				MSF_ELEMENTSIZE_128
#define TX_ENABLE_MASK				0xF
#define TX_MODE						MSF_POS_UTOPIA
#define TX_WIDTH					MSF_WIDTH_4x8
#define TX_SINGLE_PHY				MSF_SINGLE_PHY

#define TBUF_ELEM_COUNT				(1 << (7 - TX_ELEMENT_SIZE))
#define TBUF_ELEM_COUNT_PER_PORT	(TBUF_ELEM_COUNT >> 2)
#define TBUF_ADDR_SHF				(6 + TX_ELEMENT_SIZE)
#define TX_ELEMENTSIZE_BYTE			(1 << TBUF_ADDR_SHF)

#define TBUF_ELEM_COUNT_4PORT		TBUF_ELEM_COUNT_PER_PORT

#define TBUF_ELEM_COUNT_4PORT_MASK	(TBUF_ELEM_COUNT_4PORT - 1)


#define TX_CONTROL_EOP				(1 << 8)
#define TX_CONTROL_SOP				(1 << 9)

#define POS_PAYLOAD_LENGTH			48
#define FUTURE_COUNT_SIG_NUM		&future_count_sig
#define FUTURE_COUNT_STEP			22

#define FUTURE_COUNT_STEP_ADDR		0x1600
#define INTER_ME_SIG_NUM			15

#define NUMBER_OF_PORTS				4

#define ME_0						0
#define ME_1						1
#define ME_2						2
#define ME_3						3

#define PORT_0						0
#define PORT_1						1
#define PORT_2						2
#define PORT_3						3

#define SIG_THD_NUM					0

.reg cur_me
.reg MsfAddress TxSequenceAddr total_packets_tx
.reg future_count_value future_count_incr
.reg byte_count
.reg TxConfigData0
.reg $TxConfigData0
.reg $TxControlWord0 $TxControlWord1
.reg tbuf_element base_element_for_port
.sig msf_sig future_count_sig inter_me_sig

.xfer_order $TxControlWord0 $TxControlWord1

.addr inter_me_sig INTER_ME_SIG_NUM

.set_sig inter_me_sig
br=ctx[0, init#]
ctx_arb[kill]

init#:
.begin
	.reg temp
	local_csr_rd[ACTIVE_CTX_STS]
	immed[temp, 0]
	alu[cur_me, 0x1F, AND, temp, >>3]	// Extract the current ME number
.end

	immed[total_packets_tx, 0]
	immed[tbuf_element, 0]
	immed[byte_count, POS_PAYLOAD_LENGTH]
	immed[future_count_value, 0]

/*
.begin
	.reg temp_scratch_addr $temp_scratch_data
	.sig scratch_sig
	immed[temp_scratch_addr, FUTURE_COUNT_STEP_ADDR]
	scratch[read, $temp_scratch_data, temp_scratch_addr, 0, 1], ctx_swap[scratch_sig]
	alu[future_count_incr, --, B, $temp_scratch_data]
.end
*/

	immed[future_count_incr, FUTURE_COUNT_STEP]

.if (cur_me == 0)
	immed[base_element_for_port, (TBUF_ELEM_COUNT_PER_PORT * PORT_0)]
	immed[TxSequenceAddr, TX_SEQUENCE_0]
.elif (cur_me == 1)
//	ctx_arb[kill]
	immed[base_element_for_port, (TBUF_ELEM_COUNT_PER_PORT * PORT_1)]
	immed[TxSequenceAddr, TX_SEQUENCE_1]
.elif (cur_me == 2)
//	ctx_arb[kill]
	immed[base_element_for_port, (TBUF_ELEM_COUNT_PER_PORT * PORT_2)]
	immed[TxSequenceAddr, TX_SEQUENCE_2]
.else
//	ctx_arb[kill]
	immed[base_element_for_port, (TBUF_ELEM_COUNT_PER_PORT * PORT_3)]
	immed[TxSequenceAddr, TX_SEQUENCE_3]
.endif

	alu[--, cur_me, -, 0]
	beq[init_msf#]
	ctx_arb[inter_me_sig]
	br[msf_init_done#]


init_msf#:
//****************************************************
// Configure TX Control
//****************************************************
	immed[MsfAddress, MSF_TX_CONTROL]
	immed[TxConfigData0, (TX_ELEMENT_SIZE << 2)]	// put control and data into diff freelist
	immed_w1[TxConfigData0, ((TX_ENABLE_MASK << 8) | (TX_MODE << 6) | (TX_WIDTH << 4) | (TX_SINGLE_PHY << 3) | (0<<1)|(0<<0))]
	alu[$TxConfigData0, --, B, TxConfigData0]
	msf[write, $TxConfigData0, MsfAddress, 0, 1], ctx_swap[msf_sig]

	immed[MsfAddress, TX_UP_CONTROL_0]
	immed[TxConfigData0, (UP_CTRL_CP_MODE | UP_CTRL_PARITY | UP_CTRL_CELLSIZE | UP_CTRL_DRTIME)]
	alu[$TxConfigData0, --, B, TxConfigData0]
	msf[write, $TxConfigData0, MsfAddress, 0, 1], ctx_swap[msf_sig]
	immed[MsfAddress, TX_UP_CONTROL_1]
	msf[write, $TxConfigData0, MsfAddress, 0, 1], ctx_swap[msf_sig]
	immed[MsfAddress, TX_UP_CONTROL_2]
	msf[write, $TxConfigData0, MsfAddress, 0, 1], ctx_swap[msf_sig]
	immed[MsfAddress, TX_UP_CONTROL_3]
	msf[write, $TxConfigData0, MsfAddress, 0, 1], ctx_swap[msf_sig]

	immed[MsfAddress, MSF_TX_CONTROL]
	immed[TxConfigData0, (TX_ELEMENT_SIZE << 2)]	// put control and data into diff freelist
	immed_w1[TxConfigData0, ((TX_ENABLE_MASK << 12) | (TX_ENABLE_MASK << 8) | (TX_MODE << 6) | (TX_WIDTH << 4) | (TX_SINGLE_PHY << 3) | (0<<1)|(0<<0))]
	alu[$TxConfigData0, --, B, TxConfigData0]
	msf[write, $TxConfigData0, MsfAddress, 0, 1], ctx_swap[msf_sig]


.begin
	.reg temp
	immed[temp, ((ME_1 << 7) | (SIG_THD_NUM << 4) | (INTER_ME_SIG_NUM << 0))]
	alu[--, --, B, temp]
	cap[fast_wr, ALU, interthread_sig]
	immed[temp, ((ME_2 << 7) | (SIG_THD_NUM << 4) | (INTER_ME_SIG_NUM << 0))]
	alu[--, --, B, temp]
	cap[fast_wr, ALU, interthread_sig]
	immed[temp, ((ME_3 << 7) | (SIG_THD_NUM << 4) | (INTER_ME_SIG_NUM << 0))]
	alu[--, --, B, temp]
	cap[fast_wr, ALU, interthread_sig]
.end


msf_init_done#:
//****************************************************
// Configure the TIMESTAMP registers and configure
// the FUTURE_COUNT_SIGNAL register
//****************************************************
	local_csr_wr[TIMESTAMP_LOW, 0]
	local_csr_wr[TIMESTAMP_HIGH, 0]
	local_csr_wr[CSR_CTX_POINTER, 0]
	local_csr_wr[INDIRECT_FUTURE_COUNT_SIGNAL, FUTURE_COUNT_SIG_NUM]

.begin
	.reg $temp_reg_val
	.sig cap_sig
	cap[read, $temp_reg_val, MISC_CONTROL], ctx_swap[cap_sig]	// Read the MISC_CONTROL reg
	alu[--, $temp_reg_val, OR, 1, <<7]		// Set the timestamp enable bit
	cap[fast_wr, alu, MISC_CONTROL]			// and write to the MISC_CONTROL register
.end

next_packet#:
	local_csr_wr[CSR_CTX_POINTER, 0]
	alu[future_count_value, future_count_value, +, future_count_incr]
	alu[future_count_value, 0, +16, future_count_value]
	local_csr_wr[INDIRECT_CTX_FUTURE_COUNT, future_count_value]


//*******************************************************

// Read the Transmit Sequence

//*******************************************************

.begin	
	.reg result tmp_val tmp_tbuf $TxSequenceData

read_tx_sequence_loop#:
	msf[read, $TxSequenceData, TxSequenceAddr, 0, 1], ctx_swap[msf_sig]

	alu[result, TBUF_ELEM_COUNT_4PORT_MASK, AND, $TxSequenceData]	// get mpkts actually sent
	alu[tmp_val, TBUF_ELEM_COUNT_4PORT_MASK, AND, tbuf_element]
	alu[--, tmp_val, -, result]
	bge[cont_comp_tbuf_tx_sequnce#], defer[1]
	alu[tmp_tbuf, --, b, tmp_val]		
	alu[tmp_tbuf, tmp_tbuf, +, TBUF_ELEM_COUNT_4PORT]	// wrap around, add tbuf element number
cont_comp_tbuf_tx_sequnce#:
	alu[result, tmp_tbuf, -, result]			// compare with totals in tbuf
	alu[--, result, -, 8]						// compare with threshold
	bge[read_tx_sequence_loop#] 				// loop again
.end //result tmp_tbuf


.set_sig future_count_sig
//*******************************************************
// Write the Transmit Control Word with appropriate data
//*******************************************************
.begin
	.reg temp cur_tbuf_elem

	alu[cur_tbuf_elem, base_element_for_port, +, tbuf_element]
	immed[MsfAddress, TBUF_ELEMENT_CONTROL_V]
	alu[MsfAddress, MsfAddress, OR, cur_tbuf_elem, <<3]

	immed[temp, (TX_CONTROL_SOP | TX_CONTROL_EOP)]
	alu[$TxControlWord0, temp, OR, byte_count, <<24]

	immed[$TxControlWord1, 0]

	ctx_arb[future_count_sig]

	msf[write, $TxControlWord0, MsfAddress, 0, 2], ctx_swap[msf_sig]
.end

	alu[tbuf_element, tbuf_element, +, 1]
	alu[tbuf_element, tbuf_element, AND, (TBUF_ELEM_COUNT_PER_PORT - 1)]
//	alu[total_packets_tx, total_packets_tx, +, 1]
//
//	.if (total_packets_tx == 1000000)
//		ctx_arb[kill]
//	.endif

	br[next_packet#]

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美一区二区视频| 大桥未久av一区二区三区中文| 欧美午夜精品理论片a级按摩| 一区二区三区欧美视频| 欧美中文字幕一区二区三区| 成人免费在线视频| 91官网在线免费观看| 亚洲成人手机在线| 亚洲欧美日韩小说| 欧美精品第1页| 国产成人免费视频网站| 日韩理论片在线| 欧美一区二区私人影院日本| 国产一区二区三区免费在线观看| 欧美经典三级视频一区二区三区| 懂色av一区二区在线播放| 亚洲6080在线| 国产精品成人免费在线| 日韩欧美第一区| 欧美色图一区二区三区| 韩国一区二区三区| 亚洲午夜av在线| 国产欧美日韩中文久久| 91精品国产综合久久精品性色| 国产a级毛片一区| 美国三级日本三级久久99| 一区二区三区在线视频免费| 欧美mv和日韩mv国产网站| 欧美在线一区二区三区| 成人手机电影网| 久久99精品国产91久久来源| 偷拍亚洲欧洲综合| 亚洲激情男女视频| 综合久久综合久久| 亚洲国产电影在线观看| 久久久另类综合| 欧美电影免费观看高清完整版在 | 日本一区二区成人在线| 久久久蜜桃精品| 久久综合九色综合97婷婷| 国产精品久久久久久久久免费樱桃 | 久久99久久久久久久久久久| 午夜欧美2019年伦理| 亚洲六月丁香色婷婷综合久久| 国产精品夫妻自拍| 一区在线观看免费| 亚洲一区免费在线观看| 亚洲成人先锋电影| 婷婷中文字幕综合| 另类小说色综合网站| 欧美一区二区三区色| 色婷婷精品大在线视频| 高清在线不卡av| 69成人精品免费视频| 8x8x8国产精品| 久久亚洲二区三区| 国产精品成人一区二区艾草 | 777午夜精品视频在线播放| 51午夜精品国产| 2023国产精品| 亚洲欧美日韩国产综合| 日本欧美久久久久免费播放网| 麻豆成人在线观看| 成人精品在线视频观看| 欧美三级视频在线观看| ww久久中文字幕| 亚洲激情六月丁香| 国产一区二区三区在线看麻豆| 97久久人人超碰| 精品久久久网站| 亚洲狠狠丁香婷婷综合久久久| 日本三级韩国三级欧美三级| 国产91丝袜在线播放| 中文字幕av资源一区| 久久电影网站中文字幕| 9i在线看片成人免费| 久久综合久久鬼色| 美国精品在线观看| 欧美日韩一区二区欧美激情| 国产精品人成在线观看免费| 麻豆精品视频在线| 欧美日本国产视频| 亚洲欧洲精品天堂一级| 成人国产亚洲欧美成人综合网| 日韩欧美一级二级三级久久久| 亚洲大型综合色站| 91高清视频在线| 一区二区三区视频在线看| 成人97人人超碰人人99| 中文字幕免费观看一区| 岛国精品在线观看| 自拍av一区二区三区| 成人app在线| 久久国产综合精品| 国产亚洲精品资源在线26u| 美女一区二区在线观看| 精品久久久久久久一区二区蜜臀| 日本午夜一区二区| 精品久久人人做人人爰| 国产精品2024| 中文字幕亚洲视频| 欧美日韩亚洲综合一区二区三区| 天天影视涩香欲综合网| 精品久久久久久久久久久久久久久| 六月丁香综合在线视频| 日本一区二区动态图| 色综合中文字幕国产 | 欧美一区二区三区色| 成人网在线免费视频| 亚洲国产视频直播| 欧美变态tickle挠乳网站| 国产成人日日夜夜| 午夜一区二区三区在线观看| 久久精品一区二区三区不卡| 99v久久综合狠狠综合久久| 午夜欧美在线一二页| 久久精品人人做| 欧美日韩中字一区| 丁香啪啪综合成人亚洲小说 | 欧美影视一区二区三区| 国产成人av资源| 蜜桃在线一区二区三区| 亚洲精品中文字幕在线观看| 精品日韩欧美一区二区| 色婷婷久久久亚洲一区二区三区| 免播放器亚洲一区| 亚洲天堂2016| 国产欧美日韩另类一区| 日韩精品一区二区三区四区| 色88888久久久久久影院野外 | 成人开心网精品视频| 免费观看日韩av| 亚洲综合免费观看高清完整版在线| 欧美国产日韩精品免费观看| 欧美mv日韩mv亚洲| 日韩三区在线观看| 日韩一区二区在线看片| 337p亚洲精品色噜噜| 欧美性感一区二区三区| 日本高清视频一区二区| 91视频在线观看| 色爱区综合激月婷婷| 欧美中文字幕久久| 欧美久久一二区| 欧美久久久久免费| 日韩一区二区免费电影| 欧美高清视频一二三区 | 国产午夜精品一区二区三区四区| 日韩三级视频在线看| 久久精品视频免费| 亚洲三级在线播放| 亚洲国产精品嫩草影院| 美国毛片一区二区| 成人av网站在线观看免费| 99久久婷婷国产综合精品电影 | 国产精品69毛片高清亚洲| 国产99久久久精品| eeuss国产一区二区三区| 在线观看日韩毛片| 久久综合九色综合97婷婷女人| 国产精品伦一区| 午夜一区二区三区在线观看| 激情伊人五月天久久综合| 暴力调教一区二区三区| 91精品国产黑色紧身裤美女| 国产欧美视频一区二区三区| 亚洲一区二区三区国产| 国产精品中文欧美| 欧美四级电影网| 国产精品第13页| 国产成人午夜视频| 欧美一区二区三区免费观看视频| 亚洲欧洲日产国码二区| 美女在线视频一区| 4438亚洲最大| 亚洲一级二级在线| 99久久精品免费看国产 | 欧美亚洲国产一区二区三区| 国产欧美精品一区| 久99久精品视频免费观看| 精品视频全国免费看| 亚洲视频 欧洲视频| 不卡av电影在线播放| 日本一区二区免费在线观看视频| 蜜臀a∨国产成人精品| 欧美日韩精品一二三区| 天天av天天翘天天综合网 | 一区二区免费在线| 色妞www精品视频| 亚洲精品日韩专区silk| 色妞www精品视频| 亚洲一区日韩精品中文字幕| 欧美在线你懂的| 丝袜亚洲另类欧美| 欧美大尺度电影在线| 国产伦精品一区二区三区免费 | 一本色道久久综合精品竹菊| 国产精品久久久久永久免费观看 | 国产精品伦理一区二区| 波多野洁衣一区|