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

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

?? m6845vgapep.c

?? 此文件是cp6000主板的bsp包
?? C
?? 第 1 頁 / 共 3 頁
字號:
/* m6845VgaPep.c - motorola 6845 vga console driver routines *//* Copyright 2002 Kontron Modular Computers GmbH *//* Copyright 1993-1993 Wind River System, Inc. */#include "copyright_wrs.h"/*modification history--------------------01f,01aug02,phd  inclusion of PEP specific header files added01e,12feb97,hdn  fixed the bug causes workQ panic. (SPR#7923)01d,03aug95,myz  fixed the warning message01c,14jun95,hdn  removed function declarations defined in sysLib.h.01b,30mar94,hdn  changed CONSOLE_TTY to PC_CONSOLE.01a,20oct93,vin  created*//*DESCRIPTIONThis is the driver fo Video Contoroller Chip (6845) normally  used in the386/486 personal computers.USER CALLABLE ROUTINESThe routines in this driver are accessed from a generic consoledriver through the hook routine, the pointer to which is initializedin the VGA_CON_DEV structure at the time of initialization.This makes the access to these routines more generic without declaringthese functions as external. The routines in this driver which are accessed from an external moduleare vgaWriteString() and vgaHrdInit(). vgaWriteString() is installedas a device transmit start-up routine in tyDevInit(). vgaHrdInit() iscalled to initialize the device descriptors and the vga console.All virtual consoles are mapped to the same screen buffer. This is a very basic implementation of virtual consoles. Multiple screenbuffers are not used to switch between consoles. This implementationis left for the future. Mutual exclusion for the screen buffer is guaranteed within the same console but it is not implemented across multiplevirtual consoles because all virtual consoles use the same screen buffer. Ifmultiple screen buffers are implemented then the mutual exclusion betweenvirtual consoles can be implemented.Before using the driver, it must be initialized by calling vgaHrdInit(). This routine should be called exactly once. Normally, it is called from a generic driver for eg. from tyCoDrv() which is called before tyCoDevCreate.SEE ALSOtyLibNOTESThe macro N_VIRTUAL_CONSOLES should be defined in config.h file.This refers to the number of virtual consoles which the user wishes to have.The user should define INCLUDE_ANSI_ESC_SEQUENCE in <target>.h file ifthe ansi escape sequences are required. Special processing in the vgadriver is done if an escape sequence exists.*//* includes */#include "vxWorks.h"#include "iv.h"#include "ioLib.h"#include "iosLib.h"#include "memLib.h"#include "rngLib.h"#include "tyLib.h"#include "private/funcBindP.h"#include "intLib.h"#include "taskLib.h"#include "errnoLib.h"#include "stdio.h"#include "string.h"#include "config.h"#include "drv/serial/pcConsolePep.h"#include "versionPep.h"/* defines */PEP_VERSION(m6845VgaPep_c,01f)	/* version identifier *//* externals */IMPORT PC_CON_DEV	pcConDv [N_VIRTUAL_CONSOLES] ;/* locals */LOCAL VGA_CON_DEV	vgaConDv [N_VIRTUAL_CONSOLES];LOCAL UCHAR		curSt,curEd;		/* current cursor mode */LOCAL int 		tyWrtThreshold  = 20;	/* min bytes free in output 						 * buffer before the next 						 * writer will be enabled */LOCAL int 		jobaddThreshold = 20;	/* bytes processed in int lvl */LOCAL UCHAR * vgaCharTable [] =     {    /* 8-bit Latin-1 mapped to the PC charater set: '\0' means non-printable */    (unsigned char *)    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"    " !\"#$%&'()*+,-./0123456789:;<=>?"    "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_"    "`abcdefghijklmnopqrstuvwxyz{|}~\0"    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"    "\040\255\233\234\376\235\174\025\376\376\246\256\252\055\376\376"    "\370\361\375\376\376\346\024\371\376\376\247\257\254\253\376\250"    "\376\376\376\376\216\217\222\200\376\220\376\376\376\376\376\376"    "\376\245\376\376\376\376\231\376\235\376\376\376\232\376\376\341"    "\205\240\203\376\204\206\221\207\212\202\210\211\215\241\214\213"    "\376\244\225\242\223\376\224\366\233\227\243\226\201\376\376\230",    /* vt100 graphics */    (unsigned char *)    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"    " !\"#$%&'()*+,-./0123456789:;<=>?"    "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^ "    "\004\261\007\007\007\007\370\361\040\007\331\277\332\300\305\007"    "\007\304\007\007\303\264\301\302\263\007\007\007\007\007\234\0"    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"    "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"    "\040\255\233\234\376\235\174\025\376\376\246\256\252\055\376\376"    "\370\361\375\376\376\346\024\371\376\376\247\257\254\253\376\250"    "\376\376\376\376\216\217\222\200\376\220\376\376\376\376\376\376"    "\376\245\376\376\376\376\231\376\376\376\376\376\232\376\376\341"    "\205\240\203\376\204\206\221\207\212\202\210\211\215\241\214\213"    "\376\244\225\242\223\376\224\366\376\227\243\226\201\376\376\230",    /* IBM graphics: minimal translations (CR, LF, LL, SO, SI and ESC) */    (unsigned char *)    "\000\001\002\003\004\005\006\007\010\011\000\013\000\000\000\000"    "\020\021\022\023\024\025\026\027\030\031\032\000\034\035\036\037"    "\040\041\042\043\044\045\046\047\050\051\052\053\054\055\056\057"    "\060\061\062\063\064\065\066\067\070\071\072\073\074\075\076\077"    "\100\101\102\103\104\105\106\107\110\111\112\113\114\115\116\117"    "\120\121\122\123\124\125\126\127\130\131\132\133\134\135\136\137"    "\140\141\142\143\144\145\146\147\150\151\152\153\154\155\156\157"    "\160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177"    "\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"    "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237"    "\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257"    "\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277"    "\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317"    "\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337"    "\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357"    "\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377"    };/* forward declarations */LOCAL void	vgaStatInit (void);LOCAL void	vgaHook (FAST VGA_CON_DEV *  pVgaConDv, int arg, int opCode);LOCAL void	vgaClear (FAST VGA_CON_DEV *  pVgaConDv, int position, 			  UCHAR eraseChar);LOCAL void	vgaScroll (FAST VGA_CON_DEV *  pVgaConDv, int pos, int line, 			   BOOL upDn, FAST UCHAR atr);LOCAL void	vgaInsertChar (FAST VGA_CON_DEV *  pVgaConDv, 			       FAST int nInsChar);LOCAL void 	vgaCursorOn (void);LOCAL void	vgaCursorOff (void);LOCAL void	vgaCursorPos (FAST UINT16 pos);LOCAL void	vgaScreenRev (FAST VGA_CON_DEV * pVgaConDv);LOCAL void	vgaDelLeftChar (FAST VGA_CON_DEV *  pVgaConDv);LOCAL void	vgaCarriageReturn (FAST VGA_CON_DEV *  pVgaConDv);LOCAL void	vgaBackSpace (FAST VGA_CON_DEV *  pVgaConDv);LOCAL void	vgaLineFeed (FAST VGA_CON_DEV *  pVgaConDv);LOCAL void	vgaTab (FAST VGA_CON_DEV *  pVgaConDv);LOCAL void	vgaConBeep (BOOL mode);#ifdef INCLUDE_ANSI_ESC_SEQUENCELOCAL UCHAR vgaColorTable [] =     {    /* black, red, green, brown, blue, magenta, cyan, light grey */           0,   4,     2,     6,    1,       5,    3,          7    };LOCAL void	vgaEscResponse (FAST PC_CON_DEV * pPcCoDv, int  responseId );LOCAL void	vgaPutCursor (FAST VGA_CON_DEV *  pVgaConDv);LOCAL void	vgaSaveCurAttrib (FAST VGA_CON_DEV *  pVgaConDv);LOCAL void	vgaRestAttrib (FAST VGA_CON_DEV *  pVgaConDv);LOCAL void	vgaSetMode (FAST  PC_CON_DEV *  pPcCoDv, BOOL onOff);LOCAL void	vgaClearLine (FAST VGA_CON_DEV *  pVgaConDv);LOCAL void	vgaInsertLine (FAST VGA_CON_DEV *  pVgaConDv);LOCAL void	vgaSetAttrib (FAST VGA_CON_DEV *  pVgaConDv);LOCAL void	vgaDelLines (FAST VGA_CON_DEV *  pVgaConDv);LOCAL void	vgaDelRightChars (FAST VGA_CON_DEV *  pVgaConDv, int nDelChar);#endif /* INCLUDE_ANSI_ESC_SEQUENCE *//********************************************************************************* vgaConBeep - sound beep function (using timer 2 for tone)* * This function is responsible for producing the beep ** RETURNS: N/A** NOMANUAL*/LOCAL void vgaConBeep     (    BOOL	mode	/* TRUE:long beep  FALSE:short beep */    )    {    int		beepTime;    int		beepPitch;    FAST int 	oldlevel;    if (mode)        {         beepPitch = BEEP_PITCH_L;        beepTime  = BEEP_TIME_L;	/* long beep */        }    else        {         beepPitch = BEEP_PITCH_S;        beepTime  = BEEP_TIME_S;	/* short beep */        }    oldlevel = intLock ();    /* set command for counter 2, 2 byte write */    sysOutByte (PIT_BASE_ADR + 3, 0xb6);	    sysOutByte (PIT_BASE_ADR + 2, (beepPitch & 0xff));    sysOutByte (PIT_BASE_ADR + 2, (beepPitch >> 8));    /* enable counter 2 */    sysOutByte (DIAG_CTRL, sysInByte (DIAG_CTRL) | 0x03);	    taskDelay (beepTime);    /* desable counter 2 */    sysOutByte (DIAG_CTRL, sysInByte (DIAG_CTRL) & ~0x03);    intUnlock (oldlevel);    return;    }/******************************************************************************** vgaHrdInit - initialize the VGA Display** This function is called externally to initialize the vga display** RETURNS: N/A** NOMANUAL*/void vgaHrdInit (void)    {    /* get cursor shape and mode */    sysOutByte ((int) CTRL_SEL_REG, 0x0a);    curSt = sysInByte ((int) CTRL_VAL_REG);    sysOutByte ((int) CTRL_SEL_REG, 0x0b);    curEd = sysInByte ((int) CTRL_VAL_REG);    vgaStatInit ();    /* clear screen and position cursor at 0,0 */    vgaClear (pcConDv [PC_CONSOLE].vs, 2,' ');    vgaCursorOn ();    return;    } /********************************************************************************* vgaStatInit - initialize the VGA Display state** RETURNS: N/A*/LOCAL void vgaStatInit (void)    {    int		ix;			/* to hold the index */    FAST VGA_CON_DEV * pVgaConDv;	/* pointer to hold vga descriptor */    for (ix = 0; ix < N_VIRTUAL_CONSOLES; ix++)	{	pcConDv [ix].vs	= pVgaConDv = &vgaConDv [ix];	/* (VGA) Display status initialization */	pVgaConDv->memBase	 = CTRL_MEM_BASE;	pVgaConDv->colorMode     = COLOR_MODE;      /* color mode */   	pVgaConDv->sv_col        = pVgaConDv->col   = 0;	pVgaConDv->sv_row        = pVgaConDv->row   = 0;	pVgaConDv->sv_curAttrib  = pVgaConDv->curAttrib = DEFAULT_ATR;	pVgaConDv->defAttrib     = DEFAULT_ATR;	pVgaConDv->curChrPos     = pVgaConDv->memBase;  /* current  position */	pVgaConDv->sv_rev        = pVgaConDv->rev   = FALSE;	pVgaConDv->ncol          = 80;                /* Number of columns */	pVgaConDv->nrow          = 25;                /* Number of text rows */	pVgaConDv->scst          = 0;                 /* scroll start */	pVgaConDv->sced          = 24;                /* scroll end */	pVgaConDv->autoWrap      = TRUE;              /* auto Wrap mode */	pVgaConDv->scrollCheck   = FALSE;             /* scroll  flag off */	pVgaConDv->charSet       = vgaCharTable [TEXT_SET]; /* character set */	pVgaConDv->vgaMode       = TEXT_MODE;         /* video mode  */	pVgaConDv->insMode       = INSERT_MODE_OFF;   /* insert mode */	pVgaConDv->escFlags      = ESC_NORMAL;        /* normal character */	pVgaConDv->escParaCount  = 0;                 /* zero parameters */	pVgaConDv->escQuestion   = FALSE;             /* ? flag set to false */	bzero ((char *)pVgaConDv->escPara, sizeof(pVgaConDv->escPara));	bzero (pVgaConDv->tab_stop, sizeof(pVgaConDv->tab_stop));	pVgaConDv->tab_stop [ 0] = 1;	pVgaConDv->tab_stop [ 8] = 1;	pVgaConDv->tab_stop [16] = 1;	pVgaConDv->tab_stop [24] = 1;	pVgaConDv->tab_stop [32] = 1;	pVgaConDv->tab_stop [40] = 1;	pVgaConDv->tab_stop [48] = 1;	pVgaConDv->tab_stop [56] = 1;	pVgaConDv->tab_stop [64] = 1;	pVgaConDv->tab_stop [72] = 1;	pVgaConDv->vgaHook	 = (FUNCPTR) vgaHook;	/* install the hook */	}    return;    } /******************************************************************************** vgaHook - hook called from an external module* * This function performs various functions depending on the opCode.* Typically this hook is to facilitate the user to add any additional* routines which can be accessed externally through the vga console* descriptor.** RETURNS: N/A*/LOCAL void vgaHook     (    FAST VGA_CON_DEV *  pVgaConDv,      /* pointer to the vga descriptor */    int			arg,		/* argument */    int			opCode		/* operation to perform */    )    {    switch (opCode)	{	case 0:	      vgaScreenRev (pVgaConDv); /* reverse screen */	      break;	case 1:	      vgaConBeep (arg);		/* produce beep */	      break;	case 2:	      vgaCursorOn ();		/* turn the cursor on */	      break;	case 3:	      vgaCursorOff ();		/* turn the cursor Off */	      break;	case 4:				/* position the cursor */	      pVgaConDv->row = (arg >> 8) & 0xff;	      pVgaConDv->col = arg & 0xff;	      if (pVgaConDv->row >= pVgaConDv->nrow)	      pVgaConDv->row = pVgaConDv->nrow - 1;	      if (pVgaConDv->col >= pVgaConDv->ncol)	      pVgaConDv->col = pVgaConDv->ncol - 1;	      vgaCursorPos ((UINT16) (pVgaConDv->row * pVgaConDv->ncol 				      + pVgaConDv->col));	      break;	default:	      break;	}    }/******************************************************************************** vgaClear - Clear Screen** This routine clears the screen depending on the value of position.* If position is 2 then it clears the whole screen and moves the cursor to * location 0,0. If position is 1 then the screen is erased from the cursor to* until the end of display. If position is equal to any other value then * the screen is erased until the cursor.** RETURNS: N/A*/LOCAL void vgaClear     (    FAST VGA_CON_DEV *	pVgaConDv,	/* pointer to the vga descriptor */    int			position,	/* cursor position  0 or 1 or 2 */    UCHAR		eraseChar	/* erase character eg space is  0x20 */    )    {    FAST UINT16 *	cp;	/* hold the beginning position */    FAST UINT16 *	end;	/* hold the end position */    FAST UINT16 	erase;	/* erase character with attribute */    erase = (pVgaConDv->defAttrib << 8) + eraseChar;    if ( position == 2 )	{ 	cp  = (UINT16 *) pVgaConDv->memBase;	end = (UINT16 *) (pVgaConDv->memBase + 2048 * CHR);	pVgaConDv->col = pVgaConDv->row = 0;	pVgaConDv->curChrPos = (UCHAR *) pVgaConDv->memBase;	}    else if ( position == 0 )	{ 	cp  = (UINT16 *)pVgaConDv->curChrPos;	end = (UINT16 *)(pVgaConDv->memBase + 2048 * CHR);	}    else  	{	cp  = (UINT16 *) pVgaConDv->memBase;	end = (UINT16 *) (pVgaConDv->curChrPos + CHR);	}    for (; cp < end; cp++ )        {        *cp     = erase;          }    }/******************************************************************************** vgaScreenRev - Reverse Screen** RETURNS: N/A*/LOCAL void vgaScreenRev     (    FAST VGA_CON_DEV * pVgaConDv	/* pointer to the vga descriptor */    )    {    UCHAR *	cp;	/* to hold the current pointer */    UCHAR	atr;	/* to hold the attribute character */    for (cp = pVgaConDv->memBase; cp < pVgaConDv->memBase + 2000 * CHR; 	 cp += CHR)        {        atr = *(cp+1);        *(cp+1)  = atr & INT_BLINK_MASK;        *(cp+1) |= (atr << 4) & BG_ATTR_MASK;        *(cp+1) |= (atr >> 4) & FG_ATTR_MASK;        }    }/********************************************************************************* vgaScroll - Scroll Screen** This function scrolls the screen according to the scroll direction.* scroll direction FORWARD or BACKWARD ** RETURNS: N/A*/LOCAL void vgaScroll     (    FAST VGA_CON_DEV *	pVgaConDv,	/* pointer to the vga descriptor */    int			pos,		/* scroll start line position */    int			lines,		/* scroll line count */    BOOL		upDn,		/* scroll direction  */    FAST UCHAR		atr		/* atrribute for char */    )    {    FAST UCHAR *	dest;	/* to hold the destination pointer */    FAST UCHAR *	src;	/* to hold the source pointer */    if (pos < pVgaConDv->scst || pos > pVgaConDv->sced)        return;    if (upDn)        {	/* scroll direction is forward */        if (pVgaConDv->scst + lines > pVgaConDv->sced + 1)            lines = pVgaConDv->sced - pVgaConDv->scst + 1;        for (dest = pVgaConDv->memBase + pVgaConDv->ncol * CHR * 	     pVgaConDv->scst, src = pVgaConDv->memBase + pVgaConDv->ncol * 	     CHR * (pVgaConDv->scst + lines); src < pVgaConDv->memBase + 	     pVgaConDv->ncol * CHR * (pos + 1); *dest++ = *src++ );        for (dest = pVgaConDv->memBase + pVgaConDv->ncol * CHR * 	     (pos - (lines - 1)); dest < pVgaConDv->memBase + pVgaConDv->ncol *	     CHR * (pos + 1); dest += CHR )            {            *dest     = ' ';            *(dest+1) = atr;            }        }    else        {	/* scroll direction is backward */        if (pVgaConDv->scst + lines > pVgaConDv->sced + 1)            lines = pVgaConDv->sced - pVgaConDv->scst + 1;        for (dest = pVgaConDv->memBase + pVgaConDv->ncol * CHR * 	     (pVgaConDv->sced + 1) - 1, src = pVgaConDv->memBase + 	     pVgaConDv->ncol * CHR * (pVgaConDv->sced - (lines - 1)) - 1;             src > pVgaConDv->memBase + pVgaConDv->ncol * CHR * pos - 1;             *dest-- = *src-- );        for (dest = pVgaConDv->memBase + pVgaConDv->ncol * CHR * 	     (pos + lines) - 1; dest > pVgaConDv->memBase + pVgaConDv->ncol * 	     CHR * pos - 1;             dest -= CHR )            {            *dest     = atr;            *(dest-1) = ' ';            }        }    return;    }/******************************************************************************* vgaInsertChar - insert the character at the current cursor location** RETURNS: N/A*/LOCAL void vgaInsertChar    (    FAST VGA_CON_DEV *	pVgaConDv,	/* pointer to the vga descriptor */    FAST int		nInsChar	/* number of insert Characters */    )    {    FAST int		xPos ;  /* to hold the horizontal position  */    FAST UINT16   	erase;	/* to hold erase character with attribute */    FAST UINT16   	swap;	/* to hold old x position */    FAST UINT16 *	chrPos;	/* to hold actual address of character */    if (nInsChar > pVgaConDv->ncol)	nInsChar = pVgaConDv->ncol;    else if (nInsChar == 0) 	nInsChar = 1;        while (nInsChar-- != 0)	{	xPos   = pVgaConDv->col;	chrPos = (UINT16 *) pVgaConDv->curChrPos;	erase  = (pVgaConDv->defAttrib << 8) + ' ' ; 	while (xPos++ < pVgaConDv->ncol)	    {	    /* make the current character as next erase */	    swap    = *chrPos;	    *chrPos = erase ; 	    erase   = swap;   	    chrPos++;	    }	}    }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕在线不卡一区 | 视频一区二区三区入口| 国产蜜臀97一区二区三区 | 亚洲欧美激情视频在线观看一区二区三区| 国产欧美日韩卡一| 国产精品免费免费| 中文一区二区完整视频在线观看| 国产人成一区二区三区影院| 久久久久成人黄色影片| 国产精品三级av在线播放| 国产精品三级av| 亚洲免费av在线| 亚洲自拍偷拍av| 视频在线观看91| 麻豆精品蜜桃视频网站| 久久福利视频一区二区| 国产高清在线观看免费不卡| 丁香六月久久综合狠狠色| 成人性生交大片免费看中文网站| 成人动漫一区二区三区| 在线亚洲高清视频| 欧美精品乱码久久久久久按摩| 在线电影国产精品| 欧美精品一区二区久久婷婷| 久久久久久久综合| 中文字幕日本乱码精品影院| 亚洲国产精品久久久男人的天堂| 秋霞电影网一区二区| 极品销魂美女一区二区三区| 成人丝袜视频网| 欧美性大战久久久久久久| 欧美一三区三区四区免费在线看| 久久亚洲综合色一区二区三区| 中文字幕乱码久久午夜不卡 | 亚洲三级电影网站| 午夜精品成人在线| 激情五月播播久久久精品| 东方aⅴ免费观看久久av| 色婷婷久久久亚洲一区二区三区 | 日韩欧美国产三级| 国产欧美日本一区视频| 亚洲一区精品在线| 国产尤物一区二区| 欧美日韩综合色| 久久久精品一品道一区| 夜夜夜精品看看| 美女网站一区二区| 色中色一区二区| 日韩欧美一级在线播放| 亚洲人成小说网站色在线| 日韩成人一区二区| 成人av网址在线观看| 这里只有精品免费| 国产精品国产三级国产aⅴ中文| 性感美女久久精品| 成人看片黄a免费看在线| 欧美日韩国产一级片| 国产欧美一区在线| 美女脱光内衣内裤视频久久影院| 色综合久久综合| 精品久久久久av影院 | 国产精品69久久久久水密桃| 欧美日韩在线直播| 国产欧美一二三区| 奇米色一区二区| 一本一道久久a久久精品综合蜜臀| 日韩欧美国产综合| 亚洲成av人在线观看| 成人免费毛片片v| 精品卡一卡二卡三卡四在线| 午夜电影一区二区三区| 97se亚洲国产综合自在线观| 久久婷婷一区二区三区| 日本vs亚洲vs韩国一区三区| 91国产成人在线| 欧美激情中文不卡| 激情文学综合丁香| 日韩欧美专区在线| 亚洲成年人网站在线观看| 91猫先生在线| 国产精品久久夜| 国产成人一级电影| 日韩欧美一二三区| 日韩精品成人一区二区在线| 在线观看视频一区二区| 国产精品不卡在线观看| 国产精品18久久久久久久久 | 日韩一级片在线观看| 亚洲成人av福利| 色天天综合久久久久综合片| 国产精品久久久久影院亚瑟| 国产精品99久久久| 亚洲精品一区二区三区在线观看| 美女视频一区在线观看| 日韩一二三区视频| 日本女优在线视频一区二区| 欧美片网站yy| 五月综合激情网| 欧美久久久久久久久| 亚洲国产精品一区二区久久恐怖片 | 亚洲成人综合网站| 欧美性生活影院| 亚洲午夜免费福利视频| 91国产免费观看| 亚洲高清视频中文字幕| 欧美另类久久久品| 日韩精品一区第一页| 制服丝袜亚洲网站| 美女看a上一区| 精品理论电影在线| 国产91在线观看| 国产精品久久影院| 91浏览器在线视频| 亚洲美女屁股眼交| 日本精品裸体写真集在线观看| 一区二区三区电影在线播| 精品污污网站免费看| 午夜精品影院在线观看| 91精品国产综合久久精品性色| 免费精品99久久国产综合精品| 日韩精品一区国产麻豆| 狠狠色综合日日| 国产精品无人区| 色久综合一二码| 日韩精品视频网| 精品久久久久一区二区国产| 成人综合婷婷国产精品久久蜜臀| 亚洲欧洲性图库| 欧美午夜电影网| 裸体健美xxxx欧美裸体表演| 久久久久久麻豆| 91亚洲永久精品| 午夜精品在线视频一区| 久久影院视频免费| 99精品视频在线免费观看| 亚洲成人第一页| 精品日韩欧美在线| 99久久精品免费看国产免费软件| 亚洲最大成人综合| 精品欧美一区二区在线观看| 不卡的电视剧免费网站有什么| 亚洲国产日韩a在线播放性色| 精品少妇一区二区三区在线播放 | 午夜精品久久久久| 久久影院午夜论| 91高清视频免费看| 久久精品国产99久久6| 中文字幕在线免费不卡| 在线不卡欧美精品一区二区三区| 国产精品影音先锋| 一级精品视频在线观看宜春院| 精品黑人一区二区三区久久| 91小视频免费观看| 久久精品国产一区二区三区免费看| 亚洲欧洲av在线| 日韩欧美国产精品| 色综合天天性综合| 久久99热狠狠色一区二区| 亚洲精品一二三区| 久久蜜桃香蕉精品一区二区三区| 在线影院国内精品| 国产精品一级在线| 欧美a级一区二区| 亚洲人妖av一区二区| 欧美精品一区二区三区蜜桃视频| 欧美视频一区二区三区四区| 国产成人鲁色资源国产91色综| 性感美女久久精品| 综合久久国产九一剧情麻豆| 日韩视频国产视频| 欧洲亚洲国产日韩| 成人免费视频视频在线观看免费| 免费不卡在线视频| 亚洲网友自拍偷拍| 自拍偷拍亚洲激情| 久久久www成人免费毛片麻豆| 欧美女孩性生活视频| 91日韩精品一区| 国产v综合v亚洲欧| 麻豆视频观看网址久久| 亚洲高清免费一级二级三级| 综合欧美亚洲日本| 日本一区二区三级电影在线观看| 91精品国产美女浴室洗澡无遮挡| 色999日韩国产欧美一区二区| 成人小视频免费在线观看| 国产一区二区导航在线播放| 日韩黄色免费网站| 亚洲第四色夜色| 一区二区三区丝袜| 亚洲色图19p| 亚洲三级视频在线观看| 国产精品你懂的在线| 国产偷国产偷亚洲高清人白洁| 91精品国产综合久久久蜜臀图片 | 亚洲一区在线观看免费观看电影高清 | 日韩欧美国产wwwww| 欧美日韩激情在线| 欧美性猛片xxxx免费看久爱| 色狠狠一区二区|