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

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

?? pl_media_lpbk-jumboframe_tx.uc

?? 開發(fā)Inetl IXP2400平臺(tái)所必須的硬件診斷和測(cè)試程序。該軟件包支持的功能包括CPU基本功能檢測(cè)
?? UC
字號(hào):
/* pl_media_loopback-jumboFrame_tx.uc

 *

 * This file transmits a POS packet which is stored in DRAM by the XScale.

 * Once it has completed transmitting the packet, it signals the XScale by 

 * writing to the Mailbox register indicating that it has transmitted a

 * packet.

 *---------------------------------------------------------------------------

 *                                                                      

 *                  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, April, 2002

 *  revisions: dalsraja, May 8, 2002

 * 

 * 

 * --------------------------------------------------------------------------

 */



#include "common_uc.h"


//#define_eval	UP_CTRL_PARITY		(MSF_PARITY_ODD << 2)

#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_ADDR_SHF				(6 + TX_ELEMENT_SIZE)

#define TX_ELEMENTSIZE_BYTE			(1 << TBUF_ADDR_SHF)



#define TBUF_ELEM_COUNT_4PORT		(TBUF_ELEM_COUNT >> 2)

#define TBUF_ELEM_COUNT_4PORT_MASK	(TBUF_ELEM_COUNT_4PORT - 1)



#define TX_CONTROL_EOP				(1 << 8)

#define TX_CONTROL_SOP				(1 << 9)



#define INTERTHD_SIG_NUM			15



#ifdef WORKBENCH_SIM

#define POS_PAYLOAD_LENGTH			288

#define DRAM_BASE_SRC				0x1000000

#endif

	

.reg MsfAddress MsfAddress0 MsfAddress1

.reg pci_base get_ring_num put_ring_num @packet_count

.reg port_count

.reg byte_count cur_ctx bytes_sent total_bytes sopeop

.reg TxConfigData0 TxSequenceAddr

.reg $TxConfigData0

.reg $TxControlWord0 $TxControlWord1

.reg tbuf_element tbuf_1st_element tbuf_mask

.reg dram_addr tbuf
.reg doff

.sig dram_sig msf_sig interthd_sig



.xfer_order $TxControlWord0 $TxControlWord1



.addr interthd_sig INTERTHD_SIG_NUM

.set_sig interthd_sig



