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

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

?? dec2155xcpci.c

?? vxworks的bsp開發包(基于POWERPC的PRPMC800)
?? C
?? 第 1 頁 / 共 4 頁
字號:
/* dec2155xCcpi.c - DEC 2155X (Drawbridge) PCI-to-PCI bridge library *//* Copyright 1998-2001 Motorola, Inc. All Rights Reserved *//*modification history--------------------01c,16nov01,scb  Added sysDec2155xCapt(), sysDec2155xPrimaryBusMaster().01b,10oct01,scb  Mods for shared memory prpmc800: /monarch/slave/mcp750.01a,31aug00,dmw  Written (from version 01b of prpmc750/dec2155xCcpi.c).*//*DESCRIPTIONThe routines addressed here include:Initialization of 2155x chipBus interrupt functions:    - enable/disable Compact PCI interrupts    - enable/disable drawbridge internal interrupts    - install handlers for the drawbridge internal  interrupts    - generate Compact PCI bus interruptsMailbox functions:    - enable mailbox interruptsPortions of this code (dec2155xInit) must run before the local PCI busenumeration been performed. As such, the 2155x BAR registers have not beeninitialized and access must be performed though the local PCI configurationspace. This is done using the pciConfigxxxx calls (in pciConfigLib.c). Oncelocal PCI bus enumeration has completed, access to most 2155x registers willbe performed using the local PCI memory space and sysPcixxxx calls.*//* includes */#include "vxWorks.h"#include "config.h"#include "vxLib.h"#include "harrierMpic.h"#include "intLib.h"#include "logLib.h"#include "dec2155xCpci.h"#include "pci.h"/* defines */#define DEC2155X_ENABLE_MEM_AND_IO (PCI_CMD_IO_ENABLE | PCI_CMD_MEM_ENABLE)/* this section validates the upstream and downstream window parameters */#if (DEC2155X_CSR_AND_DS_MEM0_SIZE & (DEC2155X_CSR_AND_DS_MEM0_SIZE - 1))#    error DEC2155X_CSR_AND_DS_MEM0_SIZE is not a power of 2#else#  ifndef CPCI_DOWNSTREAM_DYNAMIC_TRANSLATION#    if (DEC2155X_CSR_AND_DS_MEM0_TRANS & (DEC2155X_CSR_AND_DS_MEM0_SIZE - 1))#        error DEC2155X_CSR_AND_DS_MEM0_TRANS is not a multiple of window size#    endif#  endif#    if (DEC2155X_CSR_AND_DS_MEM0_SIZE & DEC2155X_MEM_TB_RSV_MSK)#        error DEC2155X_CSR_AND_DS_MEM0_SIZE is less than 4KB in size#  endif#endif#if (DEC2155X_DS_IO_OR_MEM1_SIZE & (DEC2155X_DS_IO_OR_MEM1_SIZE - 1))#    error DEC2155X_DS_IO_OR_MEM1_SIZE is not a power of 2#else#  ifndef CPCI_DOWNSTREAM_DYNAMIC_TRANSLATION#    if (DEC2155X_DS_IO_OR_MEM1_TRANS & (DEC2155X_DS_IO_OR_MEM1_SIZE - 1))#        error DEC2155X_DS_IO_OR_MEM1_TRANS is not a multiple of window size#    endif#  endif#    if (DEC2155X_DS_IO_OR_MEM1_TYPE & PCI_BAR_SPACE_IO)#        if (DEC2155X_DS_IO_OR_MEM1_SIZE & DEC2155X_IO_OR_MEM_TB_RSV_MSK)#            error DEC2155X_DS_IO_OR_MEM1_SIZE is less than 64 bytes#        endif#    else#        if (DEC2155X_DS_IO_OR_MEM1_SIZE & DEC2155X_MEM_TB_RSV_MSK)#            error DEC2155X_DS_IO_OR_MEM1_SIZE is less than 4KB#        endif#    endif        #endif#if (DEC2155X_DS_MEM2_SIZE & (DEC2155X_DS_MEM2_SIZE - 1))#    error DEC2155X_DS_MEM2_SIZE is not a power of 2#else#    if (DEC2155X_DS_MEM2_TRANS & (DEC2155X_DS_MEM2_SIZE - 1))#        error DEC2155X_DS_MEM2_TRANS is not a multiple of window size#    endif#    if (DEC2155X_DS_MEM2_SIZE & DEC2155X_MEM_TB_RSV_MSK)#        error DEC2155X_DS_MEM2_SIZE is less than 4KB in size#    endif#endif#if (DEC2155X_DS_MEM3_SIZE & (DEC2155X_DS_MEM3_SIZE - 1))#    error DEC2155X_DS_MEM3_SIZE is not a power of 2#else#    if (DEC2155X_DS_MEM3_TRANS & (DEC2155X_DS_MEM3_SIZE - 1))#        error DEC2155X_DS_MEM3_TRANS is not a multiple of window size#    endif#    if (DEC2155X_DS_MEM3_SIZE & DEC2155X_MEM_TB_RSV_MSK)#        error DEC2155X_DS_MEM3_SIZE is less than 4KB in size#    endif#endif#if (DEC2155X_US_IO_OR_MEM0_SIZE & (DEC2155X_US_IO_OR_MEM0_SIZE - 1))#    error DEC2155X_US_IO_OR_MEM0_SIZE is not a power of 2#else#    if (DEC2155X_US_IO_OR_MEM0_TRANS & (DEC2155X_US_IO_OR_MEM0_SIZE - 1))#        error DEC2155X_US_IO_OR_MEM0_TRANS is not a multiple of window size#    endif#    if (DEC2155X_US_IO_OR_MEM0_TYPE & PCI_BAR_SPACE_IO)#        if (DEC2155X_US_IO_OR_MEM0_SIZE & DEC2155X_IO_OR_MEM_TB_RSV_MSK)#            error DEC2155X_US_IO_OR_MEM0_SIZE is less than 64 bytes#        endif#    else#        if (DEC2155X_US_IO_OR_MEM0_SIZE & DEC2155X_MEM_TB_RSV_MSK)#            error DEC2155X_US_IO_OR_MEM0_SIZE is less than 4KB#        endif#    endif        #endif#if (DEC2155X_US_MEM1_SIZE & (DEC2155X_US_MEM1_SIZE - 1))#    error DEC2155X_US_MEM1_SIZE is not a power of 2#else#    if (DEC2155X_US_MEM1_TRANS & (DEC2155X_US_MEM1_SIZE - 1))#        error DEC2155X_US_MEM1_TRANS is not a multiple of window size#    endif#    if (DEC2155X_US_MEM1_SIZE & DEC2155X_MEM_TB_RSV_MSK)#        error DEC2155X_US_MEM1_SIZE is less than 4KB in size#    endif#endif/* create window setup values */#if (DEC2155X_CSR_AND_DS_MEM0_SIZE)#   define DEC2155X_CSR_AND_DS_MEM0_SETUP ( \           DEC2155X_SETUP_REG_BAR_ENABLE        | \           ~(DEC2155X_CSR_AND_DS_MEM0_SIZE - 1) | \           DEC2155X_CSR_AND_DS_MEM0_TYPE)#else#   define DEC2155X_CSR_AND_DS_MEM0_SETUP 0x00000000#endif#if (DEC2155X_DS_IO_OR_MEM1_SIZE)#   define DEC2155X_DS_IO_OR_MEM1_SETUP ( \           DEC2155X_SETUP_REG_BAR_ENABLE      | \           ~(DEC2155X_DS_IO_OR_MEM1_SIZE - 1) | \           DEC2155X_DS_IO_OR_MEM1_TYPE)#else#   define DEC2155X_DS_IO_OR_MEM1_SETUP 0x00000000#endif#if (DEC2155X_DS_MEM2_SIZE)#   define DEC2155X_DS_MEM2_SETUP ( \           DEC2155X_SETUP_REG_BAR_ENABLE | \           ~(DEC2155X_DS_MEM2_SIZE - 1)  | \           DEC2155X_DS_MEM2_TYPE)#else#   define DEC2155X_DS_MEM2_SETUP 0x00000000#endif#if (DEC2155X_DS_MEM3_SIZE)#   define DEC2155X_DS_MEM3_SETUP ( \           DEC2155X_SETUP_REG_BAR_ENABLE | \           ~(DEC2155X_DS_MEM3_SIZE - 1)  | \           DEC2155X_DS_MEM3_TYPE)#else#   define DEC2155X_DS_MEM3_SETUP 0x00000000#endif#if (DEC2155X_US_IO_OR_MEM0_SIZE)#   define DEC2155X_US_IO_OR_MEM0_SETUP ( \           DEC2155X_SETUP_REG_BAR_ENABLE      | \           ~(DEC2155X_US_IO_OR_MEM0_SIZE - 1) | \           DEC2155X_US_IO_OR_MEM0_TYPE)#else#   define DEC2155X_US_IO_OR_MEM0_SETUP 0x00000000#endif#if (DEC2155X_US_MEM1_SIZE)#   define DEC2155X_US_MEM1_SETUP ( \           DEC2155X_SETUP_REG_BAR_ENABLE | \           ~(DEC2155X_US_MEM1_SIZE - 1)  | \           DEC2155X_US_MEM1_TYPE)#else#   define DEC2155X_US_MEM1_SETUP 0x00000000#endif#define DEC2155X_UPR32_DS_MEM3_SETUP 0x00000000#define DEC2155X_CFG_CHP_STS_ERR_CLR (DEC2155X_CHPSR_US_DLYD_TRNS_MSTR_TO | \                                      DEC2155X_CHPSR_US_DLYD_RD_TRNS_TO   | \                                      DEC2155X_CHPSR_US_DLYD_WRT_TRNS_TO  | \                                      DEC2155X_CHPSR_US_PSTD_WRT_DATA_DISC)#define DEC2155X_CFG_STS_ERR_CLR (DEC2155X_CFG_STS_DATA_PAR_ERR_DET | \                                  DEC2155X_CFG_STS_SIG_TGT_ABT      | \                                  DEC2155X_CFG_STS_RCVD_TGT_ABT     | \                                  DEC2155X_CFG_STS_RCVD_MSTR_ABT    | \                                  DEC2155X_CFG_STS_SIG_SYS_ERR      | \                                  DEC2155X_CFG_STS_DET_PAR_ERR)/* structures */typedef struct windowParameters    {    UINT32 windowType; /* mem or i/o */    UINT32 origBase;   /* as seen from originating bus */    UINT32 trgtBase;   /* as seen from target bus */    UINT32 trgtLimit;  /* end of window + 1 */    } WINDOW_PARAMETERS;typedef struct windowOffsets    {    UINT32 bar;        /* offset to base address register */    UINT32 trans;      /* offset to translation or opposite base address reg */    UINT32 setup;      /* offset to setup reg or pseudo-register contents */    UINT32 unuseable;  /* unuseable space at start of window */    } WINDOW_OFFSETS;/* * NOTE: The Primary CSR I/O BAR, Secondary CSR Memory BAR and the Secondary * CSR I/O BAR do not have corresponding setup registers in the Dec2155x. * Also note that the first 4KB of the window mapped by the * Primary CSR and Downstream Memory 0 BAR actually references the * Dec2155x CSR set. To accommodate these hardware-defined windows, * a number of simulated setup registers are present in the offset tables * below. They can be recognized by the fact that their values are far * to large to be true register offsets. This fact is ensured because * an enabled setup register will always have bit 31 set. When the  * window mapping code encounters one of large offsets, it simply uses * the emulated setup value from the table as if it had been read from * the Dec2155x itself. Please bear this in mind should any modifications * to the table be required. * * Also note that there are two table entries for the Primary CSR and * Downstream Memory 0 window. This apparent double mapping is done to * simplify the translation of addresses which lie within this window. * Addresses in the CSR register set (doorbell interrupts, doorbell * interrupt masks, etc.) are translated by looking up the address of the * register when viewed by the opposite processor while the memory area * above the CSR register space is translated using the downstream CSR * and Memory 0 translated base register. Even though these two windows * overlap for the first 4KB (the size of the CSR register image), no * conflict is created because the translation routines always check the * CSR space first. If the address resides in the CSR space, the search * will never advance to the memory portion of the window and only one * translated value is possible. If the address resides above the CSR * space, the first mapping window will lie below the address of * interest and the corresponding memory 0 mapping will be used to * translate the address. */static WINDOW_OFFSETS dsWindowOffsets [] =    {    /* first two entries must be at the front of the table and in order */        {        DEC2155X_CFG_PRI_CSR_AND_DS_MEM0_BAR+DEC2155X_PRI_FROM_SEC_OFFSET,        DEC2155X_CFG_SEC_CSR_MEM_BAR,        (~(DEC2155X_DEFAULT_MEM_WINDOW_SZ - 1) | PCI_BAR_SPACE_MEM),        0        },        {        DEC2155X_CFG_PRI_CSR_AND_DS_MEM0_BAR+DEC2155X_PRI_FROM_SEC_OFFSET,        DEC2155X_CFG_DS_MEM0_TB,        DEC2155X_CFG_DS_MEM0_SETUP,        DEC2155X_DEFAULT_MEM_WINDOW_SZ        },        {        DEC2155X_CFG_PRI_CSR_IO_BAR+DEC2155X_PRI_FROM_SEC_OFFSET,        DEC2155X_CFG_SEC_CSR_IO_BAR,        (~(DEC2155X_DEFAULT_IO_WINDOW_SZ - 1) | PCI_BAR_SPACE_IO),        0        },        {        DEC2155X_CFG_PRI_DS_IO_OR_MEM1_BAR+DEC2155X_PRI_FROM_SEC_OFFSET,        DEC2155X_CFG_DS_IO_OR_MEM1_TB,        DEC2155X_CFG_DS_IO_OR_MEM1_SETUP,        0        },        {        DEC2155X_CFG_PRI_DS_MEM2_BAR+DEC2155X_PRI_FROM_SEC_OFFSET,        DEC2155X_CFG_DS_MEM2_TB,        DEC2155X_CFG_DS_MEM2_SETUP,        0        },        {        DEC2155X_CFG_PRI_DS_MEM3_BAR+DEC2155X_PRI_FROM_SEC_OFFSET,        DEC2155X_CFG_DS_MEM3_TB,        DEC2155X_CFG_DS_MEM3_SETUP,        0        },    };static WINDOW_OFFSETS usWindowOffsets [] =    {        {        DEC2155X_CFG_SEC_CSR_MEM_BAR,        DEC2155X_CFG_PRI_CSR_AND_DS_MEM0_BAR+DEC2155X_PRI_FROM_SEC_OFFSET,        (~(DEC2155X_DEFAULT_MEM_WINDOW_SZ - 1) | PCI_BAR_SPACE_MEM),        0        },        {        DEC2155X_CFG_SEC_CSR_IO_BAR,        DEC2155X_CFG_PRI_CSR_IO_BAR+DEC2155X_PRI_FROM_SEC_OFFSET,        (~(DEC2155X_DEFAULT_IO_WINDOW_SZ - 1) | PCI_BAR_SPACE_IO),        0        },         {        DEC2155X_CFG_SEC_US_IO_OR_MEM0_BAR,        DEC2155X_CFG_US_IO_OR_MEM0_TB,        DEC2155X_CFG_US_IO_OR_MEM0_SETUP,        0        },        {        DEC2155X_CFG_SEC_US_MEM1_BAR,        DEC2155X_CFG_US_MEM1_TB,        DEC2155X_CFG_US_MEM1_SETUP,        0        }    };#define DS_WINDOW_COUNT (sizeof (dsWindowOffsets) / sizeof (WINDOW_OFFSETS))#define US_WINDOW_COUNT (sizeof (usWindowOffsets) / sizeof (WINDOW_OFFSETS))/* forward declarations */void sysDec2155xIntr (void);LOCAL void sysDec2155xCaptWindows ( UINT32, WINDOW_OFFSETS*, 				    WINDOW_PARAMETERS*, UINT32*);/* extern declarations */IMPORT INT_HANDLER_DESC * sysIntTbl [256];IMPORT STATUS  pciConfigModifyLong (int, int, int, int, UINT32, UINT32);IMPORT STATUS  pciConfigModifyWord (int, int, int, int, UINT16, UINT16);IMPORT STATUS  pciConfigModifyByte (int, int, int, int, UINT8, UINT8);IMPORT void    sysPciInsertLong (UINT32, UINT32, UINT32);IMPORT void    sysPciInsertWord (UINT32, UINT16, UINT16);IMPORT void    sysPciInsertByte (UINT32, UINT8, UINT8);IMPORT void    sysOutByte (ULONG, UCHAR);IMPORT void    sysPciOutWordConfirm (UINT32, UINT16);/* globals */UINT32 sysDec2155xCsrAdrs = 0;	/* Base address of dec2155x CSR space *//* * If sysDec2155xInit finds the drawbridge in the wrong state this variable * will be set non-zero. */UINT32 sysDec2155xInitFail = 0;/* Arrays to hold the Dec2155x window translation values */WINDOW_PARAMETERS dsWindows[DS_WINDOW_COUNT] = {                                                   {                                                   0                                                   }                                               };WINDOW_PARAMETERS usWindows[US_WINDOW_COUNT] = {                                                   {                                                   0                                                   }                                               };/* Variables to hold the number of Dec2155x windows detected */UINT32 dsWinsValid = 0;UINT32 usWinsValid = 0;/* DEC 2155x Access macros */#ifndef DEC2155X_CSR_ADRS#   define DEC2155X_CSR_ADRS(offset) (sysDec2155xCsrAdrs+offset)#endif#ifndef DEC2155X_CFG_RD_LONG#   define DEC2155X_CFG_RD_LONG(offset, result) \           pciConfigInLong (0, DEC2155X_PCI_DEV_NUMBER, 0, (offset), \                            (UINT32 *)(result))#endif#ifndef DEC2155X_CFG_RD_WORD#   define DEC2155X_CFG_RD_WORD(offset, result) \           pciConfigInWord (0, DEC2155X_PCI_DEV_NUMBER, 0, (offset), \                            (UINT16 *)(result))#endif#ifndef DEC2155X_CFG_RD_BYTE#   define DEC2155X_CFG_RD_BYTE(offset, result) \           pciConfigInByte (0, DEC2155X_PCI_DEV_NUMBER, 0, (offset), \                            (UINT8 *)(result))#endif#ifndef DEC2155X_CFG_WR_LONG#   define DEC2155X_CFG_WR_LONG(offset, result) \           pciConfigOutLong (0, DEC2155X_PCI_DEV_NUMBER, 0, (offset), \                             (UINT32)(result))#endif#ifndef DEC2155X_CFG_WR_WORD  #   define DEC2155X_CFG_WR_WORD(offset, result) \           pciConfigOutWord (0, DEC2155X_PCI_DEV_NUMBER, 0, (offset), \                             (UINT16)(result))#endif#ifndef DEC2155X_CFG_WR_BYTE#   define DEC2155X_CFG_WR_BYTE(offset, result) \           pciConfigOutByte (0, DEC2155X_PCI_DEV_NUMBER, 0, (offset), \                             (UINT8)(result))#endif#ifndef DEC2155X_CFG_INSERT_LONG#   define DEC2155X_CFG_INSERT_LONG(offset, mask, data) \           pciConfigModifyLong (0, DEC2155X_PCI_DEV_NUMBER, 0, (offset), \                                (mask), (data))#endif#ifndef DEC2155X_CFG_INSERT_WORD#   define DEC2155X_CFG_INSERT_WORD(offset, mask, data) \           pciConfigModifyWord (0, DEC2155X_PCI_DEV_NUMBER, 0, (offset), \                                (mask), (data))#endif#ifndef DEC2155X_CFG_INSERT_BYTE#   define DEC2155X_CFG_INSERT_BYTE(offset, mask, data) \           pciConfigModifyByte (0, DEC2155X_PCI_DEV_NUMBER, 0, (offset), \	                        (mask), (data))#endif#ifndef DEC2155X_PCI_INSERT_LONG

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕中文字幕在线一区| 国产精品123| 4438成人网| 五月婷婷综合在线| 欧美精品三级日韩久久| 日韩精品视频网站| 久久综合九色综合久久久精品综合| 日韩激情视频网站| 精品国产乱码久久久久久久久| 久久精品免费看| 精品91自产拍在线观看一区| 国产成人精品影视| 中文字幕日韩一区| 91麻豆精品国产91久久久资源速度 | 一级特黄大欧美久久久| 欧美老肥妇做.爰bbww| 国产一区二区在线影院| 中文字幕在线视频一区| 欧美午夜精品一区二区三区| 蜜桃传媒麻豆第一区在线观看| 2017欧美狠狠色| 欧美天天综合网| 国产一区高清在线| 成人综合激情网| 这里只有精品视频在线观看| 麻豆精品在线播放| 亚洲欧美在线另类| 欧美一区二区三区四区久久| 国产一区二区三区最好精华液| 欧美高清一级片在线观看| 欧美天天综合网| 丰满少妇在线播放bd日韩电影| 一区二区三区精品久久久| 91精品国产91久久综合桃花 | 粉嫩一区二区三区在线看| 国产精品久久久久影院| 91精品欧美福利在线观看 | 亚洲日本护士毛茸茸| 日韩视频永久免费| 95精品视频在线| 国产在线精品免费| 蜜乳av一区二区| 日韩国产欧美三级| 中文字幕+乱码+中文字幕一区| 日韩一级成人av| 在线播放中文字幕一区| 色婷婷综合久色| 高清shemale亚洲人妖| 国产一区二区美女诱惑| 亚洲国产日韩av| 亚洲午夜影视影院在线观看| 中文字幕在线一区二区三区| 亚洲国产精品99久久久久久久久| 日韩午夜电影av| 日韩免费一区二区三区在线播放| 欧美性猛片xxxx免费看久爱| 在线观看国产精品网站| 色丁香久综合在线久综合在线观看| 成人国产精品免费观看视频| 成人午夜激情视频| 色狠狠色噜噜噜综合网| 在线观看日韩一区| 欧美一区二区三区不卡| 亚洲精品一区二区三区99| 久久精品欧美日韩| 综合激情成人伊人| 99久久精品国产麻豆演员表| 一本一道综合狠狠老| 日韩欧美电影一二三| 亚洲人成网站影音先锋播放| 亚洲va国产天堂va久久en| 狠狠色丁香久久婷婷综| 欧美日韩精品是欧美日韩精品| 日韩欧美高清在线| 亚洲激情图片小说视频| 理论片日本一区| 在线不卡a资源高清| 亚洲精品国产第一综合99久久| 激情久久五月天| 欧美男女性生活在线直播观看| 欧美激情一区二区三区在线| 亚洲国产欧美一区二区三区丁香婷| 蜜桃视频在线观看一区二区| a在线播放不卡| 精品乱人伦小说| 日韩精品乱码免费| 成人黄色小视频| 亚洲精品一区二区三区精华液| 亚洲蜜臀av乱码久久精品蜜桃| 国产乱国产乱300精品| 欧美无乱码久久久免费午夜一区| 亚洲精品一区二区精华| 一区二区三区精密机械公司| 国产盗摄精品一区二区三区在线| 欧美日韩一区二区在线视频| 一色屋精品亚洲香蕉网站| 国产精品99久久久久久久女警| 欧美日韩美女一区二区| 一区二区激情视频| 91猫先生在线| 亚洲成人av福利| 欧美日本在线播放| 奇米影视一区二区三区| 久久综合999| av中文一区二区三区| 亚洲精品国产成人久久av盗摄| 在线免费观看日本欧美| 伊人婷婷欧美激情| 欧美人牲a欧美精品| 麻豆精品精品国产自在97香蕉| 日韩手机在线导航| 国产一区福利在线| 亚洲人被黑人高潮完整版| 欧美图片一区二区三区| 亚洲aaa精品| 中文字幕精品在线不卡| 欧洲亚洲精品在线| 美日韩一区二区三区| 久久精品网站免费观看| 91蝌蚪porny九色| 久久成人久久爱| 亚洲免费成人av| 欧美电视剧免费全集观看| 成人晚上爱看视频| 亚洲国产精品欧美一二99| 久久久久国产免费免费| 91免费在线视频观看| 国产精品99久久久久久似苏梦涵 | 亚洲天堂成人网| 国产欧美视频在线观看| 日韩午夜在线播放| 色婷婷精品大视频在线蜜桃视频| 美女一区二区在线观看| 亚洲国产精品一区二区www| 国产精品国产自产拍高清av王其| 久久先锋影音av| 欧美日韩高清一区二区| 欧美亚洲一区三区| 91蜜桃网址入口| 色综合一个色综合亚洲| 粉嫩av一区二区三区在线播放| 国产一区亚洲一区| 免费在线看成人av| 麻豆91在线播放免费| 亚洲国产精品一区二区www| 亚洲成a人v欧美综合天堂下载| **欧美大码日韩| 亚洲国产精品久久人人爱蜜臀| 亚洲视频你懂的| 亚洲sss视频在线视频| 亚洲成人动漫一区| 国内精品写真在线观看| 精品亚洲porn| 成人精品视频一区| www.99精品| 色又黄又爽网站www久久| 欧美亚洲综合另类| 日韩欧美成人一区二区| 国产午夜精品在线观看| 亚洲视频在线观看一区| 亚洲一区二区在线观看视频| 亚洲电影你懂得| 极品美女销魂一区二区三区免费| 一本一道久久a久久精品| 制服丝袜中文字幕一区| 日韩欧美一级片| 亚洲三级电影网站| 国产一区二区伦理片| 91国在线观看| 亚洲国产高清aⅴ视频| 亚洲韩国一区二区三区| 成人黄色片在线观看| 91麻豆精品91久久久久同性| 国产欧美日韩激情| 日韩激情一二三区| 日本道色综合久久| 亚洲欧洲成人自拍| 国产一区中文字幕| 欧美精品一区二区三区在线播放| 亚洲精品视频一区| 成人一道本在线| 日韩欧美国产不卡| 午夜精品久久久久影视| 成人h精品动漫一区二区三区| 精品久久久久久最新网址| 亚洲男女一区二区三区| 国产精品资源站在线| 日韩女同互慰一区二区| 日韩电影在线看| 欧美日韩亚洲不卡| 亚洲人成在线观看一区二区| 国产一区视频在线看| 精品成人免费观看| 国产一区二区女| 亚洲国产精品二十页| 粉嫩aⅴ一区二区三区四区| 久久久久综合网| 国产精品系列在线观看| 日本一区二区三区国色天香| 国产成人精品影视|