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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? m8260sio.c

?? motorola 8260 CPU上面
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* m8260Sio.c - Motorola MPC8260 SCC UART serial driver *//* Copyright 1984-1999 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------01k,03oct99,ms_  roll back to circa 01g to fix hang01j,16sep99,ms_  some include files come from drv/sio01i,16sep99,ms_  rename m8260Int.h to m8260IntrCtl.h01h,15jul99,ms_  make compliant with our coding standards		 use macros to access hardware registers01g,21may99,ms_  set a number of "not used" fields as indicated by user's                 manual01f,19apr99,ms_  add documentation to functions with none01e,17apr99,ms_  final EAR cleanup01d,14apr99,ms_  interrupt numbers are defined, not vectors01c,08apr99,ms_  upgrade to multiple channels01b,06apr99,ms_  try using claudios buffer scheme01a,08mar99,ms_	 adapted from src/drv/m8260Sio.c version 01b*//*DESCRIPTIONThis is the driver for the SCCs in the internal Communications Processor (CP)of the Motorola MPC8260. This driver only supports the SCCs in asynchronous UART mode.USAGEAn M8260_SIO_CHAN structure is used to describe the chip.The BSP's sysHwInit() routine typically calls sysSerialHwInit(),which initializes all the values in the M8260_11/2/1 3:39PM=_CHAN structure (exceptthe SIO_DRV_FUNCS) before calling m8260SioDevInit().The BSP's sysHwInit2() routine typically calls sysSerialHwInit2() whichconnects the chip's interrupts via intConnect().INCLUDE FILES: drv/sio/m8260Sio.h drv/sio/m8260Cp.h drv/intrCtl/m8260IntrCtl.h*//* includes */#include "vxWorks.h"#include "intLib.h"#include "errno.h"#include "sioLib.h"#include "drv/sio/m8260Sio.h"#include "drv/sio/m8260Cp.h"#include "drv/intrCtl/m8260IntrCtl.h"/* defines */#define DEFAULT_BAUD 9600/* 8260pc */#define WITH_SCC2	0/* local forward declarations */static STATUS m8260SioIoctl (M8260_SCC_CHAN *pSccChan,int request,int arg);static int    m8260SioPollOutput (SIO_CHAN *pSioChan,char);static int    m8260SioPollInput (SIO_CHAN *pSioChan,char *);static void   m8260SioStartup (M8260_SCC_CHAN *pSccChan);static int    m8260SioCallbackInstall (SIO_CHAN *pSioChan, int, STATUS (*)(), void *);/* global forward declarations */void   m8260SioResetChannel (M8260_SCC_CHAN *pSccChan);/* local driver function table */static SIO_DRV_FUNCS m8260SioDrvFuncs =    {    (int (*)())			m8260SioIoctl,    (int (*)())			m8260SioStartup,    				m8260SioCallbackInstall,    (int (*)())			m8260SioPollInput,    (int (*)(SIO_CHAN *,char))	m8260SioPollOutput    };/********************************************************************************* m8260SioDevInit - initialize the SCC** This routine is called to initialize the chip to a quiescent state.* Note that the `sccNum' field of M8260_SCC_CHAN must be less than * or equal to the* maximum number of SCC channels to configure as SIOs, as defined in * ads8260.h*/void m8260SioDevInit    (    M8260_SCC_CHAN *pSccChan    )    {    UINT32  immrVal = pSccChan->immrVal;    /* holder for the immr value */    UINT8   sccNum = pSccChan->sccNum;      /* holder for the fcc number */    UINT8   scc = sccNum - 1;            	/* a convenience */    VINT16 *pSCCM = (VINT16 *) (immrVal + M8260_SCC_BASE + M8260_SCCM_OFFSET +	                       (scc * M8260_SCC_OFFSET_NEXT_SCC));    if (sccNum > N_SIO_CHANNELS)		return;    /*     * Disable receive and transmit interrupts.     * Always flush cache pipe before first read     */    CACHE_PIPE_FLUSH ();	    *pSCCM &= ~(M8260_SCC_UART_SCCX_RX | M8260_SCC_UART_SCCX_TX);    pSccChan->baudRate  = DEFAULT_BAUD;    pSccChan->pDrvFuncs = &m8260SioDrvFuncs;    }/********************************************************************************* m8260SioResetChannel - initialize an SCC channel** This routines initializes an SCC channel. Initialized are:* * .CS*        CPCR*        BRGC*        Baud rate*        Buffer Descriptors*        RBASE field in SCC Parameter RAM*        TBASE field in SCC Parameter RAM*        RFCR field in SCC Parameter RAM*        TFCR field in SCC Parameter RAM*        MRBLR field in SCC Parameter RAM*        *        SCC mode registers: GSMR_L, GSMR_H, AND PSMR*        transmit and receive interrupts are enabled in SCCM ** RETURNS: NA** .CE*/void m8260SioResetChannel     (    M8260_SCC_CHAN *pSccChan    )    {    UINT32  immrVal = pSccChan->immrVal;    /* holder for the immr value */    UINT8   sccNum = pSccChan->sccNum;      /* holder for the fcc number */    UINT8   scc = sccNum - 1;            	/* a convenience */    VINT32  cpcrVal = 0;         		/* a convenience */    VINT32 *pBRGC = (VINT32 *) (immrVal + M8260_BRGC_BASE + 			        (scc * M8260_BRGC_OFFSET_NEXT_BRGC));    VINT32 *pGSMR_L = (VINT32 *) (immrVal + M8260_SCC_BASE +                                   M8260_GSMR_L_OFFSET +				  (scc * M8260_SCC_OFFSET_NEXT_SCC));    VINT32 *pGSMR_H = (VINT32 *) (immrVal + M8260_SCC_BASE +                                   M8260_GSMR_H_OFFSET +				  (scc * M8260_SCC_OFFSET_NEXT_SCC));    VINT16 *pPSMR = (VINT16 *) (immrVal + M8260_SCC_BASE + 		      	        (scc * M8260_SCC_OFFSET_NEXT_SCC) +			        M8260_PSMR_OFFSET);    VINT16 *pSCCM = (VINT16 *) (immrVal + M8260_SCC_BASE + M8260_SCCM_OFFSET +		      	        (scc * M8260_SCC_OFFSET_NEXT_SCC));    VINT16 *pRBASE = (VINT16 *) (immrVal + M8260_SCC_PRAM_BASE +			 	 M8260_SCC_PRAM_RBASE +				 (scc * M8260_SCC_PRAM_OFFSET_NEXT_PRAM));			     VINT16 *pTBASE = (VINT16 *) (immrVal + M8260_SCC_PRAM_BASE +				 M8260_SCC_PRAM_TBASE +				 (scc * M8260_SCC_PRAM_OFFSET_NEXT_PRAM));    VINT8 * pRFCR = (VINT8 *) (immrVal + M8260_SCC_PRAM_BASE +                               M8260_SCC_PRAM_RFCR +                               (scc * M8260_SCC_PRAM_OFFSET_NEXT_PRAM));    VINT8 * pTFCR = (VINT8 *) (immrVal + M8260_SCC_PRAM_BASE +                               M8260_SCC_PRAM_TFCR +                               (scc * M8260_SCC_PRAM_OFFSET_NEXT_PRAM));    VINT16 *pMRBLR = (VINT16 *) (immrVal + M8260_SCC_PRAM_BASE +                                 M8260_SCC_PRAM_MRBLR +                                 (scc * M8260_SCC_PRAM_OFFSET_NEXT_PRAM));    VINT16 *pMAX_IDL = (VINT16 *) (immrVal + M8260_SCC_PRAM_BASE +                                 0x38 +                                 (scc * M8260_SCC_PRAM_OFFSET_NEXT_PRAM));    VINT16 *pBRKCR = (VINT16 *) (immrVal + M8260_SCC_PRAM_BASE +                                 0x3C +                                 (scc * M8260_SCC_PRAM_OFFSET_NEXT_PRAM));    VINT16 *pPAREC = (VINT16 *) (immrVal + M8260_SCC_PRAM_BASE +                                 M8260_SCC_UART_PRAM_PAREC +                                 (scc * M8260_SCC_PRAM_OFFSET_NEXT_PRAM));    VINT16 *pFRMEC = (VINT16 *) (immrVal + M8260_SCC_PRAM_BASE +                                 M8260_SCC_UART_PRAM_FRMEC +                                 (scc * M8260_SCC_PRAM_OFFSET_NEXT_PRAM));    VINT16 *pNOSEC = (VINT16 *) (immrVal + M8260_SCC_PRAM_BASE +                                 M8260_SCC_UART_PRAM_NOSEC +                                 (scc * M8260_SCC_PRAM_OFFSET_NEXT_PRAM));    VINT16 *pBRKEC = (VINT16 *) (immrVal + M8260_SCC_PRAM_BASE +                                 M8260_SCC_UART_PRAM_BRKEC +                                 (scc * M8260_SCC_PRAM_OFFSET_NEXT_PRAM));    VINT16 *pUADDR1 = (VINT16 *) (immrVal + M8260_SCC_PRAM_BASE +                                 0x48 +                                 (scc * M8260_SCC_PRAM_OFFSET_NEXT_PRAM));    VINT16 *pUADDR2 = (VINT16 *) (immrVal + M8260_SCC_PRAM_BASE +                                 0x4A +                                 (scc * M8260_SCC_PRAM_OFFSET_NEXT_PRAM));    VINT16 *pTOSEQ = (VINT16 *) (immrVal + M8260_SCC_PRAM_BASE +                                 0x4E +                                 (scc * M8260_SCC_PRAM_OFFSET_NEXT_PRAM));    VINT16 *pCHARACTER1 = (VINT16 *) (immrVal + M8260_SCC_PRAM_BASE +                                 0x50 +                                 (scc * M8260_SCC_PRAM_OFFSET_NEXT_PRAM));    VINT16 *pCHARACTER2 = (VINT16 *) (immrVal + M8260_SCC_PRAM_BASE +                                 0x52 +                                 (scc * M8260_SCC_PRAM_OFFSET_NEXT_PRAM));    VINT16 *pCHARACTER3 = (VINT16 *) (immrVal + M8260_SCC_PRAM_BASE +                                 0x54 +                                 (scc * M8260_SCC_PRAM_OFFSET_NEXT_PRAM));    VINT16 *pCHARACTER4 = (VINT16 *) (immrVal + M8260_SCC_PRAM_BASE +                                 0x56 +                                 (scc * M8260_SCC_PRAM_OFFSET_NEXT_PRAM));    VINT16 *pCHARACTER5 = (VINT16 *) (immrVal + M8260_SCC_PRAM_BASE +                                 0x58 +                                 (scc * M8260_SCC_PRAM_OFFSET_NEXT_PRAM));    VINT16 *pCHARACTER6 = (VINT16 *) (immrVal + M8260_SCC_PRAM_BASE +                                 0x5A +                                 (scc * M8260_SCC_PRAM_OFFSET_NEXT_PRAM));    VINT16 *pCHARACTER7 = (VINT16 *) (immrVal + M8260_SCC_PRAM_BASE +                                 0x5C +                                 (scc * M8260_SCC_PRAM_OFFSET_NEXT_PRAM));    VINT16 *pCHARACTER8 = (VINT16 *) (immrVal + M8260_SCC_PRAM_BASE +                                 0x5E +                                 (scc * M8260_SCC_PRAM_OFFSET_NEXT_PRAM));    VINT16 *pRCCM = (VINT16 *) (immrVal + M8260_SCC_PRAM_BASE +                                 0x60 +                                 (scc * M8260_SCC_PRAM_OFFSET_NEXT_PRAM));    int ix = 0;        int oldlevel = intLock ();	/* lock interrupts */     CACHE_PIPE_FLUSH ();    /* wait until the CP is clear */    do        {	M8260_SCC_32_RD((M8260_CPCR (immrVal)), cpcrVal);        if (ix++ == M8260_CPCR_LATENCY)            break;        } while (cpcrVal & M8260_CPCR_FLG) 	    ;    if (ix >= M8260_CPCR_LATENCY)        {        /* what to do, other than log an error? */        }    /* Stop transmitting on SCC, if doing so */    cpcrVal = (M8260_CPCR_OP (M8260_CPCR_TX_STOP)               | M8260_CPCR_SBC (M8260_CPCR_SBC_SCC1 | (scc * 0x1))               | M8260_CPCR_PAGE (M8260_CPCR_PAGE_SCC1 | (scc * 0x1))               | M8260_CPCR_FLG);    M8260_SCC_32_WR (M8260_CPCR (immrVal), cpcrVal);    /* flush cache pipe when switching from write to read */    CACHE_PIPE_FLUSH ();   /* wait until the CP is clear */    ix = 0;    do        {        M8260_SCC_32_RD((M8260_CPCR (immrVal)), cpcrVal);        if (ix++ == M8260_CPCR_LATENCY)            break;        } while (cpcrVal & M8260_CPCR_FLG) ;    if (ix >= M8260_CPCR_LATENCY)        {        /* what to do, other than log an error? */        }    /* set up SCC as NMSI, select Baud Rate Generator */    /* reset baud rate generator, wait for reset to clear... */     * pBRGC |= M8260_BRGC_RST;    /* flush cache pipe when switching from write to read */    CACHE_PIPE_FLUSH ();    while ((*pBRGC) & M8260_BRGC_RST);    m8260SioIoctl (pSccChan, SIO_BAUD_SET, pSccChan->baudRate);    /* set up the RECEIVE buffer descriptors */    /* buffer status/control */    M8260_SCC_16_WR((pSccChan->pBdBase +                      M8260_SCC_RCV_BD_OFF +                      M8260_SCC_BD_STAT_OFF), 0xB000);    CACHE_PIPE_FLUSH ();    /* buffer length */    M8260_SCC_16_WR((pSccChan->pBdBase +                      M8260_SCC_RCV_BD_OFF +                      M8260_SCC_BD_LEN_OFF), 0x0001);    CACHE_PIPE_FLUSH ();    /* buffer address */    M8260_SCC_32_WR((pSccChan->pBdBase +                      M8260_SCC_RCV_BD_OFF +                      M8260_SCC_BD_ADDR_OFF), pSccChan->rcvBufferAddr);    /* set the SCC parameter ram field RBASE */    * pRBASE = 0x00 + (0x100 * scc);    /* set up the TRANSMIT buffer descriptors */    /*      * buffer status/control;     * not ready, Wrap, Bit Clear-to-send_report, Interrupt      */    M8260_SCC_16_WR((pSccChan->pBdBase +                      M8260_SCC_TX_BD_OFF +                      M8260_SCC_BD_STAT_OFF), 0x3800);    /* buffer length */    M8260_SCC_16_WR((pSccChan->pBdBase +                      M8260_SCC_TX_BD_OFF +                      M8260_SCC_BD_LEN_OFF), 0x0001);    /* buffer address */    M8260_SCC_32_WR((pSccChan->pBdBase +                      M8260_SCC_TX_BD_OFF +                      M8260_SCC_BD_ADDR_OFF), pSccChan->txBufferAddr);    /* set the SCC parameter ram field TBASE */    * pTBASE = 0x08 + (0x100 * scc);    /* disable transmit and receive interrupts */    * pSCCM &= ~(M8260_SCC_UART_SCCX_RX | M8260_SCC_UART_SCCX_TX);    /* program the three SCC mode registers: gsmrl, gsmrh, and psmr */    /*      * Protocol Specific Mode Register for SCC     * Normal CTS, 1 stop bit, 8 data bits      */    * pPSMR   = M8260_SCC_UART_PSMR_FLC  | M8260_SCC_UART_PSMR_CL_8BIT;    /*      * General Serial Mode Register for SCC, high word     * xmit fifo is 1 byte, receive fifo 8 bits      */    * pGSMR_H = M8260_SCC_GSMRH_RFW      | M8260_SCC_GSMRH_TFL;    /*      * General Serial Mode Register for SCC, low word     * set SCC attributes to standard UART mode, disable xmit and rcv     */    * pGSMR_L = (M8260_SCC_GSMRL_RDCR_X16 | 		 M8260_SCC_GSMRL_TDCR_X16 | 		 M8260_SCC_GSMRL_UART) 		 & ~		 (M8260_SCC_GSMRL_ENT | M8260_SCC_GSMRL_ENR);    /* initialize parameter RAM area for this SCC */    * pRFCR = 0x18;	/* supervisor data access */    * pTFCR = 0x18;	/* supervisor data access */    * pMRBLR = 1;    /* initialize some unused parameters in SCC parameter RAM */    * pMAX_IDL = 0x0;    * pBRKCR = 0x0001;    * pPAREC = 0x0;    * pFRMEC = 0x0;    * pNOSEC = 0x0;    * pBRKEC = 0x0;    * pUADDR1 = 0x0;    * pUADDR2 = 0x0;    * pTOSEQ = 0x0;    * pCHARACTER1 = 0x8000;    * pCHARACTER2 = 0x8000;    * pCHARACTER3 = 0x8000;    * pCHARACTER4 = 0x8000;    * pCHARACTER5 = 0x8000;    * pCHARACTER6 = 0x8000;    * pCHARACTER7 = 0x8000;    * pCHARACTER8 = 0x8000;    * pRCCM = 0x0C0FF;    CACHE_PIPE_FLUSH ();   /* wait until the CP is clear */    ix = 0;    do        {        M8260_SCC_32_RD((M8260_CPCR (immrVal)), cpcrVal);        if (ix++ == M8260_CPCR_LATENCY)            break;        } while (cpcrVal & M8260_CPCR_FLG) ;    if (ix >= M8260_CPCR_LATENCY)        {        /* what to do, other than log an error? */        }    /* Tell CP to initialize tx and rx parameters for SCC */    cpcrVal = (M8260_CPCR_OP (M8260_CPCR_RT_INIT)               | M8260_CPCR_SBC (M8260_CPCR_SBC_SCC1 | (scc * 0x1))               | M8260_CPCR_PAGE (M8260_CPCR_PAGE_SCC1 | (scc * 0x1))               | M8260_CPCR_MCN (M8260_CPCR_MCN_ETH)               | M8260_CPCR_FLG);    M8260_SCC_32_WR (M8260_CPCR (immrVal), cpcrVal);    CACHE_PIPE_FLUSH ();    /* wait until the CP is clear */    ix = 0;    do        {        M8260_SCC_32_RD((M8260_CPCR (immrVal)), cpcrVal);        if (ix++ == M8260_CPCR_LATENCY)            break;        } while (cpcrVal & M8260_CPCR_FLG) ;    if (ix >= M8260_CPCR_LATENCY)        {        /* what to do, other than log an error? */        }    CACHE_PIPE_FLUSH ();    /* lastly, enable the transmitter and receiver  */    * pGSMR_L |= (M8260_SCC_GSMRL_ENT | M8260_SCC_GSMRL_ENR);    CACHE_PIPE_FLUSH ();    intUnlock (oldlevel);			/* UNLOCK INTERRUPTS */    }/********************************************************************************* m8260SioIoctl - special device control** Allows the caller to get and set the buad rate; to get and set the mode;* and to get the allowable modes.** RETURNS: OK on success, EIO on device error, ENOSYS on unsupported*          request.**/LOCAL STATUS m8260SioIoctl    (    M8260_SCC_CHAN *	pSccChan,	/* device to control */    int			request,	/* request code */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人av片在线观看| 亚洲美女淫视频| 欧美一区二区三级| 欧美天堂亚洲电影院在线播放 | 久久理论电影网| 日韩免费视频一区二区| 日韩精品影音先锋| 欧美精品一区二区在线播放| 欧美电影免费观看高清完整版在 | 国产成人午夜片在线观看高清观看| 免费成人你懂的| 美女网站在线免费欧美精品| 狠狠色丁香久久婷婷综| 国产一区二区三区国产| av在线综合网| 欧美性感一类影片在线播放| 亚洲第一av色| 亚洲欧美日韩国产中文在线| 亚洲制服欧美中文字幕中文字幕| 亚洲二区在线观看| 另类小说色综合网站| 国产一区欧美一区| 色综合亚洲欧洲| 成人av影视在线观看| 99久久99久久精品免费看蜜桃| 欧美在线视频全部完| 91精品国产综合久久精品麻豆 | 26uuu亚洲| 欧美—级在线免费片| 亚洲欧美乱综合| 久久99日本精品| 99久久99精品久久久久久| 午夜视频在线观看一区二区三区| 美女高潮久久久| 国产精品一区二区三区四区| 99re成人在线| 日韩一级大片在线观看| 国产欧美一区二区精品性| 亚洲免费观看高清完整版在线观看 | 亚洲最新视频在线播放| 午夜精品久久久久久久99水蜜桃 | 色综合咪咪久久| 欧美xingq一区二区| 亚洲欧美偷拍卡通变态| 激情综合网天天干| 欧美三级日韩在线| 国产精品精品国产色婷婷| 国产精品自在在线| eeuss鲁片一区二区三区在线看| 欧美精品aⅴ在线视频| 奇米影视7777精品一区二区| 成人不卡免费av| 精品国产露脸精彩对白| 亚洲成人一区在线| 国产成人欧美日韩在线电影| 欧美午夜寂寞影院| 亚洲欧洲av色图| 成人午夜看片网址| 精品处破学生在线二十三| 天堂影院一区二区| 91激情五月电影| 亚洲少妇30p| 成人黄色网址在线观看| 久久九九99视频| 韩国理伦片一区二区三区在线播放| 欧美日韩精品欧美日韩精品 | 2023国产精品自拍| 日韩电影在线免费| 在线观看91av| 婷婷综合另类小说色区| 欧美日韩1区2区| 亚洲国产视频在线| 欧美性猛交xxxxxx富婆| 亚洲在线视频免费观看| 欧美影院一区二区三区| 香蕉成人伊视频在线观看| 欧美日韩国产色站一区二区三区| 亚洲一区二区影院| 欧美精品一二三| 久久av资源站| 国产亚洲一二三区| 不卡电影一区二区三区| 一区二区三区小说| 91黄色激情网站| 五月天精品一区二区三区| 欧美一二三区在线观看| 国产乱码精品一品二品| 国产精品水嫩水嫩| 91福利国产成人精品照片| 亚洲午夜精品网| 日韩精品一区二区三区视频播放 | 欧美疯狂性受xxxxx喷水图片| 亚洲一区二区不卡免费| 日韩一区二区在线看| 精品亚洲成av人在线观看| 国产精品视频麻豆| 在线观看亚洲精品| 精品无码三级在线观看视频| 国产欧美精品国产国产专区| 一本久久综合亚洲鲁鲁五月天| 亚洲成国产人片在线观看| 日韩亚洲电影在线| 99re在线视频这里只有精品| 亚洲福利一区二区三区| 久久久久综合网| 在线视频你懂得一区二区三区| 六月丁香婷婷色狠狠久久| 国产精品欧美一区喷水| 欧美三级视频在线观看| 国产精品综合一区二区| 亚洲色图欧美偷拍| 日韩欧美中文字幕一区| 91首页免费视频| 久久电影国产免费久久电影| 亚洲天堂精品在线观看| 精品福利视频一区二区三区| 欧美性色黄大片| 国产精品99久久久久| 日韩精品视频网站| 亚洲三级理论片| 日韩精品中文字幕在线不卡尤物| 99视频精品全部免费在线| 美女爽到高潮91| 亚洲另类色综合网站| 久久九九久久九九| 日韩欧美国产麻豆| 欧美少妇bbb| 91啪九色porn原创视频在线观看| 麻豆国产欧美一区二区三区| 亚洲最大成人综合| 中文字幕一区av| 久久精品夜夜夜夜久久| 日韩欧美一二三四区| 欧美视频在线一区| 91视频在线看| av在线综合网| 国产a视频精品免费观看| 精品一区二区三区在线观看| 亚洲成va人在线观看| 亚洲一区二区3| 亚洲精品中文在线观看| ...xxx性欧美| 成人欧美一区二区三区小说 | 久久天天做天天爱综合色| 欧美美女网站色| 精品视频资源站| 欧美日韩精品系列| 欧美美女激情18p| 欧美一区二区视频在线观看2022| 欧美日韩你懂的| 欧美美女bb生活片| 69堂成人精品免费视频| 欧美一区午夜精品| 日韩一级精品视频在线观看| 欧美xfplay| 国产午夜精品一区二区| 中文字幕国产一区| 亚洲欧洲成人精品av97| 曰韩精品一区二区| 天天av天天翘天天综合网 | 色婷婷久久久亚洲一区二区三区 | 亚洲成人av电影| 免费成人在线网站| 精品写真视频在线观看| 国产99久久久国产精品潘金| 成av人片一区二区| 在线日韩av片| 日韩天堂在线观看| 久久婷婷综合激情| 亚洲视频1区2区| 日韩国产欧美在线视频| 国产一区二区三区久久久| 成人精品小蝌蚪| 欧美羞羞免费网站| 日韩欧美国产不卡| 国产精品天干天干在观线| 夜夜精品视频一区二区| 久久精品国产免费| av综合在线播放| 欧美一级一区二区| 国产精品久久久久久久午夜片 | 日韩情涩欧美日韩视频| 欧美激情一区在线| 婷婷成人激情在线网| 国产乱人伦偷精品视频不卡| 91啪亚洲精品| 精品国内二区三区| 综合久久久久久久| 激情六月婷婷久久| 欧美亚洲国产怡红院影院| 精品福利一区二区三区免费视频| 一区二区三区中文字幕精品精品| 久久精品av麻豆的观看方式| 91伊人久久大香线蕉| 精品动漫一区二区三区在线观看| 一区二区三区在线高清| 国产999精品久久| 欧美一级视频精品观看| 亚洲欧美国产77777| 国产剧情一区二区三区|