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

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

?? emi_bw_rx.uc

?? 開發(fā)Inetl IXP2400平臺所必須的硬件診斷和測試程序。該軟件包支持的功能包括CPU基本功能檢測
?? UC
字號:
/* emi_bw_rx.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, 30 October, 2002
 *  revisions: 
 * 
 * 
 * --------------------------------------------------------------------------
 */

#include "common_uc.h"

#define RX_SINGLE_PHY					MSF_SINGLE_PHY
#define RX_WIDTH						MSF_WIDTH_4x8
#define RX_ENABLE_MASK					0xF
#define RX_MODE							MSF_POS_UTOPIA
#define RX_ELEMENTSIZE					MSF_ELEMENTSIZE_128
#define RBUF_ELEM_COUNT					(1 << (7 - RX_ELEMENTSIZE))
#define RBUF_ADDR_SHF					(6 + RX_ELEMENTSIZE)
#define RX_ELEMENT_SIZE_BYTE			(1 << RBUF_ADDR_SHF)

#define RX_TRANSFER_THREAD				&$TransferReg00
#define RX_SIGNAL_THREAD				&rx_sig_thd

#define MESSAGING_ADDR					0x1000
#define DRAM_PCKT_BASE					0x1000000

#define INTER_ME_SIG_NUM				15
#define SIG_THD_NUM						0

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

.reg cur_me
.reg $TransferReg00 $TransferReg01
.reg RxThreadList bytecnt elem error expected_sequence mask
.reg RxConfigData $RxConfigData0 RxConfigData0
.reg rbuf
.reg MsfAddress Thd_Freelist_Addr Rbuf_Elem_Done
.reg dramPacketBase 
.reg $rbuf_data0 $rbuf_data1
.reg $failure_type $scratch_data
.sig msf_sig sig_dram_xfer1
.sig rx_sig_thd inter_me_sig
.xfer_order $TransferReg00 $TransferReg01
.xfer_order $rbuf_data0 $rbuf_data1
.xfer_order $failure_type $scratch_data

.addr inter_me_sig INTER_ME_SIG_NUM

.set $TransferReg00
.set_sig inter_me_sig

