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

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

?? atapi.c

?? smdk2443_wince50 embedd
?? C
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
	g_oDevice[0].CurrentMultiple = nSector;

   	 WriteOnTaskFileReg(DEV_CONTROL,0);
	WriteOnTaskFileReg(DEV_SECTOR,nSector&0xff);
	WriteOnTaskFileReg(DEV_LOWLBA,0x00);
	WriteOnTaskFileReg(DEV_MIDLBA,0x00);
	WriteOnTaskFileReg(DEV_HIGHLBA,0x00);
	WriteOnTaskFileReg(DEV_DEVICE,0x40);
	WriteOnTaskFileReg(DEV_COMMAND,0xC6); //Set Multiple mode (implemented in ATA IP ??)

	WaitForNoBusyStatus();
}

void SetUdmaMode(UDMAMODE umode) 
{
	UINT8 nMode;
	UINT32 uTdvh1;
	UINT32 uTdvs;
	UINT32 uTrp;
	UINT32 uTss;
	UINT32 uTackenv;
	UINT32 i;

	UINT32 uUdmaTime[5];
	UINT32 uUdmaTdvh[5] = {20,20,10,10,10}; //{7,7,7,7,7};
	UINT32 uUdmaTdvs[5] = {100,60,50,35,20}; //{70,48,31,20,7};
	UINT32 uUdmaTrp[5] = {160,125,100,100,100};
	UINT32 uUdmaTss[5] = {50,50,50,50,50};
	UINT32 uUdmaTackenvMin[5] = {20,20,20,20,20};
	UINT32 uUdmaTackenvMax[5] = {70,70,70,55,55};	
	UINT32 uCycleTime = (UINT32)(1000000000/S3C2443_HCLK);

#ifdef __EVT1
	g_vIOPORTRegs->GPADAT &= ~(1<<5); // GPA10 RDATA_fOEN setting
//	rGPACDH = 0xaa8a; // GPA10 RDATA_OEN setting
//	rGPBCON = rGPBCON & ~(3<<12) | (1<<12); // GPB6 output setting (nXBREQ)
//	rGPBDAT &= ~(1<<6); // GPB6 -> L, buffer Output enable 
#else
	g_vIOPORTRegs->GPBCON = (g_vIOPORTRegs->GPBCON & ~(0xf<<10)) | (5<<10); // GPB5,6 output mode
	g_vIOPORTRegs->GPBCON = (g_vIOPORTRegs->GPBCON &  ~(0x3<<8)) |( 1<<8); // GPB4 output mode		
	g_vIOPORTRegs->GPBCON = (g_vIOPORTRegs->GPBCON &  ~(0x3<<0)) |( 1<<0); // GPB4 output mode			
	g_vIOPORTRegs->GPBDAT |= (3<<5); // GPB5,6 -> H	
#endif	
	
//	ChangeBufferControl(PIO_CPU);    
	
	for (i=0; i<5; i++)
	{
		uTdvh1	= (uUdmaTdvh[i] / uCycleTime + 1)&0x0f;
		uTdvs	= (uUdmaTdvs[i] / uCycleTime + 1)&0xff;
		uTrp	= (uUdmaTrp[i]  / uCycleTime + 1)&0xff;
		uTss	= (uUdmaTss[i]  / uCycleTime + 1)&0x0f;
		uTackenv= (uUdmaTackenvMin[i]/uCycleTime + 1)&0x0f;
		uUdmaTime[i] = (uTdvh1<<24)|(uTdvs<<16)|(uTrp<<8)|(uTss<<4)|uTackenv;
//		DbgAta(("UDMA%dTIME = %x\n", i, uUdmaTime[i]));
	}	

       g_vATAPIRegs->ATA_IRQ_MASK=0xfffffffe;
        g_vATAPIRegs->ATA_IRQ =0xff;

        WriteOnTaskFileReg(DEV_CONTROL,0);
	WriteOnTaskFileReg(DEV_FEATURE,0x03);
	WriteOnTaskFileReg(DEV_SECTOR,0x40|(nMode&0x7));
	WriteOnTaskFileReg(DEV_LOWLBA,0x00);
	WriteOnTaskFileReg(DEV_MIDLBA,0x00);
	WriteOnTaskFileReg(DEV_HIGHLBA,0x00);
	WriteOnTaskFileReg(DEV_DEVICE,0x40);
	WriteOnTaskFileReg(DEV_COMMAND,SETFEATURES);

	WaitForNoBusyStatus();

	
	switch(umode) {
		case UDMA0:
			nMode = 0;
                    g_vATAPIRegs->ATA_UDMA_TIME = uUdmaTime[0];
			break;		
		case UDMA1:
			nMode = 1;
                    g_vATAPIRegs->ATA_UDMA_TIME = uUdmaTime[1];
			break;
		case UDMA2:
			nMode = 2;
                    g_vATAPIRegs->ATA_UDMA_TIME = uUdmaTime[2];
			break;
		case UDMA3:
			nMode = 3;
                    g_vATAPIRegs->ATA_UDMA_TIME = uUdmaTime[3];
			break;
		case UDMA4:
			nMode = 4;
                    g_vATAPIRegs->ATA_UDMA_TIME = uUdmaTime[4];
			break;
		default:
                    RETAILMSG(1,(TEXT("UDMA mode is supported between 0 to 4 !!!! . %d\r\n"),umode));
			break;
		}
	g_oDevice[0].CurrentUdmaMode = nMode;
	

}