Init_Value#:

	br=ctx[0, init_all#]

	br=ctx[1, init_all#]

	br=ctx[2, init_all#]

	br=ctx[3, init_all#]

	ctx_arb[kill]



init_all#:
	.local temp

	local_csr_rd[ACTIVE_CTX_STS]

	immed[temp, 0]

	alu[cur_ctx, MASK_3BIT, AND, temp]		// Extract the current context number

	.endlocal


immed[doff,0]

	immed[tbuf, RBUF_TBUF]

	immed[tbuf_mask, ((TBUF_ELEM_COUNT >> 2) - 1)]

	immed[@packet_count, 0]

	immed[port_count, 0]


	alu[tbuf_1st_element, --, B, cur_ctx, <<4]

	alu[get_ring_num , --, B, cur_ctx, <<2]

	alu[put_ring_num , --, B, RING_4, <<2]



	.if (cur_ctx == 0)
		immed[TxSequenceAddr, TX_SEQUENCE_0]
	.elif (cur_ctx == 1)
		immed[TxSequenceAddr, TX_SEQUENCE_1]
	.elif (cur_ctx == 2)
		immed[TxSequenceAddr, TX_SEQUENCE_2]
	.else
		immed[TxSequenceAddr, TX_SEQUENCE_3]
	.endif


	.if (cur_ctx > 0)

		ctx_arb[interthd_sig]

		br[start#]

	.endif



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

// 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]





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

// Configure TX_UP_Control_# (# = 0 - 3)

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

	//immed[TxConfigData0, (UP_CTRL_CP_MODE | UP_CTRL_PARITY | UP_CTRL_CELLSIZE | UP_CTRL_DRTIME)]
	immed[TxConfigData0, (UP_CTRL_CP_MODE | UP_CTRL_PARITY_ODD | UP_CTRL_CELLSIZE | UP_CTRL_DRTIME)]

	alu[$TxConfigData0, --, B, TxConfigData0]

	immed[MsfAddress, TX_UP_CONTROL_0]

	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]





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

// 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 << 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]





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

// Configure Scratch Ring

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

.begin

	.reg $scratch_base $scratch_head $scratch_tail

	.sig scratch_sig1 scratch_sig2 scratch_sig3



	immed[$scratch_head,0]

	immed[$scratch_tail,0]



	alu[$scratch_base, --, B, 0]			// Use ring size of 128 lw and base 0x0

	cap[write,$scratch_base,SCRATCH_RING_BASE_0],sig_done[scratch_sig1]

	cap[write,$scratch_head,SCRATCH_RING_HEAD_0],sig_done[scratch_sig2]

	cap[write,$scratch_tail,SCRATCH_RING_TAIL_0],sig_done[scratch_sig3]

	ctx_arb[scratch_sig1, scratch_sig2, scratch_sig3]



	alu[$scratch_base, --, B, 1, <<9]		// Use ring size of 128 lw and base 0x200

	cap[write,$scratch_base,SCRATCH_RING_BASE_1],sig_done[scratch_sig1]

	cap[write,$scratch_head,SCRATCH_RING_HEAD_1],sig_done[scratch_sig2]

	cap[write,$scratch_tail,SCRATCH_RING_TAIL_1],sig_done[scratch_sig3]

	ctx_arb[scratch_sig1, scratch_sig2, scratch_sig3]



	alu[$scratch_base, --, B, 2, <<9]		// Use ring size of 128 lw and base 0x400

	cap[write,$scratch_base,SCRATCH_RING_BASE_2],sig_done[scratch_sig1]

	cap[write,$scratch_head,SCRATCH_RING_HEAD_2],sig_done[scratch_sig2]

	cap[write,$scratch_tail,SCRATCH_RING_TAIL_2],sig_done[scratch_sig3]

	ctx_arb[scratch_sig1, scratch_sig2, scratch_sig3]



	alu[$scratch_base, --, B, 3, <<9]		// Use ring size of 128 lw and base 0x600

	cap[write,$scratch_base,SCRATCH_RING_BASE_3],sig_done[scratch_sig1]

	cap[write,$scratch_head,SCRATCH_RING_HEAD_3],sig_done[scratch_sig2]

	cap[write,$scratch_tail,SCRATCH_RING_TAIL_3],sig_done[scratch_sig3]

	ctx_arb[scratch_sig1, scratch_sig2, scratch_sig3]



	alu[$scratch_base, --, B, 4, <<9]		// Use ring size of 128 lw and base 0x800

	cap[write,$scratch_base,SCRATCH_RING_BASE_4],sig_done[scratch_sig1]

	cap[write,$scratch_head,SCRATCH_RING_HEAD_4],sig_done[scratch_sig2]

	cap[write,$scratch_tail,SCRATCH_RING_TAIL_4],sig_done[scratch_sig3]

	ctx_arb[scratch_sig1, scratch_sig2, scratch_sig3]

.end



start#:

next_packet#:

#ifndef WORKBENCH_SIM		// This is because workbench does not simulate PCI

.begin

.reg $packet_info mask dbase val

.sig scratch_sig


	immed[dbase,0]

	immed_w1[dbase, 0x100]

	immed[val,0]

	immed[mask, MASK_16BIT]

wait_for_packet_data#:

	scratch[get, $packet_info, get_ring_num, 0, 1], ctx_swap[scratch_sig]

//	alu[total_bytes, --, B, $packet_info]
	alu[total_bytes, 0, +16, $packet_info]

//	beq[wait_for_packet_data#]

    beq[send_interthread_sig#]



//	alu[dram_addr, --, B, cur_ctx, <<14]

//	alu[dram_addr, dbase, +, dram_addr]
	alu[dram_addr, --, B, $packet_info, >>16]
	alu[dram_addr, --, B, dram_addr, <<8]
	alu[dram_addr, dbase, +, dram_addr]
	.if ((total_bytes == 0x5F0) || (total_bytes == 0x1400) )
		immed[val, 0x1000]
	.endif
	.if (total_bytes == 0x2C00) 
		immed[val, 0x2000]
	.endif

	alu[dram_addr, dram_addr, +, val]

.end
.begin
	.reg temp_addr $temp_val0 temp1 v
	.sig scratch_sig

	immed[temp_addr, 0x1010]
	alu[temp1, --, B, cur_ctx, <<2]
	alu[temp_addr, temp_addr, +, temp1]
	alu[temp1, --, B, dram_addr]
	alu[$temp_val0, temp1, OR, cur_ctx, <<16]
	scratch[write, $temp_val0, temp_addr, 0, 1],ctx_swap[scratch_sig]
.end


#else

	immed[total_bytes, POS_PAYLOAD_LENGTH]

	immed[dram_addr, (DRAM_BASE_SRC & MASK_16BIT)]

	immed_w1[dram_addr, ((DRAM_BASE_SRC >> 16) & MASK_16BIT)]

	alu[dram_addr, dram_addr, OR, cur_ctx, <<12]

#endif


	immed[bytes_sent, 0]

process_data#:
.begin
	.reg remain_bytes

	alu[remain_bytes, total_bytes, -, bytes_sent]

	.if (remain_bytes <= TX_ELEMENTSIZE_BYTE)
		.if (bytes_sent == 0)
			alu[sopeop, --, B, SOP_EOP, <<8]
		.else
			alu[sopeop, --, B, NOSOP_EOP, <<8]
		.endif

		alu[byte_count, --, B, remain_bytes]
	.else	// (remain_bytes > TX_ELEMENTSIZE_BYTE)
		.if (bytes_sent == 0)
			alu[sopeop, --, B, SOP_NOEOP, <<8]
		.else
			alu[sopeop, --, B, MOP, <<8]
		.endif

		alu[byte_count, --, B, TX_ELEMENTSIZE_BYTE]
	.endif
.end


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

// Process to move data to TBUF from DRAM

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

.begin

	.reg tbuf_addr refcnt



	alu[tbuf_element, tbuf_1st_element, +, port_count]

	alu[port_count, port_count, +, 1]

	alu[port_count, tbuf_mask, AND, port_count]




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

// 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

	alu[tbuf_addr, --, B, tbuf_element, <<TBUF_ADDR_SHF]

	alu[tbuf_addr, tbuf, +, tbuf_addr]

	alu[tbuf_addr, --, B, tbuf_addr, <<5]

	alu[tbuf_addr, tbuf_addr, OR, 1, <<4]		// set the overwrite bit for the TBUF addr



	alu[refcnt, --, B, byte_count, >>3]
	alu[--, byte_count, AND, 0x7]
	bne[refcnt_calc_done#]
	alu[refcnt, refcnt, -, 1]			// Calculate the refcnt for indirect ref

refcnt_calc_done#:

	alu[refcnt, --, B, refcnt, <<21]	// Shift to appropriate bit

	alu[refcnt, refcnt, OR, 1, <<25]	// Set the overwrite bit for refcnt



	alu[--, tbuf_addr, OR, refcnt]		// indirect ref



	dram[tbuf_wr, --, dram_addr, bytes_sent, 8], indirect_ref, sig_done[dram_sig]

	ctx_arb[dram_sig]	

.end



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

// Write the Transmit Control Word with appropriate data

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

.begin

	.reg temp_byte_count



	immed[MsfAddress, TBUF_ELEMENT_CONTROL_V]

	alu[MsfAddress, MsfAddress, OR, tbuf_element, <<3]



	alu[temp_byte_count, byte_count, AND, 0xFF]
	alu[$TxControlWord0, sopeop, OR, temp_byte_count, <<24]



	immed[$TxControlWord1, 0]



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

.end



	alu[bytes_sent, bytes_sent, +, byte_count]
	
	.if (bytes_sent == total_bytes)
		immed[total_bytes, 0]
	.else
		br[process_data#]
	.endif


	alu[@packet_count, @packet_count, +, 1]

.begin
	.reg temp_addr $temp_val0 temp1
	.sig scratch_sig

	immed[temp_addr, 0x1020]
	alu[temp1, --, B, cur_ctx, <<2]
	alu[temp_addr, temp_addr, +, temp1]
	alu[temp1, --, B, @packet_count]
	alu[$temp_val0, temp1, OR, cur_ctx, <<16]
	scratch[write, $temp_val0, temp_addr, 0, 1],ctx_swap[scratch_sig]
.end




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

//  Write to scratch ring with the tx packet count

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

#ifndef WORKBENCH_SIM

.begin

	.reg $scratch_data temp

	.sig scratch_sig



//	alu[temp, --, B, @packet_count]

//	alu[$scratch_data, temp, OR, cur_ctx, <<16]

	alu[$scratch_data, --, B, @packet_count]

	scratch[put, $scratch_data, put_ring_num, 0, 1], ctx_swap[scratch_sig]

.end

#endif



send_interthread_sig#:

.if (cur_ctx == 0)

	local_csr_wr[SAME_ME_SIGNAL, ((INTERTHD_SIG_NUM << 3) | 1)]

.elif (cur_ctx == 1)

	local_csr_wr[SAME_ME_SIGNAL, ((INTERTHD_SIG_NUM << 3) | 2)]

.elif (cur_ctx == 2)

	local_csr_wr[SAME_ME_SIGNAL, ((INTERTHD_SIG_NUM << 3) | 3)]

.else

	local_csr_wr[SAME_ME_SIGNAL, ((INTERTHD_SIG_NUM << 3) | 0)]

.endif



.set_sig interthd_sig

	ctx_arb[interthd_sig]

	br[next_packet#]

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲伊人色欲综合网| 久久99国内精品| 亚洲精品一线二线三线| 成人av网址在线| 日韩电影一区二区三区四区| 中文字幕av一区二区三区高 | 欧美二区三区的天堂| 国产激情一区二区三区| 日韩一区欧美二区| 亚洲你懂的在线视频| 国产欧美精品一区二区色综合| 91精品国产欧美日韩| 一本一道久久a久久精品| 国产不卡在线播放| 国内不卡的二区三区中文字幕| 亚洲小说欧美激情另类| 日韩理论片网站| 亚洲国产精品激情在线观看| 欧美mv日韩mv| 欧美一区二区三区免费视频 | 色噜噜久久综合| 国产夫妻精品视频| 理论片日本一区| 天堂精品中文字幕在线| 亚洲国产精品视频| 亚洲午夜在线电影| 樱桃国产成人精品视频| 亚洲婷婷在线视频| 国产精品久久久久影院亚瑟| 欧美激情一区三区| 欧美激情资源网| 欧美国产一区视频在线观看| 久久亚洲私人国产精品va媚药| 日韩欧美在线影院| 日韩欧美国产1| 精品国产乱码久久久久久图片| 日韩午夜三级在线| 欧美刺激午夜性久久久久久久| 7777精品伊人久久久大香线蕉经典版下载| 欧美体内she精高潮| 欧美视频一区在线观看| 9191国产精品| 日韩欧美一区中文| 精品粉嫩超白一线天av| 精品国产乱码久久久久久1区2区| 日韩丝袜情趣美女图片| 久久免费美女视频| 中文天堂在线一区| 亚洲精品成人悠悠色影视| 亚洲自拍偷拍av| 青娱乐精品视频在线| 国产一区二区电影| 99精品欧美一区二区蜜桃免费 | 国产精品久久精品日日| 最新久久zyz资源站| 亚洲免费在线看| 午夜在线电影亚洲一区| 精品一区二区三区在线观看国产| 国产毛片精品视频| av动漫一区二区| 欧美性色综合网| 在线播放欧美女士性生活| 精品剧情在线观看| 国产精品久久久久久久久果冻传媒| 日韩理论片在线| 爽好多水快深点欧美视频| 精品一区二区综合| 99久久精品国产网站| 欧美日韩一区二区三区高清| 欧美成人一区二区三区| 国产精品美女久久久久久2018| 亚洲免费av观看| 蜜桃一区二区三区在线| 成人免费视频播放| 欧美手机在线视频| 国产偷v国产偷v亚洲高清| 亚洲精品一二三| 久久精品国产成人一区二区三区| 成人av动漫网站| 欧美精品在欧美一区二区少妇| 久久品道一品道久久精品| 亚洲精选免费视频| 激情综合色播激情啊| 色综合天天天天做夜夜夜夜做| 日韩亚洲欧美综合| 亚洲精品国产品国语在线app| 欧美aaaaaa午夜精品| 成+人+亚洲+综合天堂| 欧美一区二区观看视频| 亚洲少妇屁股交4| 国产综合一区二区| 欧美精品aⅴ在线视频| 国产欧美一区二区在线观看| 三级久久三级久久久| 99视频一区二区| 久久香蕉国产线看观看99| 亚洲国产aⅴ成人精品无吗| 懂色av一区二区在线播放| 91精品欧美一区二区三区综合在| 国产精品久久久久影视| 国产呦萝稀缺另类资源| 欧美日韩三级一区二区| 亚洲日本电影在线| 国产高清一区日本| 日韩欧美成人激情| 香港成人在线视频| 91官网在线免费观看| 国产精品久久夜| 国内精品写真在线观看| 91精品免费在线观看| 亚洲国产裸拍裸体视频在线观看乱了| 成人午夜视频福利| 久久一区二区三区国产精品| 日韩—二三区免费观看av| 91成人看片片| 亚洲人成亚洲人成在线观看图片 | 欧美精品乱码久久久久久按摩 | 欧美变态凌虐bdsm| 五月天激情综合| 91精品福利视频| 专区另类欧美日韩| 白白色亚洲国产精品| 国产蜜臀av在线一区二区三区| 国内精品写真在线观看| 欧美精品一区二区在线播放| 美脚の诱脚舐め脚责91| 欧美乱熟臀69xxxxxx| 亚洲国产精品久久久男人的天堂| 色综合久久88色综合天天免费| 国产欧美中文在线| 成人妖精视频yjsp地址| 国产欧美精品一区| 成人av免费在线播放| 亚洲私人影院在线观看| 99久久精品国产观看| 亚洲色图一区二区三区| 91黄色激情网站| 午夜欧美一区二区三区在线播放| 欧美视频中文一区二区三区在线观看| 一区二区三区在线播| 在线视频欧美精品| 亚洲一区中文日韩| 欧美日本在线一区| 日本aⅴ精品一区二区三区 | 69p69国产精品| 视频在线在亚洲| 欧美一区二区三区电影| 精品午夜久久福利影院| 久久久99免费| www.日韩av| 亚洲成人手机在线| 日韩欧美不卡一区| 懂色一区二区三区免费观看| 亚洲天堂免费在线观看视频| 欧美亚洲一区三区| 美女被吸乳得到大胸91| 国产人久久人人人人爽| 9人人澡人人爽人人精品| 一区二区久久久| 日韩一区二区三区观看| 国产91富婆露脸刺激对白| 自拍视频在线观看一区二区| 欧美日韩国产综合视频在线观看 | 欧美自拍丝袜亚洲| 日韩av网站在线观看| 精品国产一区二区亚洲人成毛片| 国产成人精品综合在线观看| 国产精品短视频| 欧美一区二区网站| 成人激情黄色小说| 午夜欧美大尺度福利影院在线看| 久久亚洲精华国产精华液| 色婷婷国产精品综合在线观看| 日韩vs国产vs欧美| 国产精品天天看| 欧美一区二区三区四区在线观看| 国产精品538一区二区在线| 一区二区免费看| 国产午夜精品一区二区| 欧美日韩第一区日日骚| 国产精品 欧美精品| 日韩精品色哟哟| 亚洲手机成人高清视频| 精品国产一区二区三区不卡| 色综合色狠狠综合色| 国产激情一区二区三区四区| 午夜婷婷国产麻豆精品| 国产精品美女久久久久久久网站| 欧美一区二区黄| 日本高清不卡在线观看| 懂色av一区二区三区免费看| 偷窥国产亚洲免费视频| 《视频一区视频二区| 久久免费精品国产久精品久久久久| 欧美三片在线视频观看| 99热99精品| 国产成人免费在线观看| 日韩国产一二三区| 一区二区三区在线视频免费| 久久精品免费在线观看|