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

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

?? pciconfigshow.c

?? IXP425的BSP代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* pciConfigShow.c - Show routines of PCI bus(IO mapped) library *//* Copyright 1984-2000 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------01o,13nov01,tor  Assorted compiler warnings.01n,25oct01,tor  Add pciConfigTopoShow() and support functions01m,26feb01,rcs  merge from tornado 3 version main/tor3_x/301l,05dec00,dat  merge from sustaining branch to tor2_0_x01k,16nov00,dat  SPR 36081 driver documentation01j,17aug00,dat  SPR 33788 DeviceShow does not scan all possible devices01i,19may00,pai  removed INCLUDE_SHOW_ROUTINES build condition (SPR 27759).01h,17mar98,tm   documentation cleanup; added drv/pci/.h and config.h includes01g,11mar98,tm   renamed to pciConfigShow.c from pciIomapShow.c                 added return to null init routine01f,04mar98,tm   added include of pciHeaderDefs.h, pciIomapShow.h01e,28mar97,mas  added IMPORT of pciConfigMech, include of dllLib.h; fixed		 class display in pciDeviceShow() (SPR 8226).01d,12jan97,hdn  changed member/variable name "vender" to "vendor".01c,12jan97,hdn  changed member/variable name "class" to "classCode".01b,14mar96,hdn  re-written.  changed parameters of the functions.		 removed BIOS dependent codes.01a,25feb95,bcs  written*//*DESCRIPTIONThis module contains show routines to see all devices and bridges on the PCI bus.This module works in conjunction with pciConfigLib.o.There are two ways to find out an empty device..IP " - "check Master Abort bit after the access..IP " - "check whether the read value is 0xffff..LPIt uses the second method, since I didn't see the Master Abort bit ofthe host/PCI bridge changing.*/#include "vxWorks.h"#include "stdio.h"#include "stdlib.h"#include "string.h"#include "dllLib.h"#include "config.h"#include "pciClass.h"#include "drv/pci/pciConfigLib.h"#include "drv/pci/pciConfigShow.h"#include "drv/pci/pciHeaderDefs.h"/* defines *//* externs */IMPORT int pciLibInitDone;IMPORT int pciLibInitStatus;IMPORT int pciConfigMech;/* globals *//* locals *//* forward declarations */LOCAL void pciDheaderPrint	(PCI_HEADER_DEVICE * pD);LOCAL void pciBheaderPrint	(PCI_HEADER_BRIDGE * pB);/********************************************************************************* pciConfigShowInit - initialize the show routines.** This routine is used to pull in all routines in this library.** NOMANUAL* * RETURNS: N/A*/void pciConfigShowInit (void)    {    return;    }/********************************************************************************* pciDeviceShow - print information about PCI devices** This routine prints information about PCI devices* There are two ways to find out an empty device.** .IP " - "* check Master Abort bit after the access.* .IP " - "* check whether the read value is 0xffff.* .LP** It uses the second method, since I didn't see the Master Abort bit of* the host/PCI bridge changing.** RETURNS: OK, or ERROR if the library is not initialized.*/STATUS pciDeviceShow    (    int	busNo		/* bus number */    )    {    int deviceNo;    UINT16 vendorId;    UINT16 deviceId;    union {	UINT32 classCode;	UINT8 array[4];	} u;    if (pciLibInitStatus != OK)			/* sanity check */        return (ERROR);    if (pciConfigMech == PCI_MECHANISM_2     && PCI_MAX_DEV > 16)        {        printf ("Invalid configuration. PCI_MAX_DEV > 16, PCI mechanism #2\n");        return ERROR;        }    printf ("Scanning function 0 of each PCI device on bus %d\n", busNo);    printf ("Using configuration mechanism %d\n", pciConfigMech);    printf ("bus       device    function  vendorID  deviceID  class\n");     for (deviceNo=0; deviceNo < PCI_MAX_DEV; deviceNo++)	{	pciConfigInWord (busNo, deviceNo, 0, PCI_CFG_VENDOR_ID, 			(UINT16 *)&vendorId);	pciConfigInWord (busNo, deviceNo, 0, PCI_CFG_DEVICE_ID, 			(UINT16 *)&deviceId);	pciConfigInByte (busNo, deviceNo, 0, PCI_CFG_PROGRAMMING_IF, 			&u.array[3]);	pciConfigInByte (busNo, deviceNo, 0, PCI_CFG_SUBCLASS,			&u.array[2]);	pciConfigInByte (busNo, deviceNo, 0, PCI_CFG_CLASS,			&u.array[1]);	u.array[0] = 0;        /*	 * There are two ways to find out an empty device.	 * 1. check Master Abort bit after the access.	 * 2. check whether the read value is 0xffff.	 * Since I didn't see the Master Abort bit of the host/PCI bridge	 * changing, I use the second method.	 */	if (vendorId != 0xffff)	    printf ("%.8x  %.8x  %.8x  %.8x  %.8x  %.8x\n",		    busNo, deviceNo, 0, vendorId, deviceId, u.classCode);	}    return (OK);    }/********************************************************************************* pciHeaderShow - print a header of the specified PCI device** This routine prints a header of the PCI device specified by busNo, deviceNo,* and funcNo.** RETURNS: OK, or ERROR if this library is not initialized.**/STATUS pciHeaderShow    (    int	busNo,		/* bus number */    int	deviceNo,	/* device number */    int	funcNo		/* function number */    )    {    PCI_HEADER_DEVICE headerDevice;    PCI_HEADER_BRIDGE headerBridge;    PCI_HEADER_DEVICE * pD = &headerDevice;    PCI_HEADER_BRIDGE * pB = &headerBridge;    if (pciLibInitStatus != OK)			/* sanity check */        return (ERROR);    pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_HEADER_TYPE, 		     (UINT8 *)&pD->headerType);    if (pD->headerType & 0x01)		/* PCI-to-PCI bridge */	{        pciConfigInWord (busNo, deviceNo, funcNo, PCI_CFG_VENDOR_ID, 			 (UINT16 *)&pB->vendorId);        pciConfigInWord (busNo, deviceNo, funcNo, PCI_CFG_DEVICE_ID, 			 (UINT16 *)&pB->deviceId);        pciConfigInWord (busNo, deviceNo, funcNo, PCI_CFG_COMMAND, 			 (UINT16 *)&pB->command);        pciConfigInWord (busNo, deviceNo, funcNo, PCI_CFG_STATUS, 			 (UINT16 *)&pB->status);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_REVISION, 			 (UINT8 *)&pB->revisionId);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_PROGRAMMING_IF, 			 (UINT8 *)&pB->progIf);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_SUBCLASS, 			 (UINT8 *)&pB->subClass);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_CLASS, 			 (UINT8 *)&pB->classCode);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_CACHE_LINE_SIZE, 			 (UINT8 *)&pB->cacheLine);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_LATENCY_TIMER, 			 (UINT8 *)&pB->latency);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_HEADER_TYPE, 			 (UINT8 *)&pB->headerType);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_BIST, 			 (UINT8 *)&pB->bist);        pciConfigInLong (busNo, deviceNo, funcNo, PCI_CFG_BASE_ADDRESS_0, 			 (UINT32 *)&pB->base0);        pciConfigInLong (busNo, deviceNo, funcNo, PCI_CFG_BASE_ADDRESS_1, 			 (UINT32 *)&pB->base1);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_PRIMARY_BUS, 			 (UINT8 *)&pB->priBus);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_SECONDARY_BUS, 			 (UINT8 *)&pB->secBus);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_SUBORDINATE_BUS, 			 (UINT8 *)&pB->subBus);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_SEC_LATENCY, 			 (UINT8 *)&pB->secLatency);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_IO_BASE, 			 (UINT8 *)&pB->ioBase);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_IO_LIMIT, 			 (UINT8 *)&pB->ioLimit);        pciConfigInWord (busNo, deviceNo, funcNo, PCI_CFG_SEC_STATUS, 			 (UINT16 *)&pB->secStatus);        pciConfigInWord (busNo, deviceNo, funcNo, PCI_CFG_MEM_BASE, 			 (UINT16 *)&pB->memBase);        pciConfigInWord (busNo, deviceNo, funcNo, PCI_CFG_MEM_LIMIT, 			 (UINT16 *)&pB->memLimit);        pciConfigInWord (busNo, deviceNo, funcNo, PCI_CFG_PRE_MEM_BASE, 			 (UINT16 *)&pB->preBase);        pciConfigInWord (busNo, deviceNo, funcNo, PCI_CFG_PRE_MEM_LIMIT, 			 (UINT16 *)&pB->preLimit);        pciConfigInLong (busNo, deviceNo, funcNo, PCI_CFG_PRE_MEM_BASE_U, 			 (UINT32 *)&pB->preBaseUpper);        pciConfigInLong (busNo, deviceNo, funcNo, PCI_CFG_PRE_MEM_LIMIT_U, 			 (UINT32 *)&pB->preLimitUpper);        pciConfigInWord (busNo, deviceNo, funcNo, PCI_CFG_IO_BASE_U, 			 (UINT16 *)&pB->ioBaseUpper);        pciConfigInWord (busNo, deviceNo, funcNo, PCI_CFG_IO_LIMIT_U, 			 (UINT16 *)&pB->ioLimitUpper);        pciConfigInLong (busNo, deviceNo, funcNo, PCI_CFG_ROM_BASE, 			 (UINT32 *)&pB->romBase);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_BRG_INT_LINE, 			 (UINT8 *)&pB->intLine);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_BRG_INT_PIN, 			 (UINT8 *)&pB->intPin);        pciConfigInWord (busNo, deviceNo, funcNo, PCI_CFG_BRIDGE_CONTROL, 			 (UINT16 *)&pB->control);        pciBheaderPrint (pB);	}    else					/* PCI device */	{        pciConfigInWord (busNo, deviceNo, funcNo, PCI_CFG_VENDOR_ID, 			 (UINT16 *)&pD->vendorId);        pciConfigInWord (busNo, deviceNo, funcNo, PCI_CFG_DEVICE_ID, 			 (UINT16 *)&pD->deviceId);        pciConfigInWord (busNo, deviceNo, funcNo, PCI_CFG_COMMAND, 			 (UINT16 *)&pD->command);        pciConfigInWord (busNo, deviceNo, funcNo, PCI_CFG_STATUS, 			 (UINT16 *)&pD->status);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_REVISION, 			 (UINT8 *)&pD->revisionId);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_PROGRAMMING_IF, 			 (UINT8 *)&pD->progIf);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_SUBCLASS, 			 (UINT8 *)&pD->subClass);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_CLASS, 			 (UINT8 *)&pD->classCode);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_CACHE_LINE_SIZE, 			 (UINT8 *)&pD->cacheLine);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_LATENCY_TIMER, 			 (UINT8 *)&pD->latency);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_HEADER_TYPE, 			 (UINT8 *)&pD->headerType);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_BIST, 			 (UINT8 *)&pD->bist);        pciConfigInLong (busNo, deviceNo, funcNo, PCI_CFG_BASE_ADDRESS_0, 			 (UINT32 *)&pD->base0);        pciConfigInLong (busNo, deviceNo, funcNo, PCI_CFG_BASE_ADDRESS_1, 			 (UINT32 *)&pD->base1);        pciConfigInLong (busNo, deviceNo, funcNo, PCI_CFG_BASE_ADDRESS_2, 			 (UINT32 *)&pD->base2);        pciConfigInLong (busNo, deviceNo, funcNo, PCI_CFG_BASE_ADDRESS_3, 			 (UINT32 *)&pD->base3);        pciConfigInLong (busNo, deviceNo, funcNo, PCI_CFG_BASE_ADDRESS_4, 			 (UINT32 *)&pD->base4);        pciConfigInLong (busNo, deviceNo, funcNo, PCI_CFG_BASE_ADDRESS_5, 			 (UINT32 *)&pD->base5);        pciConfigInLong (busNo, deviceNo, funcNo, PCI_CFG_CIS, 			 (UINT32 *)&pD->cis);        pciConfigInWord (busNo, deviceNo, funcNo, PCI_CFG_SUB_VENDER_ID, 			 (UINT16 *)&pD->subVendorId);        pciConfigInWord (busNo, deviceNo, funcNo, PCI_CFG_SUB_SYSTEM_ID, 			 (UINT16 *)&pD->subSystemId);        pciConfigInLong (busNo, deviceNo, funcNo, PCI_CFG_EXPANSION_ROM, 			 (UINT32 *)&pD->romBase);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_DEV_INT_LINE, 			 (UINT8 *)&pD->intLine);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_DEV_INT_PIN, 			 (UINT8 *)&pD->intPin);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_MIN_GRANT, 			 (UINT8 *)&pD->minGrant);        pciConfigInByte (busNo, deviceNo, funcNo, PCI_CFG_MAX_LATENCY, 			 (UINT8 *)&pD->maxLatency);        pciDheaderPrint (pD);	}    return (OK);    }/********************************************************************************* pciFindDeviceShow - find a device by deviceId, then print an information.** This routine finds a device by deviceId, then print an information.** RETURNS: OK, or ERROR if this library is not initialized.**/STATUS pciFindDeviceShow    (    int	vendorId,	/* vendor ID */    int	deviceId,	/* device ID */    int	index		/* desired instance of device */    )    {    int busNo;    int deviceNo;    int funcNo;    if (pciFindDevice (vendorId, deviceId, index, &busNo, &deviceNo, &funcNo)	== OK)	{	printf ("deviceId = 0x%.8x\n", deviceId);	printf ("vendorId = 0x%.8x\n", vendorId);	printf ("index =    0x%.8x\n", index);	printf ("busNo =    0x%.8x\n", busNo);	printf ("deviceNo = 0x%.8x\n", deviceNo);	printf ("funcNo =   0x%.8x\n", funcNo);	return (OK);	}    return (ERROR);    }/********************************************************************************* pciFindClassShow - find a device by 24-bit class code** This routine finds a device by its 24-bit PCI class code, then prints its* information.** RETURNS: OK, or ERROR if this library is not initialized.**/STATUS pciFindClassShow    (    int	classCode,	/* 24-bit class code */    int	index		/* desired instance of device */    )    {    int busNo;    int deviceNo;    int funcNo;    if (pciFindClass (classCode, index, &busNo, &deviceNo, &funcNo) == OK)	{	printf ("class code = 0x%.8x\n", classCode);	printf ("index =      0x%.8x\n", index);	printf ("busNo =      0x%.8x\n", busNo);	printf ("deviceNo =   0x%.8x\n", deviceNo);	printf ("funcNo =     0x%.8x\n", funcNo);	return (OK);	}    return (ERROR);    }/********************************************************************************* pciDheaderPrint - print a PCI device header** This routine prints a PCI device header.** RETURNS: N/A**/LOCAL void pciDheaderPrint    (    PCI_HEADER_DEVICE * pD    )    {    printf ("vendor ID =                   0x%.4x\n", (ushort_t)pD->vendorId);    printf ("device ID =                   0x%.4x\n", (ushort_t)pD->deviceId);    printf ("command register =            0x%.4x\n", (ushort_t)pD->command);    printf ("status register =             0x%.4x\n", (ushort_t)pD->status);	    printf ("revision ID =                 0x%.2x\n", (uchar_t)pD->revisionId);    printf ("class code =                  0x%.2x\n", (uchar_t)pD->classCode);	    printf ("sub class code =              0x%.2x\n", (uchar_t)pD->subClass);    printf ("programming interface =       0x%.2x\n", (uchar_t)pD->progIf);	    printf ("cache line =                  0x%.2x\n", (uchar_t)pD->cacheLine);    printf ("latency time =                0x%.2x\n", (uchar_t)pD->latency);    printf ("header type =                 0x%.2x\n", (uchar_t)pD->headerType);    printf ("BIST =                        0x%.2x\n", (uchar_t)pD->bist);	    printf ("base address 0 =              0x%.8x\n", pD->base0);	    printf ("base address 1 =              0x%.8x\n", pD->base1);	    printf ("base address 2 =              0x%.8x\n", pD->base2);	    printf ("base address 3 =              0x%.8x\n", pD->base3);	    printf ("base address 4 =              0x%.8x\n", pD->base4);	    printf ("base address 5 =              0x%.8x\n", pD->base5);	    printf ("cardBus CIS pointer =         0x%.8x\n", pD->cis);	    printf ("sub system vendor ID =        0x%.4x\n", (ushort_t)pD->subVendorId);    printf ("sub system ID =               0x%.4x\n", (ushort_t)pD->subSystemId);    printf ("expansion ROM base address =  0x%.8x\n", pD->romBase);    printf ("interrupt line =              0x%.2x\n", (uchar_t)pD->intLine);    printf ("interrupt pin =               0x%.2x\n", (uchar_t)pD->intPin);	    printf ("min Grant =                   0x%.2x\n", (uchar_t)pD->minGrant);    printf ("max Latency =                 0x%.2x\n", (uchar_t)pD->maxLatency);    }/********************************************************************************* pciBheaderPrint - print a PCI-to-PCI bridge header** This routine prints a PCI-to-PCI bridge header.** RETURNS: N/A**/LOCAL void pciBheaderPrint    (    PCI_HEADER_BRIDGE * pB    )    {    printf ("vendor ID =                   0x%.4x\n", (ushort_t)pB->vendorId);    printf ("device ID =                   0x%.4x\n", (ushort_t)pB->deviceId);    printf ("command register =            0x%.4x\n", (ushort_t)pB->command);    printf ("status register =             0x%.4x\n", (ushort_t)pB->status);	    printf ("revision ID =                 0x%.2x\n", (uchar_t)pB->revisionId);    printf ("class code =                  0x%.2x\n", (uchar_t)pB->classCode);	

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩黄色影视| 久久精品视频一区二区| 精品免费99久久| 国产精品理论在线观看| 青青草国产精品97视觉盛宴| 成人国产电影网| 久久综合久久久久88| 性久久久久久久久久久久| av中文字幕在线不卡| 国产亚洲精久久久久久| 免费在线欧美视频| 欧美裸体一区二区三区| 中文字幕一区在线观看| 国产精品夜夜爽| 精品国产人成亚洲区| 日本亚洲视频在线| 欧美日本一道本| 亚洲永久精品国产| 在线观看亚洲a| 亚洲日韩欧美一区二区在线| 成人免费三级在线| 国产午夜亚洲精品不卡| 精品一区二区免费在线观看| 666欧美在线视频| 亚洲二区视频在线| 欧美三区在线视频| 亚洲第一综合色| 精品视频全国免费看| 亚洲视频综合在线| 一本大道久久a久久精二百| 国产精品美女久久福利网站| 成人污视频在线观看| 国产精品私人影院| caoporen国产精品视频| 亚洲婷婷综合久久一本伊一区 | 五月激情综合婷婷| 91传媒视频在线播放| 亚洲成a人v欧美综合天堂下载| 欧洲中文字幕精品| 性久久久久久久| 精品伦理精品一区| 国产精品18久久久久久vr| 久久免费精品国产久精品久久久久 | 蜜桃一区二区三区四区| 日韩一区二区电影在线| 日本aⅴ免费视频一区二区三区| 91精品国产欧美一区二区18| 久草在线在线精品观看| 中文字幕精品一区 | 国产白丝精品91爽爽久久| 国产嫩草影院久久久久| 99热精品一区二区| 日韩和欧美一区二区三区| 精品少妇一区二区三区免费观看| 国产伦精一区二区三区| 国产精品不卡在线观看| 欧美日韩高清在线播放| 国产一区二区三区最好精华液| 国产精品污污网站在线观看| 欧美中文字幕一区二区三区| 麻豆精品新av中文字幕| 国产精品素人视频| 欧美一区二区视频网站| 国产成a人亚洲精品| 亚洲最新视频在线观看| 精品对白一区国产伦| 91一区一区三区| 国产一区二区三区四| 亚洲欧美日韩国产综合在线 | 欧美丝袜丝交足nylons图片| 麻豆精品国产传媒mv男同 | 午夜一区二区三区在线观看| 久久综合久久综合亚洲| 99久久久免费精品国产一区二区| 性欧美大战久久久久久久久| 国产精品国产三级国产普通话蜜臀 | 在线观看日韩精品| 国产一区在线精品| 午夜欧美电影在线观看| 国产精品成人免费| 久久久久久久精| 91麻豆精品国产无毒不卡在线观看| 丁香激情综合五月| 韩国理伦片一区二区三区在线播放 | 毛片不卡一区二区| 18欧美亚洲精品| 久久人人97超碰com| 欧美日本在线看| 色婷婷精品大在线视频| 国产成人自拍网| 精品一区二区在线观看| 午夜一区二区三区在线观看| 亚洲蜜臀av乱码久久精品| 久久久欧美精品sm网站| 日韩一区二区免费高清| 91麻豆精品国产91久久久| 欧美性一级生活| 97久久超碰国产精品| 国产成人亚洲综合a∨猫咪| 激情综合色综合久久综合| 日韩精品国产欧美| 婷婷久久综合九色综合绿巨人 | 久久er精品视频| 日韩av在线发布| 亚洲大片在线观看| 一区二区三区成人在线视频| 亚洲色图色小说| 中文字幕一区二区三区在线不卡 | 日韩一区二区中文字幕| 欧美日韩一区二区在线视频| 日本高清不卡在线观看| 91丨国产丨九色丨pron| 99久久综合精品| 成人深夜视频在线观看| 粉嫩av一区二区三区粉嫩| 国产高清不卡一区二区| 国产v综合v亚洲欧| 风间由美性色一区二区三区| 国产成人在线免费观看| 成人午夜激情在线| 色综合色狠狠综合色| 色悠久久久久综合欧美99| 日本久久电影网| 欧美精品在线一区二区三区| 欧美丰满一区二区免费视频| 欧美一级xxx| 欧美精品一区视频| 中文字幕av不卡| 一区二区三区在线看| 亚洲午夜电影在线| 美腿丝袜一区二区三区| 国产精品一级片在线观看| 成人黄色国产精品网站大全在线免费观看 | 精品一区二区三区免费视频| 国产成人8x视频一区二区| 91免费观看视频| 3d成人h动漫网站入口| 国产性色一区二区| 一区二区三区成人| 日韩成人午夜电影| 国产成人啪免费观看软件| 99久久99久久精品国产片果冻| 欧美日韩一区二区不卡| 欧美mv日韩mv国产网站| 国产精品欧美精品| 日韩成人午夜精品| 不卡视频在线观看| 91麻豆精品91久久久久同性| 国产精品视频免费看| 亚洲最新视频在线播放| 国产一区二区免费在线| 91久久线看在观草草青青| 欧美r级电影在线观看| 亚洲视频电影在线| 国产一区二区三区高清播放| 日本乱码高清不卡字幕| 男女男精品视频| 欧美日韩一区二区三区在线看| 91视频免费看| 欧美日韩精品三区| 国产网红主播福利一区二区| 亚洲影院理伦片| 成年人国产精品| 日韩欧美一二三| 亚洲一区在线观看网站| 粉嫩av一区二区三区| 综合久久国产九一剧情麻豆| 久久er99热精品一区二区| 欧美专区日韩专区| 综合激情成人伊人| 国产在线国偷精品免费看| 欧美日韩免费一区二区三区| 中文字幕一区在线| 国产999精品久久久久久绿帽| 3d动漫精品啪啪一区二区竹菊| 亚洲视频综合在线| 成人h动漫精品一区二| 26uuu色噜噜精品一区| 五月天网站亚洲| 91官网在线观看| 亚洲图片另类小说| av一区二区三区| 亚洲国产精品激情在线观看| 国产综合色在线视频区| 日韩一区国产二区欧美三区| 午夜影院久久久| 欧美日韩二区三区| 亚洲一区二区三区激情| 色狠狠一区二区三区香蕉| 国产精品你懂的| 不卡视频免费播放| 欧美国产日产图区| 成人一区二区三区视频| 国产日韩高清在线| 成人av网站免费| 国产精品免费久久久久| 成人app下载| 亚洲色大成网站www久久九九| 91蝌蚪porny| 一区二区免费在线|