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

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

?? kslib.c

?? 三星4510開發(fā)板Sdns100上代的演示程序
?? C
?? 第 1 頁 / 共 3 頁
字號:
}

/*
 * 	Function :  ListOfCmd
 *	Description : List of Command line interface Command
 */
U32 ListOfCmd(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd)
{
	int index ;

	if (argc == 2)
		HelpCmdLi(1,NULL,NULL) ; 
	else
	{
		for (index = 0 ; index < MAX_NUMOF_COMMAND ; index++) 
		{
			Print("%-10s",gDiagCmdTable[index].cmd_name);
			if (index%6 == 5) Print("\r") ;
		}
		Print("\n") ;
	}

	return NO_ERROR;
}

/*
 * 	Function :  HelpCmdLi
 *	Description : Help of Command line interface 
 */
U32 HelpCmdLi(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd)
{
	int index ;

	Print("\n ===========================================================") ;
	Print("\r        SNDS Command line interface HELP     ") ;
	Print("\r ===========================================================") ;
	for (index = 0 ; index < MAX_NUMOF_COMMAND ; index++) 
	{
		Print("\r %-10s :  ",gDiagCmdTable[index].cmd_name);
		Print("%s ",gDiagCmdTable[index].cmd_help);
	}
	Print("\r ===========================================================\n") ;
	return NO_ERROR;
}

/*
 * 	Function :  MCopyCli, MFillCli,MDumpCli,MSearchCli
 *	Description : Memory Copy, Memory Fill, Memory Dump & Search 
 */
U32 MCopyCli(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd) 
{
	U32  src, dst,size ;
	U32 *lsrc, *ldst ;
	U16 *hsrc, *hdst ;
	U8  *bsrc, *bdst ;
	U8 bytesize ;

	if((argc != 5))
	{
		PrintHelpMessage("mc");
		Print("Useage: mc <b/h/l> <SrcAddr> <DestinAddr> <Size> \n") ;
		return NO_ERROR;
	}		

	bytesize = (U8)*argv[1] ;
	src  = hexstrtohex(argv[2], sizeofstr(argv[2]));
	dst  = hexstrtohex(argv[3], sizeofstr(argv[3]));
	size = hexstrtohex(argv[4], sizeofstr(argv[4]));

	if (bytesize == MSIZE_BYTE)
		{
		bsrc  = (U8 *)src ;
		bdst  = (U8 *)dst ;
		bcopy(bsrc, bdst, size) ;
		}
	else if (bytesize == MSIZE_HALF)
		{
		hsrc  = (U16 *)src ;
		hdst  = (U16 *)dst ;
		scopy(hsrc, hdst, size) ;
		}
	else if (bytesize == MSIZE_LONG) 
		{
		lsrc  = (U32 *)src ;
		ldst  = (U32 *)dst ;
		wcopy(lsrc, ldst, size) ;
		}
	else Print("Useage: mc <b/h/l> <SrcAddr> <DestinAddr> <Size> \n") ;

	return NO_ERROR;
}

U32 MFillCli(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd) 
{
	U32 *src, cnt, pattern ;

	if((argc != 4))
	{
		PrintHelpMessage("mf");
		Print("Useage: mf <TargetAddr> <Size> <Pattern> \n") ;
		return NO_ERROR;
	}		

	src = (U32 *)hexstrtohex(argv[1], sizeofstr(argv[1]));
	cnt = hexstrtohex(argv[2], sizeofstr(argv[2]));
	pattern = hexstrtohex(argv[3], sizeofstr(argv[3]));
	
	while(cnt--) *src++ = pattern ;

	return NO_ERROR;
}

U32 MDumpCli(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd) 
{
	U32 *base,*end,baseptr,size ;

	if((argc != 3))
	{
		PrintHelpMessage("md");
		Print("Useage: md <TargetAddr> <Size> \n") ;
		return NO_ERROR;
	}		

	baseptr  = hexstrtohex(argv[1], sizeofstr(argv[1]));
	base = (U32 *)baseptr ;
	size = hexstrtohex(argv[2], sizeofstr(argv[2]));
	end  = (U32 *)(baseptr + size) ;
	Print("\n $$ Memory Dump from 0x%x to 0x%x",base,end) ;

	MemDump(base, end);

	Print("\n") ;

	return NO_ERROR;
}