br=ctx[0, Init_Value#]
ctx_arb[kill]

Init_Value#:
.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

.if (cur_me == 0)
	immed[Thd_Freelist_Addr, RX_THREAD_FREELIST_0]
.elif (cur_me == 1)
	immed[Thd_Freelist_Addr, RX_THREAD_FREELIST_1]
.elif (cur_me == 2)
	immed[Thd_Freelist_Addr, RX_THREAD_FREELIST_2]
.else
	immed[Thd_Freelist_Addr, RX_THREAD_FREELIST_3]
.endif

	immed[Rbuf_Elem_Done, RBUF_ELEMENT_DONE]
	immed[rbuf, RBUF_TBUF]
	immed[RxThreadList, ((RX_SIGNAL_THREAD << 12) | (0 << 4))]
	alu[RxThreadList, RxThreadList, OR, cur_me, <<7]
	alu[RxConfigData, RxThreadList, OR, RX_TRANSFER_THREAD]
	alu[RxConfigData, --,  B, RxConfigData, <<16]
	immed[expected_sequence, 0]
	immed[mask, MASK_4BIT]
	
	alu[--, cur_me, -, 0]
	beq[init_msf#]
	ctx_arb[inter_me_sig]
	br[ReceivePacket#]


init_msf#:
//****************************************************
// Configure RX/TX Control
//****************************************************
	immed[RxConfigData0, ((0<<9) | (RX_ELEMENTSIZE << 2))]
	immed_w1[RxConfigData0, ((RX_MODE << 6) | (RX_WIDTH << 4) | (RX_SINGLE_PHY << 3) | (0<<1)|(0<<0))]
	alu[$RxConfigData0, --, B, RxConfigData0]
	immed[MsfAddress, MSF_RX_CONTROL]
	msf[write, $RxConfigData0, MsfAddress, 0, 1], ctx_swap[msf_sig]


//******************************************************
// Initialize RBUF Freelist to add elements to the list
//******************************************************
.begin
	.reg temp_reg temp

	immed[temp_reg, 0]

init_RBUF#:
	alu[temp, --, B, temp_reg, <<16]
	msf[fast_wr, --, temp, RBUF_ELEMENT_DONE]
	alu[temp_reg, temp_reg, +, 1]
	alu[--, RBUF_ELEM_COUNT, -, temp_reg]
	bne[init_RBUF#]
.end


//******************************************************
// Configure RX UP Control CSRs 
//******************************************************
.begin
	.reg RxUPControl0

	immed[RxUPControl0, (UP_CTRL_PP_MODE | UP_CTRL_CP_MODE | UP_CTRL_PARITY | UP_CTRL_CELLSIZE | UP_CTRL_DRTIME)]
	alu[$RxConfigData0, --, B, RxUPControl0]
	immed[MsfAddress, RX_UP_CONTROL_0]
	msf[write, $RxConfigData0, MsfAddress, 0, 1], ctx_swap[msf_sig]
	immed[MsfAddress, RX_UP_CONTROL_1]
	msf[write, $RxConfigData0, MsfAddress, 0, 1], ctx_swap[msf_sig]
	immed[MsfAddress, RX_UP_CONTROL_2]
	msf[write, $RxConfigData0, MsfAddress, 0, 1], ctx_swap[msf_sig]
	immed[MsfAddress, RX_UP_CONTROL_3]
	msf[write, $RxConfigData0, MsfAddress, 0, 1], ctx_swap[msf_sig]
.end


//****************************************************
// Configure RX/TX Control
//****************************************************
	immed[RxConfigData0, ((0<<9) | (RX_ELEMENTSIZE << 2))]
	immed_w1[RxConfigData0, ((RX_ENABLE_MASK << 12) | (RX_MODE << 6) | (RX_WIDTH << 4) | (RX_SINGLE_PHY << 3) | (0<<1)|(0<<0))]
	alu[$RxConfigData0, --, B, RxConfigData0]
	immed[MsfAddress, MSF_RX_CONTROL]
	msf[write, $RxConfigData0, 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


//********************************************************
// Start of Test	
//********************************************************
ReceivePacket#:
	.set_sig rx_sig_thd
	msf[fast_wr, --, Thd_Freelist_Addr, RxConfigData] // add thread to freelist
	ctx_arb[rx_sig_thd]
	

// RSW should be in xfer register
// Transfer RBUF data to sram_in transfer registers
//***************************************
// Extract RSW
//****************************************
RSW#:
	alu[elem, --, B, $TransferReg00, >>24]	// Get element number
	alu[bytecnt, 0xFF, AND, $TransferReg00, >>16]	// Extract byte count
	alu[error, 0xF, AND, $TransferReg00, >>10]	// Extract error information
	.if (error > 0)
		immed[$failure_type, RECEIVE_ERROR]
		alu[$scratch_data, --, B, $TransferReg00]
		br[rbuf_to_dram#]
	.endif
	

//*************************************
// Transfer from RBUF to xfer register
//*************************************
no_error#:
.begin
	.reg rbuf_addr

	alu[rbuf_addr, rbuf, OR, elem, <<7]
	msf[read, $rbuf_data0, rbuf_addr, 0, 1], ctx_swap[msf_sig]
.end

.begin
	.reg cur_sequence temp
	alu[cur_sequence, --, B, $rbuf_data0, >>24]
	alu[--, expected_sequence, -, cur_sequence]
	beq[sequence_good#]
	immed[$failure_type, SEQUENCE_ERROR]
	alu[$scratch_data, expected_sequence, OR, cur_sequence, <<16]
//	alu[$scratch_data, --, B, $rbuf_data0]
.end


rbuf_to_dram#:
//*********************************
// Transfer from RBUF to DRAM
//*********************************	
.begin
	.reg pkt_buff_addr rel refcnt temp dramPacketBase

	immed[dramPacketBase, (DRAM_PCKT_BASE & MASK_16BIT)]
	immed_w1[dramPacketBase, ((DRAM_PCKT_BASE >> 16) & MASK_16BIT)]

	alu[refcnt, --, B, bytecnt, >>3]
	alu[--, bytecnt, AND, 0x7]
	beq[cont1#]
	alu[refcnt, refcnt, +, 1]
	alu[refcnt, refcnt, OR, 1, <<4]		// Set the overwrite bit for refcnt

cont1#:
	alu[temp, rbuf, OR, elem, <<7]		// 128B
	alu[temp, 16, OR, temp, <<5]		// shift rbuf addr and set the overwrite bit
	alu[temp, temp, OR, refcnt, <<21]	// shift refcnt and add for indirect ref

	dram[rbuf_rd, --, dramPacketBase, 0, 8], indirect_ref, sig_done[sig_dram_xfer1]

	ctx_arb[sig_dram_xfer1]
.end

	br[error_handling#]


//**************************************************************
//  Free up Element by writing to RBUF_Element_Done
//**************************************************************
sequence_good#:
.begin
	.reg temp
	alu[temp, --, B, elem, <<16]
	msf[fast_wr, --, temp, RBUF_ELEMENT_DONE]
.end

	alu[expected_sequence, expected_sequence, +, 1]
	alu[expected_sequence, mask, AND, expected_sequence]

	br[ReceivePacket#]


//**************************************************************
//  If an error occurs, write to XScale to indicate failure
//**************************************************************
error_handling#:
.begin
	.reg scratch_addr
	.sig scratch_sig

	immed[scratch_addr, MESSAGING_ADDR]
	scratch[write, $failure_type, scratch_addr, 0, 2], ctx_swap[scratch_sig]
.end

	ctx_arb[kill]

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美va日韩va| 欧美女孩性生活视频| 国产一区二区三区免费看| 麻豆国产欧美日韩综合精品二区| 亚洲国产精品天堂| 日韩二区三区在线观看| 麻豆一区二区在线| 91视视频在线观看入口直接观看www| 99精品视频一区| 欧美精品三级日韩久久| 欧美丝袜丝nylons| 欧美成人a∨高清免费观看| 欧美国产综合色视频| 天天av天天翘天天综合网| 欧美a级理论片| 国产精品99久久久久久久女警| 成人av集中营| 日韩欧美色电影| 亚洲少妇30p| 国产伦精品一区二区三区在线观看| 国产一区美女在线| 在线播放视频一区| 中文字幕中文字幕一区| 美脚の诱脚舐め脚责91| 不卡影院免费观看| 青青草原综合久久大伊人精品 | 欧美伊人久久大香线蕉综合69 | 高清shemale亚洲人妖| 成人动漫中文字幕| 久久久99久久| 久久精品噜噜噜成人av农村| 在线播放亚洲一区| 亚洲一区二区黄色| av在线综合网| 国产日韩欧美不卡在线| 中文幕一区二区三区久久蜜桃| 在线不卡欧美精品一区二区三区| 亚洲成人午夜影院| 色悠悠久久综合| 一区二区三区免费网站| 色综合久久精品| 亚洲国产一区二区三区青草影视| 69精品人人人人| 成人免费看黄yyy456| 偷拍自拍另类欧美| 亚洲欧美综合色| 久久久久国产精品人| 99视频精品全部免费在线| 亚洲自拍与偷拍| 麻豆91精品视频| 国产综合色精品一区二区三区| 欧美三级蜜桃2在线观看| 亚洲精品在线观| 国精品**一区二区三区在线蜜桃| 欧美一区二区三区免费大片| 午夜伊人狠狠久久| 成人小视频在线观看| 久久久久久久精| 91视频免费播放| 亚洲自拍欧美精品| 欧美色图在线观看| 夜夜嗨av一区二区三区网页 | 成人欧美一区二区三区1314| 亚洲bt欧美bt精品777| 成人黄色小视频在线观看| 久久精品一区二区| 韩国av一区二区三区| 亚洲图片欧美激情| 一本在线高清不卡dvd| 美国三级日本三级久久99| 91猫先生在线| 欧美精品日韩综合在线| 精品福利一二区| 免费高清成人在线| 成人av先锋影音| 久久国产精品第一页| 国产一区二区三区四区在线观看| 欧美日韩黄色一区二区| 亚洲精品成人悠悠色影视| 久久久久久电影| 欧美一区二区播放| 91精品国产综合久久婷婷香蕉| 99免费精品视频| 色婷婷国产精品综合在线观看| 国产91丝袜在线观看| 日韩有码一区二区三区| 国产午夜精品久久久久久免费视| 亚洲高清视频在线| 久久综合九色综合97婷婷女人| 成人av网站免费观看| 亚洲小说欧美激情另类| 欧美一卡2卡三卡4卡5免费| 狠狠色伊人亚洲综合成人| 亚洲乱码国产乱码精品精小说| 欧美手机在线视频| 国产福利一区在线| 亚洲国产精品自拍| 亚洲欧美综合在线精品| 日韩美女在线视频| 在线日韩国产精品| 韩国三级中文字幕hd久久精品| 精品少妇一区二区三区在线视频| 国产在线日韩欧美| 日本欧美大码aⅴ在线播放| 日韩理论片中文av| 国产清纯在线一区二区www| 欧美成人综合网站| 在线不卡一区二区| 欧美巨大另类极品videosbest | 欧美va日韩va| 在线视频综合导航| 欧美一区二区黄| 欧美电影影音先锋| 欧美一二三在线| 国产精品短视频| 有码一区二区三区| 精品影视av免费| 国产精品一区二区在线看| 国产成人在线观看免费网站| 首页亚洲欧美制服丝腿| 美女网站在线免费欧美精品| 国产精品视频第一区| 久久精品亚洲精品国产欧美kt∨| 久久综合九色综合欧美98| 欧美精品一区二区三区蜜桃视频| 欧美午夜精品一区二区蜜桃| 欧美精品aⅴ在线视频| 欧美精品久久久久久久多人混战 | 亚洲女人****多毛耸耸8| 日韩一级片在线观看| 日本二三区不卡| 欧美一区二区三区免费| 久久久久久毛片| 一区二区三区四区av| 精品在线观看视频| 99在线精品观看| 欧美群妇大交群中文字幕| 日韩欧美精品在线| 亚洲愉拍自拍另类高清精品| 亚洲婷婷国产精品电影人久久| 国产精品不卡一区| 亚洲va欧美va人人爽| 青青青伊人色综合久久| 国产美女在线精品| 欧美日韩免费观看一区三区| 亚洲一线二线三线久久久| 成人污污视频在线观看| 国产精品成人一区二区艾草| 亚洲精品国久久99热| 欧美一区二区三区的| 欧美三级电影网| 日韩精品五月天| 婷婷综合另类小说色区| 亚洲1区2区3区4区| 国产成人高清在线| 久久蜜桃香蕉精品一区二区三区| 亚洲欧美电影一区二区| caoporm超碰国产精品| 欧美一区二区三区免费观看视频| 一区二区三区免费| 国产精品69毛片高清亚洲| 久久综合视频网| 轻轻草成人在线| 5858s免费视频成人| 欧美亚洲精品一区| 人人狠狠综合久久亚洲| 欧美影院午夜播放| 亚洲国产视频直播| 3d成人h动漫网站入口| 裸体健美xxxx欧美裸体表演| 91久久久免费一区二区| 麻豆国产欧美日韩综合精品二区| 91精品国产综合久久久蜜臀粉嫩 | 欧美日本精品一区二区三区| 天天操天天干天天综合网| 91精品综合久久久久久| 久久91精品久久久久久秒播| 欧美mv日韩mv国产网站app| 亚洲第一精品在线| 26uuu另类欧美亚洲曰本| 成人亚洲一区二区一| 久久久三级国产网站| av电影在线观看不卡| 亚洲一区二区三区四区不卡| 91麻豆精品国产自产在线观看一区 | 久久久久久99久久久精品网站| 欧美韩日一区二区三区| 日韩手机在线导航| 成人一区二区三区视频| 亚洲一卡二卡三卡四卡| 欧美精品一区二区三区一线天视频 | 色激情天天射综合网| 不卡的电影网站| 国内外成人在线| 久久精品夜色噜噜亚洲a∨| 久久国产精品免费| 亚洲一区在线观看视频| 久久久欧美精品sm网站| 久久精品一级爱片| 蜜臀av国产精品久久久久|