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

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

?? sys_loopback_pl_3_in_tx.uc

?? 開發(fā)Inetl IXP2400平臺(tái)所必須的硬件診斷和測(cè)試程序。該軟件包支持的功能包括CPU基本功能檢測(cè)
?? UC
字號(hào):
/* line_rate_bw_in_tx.uc
 *
 *
 *
 * NOTE: THIS IS NOT A PERFORMANCE BENCHMARK!!!! IT IS JUST TO CHECK IF THE
 *       HARDWARE IS ABLE TO HANDLE DATA AT THE LINERATE THAT IS BEING
 *       PUMPED INTO THE SYSTEM
 *
 *---------------------------------------------------------------------------
 *                                                                      
 *                  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, November 11, 2002
 *  revisions:
 * 
 * 
 * --------------------------------------------------------------------------
 */


#include "sys_loopback_pl_3.h"

#define NEXT_CTX_SIGNAL			IN_SAME_ME_SIG_NUM
#define BUFFER_ADDR_MASK		0xFFFFFF

#define SIG_CTX_DATA			((1 << 7) | (NEXT_CTX_SIGNAL << 3))

.reg sram_addr
.reg temp $temp
.reg MsfAddress MsfAddress0 MsfAddress1 TxSequenceAddr
.reg byte_count ring_num mask_qa
.reg TxConfigData0
.reg $TxConfigData0
.reg $TxControlWord0 $TxControlWord1
.reg $scratch_data0 $scratch_data1
.reg @tbuf_element cur_tbuf_elem
.reg buf_addr buf_offset rx_port_num pkt_buff_addr TBuf_Base cur_tbuf_addr
.reg sram_channel_number
.reg @sramDescBase @dramPacketBase t0
.reg $prepend_data0 $prepend_data1
.sig dram_sig sram_sig scratch_sig
.sig msf_sig next_ctx_sig

.xfer_order $TxControlWord0 $TxControlWord1
.xfer_order $scratch_data0 $scratch_data1
.xfer_order $prepend_data0 $prepend_data1

.addr next_ctx_sig IN_SAME_ME_SIG_NUM