int CheckDevice(void) 
{
	UINT8 rRead;

	if (!(ReadDeviceReg(DEV_SECTOR, &rRead)))
		return FALSE;
	if (rRead != 0x10) 
		g_oDevice[0].DeviceType = ATA_ABSENT;
	
	if (!(ReadDeviceReg(DEV_LOWLBA, &rRead)))
		return FALSE;
	if (rRead != 0x10) 
		g_oDevice[0].DeviceType = ATA_ABSENT;

	if (!(ReadDeviceReg(DEV_MIDLBA, &rRead)))
		return FALSE;
	if (rRead == 0x00) {
		g_oDevice[0].DeviceType = ATA_ATA;
		//DbgAta(("ATA_ATA\n"));
	}
	else if(rRead == 0x14) 
		g_oDevice[0].DeviceType = ATA_ATAPI;

	return TRUE;
}


int ReadSector_PioDma(UINT32 uLBA, UINT32 uDesAddress) 
{

	if (!(StartReadingBlocks(uLBA,  0x1, uDesAddress)))
		return FALSE;	
	return IsReadingBlocksDone();
}

int StartReadingBlocks(UINT32 uStBlock, UINT32 uBlocks, UINT32 uBufAddr)
{

	UINT32 deviceCmd = (g_eMode == UDMA) ? READDMA : READSECTOR;
	RETAILMSG(RTL_MSG,(TEXT("### Current MOde is %d %d\r\n"),g_eMode,PIO_DMA));
	
	/*Track Buffer 1 Setting*/
	g_vATAPIRegs->ATA_TBUF_START = (UINT32)PIODMA_BUFFER_PA;
	g_vATAPIRegs->ATA_TBUF_SIZE = uBlocks*ATA_SECTORSIZE;
	g_vATAPIRegs->ATA_XFR_NUM = (uBlocks*ATA_SECTORSIZE);

	if (!(SetAtaDevice(uStBlock, uBlocks)))
		return FALSE;
	if (!(WriteOnTaskFileReg(DEV_COMMAND, deviceCmd)))
		return FALSE;
	if (!(WaitForNoBusyStatus()))
		return FALSE;
	
	SetConfigMode(g_eMode,FALSE);

//	ChangeBufferControl(UDMA);
#if 0
 	if (g_eMode == UDMA) // apply at specific set using buffer control
	{
		SetBufferDirection(READDMA);
	}   
#endif	
	if (!(SetTransferCommand(ATA_CMD_START)))
		return FALSE;
	return TRUE;
}

#if 0
void ChangeBufferControl(ATA_MODE mode) // added by junon for second UDMA test b'd 060902
{
	if (mode == UDMA)
	{
            g_vIOPORTRegs->GPBDAT = g_vIOPORTRegs->GPBDAT & ~((1<<4)|(1)); // GPB0->low,GPB1->low => UDMA mode 	
	}
	else // PIO
       {
            g_vIOPORTRegs->GPBDAT = g_vIOPORTRegs->GPBDAT & ~((1<<4) |(1))|(1<<4); // GPB0->low,GPB1->high => ATA mode	  	
	}
}
#endif