U32 MSearchCli(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd) 
{
	U32 *src,*dst,pattern ;
	int cnt ;

	if((argc != 4))
	{
	PrintHelpMessage("search");
	Print("Useage: search <SrcAddr> <DestinAddr> <SearchPattern> \n") ;
	return NO_ERROR;
	}		

	src  = (U32 *)hexstrtohex(argv[1], sizeofstr(argv[1]));
	dst  = (U32 *)hexstrtohex(argv[2], sizeofstr(argv[2]));
	pattern  = hexstrtohex(argv[3], sizeofstr(argv[3]));

	cnt = (int)(dst - src) ;

	Print("\n $$ Search 0x%x, from 0x%x to 0x%x \n", \
		pattern, src,dst) ;

	while(cnt--) 
	{
	if (*src == pattern) 
		Print("\r Searched at 0x%x",src) ;
		src++ ;
	}

	Print("\n") ;

	return NO_ERROR;
}

U32 MCompCli(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd) 
{
	U32  src, dst,size ;
	U32 *lsrc, *ldst ;
	U16 *hsrc, *hdst ;
	U8  *bsrc, *bdst ;
	U8 bytesize ;

	if((argc != 5))
	{
	PrintHelpMessage("mc");
	Print("Useage: compare <b/h/l> <SrcAddr> <DestinAddr> <Size> \n") ;
	return NO_ERROR;
	}		

	bytesize = (U8)*argv[1] ;
	src  = hexstrtohex(argv[2], sizeofstr(argv[2]));
	dst  = hexstrtohex(argv[3], sizeofstr(argv[3]));
	size = hexstrtohex(argv[4], sizeofstr(argv[4]));

	if (bytesize == MSIZE_BYTE)
		{
		bsrc  = (U8 *)src ;
		bdst  = (U8 *)dst ;
		if (!bcomp(bsrc, bdst, size))
			{
			Print("\r $$$ Byte Compare FAIL !!!\n") ;
			return NO_ERROR;
			} 
		}
	else if (bytesize == MSIZE_HALF)
		{
		hsrc  = (U16 *)src ;
		hdst  = (U16 *)dst ;
		if (!scomp(hsrc, hdst, size))
			{
			Print("\r $$$ Short Compare FAIL !!!\n") ;
			return NO_ERROR;
			} 
		}
	else if (bytesize == MSIZE_LONG) 
		{
		lsrc  = (U32 *)src ;
		ldst  = (U32 *)dst ;
		if (!wcomp(lsrc, ldst, size))
			{
			Print("\r $$$ Word Compare FAIL !!!\n") ;
			return NO_ERROR;
			} 
		}
	else Print("Useage: compare <b/h/l> <SrcAddr> <DestinAddr> <Size> \n") ;
	Print("\n $$$ Compare OK !\n") ;

	return NO_ERROR;
}


U32 MemTestCli(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd) 
{
        U32 *src;    // Memory source address
        U32 *dst;    // Memory destination address
        U32 tsize;   // Memory Test size
        int lsize;   // memory test loop size

	if((argc != 5))
	{
	PrintHelpMessage("memtest");
	Print("Useage: memtest <SrcAddr> <DestinAddr> <Size> <LoopCount>\n") ;
	return NO_ERROR;
	}		

	ClearLcdDisplay() ;
	lPrint("MEM Test ..") ;

	src   = (U32 *)hexstrtohex(argv[1], sizeofstr(argv[1]));
	dst   = (U32 *)hexstrtohex(argv[2], sizeofstr(argv[2]));
	tsize = hexstrtohex(argv[3], sizeofstr(argv[3]));
	lsize = strtoint(argv[4], sizeofstr(argv[4]));

	Print("\r - Source Memory Location      : 0x%08x",src) ;
	Print("\r - Destination Memory Location : 0x%08x",dst) ;
	Print("\r - Memory Test Size            : 0x%08x",tsize) ;
	Print("\r - Memory Test Loop Count      : %d\r",lsize) ;

        if ( !MemTest(src,dst,tsize,lsize) ) 
		{
		Print("\n $$$ Memory Test Fail !!!") ;
		lPrint("FAIL.") ;
		}
	else 
		{
		Print("\n $$$ Memory Test Success !!! ") ;
		lPrint("Ok.") ;
		}

	Print("\n") ;
	return NO_ERROR;
}