init_common#:
	immed[TxSequenceAddr, TX_SEQUENCE_0]
	alu[ring_num, --, B, RING_0, <<2]
	immed[TBuf_Base, RBUF_TBUF]

	alu[sram_channel_number, --, B, CHAN_NUMBER, <<SRAM_CHANNEL_NUMBER_FIELD]
	alu[t0, sram_channel_number, OR, Q_NUMBER, <<SRAM_Q_ARRAY_NUMBER_FIELD]

	br!=ctx[0, wait_for_next_ctx_sig#]

init#:
	immed[@tbuf_element, 0]

	immed[@sramDescBase, (IN_SRAM_DESC_BASE & MASK_16BIT)]
	immed_w1[@sramDescBase, ((IN_SRAM_DESC_BASE >> 16) & MASK_16BIT)]

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


//****************************************************
// Configure Rx Control
//****************************************************
.begin
	.reg RxControlData $RxControlData MsfAddress
	immed[RxControlData, ((0<<9) | (IN_RX_ELEMENT_SIZE << 2))]
	immed_w1[RxControlData, ((IN_RX_MODE << 6) | (IN_RX_WIDTH << 4) | (IN_RX_PHY << 3) | (0<<1)|(0<<0))]
	alu[$RxControlData, --, B, RxControlData]
	immed[MsfAddress, MSF_RX_CONTROL]
	msf[write, $RxControlData, MsfAddress, 0, 1], ctx_swap[msf_sig]
.end


//******************************************************
// Initialize RBUF Freelist by freeing all the elements
//******************************************************
.begin
	.reg temp_val temp_reg

	immed[temp_val, 0]

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


//******************************************************
// Configure Rx UP Control
//******************************************************
.begin
	.reg RxUPControlData $RxUPControlData MsfAddress
	immed[RxUPControlData, (UP_CTRL_PP_MODE_PLONE | UP_CTRL_CP_MODE | UP_CTRL_PARITY_ODD | UP_CTRL_CELLSIZE | UP_CTRL_DRTIME)]
//	immed[RxUPControlData, (UP_CTRL_PP_MODE | UP_CTRL_CP_MODE | UP_CTRL_PARITY | UP_CTRL_CELLSIZE | UP_CTRL_DRTIME)]
	alu[$RxUPControlData, --, B, RxUPControlData]
	immed[MsfAddress, RX_UP_CONTROL_0]
	msf[write, $RxUPControlData, MsfAddress, 0, 1], ctx_swap[msf_sig]
	immed[MsfAddress, RX_UP_CONTROL_1]
	msf[write, $RxUPControlData, MsfAddress, 0, 1], ctx_swap[msf_sig]
	immed[MsfAddress, RX_UP_CONTROL_2]
	msf[write, $RxUPControlData, MsfAddress, 0, 1], ctx_swap[msf_sig]
	immed[MsfAddress, RX_UP_CONTROL_3]
	msf[write, $RxUPControlData, MsfAddress, 0, 1], ctx_swap[msf_sig]
.end


//****************************************************
// Configure Rx Control
//****************************************************
.begin
	.reg $RxControlData MsfAddress
	immed[MsfAddress, MSF_RX_CONTROL]
	msf[read, $RxControlData, MsfAddress, 0, 1], ctx_swap[msf_sig]
	alu[$RxControlData, $RxControlData, OR, IN_RX_ENABLE_MASK, <<28]
	msf[write, $RxControlData, MsfAddress, 0, 1], ctx_swap[msf_sig]
.end


//****************************************************
// Configure Tx Control
//****************************************************
.begin
	.reg MsfAddress TxControlData $TxControlData
	immed[MsfAddress, MSF_TX_CONTROL]
	immed[TxControlData, (IN_TX_ELEMENTSIZE << 2)]	// put control and data into diff freelist
	immed_w1[TxControlData, ((IN_TX_ENABLE_MASK << 8) | (IN_TX_MODE << 6) | (IN_TX_WIDTH << 4) | (IN_TX_PHY << 3) | (0<<1)|(1<<0))]
	alu[$TxControlData, --, B, TxControlData]
	msf[write, $TxControlData, MsfAddress, 0, 1], ctx_swap[msf_sig]

	alu[$TxControlData, TxControlData, OR, IN_TX_ENABLE_MASK, <<28]
	msf[write, $TxControlData, MsfAddress, 0, 1], ctx_swap[msf_sig]
.end

		
//****************************************************
// Configure Rx Thread Freelist Timeout
//****************************************************
.begin
	.reg timeout_val
	immed[timeout_val, FREELIST_TIMEOUT_VAL]
	alu[timeout_val,--, B, timeout_val, <<16]		// timeout value 
	msf[fast_wr, --, timeout_val, RX_THREAD_FREELIST_TIMEOUT_0]
	msf[fast_wr, --, timeout_val, RX_THREAD_FREELIST_TIMEOUT_1]
	msf[fast_wr, --, timeout_val, RX_THREAD_FREELIST_TIMEOUT_2]
	msf[fast_wr, --, timeout_val, RX_THREAD_FREELIST_TIMEOUT_3]
.end


//****************************************************
// Set up the freelist (queue)
//****************************************************
.begin
	.reg cellcount freelist sr0
	.reg $s0 $s1 $s2
	.reg tmp
	.sig qa_init addr
	.reg $sr0 $sr1 $sr2 $sr3
	.reg sram_desc_base
	.xfer_order $sr0 $sr1 $sr2 $sr3
	.xfer_order $s0 $s1 $s2

	immed[sram_desc_base, (IN_SRAM_DESC_BASE & MASK_16BIT)]
	immed_w1[sram_desc_base, ((IN_SRAM_DESC_BASE >> 16) & MASK_16BIT)]

	alu[tmp, --, B, CHAN_NUMBER, <<SRAM_CHANNEL_NUMBER_FIELD]
	alu[tmp, tmp, OR, sram_desc_base]
	immed[$s0, 0]
	immed[$s1, 0]
	immed[$s2, 0]
	
	sram[write, $s0, tmp, 0, 3], ctx_swap[qa_init]
	
	alu[tmp, --, B, sram_desc_base]
	alu[tmp, --, B, tmp, >>2]
	sram[rd_qdesc_head, $sr0, t0, tmp, 2], ctx_swap[qa_init]
	sram[rd_qdesc_other, --, t0, tmp]

	immed[freelist, (FREELIST_SIZE & MASK_16BIT)]
	immed_w1[freelist, ((FREELIST_SIZE >> 16) & MASK_16BIT)]
	 
	immed[cellcount, 0x1c, <<16]		//set cell count to 1, set OV EOP, and SOP
	
addfreelist#:
	alu[--, cellcount, OR, 0]
	sram[enqueue,  --, t0, tmp], indirect_ref
	alu[tmp, tmp, +, 1]
	alu[freelist, freelist, -, 1]
	bne[addfreelist#]
.end


//**************************************************
// Configure Scratch Ring
//**************************************************
.begin
	.reg $scratch_base $scratch_head $scratch_tail
	.sig scratch_sig1 scratch_sig2 scratch_sig3

	alu[$scratch_base, --, B, 0x3, <<30]	// Use ring size of 1024 lw and base 0x0
	immed[$scratch_head,0]
	immed[$scratch_tail,0]

	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]
.end


//**************************************************
// Signal Receive MEs
//**************************************************
	immed[temp, ((IN_ME_RX_0 << 7) | (IN_SIG_THD_NUM << 4) | (IN_INTER_ME_SIG_NUM << 0))]
	alu[--, --, B, temp]
	cap[fast_wr, ALU, interthread_sig]	// to signal Rx ME that Tx has finished its init

	immed[temp, ((IN_ME_RX_1 << 7) | (IN_SIG_THD_NUM << 4) | (IN_INTER_ME_SIG_NUM << 0))]
	alu[--, --, B, temp]
	cap[fast_wr, ALU, interthread_sig]	// to signal Rx ME that Tx has finished its init

	immed[temp, ((IN_ME_RX_2 << 7) | (IN_SIG_THD_NUM << 4) | (IN_INTER_ME_SIG_NUM << 0))]
	alu[--, --, B, temp]
	cap[fast_wr, ALU, interthread_sig]	// to signal Rx ME that Tx has finished its init

	immed[temp, ((IN_ME_RX_3 << 7) | (IN_SIG_THD_NUM << 4) | (IN_INTER_ME_SIG_NUM << 0))]
	alu[--, --, B, temp]
	cap[fast_wr, ALU, interthread_sig]	// to signal Rx ME that Tx has finished its init
	br[wake_up_next_thread_after_init#]


wait_for_next_ctx_sig#:
	.set_sig next_ctx_sig
	ctx_arb[next_ctx_sig]

wake_up_next_thread_after_init#:
	br=ctx[7, wait_for_assignment#]
	local_csr_wr[SAME_ME_SIGNAL, SIG_CTX_DATA]

wait_for_assignment#:
	.local $scratch_data
	// Get new assignment, i.e. the buf addr from scratch ring
	scratch[get, $scratch_data, ring_num, 0, 1], ctx_swap[scratch_sig]
	alu[--, $scratch_data, -, 0]
	beq[wait_for_assignment#]		// branch to label if there is no new assignment
	alu[buf_addr, --, B, $scratch_data]
	.endlocal

	.local $sram_data
	sram[read, $sram_data, buf_addr, sram_channel_number, 1], sig_done[sram_sig]
	alu[cur_tbuf_elem, --, B, @tbuf_element]
	alu[@tbuf_element, @tbuf_element, +, 1]
	alu[--, IN_TBUF_ELEM_COUNT, -, @tbuf_element]
	bne[wait_for_sram_sig#]
	alu[@tbuf_element, --, B, 0]

wait_for_sram_sig#:
	ctx_arb[sram_sig], defer[1]
	alu[buf_offset, buf_addr, -, @sramDescBase]
	alu[byte_count, --, B, $sram_data, >>4]
	alu[$prepend_data0, MASK_4BIT, AND, $sram_data]		// Port number
	alu[$prepend_data1, --, B, byte_count]
	.endlocal

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

// 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, cur_tbuf_elem]
	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
*/

//****************************************************
// Move data to TBUF from DRAM
//****************************************************
.begin
	.reg refcnt pkt_buf_addr
	.reg prepend_tbuf_addr

	alu[cur_tbuf_addr, TBuf_Base, OR, cur_tbuf_elem, <<IN_TBUF_ADDR_SHF]

//	alu[prepend_tbuf_addr, --, B, cur_tbuf_addr]
	msf[write64, $prepend_data0, cur_tbuf_addr, 0, 1], sig_done[msf_sig]

	alu[pkt_buf_addr, --, B, buf_offset, <<5]
	alu[pkt_buf_addr, pkt_buf_addr, +, @dramPacketBase]

	alu[cur_tbuf_addr, cur_tbuf_addr, +, PREPEND_LENGTH]
	alu[cur_tbuf_addr, --, B, cur_tbuf_addr, <<5]
	alu[cur_tbuf_addr, cur_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[--, cur_tbuf_addr, OR, refcnt]	// indirect ref
	dram[tbuf_wr, --, pkt_buf_addr, 0, 8], indirect_ref, sig_done[dram_sig]
	ctx_arb[msf_sig, dram_sig]	
.end


//*******************************************************
// Write the Transmit Control Word with appropriate data
//*******************************************************
.begin 
	.reg MsfAddress

	immed[MsfAddress, TBUF_ELEMENT_CONTROL_V]
	alu[MsfAddress, MsfAddress, OR, cur_tbuf_elem, <<3]

	immed[temp, CSIX_UNICAST]
	alu[temp, temp, OR, PREPEND_LENGTH, <<16]			// prepend length
	alu[$TxControlWord0, temp, OR, byte_count, <<24]	// For Tx Control Word

	immed[temp, (EXT_HDR & MASK_16BIT)]
	immed_w1[temp, ((EXT_HDR >> 16) & MASK_16BIT)]
	alu[$TxControlWord1, --, B, temp]		 			// Setting extension header

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


//*******************************************************
// Free buffer
//*******************************************************
.begin
	.reg temp cellcount

	alu[temp, --, B, buf_addr, >>2]
	immed[cellcount, 0x1c, <<16]		// set OV EOP, and SOP
	
	alu[--, cellcount, OR, 0]
	sram[enqueue,  --, t0, temp], indirect_ref
.end


	br[wait_for_assignment#]

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美一区二区免费| 国产在线精品不卡| 久久久噜噜噜久噜久久综合| 欧美日韩一区小说| 972aa.com艺术欧美| 成人激情动漫在线观看| 国产成人在线网站| 成人a免费在线看| 9色porny自拍视频一区二区| 国产99久久久国产精品| 成人一区二区三区在线观看| 国产高清不卡二三区| 夜夜嗨av一区二区三区四季av| 中国色在线观看另类| 国产精品国产自产拍高清av王其| 久久色.com| 国产欧美一区二区三区网站| 国产精品私人影院| 日韩伦理电影网| 国产精品久久精品日日| 亚洲一区在线看| 久久精品理论片| 国产精品1024久久| 色视频一区二区| 欧美日韩精品二区第二页| 91精品国产色综合久久不卡电影| 91麻豆精品国产91久久久久| 欧美精品18+| 久久久久久久性| 国产精品久久久久影视| 一区二区在线看| 日韩成人av影视| 国产东北露脸精品视频| 91色porny蝌蚪| 欧美日本精品一区二区三区| 日韩欧美中文一区二区| 久久欧美中文字幕| 国产精品久久久久久久久动漫 | 国产精品久久一卡二卡| 一区二区三区欧美激情| 久久激情五月婷婷| 一本到三区不卡视频| 欧美写真视频网站| 精品久久久久久久久久久院品网| 久久精品亚洲精品国产欧美| 国产精品白丝在线| 日韩一区在线播放| 国产在线不卡一区| 欧美精三区欧美精三区| 精品国产电影一区二区| **欧美大码日韩| 日韩精品一级中文字幕精品视频免费观看| 久久精品国产亚洲一区二区三区| 菠萝蜜视频在线观看一区| 69堂成人精品免费视频| 亚洲精品乱码久久久久| 亚洲一区二区在线播放相泽| 韩国v欧美v亚洲v日本v| 在线综合亚洲欧美在线视频| 樱花草国产18久久久久| 国产电影一区二区三区| 精品国产免费久久| 亚洲成人先锋电影| 91在线无精精品入口| 欧美精品一区二区三区久久久| 亚洲综合无码一区二区| 国产成人免费在线| 久久这里只有精品视频网| 天堂一区二区在线| 欧美亚洲日本国产| 亚洲精品第一国产综合野| 国产精品资源在线看| 日韩丝袜情趣美女图片| 亚洲福利电影网| 91福利视频在线| 一区在线观看视频| 在线视频综合导航| 一区二区三区日韩| 色婷婷狠狠综合| 亚洲人吸女人奶水| 91在线观看美女| 国产精品国产三级国产aⅴ中文| 精品一区二区精品| 久久综合av免费| 国产美女在线精品| 国产欧美一区二区三区鸳鸯浴| 久久er精品视频| 欧美一级理论片| 蜜臀av一区二区三区| 欧美日韩黄色一区二区| 婷婷丁香久久五月婷婷| 欧美日本精品一区二区三区| 视频一区二区国产| 欧美日本韩国一区二区三区视频 | 午夜欧美电影在线观看| 91福利国产精品| 丝袜美腿亚洲色图| 精品久久久久99| 成人一区在线看| 一区二区三区不卡在线观看| 欧美日韩综合色| 亚洲综合在线免费观看| 色8久久精品久久久久久蜜| 亚洲电影欧美电影有声小说| 欧美成人乱码一区二区三区| 国产成人av一区二区三区在线观看| 久久久另类综合| 91视频免费播放| 国产在线视频一区二区三区| 国产欧美日韩在线视频| 91丨porny丨户外露出| 午夜精品在线看| 欧美电视剧在线看免费| proumb性欧美在线观看| 一区二区三区鲁丝不卡| 欧美成人a视频| 成人av网站在线| 日韩二区在线观看| 亚洲国产精品t66y| 欧美精品乱码久久久久久| 国产一区二区在线视频| 亚洲摸摸操操av| 91精品久久久久久久久99蜜臂 | 国产视频亚洲色图| 欧美日韩在线直播| 岛国一区二区在线观看| 天堂蜜桃一区二区三区| 国产精品丝袜91| 欧美一区二视频| 成人高清在线视频| 久久国产精品免费| 亚洲一区二区三区中文字幕| 欧美国产激情二区三区| 欧美一二三四在线| 97精品视频在线观看自产线路二| 天堂午夜影视日韩欧美一区二区| 欧美激情一区二区三区| 日韩亚洲欧美在线观看| av资源网一区| 国产成人8x视频一区二区| 免费人成精品欧美精品 | 欧美无砖砖区免费| 国产suv一区二区三区88区| 经典三级视频一区| 老汉av免费一区二区三区| 丝袜美腿亚洲一区| 日韩国产一二三区| 蜜臀av一区二区三区| 日本欧美一区二区| 欧美bbbbb| 精品一区二区三区在线播放| 日韩精品免费专区| 奇米亚洲午夜久久精品| 首页亚洲欧美制服丝腿| 图片区小说区国产精品视频| 肉肉av福利一精品导航| 蜜臀国产一区二区三区在线播放 | 国产精品国产三级国产aⅴ原创| 国产欧美日韩另类视频免费观看| 精品国产1区2区3区| 久久久综合精品| 国产精品美女一区二区在线观看| 亚洲国产精品t66y| 亚洲乱码中文字幕综合| 亚洲欧洲精品一区二区精品久久久| 欧美成人a视频| 国产又黄又大久久| 偷拍一区二区三区四区| 亚洲欧美日本在线| 日本欧美一区二区三区乱码| 亚洲国产日日夜夜| 免费观看在线综合色| 18涩涩午夜精品.www| 国产午夜精品一区二区三区嫩草| 国产精品亲子乱子伦xxxx裸| 色婷婷香蕉在线一区二区| 成人国产在线观看| 懂色av噜噜一区二区三区av| 国内精品伊人久久久久av影院| 不卡一区二区三区四区| 国产在线一区观看| 国产风韵犹存在线视精品| 国产精品18久久久久久久久| 乱一区二区av| 成人免费高清在线| 国产**成人网毛片九色| 色天使色偷偷av一区二区| a4yy欧美一区二区三区| 91精品国产91久久久久久最新毛片| 欧美亚洲国产一卡| 国产视频911| 国产精品久久久久久久久图文区| 中文字幕乱码一区二区免费| 日韩极品在线观看| 秋霞影院一区二区| 成人性色生活片| 欧洲视频一区二区| 欧美高清视频一二三区 | 看片的网站亚洲| 精品影视av免费|