#if 0
void SetBufferDirection(UINT32 uDirection) // only for SMDK b'd 060812
{
	switch(uDirection)
	{
		case READDMA :
			g_vIOPORTRegs->GPBDAT &= ~(3<<5); // GPB5 -> L, buffer direction - read setting 
								// GPB6 -> L, buffer Output enable 
			break;
		case WRITEDMA :
			g_vIOPORTRegs->GPBDAT |= (1<<5); 	// GPB5 -> H, buffer direction - write setting 
			g_vIOPORTRegs->GPBDAT &= ~(1<<6); // GPB6 -> L, buffer Output enable 060812
			break;
		default : // clear
			g_vIOPORTRegs->GPBDAT |= (3<<5); 	// GPB5 -> H, buffer direction - write setting 
								// GPB6 -> H, buffer Output disable 
			break;
	}		
}
#endif

int ReadSectors_Udma(DWORD dStartSec, BYTE *pTargetBuf, UINT16 usNumSec)
{
	UINT32 uCurrentCount;
	UINT32 uRemainderCount;
	UINT32 uCurrentLba;
	UINT32 uCurrentDstAddr;
	UINT32 uRound,uLoop;
    UINT32 start_time;
    UINT32 end_time;
       int dwRet;

        RETAILMSG(RTL_MSG,(TEXT("ReadSectors_Udma::: 0x%x 0x%x 0x%x \r\n"),dStartSec,pTargetBuf,usNumSec));

	uRemainderCount = usNumSec;
	uRound = 0;	

	while(uRemainderCount != 0) {
		if(uRemainderCount>256) {
			uCurrentCount = 256; //0 means 256
			uRemainderCount -= 256;
		} else {
			uCurrentCount = uRemainderCount;
			uRemainderCount = 0;
		}
		uCurrentLba = dStartSec + uRound*256;
		uCurrentDstAddr = pTargetBuf + uRound*256*ATA_SECTORSIZE;

#ifdef USE_MUTEX
            GetMutex(g_hMutex);
#endif //USE_MUTEX
            StartReadingBlocks(uCurrentLba, uCurrentCount, uCurrentDstAddr);
 //           IsReadingBlocksDone();

#if 1            
    dwRet = WaitForSingleObject(g_hATAEvent, 1000);  // time out 1sec

    if ( dwRet != WAIT_OBJECT_0 )
    {
        RETAILMSG(1,(TEXT("### ATA_INTERRUPT IS NOT OCCURED.\nATA_IRQ 0x%x ATA_IRQMASK 0x%x ATA_XFR_CNT 0x%x\r\n"),g_vATAPIRegs->ATA_IRQ,g_vATAPIRegs->ATA_IRQ_MASK,g_vATAPIRegs->ATA_XFR_CNT));        
        return FALSE;
    }

    if (!(IsDmaDone()))
        return FALSE;
    InterruptDone(g_dwATASysIrq);
//    RETAILMSG(1,(TEXT("ATA_IRQ 0x%x ATA_IRQMASK 0x%x ATA_XFR_CNT 0x%x\r\n"),g_vATAPIRegs->ATA_IRQ,g_vATAPIRegs->ATA_IRQ_MASK,g_vATAPIRegs->ATA_XFR_CNT));
    
#endif            

#ifdef USE_MUTEX
            ReleaseMutex(g_hMutex);
#endif //USE_MUTEX

                memcpy((PBYTE)uCurrentDstAddr,g_vDmaBuffer,uCurrentCount*ATA_SECTORSIZE);
            uRound++;
	}

	return TRUE;
}