U32 DmaTestCli(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd) 
{
        U32 src;    // DMA source address
        U32 dst;    // DMA destination address
        U32 tsize;  // DMA Test size
        int lsize;  // DMA test loop size

	if((argc != 5))
	{
	PrintHelpMessage("dmatest");
	Print("Useage: dmatest <SrcAddr> <DestinAddr> <Size> <LoopCount>\n") ;
	return NO_ERROR;
	}		

	ClearLcdDisplay() ;
	lPrint("DMA Test ..") ;
        GdmaReset(0); 
        GdmaReset(1); 
        GdmaIntEnable(0);
        GdmaIntEnable(1);

	src   = hexstrtohex(argv[1], sizeofstr(argv[1]));
	dst   = hexstrtohex(argv[2], sizeofstr(argv[2]));
	tsize = hexstrtohex(argv[3], sizeofstr(argv[3]));
	lsize = strtoint(argv[4], sizeofstr(argv[4]));

	Print("\r - Source Memory Location      : 0x%08x",src) ;
	Print("\r - Destination Memory Location : 0x%08x",dst) ;
	Print("\r - DMA Test Size               : 0x%08x",tsize) ;
	Print("\r - DMA Test Loop Count         : %d\r",lsize) ;

        if ( !DmaAutoTest(src,dst,tsize,lsize) ) 
		{
		Print("\n $$$ DMA Test FAIL !!!") ;
		lPrint("FAIL.") ;
		}
	else 
		{
		Print("\n $$$ DMA Test PASS !!! ") ;
		lPrint("Ok.") ;
		}

        GdmaIntDisable(0);
        GdmaIntDisable(1);
	Print("\n") ;
	return NO_ERROR;
}

U32 DCopyCli(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd) 
{
	U32  src, dst,size ;
	U8 bytesize ;

	if((argc != 5))
	{
		PrintHelpMessage("dcopy");
		Print("Useage: dcopy <b/h/l> <SrcAddr> <DestinAddr> <Size> \n") ;
		return NO_ERROR;
	}		

        GdmaReset(0); 
        GdmaIntEnable(0);

	bytesize = (U8)*argv[1] ;
	src  = hexstrtohex(argv[2], sizeofstr(argv[2]));
	dst  = hexstrtohex(argv[3], sizeofstr(argv[3]));
	size = hexstrtohex(argv[4], sizeofstr(argv[4]));

	if (bytesize == MSIZE_BYTE)
		dcopy(src, dst, size,TxBYTE) ;
	else if (bytesize == MSIZE_HALF)
		dcopy(src, dst, size,TxHWORD) ;
	else if (bytesize == MSIZE_LONG) 
		dcopy(src, dst, size,TxWORD) ;
	else Print("Useage: dcopy <b/h/l> <SrcAddr> <DestinAddr> <Size> \n") ;

        GdmaIntDisable(0);
	Print("\n") ;

	return NO_ERROR;
}

