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

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

?? isp.c

?? 基于組件方式開(kāi)發(fā)操作系統(tǒng)的OSKIT源代碼
?? C
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
/* $Id: isp.c,v 1.11.2.1 1999/05/11 05:47:40 mjacob Exp $ *//* release_5_11_99 *//* * Machine and OS Independent (well, as best as possible) * code for the Qlogic ISP SCSI adapters. * *--------------------------------------- * Copyright (c) 1997, 1998 by Matthew Jacob * NASA/Ames Research Center * All rights reserved. *--------------------------------------- * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice immediately at the beginning of the file, without modification, *    this list of conditions, and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. The name of the author may not be used to endorse or promote products *    derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. *//* * Inspiration and ideas about this driver are from Erik Moe's Linux driver * (qlogicisp.c) and Dave Miller's SBus version of same (qlogicisp.c). Some * ideas dredged from the Solaris driver. *//* * Include header file appropriate for platform we're building on. */#ifdef	__NetBSD__#include <dev/ic/isp_netbsd.h>#endif#ifdef	__FreeBSD__#include <dev/isp/isp_freebsd.h>#endif#ifdef	__OpenBSD__#include <dev/ic/isp_openbsd.h>#endif#ifdef	__linux__#include "isp_linux.h"#endif/* * General defines */#define	MBOX_DELAY_COUNT	1000000 / 100/* * Local static data */#ifdef	ISP_TARGET_MODEstatic const char tgtiqd[36] = {	0x03, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00,	0x51, 0x4C, 0x4F, 0x47, 0x49, 0x43, 0x20, 0x20,#ifdef	__NetBSD__	0x4E, 0x45, 0x54, 0x42, 0x53, 0x44, 0x20, 0x20,#else# ifdef	__FreeBSD__	0x46, 0x52, 0x45, 0x45, 0x42, 0x52, 0x44, 0x20,# else#  ifdef __OpenBSD__	0x4F, 0x50, 0x45, 0x4E, 0x42, 0x52, 0x44, 0x20,#  else#   ifdef linux	0x4C, 0x49, 0x4E, 0x55, 0x58, 0x20, 0x20, 0x20,#   else#   endif#  endif# endif#endif	0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x20, 0x20,	0x20, 0x20, 0x20, 0x31};#endif/* * Local function prototypes. */static int isp_parse_async __P((struct ispsoftc *, int));static int isp_handle_other_response__P((struct ispsoftc *, ispstatusreq_t *, u_int8_t *));#ifdef	ISP_TARGET_MODEstatic int isp_modify_lun __P((struct ispsoftc *, int, int, int));static void isp_notify_ack __P((struct ispsoftc *, void *));static void isp_handle_atio __P((struct ispsoftc *, void *));static void isp_handle_atio2 __P((struct ispsoftc *, void *));static void isp_handle_ctio __P((struct ispsoftc *, void *));static void isp_handle_ctio2 __P((struct ispsoftc *, void *));#endifstatic void isp_parse_status__P((struct ispsoftc *, ispstatusreq_t *, ISP_SCSI_XFER_T *));static void isp_fastpost_complete __P((struct ispsoftc *, int));static void isp_scsi_init __P((struct ispsoftc *));static void isp_scsi_channel_init __P((struct ispsoftc *, int));static void isp_fibre_init __P((struct ispsoftc *));static void isp_mark_getpdb_all __P((struct ispsoftc *));static int isp_getpdb __P((struct ispsoftc *, int, isp_pdb_t *));static int isp_fclink_test __P((struct ispsoftc *, int));static void isp_fw_state __P((struct ispsoftc *));static void isp_dumpregs __P((struct ispsoftc *, const char *));static void isp_dumpxflist __P((struct ispsoftc *));static void isp_mboxcmd __P((struct ispsoftc *, mbreg_t *));static void isp_update __P((struct ispsoftc *));static void isp_update_bus __P((struct ispsoftc *, int));static void isp_setdfltparm __P((struct ispsoftc *, int));static int isp_read_nvram __P((struct ispsoftc *));static void isp_rdnvram_word __P((struct ispsoftc *, int, u_int16_t *));/* * Reset Hardware. * * Hit the chip over the head, download new f/w and set it running. * * Locking done elsewhere. */voidisp_reset(isp)	struct ispsoftc *isp;{	mbreg_t mbs;	int loops, i, dodnld = 1;	char *revname;	isp->isp_state = ISP_NILSTATE;	/*	 * Basic types (SCSI, FibreChannel and PCI or SBus)	 * have been set in the MD code. We figure out more	 * here.	 */	isp->isp_dblev = DFLT_DBLEVEL;	/*	 * After we've fired this chip up, zero out the conf1 register	 * for SCSI adapters and other settings for the 2100.	 */	/*	 * Get the current running firmware revision out of the	 * chip before we hit it over the head (if this is our	 * first time through). Note that we store this as the	 * 'ROM' firmware revision- which it may not be. In any	 * case, we don't really use this yet, but we may in	 * the future.	 */	if (isp->isp_used == 0) {		/*		 * Just in case it was paused...		 */		ISP_WRITE(isp, HCCR, HCCR_CMD_RELEASE);		mbs.param[0] = MBOX_ABOUT_FIRMWARE;		isp_mboxcmd(isp, &mbs);		/*		 * If this fails, it probably means we're running		 * an old prom, if anything at all...		 */		if (mbs.param[0] == MBOX_COMMAND_COMPLETE) {			isp->isp_romfw_rev[0] = mbs.param[1];			isp->isp_romfw_rev[1] = mbs.param[2];			isp->isp_romfw_rev[2] = mbs.param[3];		}		isp->isp_used = 1;	}	DISABLE_INTS(isp);	/*	 * Put it into PAUSE mode.	 */	ISP_WRITE(isp, HCCR, HCCR_CMD_PAUSE);#if	0	/*	 * Do a little register testing.	 */	ISP_WRITE(isp, CDMA_COUNT, 0);	ISP_WRITE(isp, CDMA_ADDR0, 0xdead);	ISP_WRITE(isp, CDMA_ADDR1, 0xbeef);	ISP_WRITE(isp, CDMA_ADDR2, 0xffff);	ISP_WRITE(isp, CDMA_ADDR3, 0x1111);	PRINTF("%s: (0,dead,beef,ffff,1111):\n", isp->isp_name);	PRINTF("0x%x 0x%x 0x%x 0x%x 0x%x\n", ISP_READ(isp, CDMA_COUNT),	    ISP_READ(isp, CDMA_ADDR0), ISP_READ(isp, CDMA_ADDR1),	    ISP_READ(isp, CDMA_ADDR2), ISP_READ(isp, CDMA_ADDR3));#endif	if (IS_FC(isp)) {		revname = "2100";	} else if (IS_12X0(isp)) {		revname = "12X0";		isp->isp_clock = 60;	} else if (IS_1080(isp)) {		u_int16_t l;		sdparam *sdp = isp->isp_param;		revname = "1080";		isp->isp_clock = 100;		l = ISP_READ(isp, SXP_PINS_DIFF) & ISP1080_MODE_MASK;		switch (l) {		case ISP1080_LVD_MODE:			sdp->isp_lvdmode = 1;			PRINTF("%s: LVD Mode\n", isp->isp_name);			break;		case ISP1080_HVD_MODE:			sdp->isp_diffmode = 1;			PRINTF("%s: Differential Mode\n", isp->isp_name);			break;		case ISP1080_SE_MODE:			sdp->isp_ultramode = 1;			PRINTF("%s: Single-Ended Mode\n", isp->isp_name);			break;		default:			/*			 * Hmm. Up in a wierd mode. This means all SCSI I/O			 * buffer lines are tristated, so we're in a lot of			 * trouble if we don't set things up right.			 */			PRINTF("%s: Illegal Mode 0x%x\n", isp->isp_name, l);			break;		}	} else {		sdparam *sdp = isp->isp_param;		i = ISP_READ(isp, BIU_CONF0) & BIU_CONF0_HW_MASK;		switch (i) {		default:			PRINTF("%s: unknown chip rev. 0x%x- assuming a 1020\n",			    isp->isp_name, i);			/* FALLTHROUGH */		case 1:			revname = "1020";			isp->isp_type = ISP_HA_SCSI_1020;			isp->isp_clock = 40;			break;		case 2:			/*			 * Some 1020A chips are Ultra Capable, but don't			 * run the clock rate up for that unless told to			 * do so by the Ultra Capable bits being set.			 */			revname = "1020A";			isp->isp_type = ISP_HA_SCSI_1020A;			isp->isp_clock = 40;			break;		case 3:			revname = "1040";			isp->isp_type = ISP_HA_SCSI_1040;			isp->isp_clock = 60;			break;		case 4:			revname = "1040A";			isp->isp_type = ISP_HA_SCSI_1040A;			isp->isp_clock = 60;			break;		case 5:			revname = "1040B";			isp->isp_type = ISP_HA_SCSI_1040B;			isp->isp_clock = 60;			break;		case 6: 			revname = "1040C(?)";			isp->isp_type = ISP_HA_SCSI_1040C;			isp->isp_clock = 60;                        break; 		}		/*		 * Now, while we're at it, gather info about ultra		 * and/or differential mode.		 */		if (ISP_READ(isp, SXP_PINS_DIFF) & SXP_PINS_DIFF_MODE) {			PRINTF("%s: Differential Mode\n", isp->isp_name);			sdp->isp_diffmode = 1;		} else {			sdp->isp_diffmode = 0;		}		i = ISP_READ(isp, RISC_PSR);		if (isp->isp_bustype == ISP_BT_SBUS) {			i &= RISC_PSR_SBUS_ULTRA;		} else {			i &= RISC_PSR_PCI_ULTRA;		}		if (i != 0) {			PRINTF("%s: Ultra Mode Capable\n", isp->isp_name);			sdp->isp_ultramode = 1;			/*			 * If we're in Ultra Mode, we have to be 60Mhz clock-			 * even for the SBus version.			 */			isp->isp_clock = 60;		} else {			sdp->isp_ultramode = 0;			/*			 * Clock is known. Gronk.			 */		}		/*		 * Machine dependent clock (if set) overrides		 * our generic determinations.		 */		if (isp->isp_mdvec->dv_clock) {			if (isp->isp_mdvec->dv_clock < isp->isp_clock) {				isp->isp_clock = isp->isp_mdvec->dv_clock;			}		}	}	/*	 * Do MD specific pre initialization	 */	ISP_RESET0(isp);again:	/*	 * Hit the chip over the head with hammer,	 * and give the ISP a chance to recover.	 */	if (IS_SCSI(isp)) {		ISP_WRITE(isp, BIU_ICR, BIU_ICR_SOFT_RESET);		/*		 * A slight delay...		 */		SYS_DELAY(100);#if	0		PRINTF("%s: mbox0-5: 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x\n",		    isp->isp_name, ISP_READ(isp, OUTMAILBOX0),		    ISP_READ(isp, OUTMAILBOX1), ISP_READ(isp, OUTMAILBOX2),		    ISP_READ(isp, OUTMAILBOX3), ISP_READ(isp, OUTMAILBOX4),		    ISP_READ(isp, OUTMAILBOX5));#endif		/*		 * Clear data && control DMA engines.		 */		ISP_WRITE(isp, CDMA_CONTROL,		    DMA_CNTRL_CLEAR_CHAN | DMA_CNTRL_RESET_INT);		ISP_WRITE(isp, DDMA_CONTROL,		    DMA_CNTRL_CLEAR_CHAN | DMA_CNTRL_RESET_INT);	} else {		ISP_WRITE(isp, BIU2100_CSR, BIU2100_SOFT_RESET);		/*		 * A slight delay...		 */		SYS_DELAY(100);		/*		 * Clear data && control DMA engines.		 */		ISP_WRITE(isp, CDMA2100_CONTROL,			DMA_CNTRL2100_CLEAR_CHAN | DMA_CNTRL2100_RESET_INT);		ISP_WRITE(isp, TDMA2100_CONTROL,			DMA_CNTRL2100_CLEAR_CHAN | DMA_CNTRL2100_RESET_INT);		ISP_WRITE(isp, RDMA2100_CONTROL,			DMA_CNTRL2100_CLEAR_CHAN | DMA_CNTRL2100_RESET_INT);	}	/*	 * Wait for ISP to be ready to go...	 */	loops = MBOX_DELAY_COUNT;	for (;;) {		if (isp->isp_type & ISP_HA_SCSI) {			if (!(ISP_READ(isp, BIU_ICR) & BIU_ICR_SOFT_RESET))				break;		} else {			if (!(ISP_READ(isp, BIU2100_CSR) & BIU2100_SOFT_RESET))				break;		}		SYS_DELAY(100);		if (--loops < 0) {			isp_dumpregs(isp, "chip reset timed out");			return;		}	}	/*	 * After we've fired this chip up, zero out the conf1 register	 * for SCSI adapters and other settings for the 2100.	 */	if (IS_SCSI(isp)) {		ISP_WRITE(isp, BIU_CONF1, 0);	} else {		ISP_WRITE(isp, BIU2100_CSR, 0);	}	/*	 * Reset RISC Processor	 */	ISP_WRITE(isp, HCCR, HCCR_CMD_RESET);	SYS_DELAY(100);	/*	 * Establish some initial burst rate stuff.	 * (only for the 1XX0 boards). This really should	 * be done later after fetching from NVRAM.	 */	if (IS_SCSI(isp)) {		u_int16_t tmp = isp->isp_mdvec->dv_conf1;		/*		 * Busted FIFO. Turn off all but burst enables.		 */		if (isp->isp_type == ISP_HA_SCSI_1040A) {			tmp &= BIU_BURST_ENABLE;		}		ISP_SETBITS(isp, BIU_CONF1, tmp);		if (tmp & BIU_BURST_ENABLE) {			ISP_SETBITS(isp, CDMA_CONF, DMA_ENABLE_BURST);			ISP_SETBITS(isp, DDMA_CONF, DMA_ENABLE_BURST);		}#ifdef	PTI_CARDS		if (((sdparam *) isp->isp_param)->isp_ultramode) {			while (ISP_READ(isp, RISC_MTR) != 0x1313) {				ISP_WRITE(isp, RISC_MTR, 0x1313);				ISP_WRITE(isp, HCCR, HCCR_CMD_STEP);			}		} else {			ISP_WRITE(isp, RISC_MTR, 0x1212);		}		/*		 * PTI specific register		 */		ISP_WRITE(isp, RISC_EMB, DUAL_BANK)#else		ISP_WRITE(isp, RISC_MTR, 0x1212);#endif	} else {		ISP_WRITE(isp, RISC_MTR2100, 0x1212);	}	ISP_WRITE(isp, HCCR, HCCR_CMD_RELEASE); /* release paused processor */	/*	 * Do MD specific post initialization	 */	ISP_RESET1(isp);#if	0	/*	 * Enable interrupts	 */	ENABLE_INTS(isp);#endif	/*	 * Wait for everything to finish firing up...	 */	loops = MBOX_DELAY_COUNT;	while (ISP_READ(isp, OUTMAILBOX0) == MBOX_BUSY) {		SYS_DELAY(100);		if (--loops < 0) {			PRINTF("%s: MBOX_BUSY never cleared on reset\n",			    isp->isp_name);			return;		}	}	/*	 * Up until this point we've done everything by just reading or	 * setting registers. From this point on we rely on at least *some*	 * kind of firmware running in the card.	 */	/*	 * Do some sanity checking.	 */	mbs.param[0] = MBOX_NO_OP;	isp_mboxcmd(isp, &mbs);	if (mbs.param[0] != MBOX_COMMAND_COMPLETE) {		isp_dumpregs(isp, "NOP test failed");		return;	}	if (isp->isp_type & ISP_HA_SCSI) {		mbs.param[0] = MBOX_MAILBOX_REG_TEST;		mbs.param[1] = 0xdead;		mbs.param[2] = 0xbeef;		mbs.param[3] = 0xffff;		mbs.param[4] = 0x1111;		mbs.param[5] = 0xa5a5;		isp_mboxcmd(isp, &mbs);		if (mbs.param[0] != MBOX_COMMAND_COMPLETE) {			isp_dumpregs(isp,

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美国产精品专区| 国产专区欧美精品| 国产亚洲午夜高清国产拍精品| 色国产精品一区在线观看| 91热门视频在线观看| 99国产精品一区| 91国偷自产一区二区开放时间| 国产精品影视在线| 成人免费va视频| 欧美综合天天夜夜久久| 91精品一区二区三区久久久久久 | 国产欧美视频在线观看| 亚洲品质自拍视频网站| 综合av第一页| 国内精品嫩模私拍在线| 欧洲视频一区二区| 国产欧美va欧美不卡在线| 亚洲成人在线网站| 成人免费av网站| 99在线热播精品免费| 亚洲高清免费一级二级三级| 久久精品国产成人一区二区三区| 色偷偷一区二区三区| 久久久久久久久久久电影| 视频一区二区不卡| 成人18精品视频| 久久久蜜臀国产一区二区| 久久精品噜噜噜成人av农村| 884aa四虎影成人精品一区| 国产精品毛片久久久久久久| 精品一区二区三区在线播放 | 日韩精品一区二区三区在线播放| 亚洲国产欧美日韩另类综合| 欧美亚洲丝袜传媒另类| 一区二区三区视频在线看| 91福利在线看| 日产国产欧美视频一区精品| 日韩欧美一区在线观看| 国产一区二三区好的| 国产精品成人在线观看| 欧美日韩午夜在线| 国产不卡视频一区二区三区| 欧美一区二区三区在线电影| 久久这里只有精品6| 成人伦理片在线| 舔着乳尖日韩一区| 91麻豆国产福利精品| 中文字幕免费在线观看视频一区| 91精品国产入口在线| 国产精品一区二区黑丝| 久草中文综合在线| 国产精品资源网站| 国产91在线观看丝袜| 成人免费视频播放| 亚洲精品免费在线观看| 欧美夫妻性生活| 国产v日产∨综合v精品视频| 亚洲日穴在线视频| 欧美一区二区大片| 成人性生交大合| 日本在线不卡视频一二三区| 中文字幕不卡一区| 欧美一区二区三区免费观看视频 | 极品少妇xxxx精品少妇偷拍 | 日韩精品一区国产麻豆| voyeur盗摄精品| 国产一区福利在线| 久草这里只有精品视频| 日本精品一区二区三区高清 | 成人av集中营| 99精品视频一区| 久久亚洲欧美国产精品乐播| 秋霞成人午夜伦在线观看| 欧美艳星brazzers| 亚洲色图清纯唯美| 成人91在线观看| 国产精品国产三级国产aⅴ入口 | va亚洲va日韩不卡在线观看| 国产亚洲欧洲一区高清在线观看| 久久精品国产秦先生| 日韩精品一区二区三区在线观看| 日本欧美在线观看| 日韩欧美另类在线| 老鸭窝一区二区久久精品| 日韩一区二区三免费高清| 奇米色一区二区| 精品奇米国产一区二区三区| 国模无码大尺度一区二区三区| 欧美另类高清zo欧美| 日日摸夜夜添夜夜添亚洲女人| 欧美在线不卡视频| 午夜精品久久一牛影视| 欧美日韩精品福利| 亚洲电影你懂得| 日韩午夜电影在线观看| 久久精品国产一区二区三| 欧美精品一区二区三区四区| 国产麻豆日韩欧美久久| 中文一区二区在线观看| 成人福利电影精品一区二区在线观看| 欧美极品少妇xxxxⅹ高跟鞋| 成人精品国产免费网站| 亚洲精品国产精品乱码不99| 色av综合在线| 人人超碰91尤物精品国产| 精品久久国产老人久久综合| 粉嫩一区二区三区在线看| 综合激情成人伊人| 欧美一区二区三区在线观看视频 | 综合分类小说区另类春色亚洲小说欧美| 91久久国产综合久久| 日韩国产欧美在线视频| 久久综合av免费| 91福利视频久久久久| 日本成人在线不卡视频| 日本一二三四高清不卡| 欧日韩精品视频| 国产精品99久| 亚洲成av人片www| 久久久精品影视| 欧美日韩一区视频| 国产传媒久久文化传媒| 亚洲女同女同女同女同女同69| 91麻豆精品国产91久久久使用方法 | 色综合久久88色综合天天6| 日韩精品每日更新| 中文字幕一区二区在线播放| 欧美日韩国产高清一区二区三区| 蜜臀av性久久久久蜜臀aⅴ流畅 | 99精品欧美一区二区三区综合在线| 午夜精品在线视频一区| 国产精品萝li| 日韩欧美色综合| 色综合久久久久综合体桃花网| 精品一区二区日韩| 亚洲午夜电影网| 国产精品高清亚洲| 精品成人佐山爱一区二区| 色综合久久88色综合天天6 | 欧美三级日韩三级| 成人免费的视频| 国产精品99久久久久久似苏梦涵| 婷婷国产v国产偷v亚洲高清| 亚洲男人的天堂一区二区| 国产午夜三级一区二区三| 欧美一区二区三区在线视频| 99久久er热在这里只有精品66| 国内精品伊人久久久久av一坑| 午夜久久久影院| 一级做a爱片久久| 日韩理论电影院| 中文文精品字幕一区二区| 久久久蜜桃精品| 国产色产综合色产在线视频| 精品福利视频一区二区三区| 欧美xxxxx牲另类人与| 日韩亚洲欧美中文三级| 这里是久久伊人| 欧美一区二视频| 日韩欧美国产一二三区| 日韩欧美亚洲国产另类| 日韩精品一区二区三区老鸭窝 | 国产精品一区二区在线观看不卡| 蜜臀久久99精品久久久久久9| 日本特黄久久久高潮| 美女一区二区在线观看| 久久成人免费网| 国产激情91久久精品导航| 国产激情偷乱视频一区二区三区| 韩国女主播一区| 国产99久久久精品| 成人一区在线观看| 91浏览器打开| 欧美精品v国产精品v日韩精品 | 亚洲女与黑人做爰| 亚洲电影欧美电影有声小说| 日韩av电影免费观看高清完整版在线观看| 亚洲电影在线播放| 久久国产成人午夜av影院| 国产精品69久久久久水密桃| 波波电影院一区二区三区| 欧美色爱综合网| 精品福利av导航| 亚洲欧美aⅴ...| 久久精品国产一区二区三 | 99天天综合性| 欧美另类高清zo欧美| 久久亚洲精品小早川怜子| 亚洲欧洲在线观看av| 日本特黄久久久高潮 | 一区二区三区美女视频| 六月丁香婷婷久久| 色哟哟精品一区| 欧美xfplay| 一区二区不卡在线视频 午夜欧美不卡在 | 欧美国产日本视频| 香蕉成人伊视频在线观看| 国产99久久久国产精品免费看| 色偷偷88欧美精品久久久| 精品国产一区二区三区久久久蜜月|