int WriteSectors_Udma(DWORD dStartSec, BYTE *pTargetBuf, UINT16 usNumSec)
{
	UINT32 uCurrentCount;
	UINT32 uRemainderCount;
	UINT32 uCurrentLba;
	UINT32 uCurrentSrcAddr;
	UINT32 uRound;
    DWORD dwRet;
	
	uRemainderCount = usNumSec;
	uRound = 0;	

	
	while(uRemainderCount != 0) {
		if(uRemainderCount>256) {
			uCurrentCount = 256; //0 means 256
			uRemainderCount -= 256;
		} else {
			uCurrentCount = uRemainderCount;
			uRemainderCount = 0;
		}
		uCurrentLba = dStartSec + uRound*256;
		uCurrentSrcAddr = pTargetBuf + uRound*256*ATA_SECTORSIZE;
                memcpy(g_vDmaBuffer,(PBYTE)uCurrentSrcAddr,uCurrentCount*ATA_SECTORSIZE);

#ifdef USE_MUTEX
            GetMutex(g_hMutex);
#endif //USE_MUTEX

//        RETAILMSG(1,(TEXT("INTPEND = %x
		StartWritingBlocks(uCurrentLba, uCurrentCount, uCurrentSrcAddr);
//		IsWritingBlocksDone();
#if 1
        dwRet = WaitForSingleObject(g_hATAEvent, 1000);  // time out 1sec

        if ( dwRet != WAIT_OBJECT_0 )
        {
            RETAILMSG(1,(TEXT("### ATA_INTERRUPT IS NOT OCCURED.\nATA_IRQ 0x%x ATA_IRQMASK 0x%x ATA_XFR_CNT 0x%x\r\n"),g_vATAPIRegs->ATA_IRQ,g_vATAPIRegs->ATA_IRQ_MASK,g_vATAPIRegs->ATA_XFR_CNT));        
            return FALSE;
        }

        if (!(IsDmaDone()))
            return FALSE;
        InterruptDone(g_dwATASysIrq);
#endif

#ifdef USE_MUTEX
            ReleaseMutex(g_hMutex);
#endif //USE_MUTEX

               uRound++;

	}

	return TRUE;
}

void SetConfigMode(ATA_MODE mode, int isWriteMode)
{
	switch(mode)
	{
		case PIO_CPU:
			g_uCfgReg = ((g_uCfgReg&0x1F3) | (0<<2)); // set PIO_CPU class
			break;
		case PIO_DMA:
			g_uCfgReg = ((g_uCfgReg&0x1F3) | (1<<2)); // set PDMA class
			if (isWriteMode == TRUE)
				g_uCfgReg |= 0x10; // DMA write mode
			else
				g_uCfgReg &= (~0x10); // DMA read mode
			break;
		case UDMA:
			g_uCfgReg = ((g_uCfgReg&0x1F3) | (2<<2)); // set UDMA class
			g_uCfgReg |= 0x200; // set ATA DMA auto mode (enable multi block transfer)
			if (isWriteMode == TRUE)
				g_uCfgReg |= 0x10; // DMA write mode
			else
				g_uCfgReg &= (~0x10); // DMA read mode
			break;
		default:
			break;
	}
	g_vATAPIRegs->ATA_CFG = g_uCfgReg;
}

int SetTransferCommand(ATA_TRANSFER_CMD command)
{
	UINT8 cmd = (command == ATA_CMD_STOP) ? 0 :
			(command == ATA_CMD_START) ? 1 :
			(command == ATA_CMD_ABORT) ? 2 : 3;
	if (!(WaitForDeviceAccessReady()))
		return FALSE;
	g_vATAPIRegs->ATA_COMMAND = cmd;
	return TRUE;
}


int IsReadingBlocksDone(void)
{
	RETAILMSG(RTL_MSG,(TEXT("### PIO_DMA Check Point 3.\r\n")));
	return IsWritingBlocksDone();
}

int IsWritingBlocksDone(void)
{
	RETAILMSG(RTL_MSG,(TEXT("### PIO_DMA Check Point 4.\r\n")));
	if (!(WaitForTransferDone()))
		return FALSE;	
	RETAILMSG(RTL_MSG,(TEXT("### PIO_DMA Check Point 6.\r\n")));
	return IsDmaDone();
}

int WaitForTransferDone(void)
{
	UINT32 x;
	UINT32 count=1;
	UINT16 retVal=TRUE;

	do {
		count++;

		if(!(WaitForDeviceAccessReady()))	// timeout
			return FALSE; 
		if(count == 10000000 )					// timeout
		{
			retVal = FALSE;
			break;
		}

		x = g_vATAPIRegs->ATA_STATUS;
	} while((x & 3)!=0);

	return retVal;
}

int IsDmaDone(void)
{
	if (!(SetTransferCommand(ATA_CMD_ABORT)))
		return FALSE;
	RETAILMSG(RTL_MSG,(TEXT("### PIO_DMA Check Point 7.\r\n")));
//       SetBufferDirection(0); // clear to H
//       ChangeBufferControl(PIO_CPU);
    
	SetConfigMode(PIO_CPU, TRUE);
	RETAILMSG(RTL_MSG,(TEXT("### PIO_DMA Check Point 8.\r\n")));
	if (!(WaitForNoBusyStatus()))
		return FALSE;
	RETAILMSG(RTL_MSG,(TEXT("### PIO_DMA Check Point 9.\r\n")));

	if (g_eMode == UDMA)
	{
		g_uCfgReg &= (~0x200); // disable ATA DMA auto mode
		g_vATAPIRegs->ATA_CFG = g_uCfgReg;
	}
	return TRUE;
}