U32 CacheCmdLi(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd) 
{
	U32  Reg, n ;

	if((argc < 2))
	{
	PrintHelpMessage("cache");
	Print("Useage: cache <on/off/conf> <4/8>\n") ;
	return NO_ERROR;
	}		

	n = hexstrtohex(argv[2], sizeofstr(argv[2]));

	if (!str_ncmp(argv[1],"on",sizeofstr(argv[1]))) 
		{
        	SYSCFG &= ~STALL; 	// Stall Disable
        	SYSCFG |= WRITE_BUFF;  	// Write Buffer Enable
     		SYSCFG &= ~CACHE;      	// Disable cache before 
					// cache mode change  
     		Reg = (~CACHE_MODE & SYSCFG); // clear previous CM bit
		// Cache Mode Change
		if (n==4) 
        		Reg |= (CACHE_MODE & (0<<4)); 
		else if (n==8) 
        		Reg |= (CACHE_MODE & (1<<4)); 
      		SYSCFG = Reg;
     		CacheFlush();   // Tag ram clear before cache enable
	        SYSCFG |= CACHE; 
		}

	else if (!str_ncmp(argv[1],"off",sizeofstr(argv[1]))) 
		{
        	SYSCFG &= ~WRITE_BUFF;  // Write Buffer Enable
     		SYSCFG &= ~CACHE;      	// Disable cache before 
     		Reg = (~CACHE_MODE & SYSCFG); // clear previous CM bit
		// Cache Mode Change
        	Reg |= (CACHE_MODE & (2<<4)); 
      		SYSCFG = Reg;
		}
	else if (!str_ncmp(argv[1],"conf",sizeofstr(argv[1]))) 
			CacheConfig() ;
	
	
	Print("\n") ;
	return NO_ERROR;
}

/*
 * 	Function :  MacCmdLi
 *	Description : MAC Test Program for Command Line 
 */
U32 MacCmdLi(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd)
{
	
	//U8 *FirstTestMode, *SecondTestMode ;
	char *maccmd[] = {"loop","rx","tx","capture","show","addr","help"} ;
	U32 cmdindex ;

	if((argc < 2))
	{
		PrintHelpMessage("mac");
		return NO_ERROR;
	}		

	ClearLcdDisplay() ;
	lPrint("MAC Test ..") ;
	for (cmdindex =0 ; cmdindex < 7 ; cmdindex++)
	{
		if (!str_ncmp(maccmd[cmdindex],argv[1],sizeofstr(argv[1]))) 
					break ;
	}

	switch (cmdindex)
	{
	case 0 : // Loop Test
		if (!str_ncmp(argv[2],"all",sizeofstr(argv[2]))) 
			MacAllLoopBack() ;
		else if (!str_ncmp(argv[2],"internal",sizeofstr(argv[2]))) 
			MacInternalLoopBack() ;
		else if (!str_ncmp(argv[2],"phy",sizeofstr(argv[2]))) 
			{
			PhyNoColLoopBack() ;
			PhyColLoopBack() ;
			}
		else if (!str_ncmp(argv[2],"ether",sizeofstr(argv[2]))) 
			InterruptLoopBackTest() ;
		else if (!str_ncmp(argv[2],"poll",sizeofstr(argv[2]))) 
			MacPollLoopBack(); 
		break ;
	case 1 : // Rx
		RxMacFrame() ; break ;
	case 2 : // Tx
		if (!str_ncmp(argv[2],"single",sizeofstr(argv[2]))) 
			SingleTransfer(); 
		else if (!str_ncmp(argv[2],"multi",sizeofstr(argv[2]))) 
			Eth_Multi_Transmit() ; 
		else if (!str_ncmp(argv[2],"control",sizeofstr(argv[2]))) 
			ControlFrameTransfer(); 
		break ;
	case 3 : // Capture
		if (!str_ncmp(argv[2],"all",sizeofstr(argv[2]))) 
				CaptureAllRxFrame() ; 
		else if (!str_ncmp(argv[2],"my",sizeofstr(argv[2]))) 
				CaptureMyRxFrame() ; 
		else if (!str_ncmp(argv[2],"broad",sizeofstr(argv[2]))) 
				CaptureBroadFrame() ; 
		else if (!str_ncmp(argv[2],"control",sizeofstr(argv[2]))) 
				CaptureCntlFrame() ; 
		else if (!str_ncmp(argv[2],"destin",sizeofstr(argv[2]))) 
				CaptureMatchedDest() ; 
		break ;
	case 4 : // Show
		ShowRecevedFrameData() ; break ;
		break ;
	case 5 : // MAC Physical Address Setup
		if (!str_ncmp(argv[2],"read",sizeofstr(argv[2]))) 
				MacAddrRead() ;
		else if (!str_ncmp(argv[2],"write",sizeofstr(argv[2]))) 
				MacAddrWrite() ;
		break ;
	case 6 : // MAC Help
		Print("\nUseage: mac <Cmd 1> <Cmd 2>") ;
		Print("\r<Cmd 1>") ;
		Print("\r 1. loop    : MAC Loopback test function") ;
		Print("\r    <Cmd 2> ") ;
		Print("\r       1) all : internal,phy loopback test") ;
		Print("\r       2) internal : MAC internal loopback test") ;
		Print("\r       3) phy : MAC-to-PHY loopback test") ;
		Print("\r       4) ether : loopback by physical ethernet cable") ;
		Print("\r       5) poll : Polling Mode loopback test") ;
		Print("\r 2. rx      : receive MAC frame and display by one packet") ;
		Print("\r 3. tx      : transfer MAC frame") ;
		Print("\r    <Cmd 2> ") ;
		Print("\r       1) single : Transfer single frame") ;
		Print("\r       2) multi : Transfer single frame ") ;
		Print("\r       3) control : Transfer control frame") ;
		Print("\r 4. capture : Capture received MAC frame and store") ;
		Print("\r              you can show received frame by [show] command") ;
		Print("\r    <Cmd 2> ") ;
		Print("\r       1) all : Capture all frame") ;
		Print("\r       2) my : Capture my mac address frame ") ;
		Print("\r       3) broad : Capture broadcast frame") ;
		Print("\r       4) control : Capture control frame") ;
		Print("\r       5) destin : Capture matched destination address frame");
		Print("\r 5. show    : Showing captured frame") ;
		Print("\r 6. addr    : MAC Address change and view in IIC EEPROM") ;
		Print("\r    <Cmd 2> ") ;
		Print("\r       1) read  : Read MAC Address") ;
		Print("\r       2) write : Write MAC Address") ;
		Print("\r 7. help    : this message") ;
		break ;
	default  : 
		Print("\r Invalid MAC test item is selected") ; 
		break ;
	}


	Print("\n") ;
	return NO_ERROR;
}

/*
 * 	Function :  HdlcCmdLi
 *	Description : Hdlc Test Program for Command Line 
 */
U32 HdlcCmdLi(U8 argc, char (*argv)[MAX_LENGTHOF_ARGS],CMDPOOL *pCmd)
{
	
	//char *hdlccmd[] = {"loop","rx","tx","capture","show","addr","help"} ;
	char *hdlccmd[] = {"reg","loop","dma","capture","show","addr","help"} ;
	char *hdlcchannel[] = {"a","b"} ;
	U32 cmdindex ;
	U32 channel;

	if((argc < 2))
	{
		PrintHelpMessage("hdlc");
		return NO_ERROR;
	}		

	ClearLcdDisplay() ;
	lPrint("HDLC Test ..") ;
	for (cmdindex =0 ; cmdindex < 7 ; cmdindex++)
	{
		if (!str_ncmp(hdlccmd[cmdindex],argv[1],sizeofstr(argv[1]))) 
					break ;
	}
	for (channel =0 ; channel < 2 ; channel++)
	{
		if (!str_ncmp(hdlcchannel[channel],argv[2],sizeofstr(argv[2]))) 
					break ;
	}

	switch (cmdindex)
	{
	case 0 : // register set
		if (!str_ncmp(argv[2],"reg",sizeofstr(argv[2]))) {
			if (!str_ncmp(argv[3],"a",sizeofstr(argv[3]))) 
				RegSetDiag(HDLCA) ;
			else if (!str_ncmp(argv[3],"b",sizeofstr(argv[3]))) 
				RegSetDiag(HDLCB) ;
		}
		break ;

	case 1 : // Loop Test
		if (!str_ncmp(argv[2],"internal",sizeofstr(argv[2]))) 
			if (!str_ncmp(argv[3],"a",sizeofstr(argv[3]))) 
				HdlcInternalLoopback(HDLCA,10) ;
			else if (!str_ncmp(argv[3],"b",sizeofstr(argv[3]))) 
				HdlcInternalLoopback(HDLCB,10) ;
		break ;
	case 2 : // DMA
		//HDMA_Test(channel);
		break ;
	case 3 : // Capture
		break ;
	case 4 : // Show
		break ;
	case 5 : // HDLC Station Address Setup
		break ;
	case 6 : // HDLC Help
		Print("\nUseage: hdlc <Cmd 1> <Cmd 2>") ;
		Print("\r<Cmd 1>") ;
		Print("\r 1. loop    : HDLC Loopback test function") ;
		Print("\r    <Cmd 2> ") ;
		Print("\r       1) all : All HDLC loopback test") ;
		Print("\r       2) internal : HDLC internal loopback test") ;
		Print("\r 2. rx      : receive HDLC frame and display by one packet") ;
		Print("\r 3. tx      : transfer HDLC frame") ;
		Print("\r    <Cmd 2> ") ;
		Print("\r       1) single : Transfer single frame") ;
		Print("\r       2) multi : Transfer single frame ") ;
		Print("\r 4. capture : Capture received HDLC frame and store") ;
		Print("\r              you can show received frame by [show] command") ;
		Print("\r 5. show    : Showing captured frame") ;
		Print("\r 6. addr    : HDLC Address change and view in IIC EEPROM") ;
		Print("\r 7. help    : this message") ;
		break ;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲高清免费视频| 7777精品伊人久久久大香线蕉超级流畅| 中文字幕久久午夜不卡| 欧美在线你懂得| 激情成人综合网| 亚洲老妇xxxxxx| 久久无码av三级| 4438x成人网最大色成网站| 成人av在线播放网址| 日本亚洲电影天堂| 亚洲综合清纯丝袜自拍| 国产丝袜欧美中文另类| 日韩一区二区免费在线电影| 91福利视频久久久久| 成人激情av网| 国产在线播放一区三区四| 全国精品久久少妇| 亚洲伊人伊色伊影伊综合网| 国产精品亲子伦对白| www久久精品| 欧美成人性福生活免费看| 欧美在线高清视频| 99riav一区二区三区| 国产黑丝在线一区二区三区| 蜜桃av一区二区在线观看| 亚洲综合丁香婷婷六月香| 久久夜色精品国产噜噜av| 欧美一区二区在线观看| 欧美性色欧美a在线播放| www.欧美日韩国产在线| 激情国产一区二区 | 综合久久久久久| 欧美一区二区三区精品| 欧美日韩一级片在线观看| 欧美丝袜自拍制服另类| 色综合 综合色| 色94色欧美sute亚洲线路一久| 99免费精品在线| 91免费视频网| 91久久一区二区| 欧美视频第二页| 正在播放亚洲一区| 欧美一级夜夜爽| 日韩欧美资源站| 久久只精品国产| 国产日产欧美精品一区二区三区| 欧美一区二区三区人| 911国产精品| 欧美性xxxxx极品少妇| 在线观看国产日韩| 在线视频国产一区| 色8久久精品久久久久久蜜| 风间由美一区二区三区在线观看| 国产一区二区精品在线观看| 免费久久99精品国产| 久久国产精品99精品国产| 日韩成人一级片| 99这里只有久久精品视频| 91在线一区二区| 一本色道亚洲精品aⅴ| 成人的网站免费观看| av中文字幕不卡| 欧美日韩性生活| 精品剧情在线观看| 中文字幕中文字幕在线一区| 亚洲精品免费在线| 日韩av在线免费观看不卡| 国产一区二区在线影院| 成人听书哪个软件好| 91九色最新地址| 日韩欧美激情四射| 国产精品久久久久婷婷| 亚洲成人1区2区| 国产一区在线观看视频| 99久久久精品| 91精品中文字幕一区二区三区| 91精品国产品国语在线不卡| 国产三级三级三级精品8ⅰ区| 中文字幕亚洲综合久久菠萝蜜| 亚洲人成在线播放网站岛国| 亚洲欧美另类久久久精品| 日韩经典中文字幕一区| 国产成人在线免费| 91视频一区二区三区| 欧美日韩国产电影| 欧美大片免费久久精品三p| 国产欧美日韩另类视频免费观看| 亚洲国产乱码最新视频 | 福利电影一区二区三区| 欧美最新大片在线看| 久久在线免费观看| 久久综合久久鬼色中文字| 9191久久久久久久久久久| 中文字幕欧美三区| 免费美女久久99| 色美美综合视频| 国产视频亚洲色图| 日韩精品成人一区二区在线| 99精品国产91久久久久久| 欧美zozozo| 日本韩国欧美国产| 久久久99精品久久| 伊人婷婷欧美激情| 国产麻豆成人精品| 欧美一卡二卡三卡| 一区二区三区蜜桃网| 丁香六月综合激情| 精品日韩99亚洲| 天天色天天爱天天射综合| 99免费精品视频| 国产人成亚洲第一网站在线播放| 日本aⅴ精品一区二区三区 | 日产欧产美韩系列久久99| 91视视频在线直接观看在线看网页在线看| 欧美一二三区在线| 亚洲1区2区3区视频| 色网站国产精品| 欧美激情一区在线| 国产一区在线观看视频| 日韩欧美一区二区在线视频| 亚洲一区二区欧美激情| 国产精品综合视频| 日韩欧美一二三四区| 日韩精品免费视频人成| 欧日韩精品视频| 尤物在线观看一区| 色综合激情五月| 亚洲黄色av一区| 在线视频国产一区| 亚洲一区二区三区国产| 欧美在线免费观看视频| 亚洲一区二区五区| 欧美最新大片在线看| 亚洲高清视频中文字幕| 欧美日韩三级一区| 亚洲一区二区三区四区在线免费观看| 成人av在线电影| 国产精品电影一区二区| 成人黄色大片在线观看| 国产精品欧美一区喷水| av不卡一区二区三区| 国产女主播在线一区二区| 国产乱码精品1区2区3区| 国产亚洲成年网址在线观看| 蜜乳av一区二区| 欧美日韩国产大片| 婷婷国产v国产偷v亚洲高清| 欧美日韩中文字幕精品| 亚洲午夜一二三区视频| 欧美性色黄大片| 午夜精彩视频在线观看不卡| 99精品黄色片免费大全| 欧美一级片在线| 亚洲三级免费电影| 国产麻豆成人精品| 欧美一区二区三区在线视频 | 午夜精品久久久| 国产精品久久久久四虎| 欧美精品一级二级| 国产69精品久久久久777| 一区二区三区国产| 久久久久久97三级| 在线观看av不卡| 国产精品一区二区视频| 天天综合天天做天天综合| 中文字幕中文字幕一区二区| 欧美一级片在线观看| 91国产成人在线| 日韩主播视频在线| 亚洲精品国产精品乱码不99| 久久精品这里都是精品| 欧美电视剧免费观看| 91精品免费在线| 欧美日韩不卡在线| 欧美日韩国产乱码电影| 日韩精品一区二区三区中文不卡| 91成人在线观看喷潮| 日韩美女视频在线| 日韩情涩欧美日韩视频| 久久精品在线观看| 日本美女一区二区三区视频| 成人深夜视频在线观看| 欧洲中文字幕精品| 欧美日韩www| 国产人久久人人人人爽| 欧美群妇大交群中文字幕| 国产一区二区h| 亚洲高清一区二区三区| 337p粉嫩大胆色噜噜噜噜亚洲| 成人av电影在线网| 麻豆91精品视频| 亚洲乱码国产乱码精品精可以看 | 99久久99久久综合| 日韩精彩视频在线观看| 国产视频911| 欧美三级乱人伦电影| 成人午夜免费av| 欧美日韩高清一区| 一区二区三区四区蜜桃| 成人毛片老司机大片|