int WriteSector_PioDma(UINT32 uLBA, UINT32 uSrcAddress) 
{

	if (!(StartWritingBlocks(uLBA, 1, uSrcAddress)))
		return FALSE;
	return IsWritingBlocksDone();
}

int StartWritingBlocks(UINT32 uStBlock, UINT32 uBlocks, UINT32 uBufAddr)
{

	UINT32 deviceCmd = (g_eMode == UDMA) ? WRITEDMA : WRITESECTOR;

	g_vATAPIRegs->ATA_SBUF_START = (UINT32)PIODMA_BUFFER_PA;
	g_vATAPIRegs->ATA_SBUF_SIZE = uBlocks*ATA_SECTORSIZE;
	g_vATAPIRegs->ATA_XFR_NUM = uBlocks*ATA_SECTORSIZE;

	if (!(SetAtaDevice(uStBlock, uBlocks)))
		return FALSE;
	if (!(WriteOnTaskFileReg(DEV_COMMAND, deviceCmd)))
		return FALSE;

	if (!(WaitForNoBusyStatus()))
		return FALSE;
	
	SetConfigMode(g_eMode,TRUE);
//	ChangeBufferControl(UDMA);
#if 0    
	if (g_eMode == UDMA) // apply at specific set using buffer control
	{
		SetBufferDirection(WRITEDMA); // for SMDK buffer direction only
	}
#endif

	if (!(SetTransferCommand(ATA_CMD_START)))
		return FALSE;
	
	return TRUE;

}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜臀av性久久久久蜜臀aⅴ四虎| 精品国产一区二区三区久久久蜜月| 免费高清在线一区| 亚洲亚洲人成综合网络| 亚洲青青青在线视频| 亚洲男人都懂的| 玉足女爽爽91| 日韩经典中文字幕一区| 天天爽夜夜爽夜夜爽精品视频 | 男女性色大片免费观看一区二区| 亚洲福利一二三区| 午夜精品成人在线视频| 日本va欧美va精品| 国内久久精品视频| 国产不卡视频一区| 国产91色综合久久免费分享| 不卡视频一二三四| 色综合欧美在线视频区| 欧美中文字幕亚洲一区二区va在线 | 《视频一区视频二区| 最近日韩中文字幕| 日韩精品一级中文字幕精品视频免费观看 | 国产精品午夜春色av| 国产精品久久久久久妇女6080| 中文字幕日韩精品一区| 一区二区三区在线播| 日本不卡的三区四区五区| 精品无码三级在线观看视频| 不卡视频免费播放| 欧美肥胖老妇做爰| 国产天堂亚洲国产碰碰| 亚洲伦理在线精品| 久久av资源网| 在线观看成人免费视频| 久久久综合视频| 亚洲一区视频在线观看视频| 韩国成人在线视频| 色婷婷久久综合| 精品第一国产综合精品aⅴ| 亚洲色大成网站www久久九九| 日韩电影一区二区三区四区| 国产a级毛片一区| 欧美精品一级二级三级| 国产精品欧美精品| 美日韩一区二区| 91免费观看视频在线| 精品国精品自拍自在线| 亚洲一区二区三区视频在线播放| 国产成人鲁色资源国产91色综| 欧美调教femdomvk| 中文字幕日本不卡| 国产一区二区三区日韩| 884aa四虎影成人精品一区| 国产精品欧美极品| 国模冰冰炮一区二区| 欧美日本高清视频在线观看| 亚洲男人的天堂在线观看| 国产成人自拍高清视频在线免费播放| 欧美日韩成人一区| 亚洲美女免费在线| 91丝袜美女网| 亚洲同性同志一二三专区| 国产原创一区二区| 精品欧美乱码久久久久久| 日韩av电影免费观看高清完整版 | 狠狠久久亚洲欧美| 欧美日韩国产高清一区| 亚洲黄色录像片| 在线亚洲+欧美+日本专区| 1000部国产精品成人观看| 99精品视频在线播放观看| 国产精品久久久久久妇女6080| 国产成人在线观看| 中文字幕精品—区二区四季| 国产精品一区二区免费不卡| 精品国产成人在线影院 | 国产欧美日韩久久| 国产黄人亚洲片| 久久精品欧美一区二区三区不卡| 玖玖九九国产精品| 精品久久久久久久人人人人传媒 | 国产精品福利一区| www.欧美日韩| 亚洲精品v日韩精品| 欧洲精品一区二区| 性欧美疯狂xxxxbbbb| 欧美日韩日日摸| 免费观看91视频大全| 亚洲精品一区二区三区蜜桃下载| 国产在线国偷精品免费看| 欧美国产视频在线| 日本高清成人免费播放| 亚洲国产成人tv| 日韩一区二区三区四区| 国产精品亚洲一区二区三区妖精| 国产色一区二区| 色猫猫国产区一区二在线视频| 亚洲精品中文在线| 91精品国产麻豆国产自产在线 | 免费日韩伦理电影| 久久综合成人精品亚洲另类欧美 | 亚洲蜜臀av乱码久久精品| 在线观看国产一区二区| 蜜桃视频在线一区| 国产精品国产三级国产有无不卡 | 国产女人水真多18毛片18精品视频| 国产91精品露脸国语对白| 亚洲精品免费在线播放| 91麻豆精品国产自产在线| 国产福利一区二区| 亚洲成人av在线电影| 久久精品在这里| 欧美日韩在线观看一区二区 | 色视频成人在线观看免| 天天色图综合网| 亚洲国产精华液网站w| 欧美日韩在线观看一区二区| 国产成人综合自拍| 亚洲一卡二卡三卡四卡无卡久久| 欧美一区二区三区视频免费播放| 高清成人在线观看| 美腿丝袜亚洲一区| 亚洲综合丁香婷婷六月香| 久久精品亚洲国产奇米99| 欧美男人的天堂一二区| 成人精品在线视频观看| 麻豆久久久久久| 亚洲自拍偷拍av| 国产精品久久久久四虎| 精品国产免费一区二区三区四区| 一本久久a久久免费精品不卡| 国内精品嫩模私拍在线| 日韩高清一区在线| 一区二区高清免费观看影视大全| 国产日韩精品视频一区| 欧美一二三区在线| 欧美视频自拍偷拍| 色综合天天综合网天天看片| 国产精品综合视频| 激情综合网最新| 麻豆国产欧美日韩综合精品二区| 亚洲综合一区在线| 亚洲人成在线观看一区二区| 亚洲国产精品黑人久久久| 久久久三级国产网站| 日韩美女视频在线| 日韩欧美黄色影院| 日韩免费视频一区二区| 91精品国产91热久久久做人人| 欧美视频精品在线| 欧美日韩一本到| 欧美日韩另类一区| 在线播放亚洲一区| 日韩视频在线你懂得| 91精品国产91久久久久久一区二区| 欧美午夜免费电影| 欧美日韩免费一区二区三区视频 | 精品在线一区二区三区| 日本欧美在线观看| 六月丁香综合在线视频| 精品一区二区三区的国产在线播放 | 亚洲综合视频在线| 一区二区国产盗摄色噜噜| 一区二区三区欧美日韩| 一区二区欧美在线观看| 天天色综合天天| 久草热8精品视频在线观看| 国产一区视频导航| 成人黄色大片在线观看| 色中色一区二区| 欧美午夜精品免费| 欧美一区二区啪啪| 国产日韩欧美在线一区| 中文字幕一区二区三区不卡| 有码一区二区三区| 日韩成人伦理电影在线观看| 久久99久久精品| caoporn国产一区二区| 欧美色综合影院| 久久欧美一区二区| 亚洲日本电影在线| 男人的j进女人的j一区| 成人免费看片app下载| 欧美午夜精品久久久久久孕妇| 91精品国产综合久久久久久漫画 | 亚洲乱码精品一二三四区日韩在线| 亚洲一区在线观看视频| 狂野欧美性猛交blacked| 不卡av在线免费观看| 欧美日韩国产系列| 欧美国产1区2区| 蜜桃久久久久久久| 成人福利视频在线看| 欧美一区二区网站| 亚洲婷婷在线视频| 久久99久久久久| 欧美性色黄大片手机版| 国产欧美一区在线| 蜜臀a∨国产成人精品| 91年精品国产|