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

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

?? syslib.c

?? SL811 USB接口芯片用于VxWorks系統(tǒng)的驅(qū)動(dòng)源代碼
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/* sysLib.c - Wind River SBC405GP system-dependent routines */

/* Copyright 1984-2001 Wind River Systems, Inc. */
#include "copyright_wrs.h"

/*
modification history
--------------------
01g,21jan02,jl   added cypress sl811hs daughter card support
01b,17sep01,g_h  update to reflect the changes done in T2CP4
01a,22apr01,g_h  created from Walnut version 01j.
*/

/*
DESCRIPTION
This library provides board-specific routines.   The chip drivers included are:

    uicIntr.c       - on-chip Universal Interrupt Controller library
    ppc405Timer     - System timer, Timestamp & Aux clock driver
    ibmEmacEnd.obj  - IBM EMAC Ethernet driver END style


INCLUDE FILES: sysLib.h

SEE ALSO:
.pG "Configuration"
*/

/* includes */

#include "vxWorks.h"
#include "cacheLib.h"
#include "asm.h"
#include "vme.h"
#include "iv.h"
#include "esf.h"
#include "ioLib.h"
#include "sysLib.h"
#include "config.h"
#include "memLib.h"
#include "excLib.h"
#include "logLib.h"
#include "vxLib.h"
#include "string.h"
#include "intLib.h"
#include "taskLib.h"
#include "private/vmLibP.h"
#include "ppc405GP.h"
#include "wrSbc405gp.h"

/* externals */

IMPORT STATUS   excIntConnectTimer (VOIDFUNCPTR * vector, VOIDFUNCPTR routine);
IMPORT void     excIntHandle (void);
IMPORT UINT32   ppc405IccrVal;          /* cachability state for instruction */
IMPORT UINT32   ppc405DccrVal;          /* cachability state for data */
IMPORT UINT32   sysPVRGet(void);
IMPORT UINT32   sysSTRAPGet(void);

/* globals */

int   sysBus;                           /* system bus type (VME_BUS, etc) */
int   sysCpu      = CPU;                /* system CPU type (PPC405GP) */
char *sysBootLine = BOOT_LINE_ADRS;     /* address of boot line */
char *sysExcMsg   = EXC_MSG_ADRS;       /* catastrophic message area */
int   sysFlags;                         /* boot flags */
char  sysBootHost [BOOT_FIELD_LEN];     /* name of host from which we booted */
char  sysBootFile [BOOT_FIELD_LEN];     /* name of file from which we booted */
int   sysTimerClkFreq;                  /* Timer clock frequency             */
SYS_INFO systemInfo;                    /* PLL and system frequencies        */

/* The following variables specify the cache line size and the number of
 * cache lines for the 405GP. These are used by the architecture cache
 * libraries.
 */
const int  ppc405ICACHE_LINE_NUM = _ICACHE_LINE_NUM_405GP; /* no. of lines in ICACHE */
const int  ppc405DCACHE_LINE_NUM = _DCACHE_LINE_NUM_405GP; /* no. of lines in DCACHE */
const int  ppc405CACHE_ALIGN_SIZE = _CACHE_ALIGN_SIZE;	   /* cache line size */

/*
 * sysPhysMemDesc[] is used to initialize the Page Table Entry (PTE) array
 * used by the MMU to translate addresses with single page (4k) granularity.
 *
 * Address translations for local RAM, memory mapped PCI bus, memory mapped
 * IO space and local PROM/FLASH are set here.
 *
 * PTEs are held in a 2-level page table. There is one Level 1 page table
 * and several Level 2 page tables. The size of the Level 1 table is 4K
 * and the size of each Level 2 page table is 8K. Each Level 2 table can
 * map upto 4MB of contiguous memory space.
 * 
 * Calculating size of page table required:
 * =======================================
 * For the following memory map we can calculate the page table size 
 * required as follows:
 *
 *	Memory Area			Size				# of Level 2 pages
 *	===========			====				==================
 *	1.  Local Memory	32MB				8
 *	2.  PCI Memory		64MB				16
 *	3.  PCI IO Regn 1	64K					1
 * 	4.  PCI IO Regn 2	1MB					1
 *	5.  PCI CFG			4K					1
 * 	6.  PCI IACK		4K					0 @
 *	7.  PP Bridge		4K					1
 * 	8.  UART IO Space	4K					0 @
 *	9.  Flash			16MB				4
 *	@ - included in previous L2 page 
 *
 *	Total # of L2 pages =					32
 *	Total Memory Required for page table = 32 * 8 + 4 = 260 K.
 */

PHYS_MEM_DESC sysPhysMemDesc [] =
    {
    {
    (void *) LOCAL_MEM_LOCAL_ADRS,
    (void *) LOCAL_MEM_LOCAL_ADRS,
    LOCAL_MEM_SIZE,
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE,
    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE
    },
#ifdef INCLUDE_PCI
    {
    (void *) PCI_MEMORY_START,
    (void *) PCI_MEMORY_START,
    PCI_MEMORY_MAP_END - PCI_MEMORY_START + 1,
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE | VM_STATE_MASK_GUARDED,
    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  | VM_STATE_GUARDED
    },

    {
    (void *) PLB_PCI_IO_REGION_1_START,
    (void *) PLB_PCI_IO_REGION_1_START,
    PLB_PCI_IO_REGION_1_END - PLB_PCI_IO_REGION_1_START + 1,
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE | VM_STATE_MASK_GUARDED,
    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  | VM_STATE_GUARDED
    },

    {
    (void *) PLB_PCI_IO_REGION_2_START,
    (void *) PLB_PCI_IO_REGION_2_START,
    PLB_PCI_IO_REGION_2_MAP_END - PLB_PCI_IO_REGION_2_START + 1,
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE | VM_STATE_MASK_GUARDED,
    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  | VM_STATE_GUARDED
    },

    {
    (void *) PCI_CFGADDR,
    (void *) PCI_CFGADDR,
    PCI_CFGEND - PCI_CFGADDR + 1,
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE | VM_STATE_MASK_GUARDED,
    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  | VM_STATE_GUARDED
    },

    {
    (void *) PCI_INTERRUPT_ACK,
    (void *) PCI_INTERRUPT_ACK,
    PCI_INTERRUPT_ACK_END - PCI_INTERRUPT_ACK + 1,
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE | VM_STATE_MASK_GUARDED,
    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  | VM_STATE_GUARDED
    },

    {
    (void *) PP_BRIDGE_CR,
    (void *) PP_BRIDGE_CR,
    PP_BRIDGE_CR_END - PP_BRIDGE_CR + 1,
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE | VM_STATE_MASK_GUARDED,
    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  | VM_STATE_GUARDED
    },
#endif /* INCLUDE_PCI */
    {
    (void *) UART_MEMORY_START,
    (void *) UART_MEMORY_START,
    UART_MEMORY_END - UART_MEMORY_START + 1,
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE | VM_STATE_MASK_GUARDED,
    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  | VM_STATE_GUARDED
    },
    {
    (void *) FLASH_BASE_ADRS,
    (void *) FLASH_BASE_ADRS,
    FLASH_SIZE,
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE | VM_STATE_MASK_GUARDED,
    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  | VM_STATE_GUARDED
    }
#ifdef INCLUDE_SL811H
    ,{
    (void *) SL811H_MEMORY_START,
    (void *) SL811H_MEMORY_START,
    SL811H_MEMSIZE,
    VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE | VM_STATE_MASK_GUARDED,
    VM_STATE_VALID      | VM_STATE_WRITABLE      | VM_STATE_CACHEABLE_NOT  | VM_STATE_GUARDED
    }
#endif /* INCLUDE_SL811H */

    };

int sysPhysMemDescNumEnt = NELEMENTS (sysPhysMemDesc);

/* forward declarations */

STATUS sysInfoGet(SYS_INFO * sysInfo, int verbose);
void   sysLocalDelay(UINT32 ms_delay);
void   sysCpuCheck (void);
UCHAR  sysPciInByte(ULONG address);
void   sysPciOutByte(ULONG address, UCHAR data);
UINT16 sysPciInWord(ULONG address);
void   sysPciOutWord(ULONG address, UINT16 data);
UINT   sysPciInLong(ULONG address);
void   sysPciOutLong(ULONG address, UINT data);

/* locals */

LOCAL int sysProcNum;                     /* processor number of this CPU */
LOCAL char wrongCpuMsg[] = WRONG_CPU_MSG; 

#ifdef DOC
#define INCLUDE_TIMESTAMP
#endif

/* BSP Drivers */

/* Source Drivers */
#ifdef INCLUDE_FLASH
#include "sysNvRam.c"
#else
#include "mem/nullNvRam.c"
#endif /* INCLUDE_FLASH */

#include "vme/nullVme.c"
#include "uicIntr.c"                    /* UIC interrupt library */
#include "ppc405Timer.c"                /* ppc405 timer driver */
#include "sysSerial.c"

#ifdef INCLUDE_PCI
#include "pciConfigLib.c"
#include "pci/pciIntLib.c"
#include "pciConfigShow.c"
#ifdef INCLUDE_PCI_AUTOCONF
#include "pciAutoConfigLib.c"
#include "sysPciAutoConfig.c"
#endif /* INCLUDE_PCI_AUTOCONF */
#endif /* INCLUDE_PCI */

#ifdef INCLUDE_NETWORK
	#include "sysNet.c"
    #ifdef INCLUDE_FEI_END
    #include "sysFei82557End.c"
    #endif /* INCLUDE_FEI_END */
	#ifdef INCLUDE_EMAC_NETWORK
        #include "malLib.c"
		#include "sysIbmEmacEnd.c"
	#endif /* INCLUDE_EMAC_NETWORK */
#endif /* INCLUDE_NETWORK */

#ifdef INCLUDE_VWARE_LAUNCH
#include "sysVware.c"
#endif /* INCLUDE_VWARE_LAUNCH */

/*******************************************************************************
*
* sysModel - return the model name of the CPU board
*
* This routine returns the model name of the CPU board.
*
* RETURNS: A pointer to the string "WindRiver. SBC405GP - IBM PowerPC Rev. x".  Where
* x is either 1 or 2.
*/

char * sysModel (void)
{
	switch(vxPvrGet())
	{
	case PVR_405GP_RA:
		return ("IBM PowerPC 405GP Rev A - WindRiver.\n                                    SBC405GP & SL811HS"); /* Not supported */
	case PVR_405GP_RB:
		return ("IBM PowerPC 405GP Rev B - WindRiver.\n                                    SBC405GP & SL811HS"); /* Not supported */
	case PVR_405GP_RC:
		return ("IBM PowerPC 405GP Rev C - WindRiver.\n                                    SBC405GP & SL811HS"); /* Not supported */
	case PVR_405GP_RD:
		return ("IBM PowerPC 405GP Rev D - WindRiver.\n                                    SBC405GP & SL811HS");
	case PVR_405GP_RE:
		return ("IBM PowerPC 405GP Rev E - WindRiver.\n                                    SBC405GP & SL811HS");
	default:
		return ("Unknown processor");
	}
}

/*******************************************************************************
*
* sysBspRev - return the BSP version and revision number
*
* This routine returns a pointer to a BSP version and revision number, for
* example, 1.1/0.  BSP_REV is concatenated to BSP_VERSION and returned.
*
* RETURNS: A pointer to the BSP version/revision string.
*/

char * sysBspRev (void)
    {
    return (BSP_VERSION BSP_REV);
    }

/*******************************************************************************
*
* sysHwInit - initialize the system hardware
*
* This routine initializes various features of the Wind River SBC405GP board. This
* routine clears and turns off the external interrupts.  It is called from
* usrInit() in usrConfig.c.
*
* NOTE: This routine should not be called directly by the user application.
*
* RETURNS: N/A
*/

void sysHwInit (void)
    {

#ifdef INCLUDE_VWARE_LAUNCH
	char vwareMacAdrs[VWARE_MAC_ADRS_LEN];
#endif /* INCLUDE_VWARE_LAUNCH */

	/* Validate CPU type */
	sysCpuCheck();	
    
	/* Fill in global system information structure */

    sysInfoGet(&systemInfo, FALSE);

    /* Set the 405 Exception Vector Prefix Register */

    vxEvprSet (SBC405GP_EVPR_VAL);

    /* Interrupt system initialization */

    sysUicIntrInit ();

    /*
     * Initialize timer clock mode determine the timer clock frequency
     */

	#ifdef TIMER_CLOCK_EXTERNAL
    /*
     * Set the external timer clock bit in Chip Control Reg 1.
     */
    sysDcrCr1Set(sysDcrCr1Get() | CR1_EXT_TIMER_EN);
    sysTimerClkFreq = EXT_TIMER_CLK_FREQ;
	#else  /* Timers run at the processor clock speed */
    sysTimerClkFreq = systemInfo.freqProcessor;
	#endif /* TIMER_CLOCK_EXTERNAL */

    excIntConnect ((VOIDFUNCPTR *) _EXC_OFF_INTR, sysUicIntHandler);
    excIntCrtConnect ((VOIDFUNCPTR *) _EXC_OFF_CRTL, sysUicIntHandler);

	#ifdef INCLUDE_EMAC_NETWORK
    malReset();
	#endif /* INCLUDE_EMAC_NETWORK */

    /* Initialize the PCI configuration library, and the 405GP PCI bridge */

    #ifdef INCLUDE_PCI
    pciConfigLibInit(PCI_MECHANISM_0, (ULONG)sysPciConfigRead, (ULONG)sysPciConfigWrite, NULL);
    sysPciHostBridgeInit();
    #endif /* INCLUDE_PCI */

    /* Perform auto-configuration of devices on the PCI bus  */

    #ifdef INCLUDE_PCI_AUTOCONF
    sysPciAutoConfig();
    #endif /* INCLUDE_PCI_AUTOCONF */

	#ifdef INCLUDE_NETWORK
    sysNetHwInit();             /* network interface */
	#endif /* INCLUDE_NETWORK */

	#ifdef  FORCE_DEFAULT_BOOT_LINE
    strncpy(sysBootLine,DEFAULT_BOOT_LINE,strlen(DEFAULT_BOOT_LINE)+1);
	#else
	#ifdef INCLUDE_VWARE_LAUNCH
    
	#ifdef INCLUDE_FEI_END
    sysVwareBuildBootLine(0);
	#else
    if(sysVwareBuildBootLine((char*)&vwareMacAdrs))
    {

	sysEnetAddrSet(vwareMacAdrs[5], 
		           vwareMacAdrs[4], 
				   vwareMacAdrs[3], 
				   vwareMacAdrs[2],
				   vwareMacAdrs[1],
				   vwareMacAdrs[0]
				   );
    }
	#endif /* INCLUDE_FEI_END */

	#endif /* INCLUDE_VWARE_LAUNCH */
	#endif /* FORCE_DEFAULT_BOOT_LINE */

    /* initialize the serial driver(s) */

	#ifdef INCLUDE_SIO
    sysSerialHwInit ();
	#endif /* INCLUDE_SIO */

    /*
     * ppc405IccrVal and ppc405DccrVal define respectively the cachability
     * state of the total effective adress space at a 128 MB granularity
     * for instruction and data.  See wrSbc405gp.h
     */

	#ifdef INCLUDE_CACHE_SUPPORT
    ppc405IccrVal = SBC405GP_ICCR_VAL;
    ppc405DccrVal = SBC405GP_DCCR_VAL;
	#endif /* INCLUDE_CACHE_SUPPORT */

}

/*******************************************************************************
*
* sysHwInit2 - initialize additional system hardware
*
* This routine connects system interrupts and configures any required features
* not configured by sysHwInit().
*
* RETURNS: N/A
*/

void sysHwInit2 (void)
{
    static BOOL configured = FALSE;

    if (!configured)
    {
        /* connect system clock interrupt : excIntConnectTimer uses malloc */

        excIntConnectTimer ((VOIDFUNCPTR *) _EXC_OFF_PIT, (VOIDFUNCPTR) sysClkInt);

        /* connect auxiliary clock interrupt */
		#ifdef INCLUDE_AUX_CLK
        excIntConnectTimer ((VOIDFUNCPTR *) _EXC_OFF_FIT, (VOIDFUNCPTR) sysAuxClkInt);
		#endif /* INCLUDE_AUX_CLK */

		#ifdef INCLUDE_NETWORK
        sysNetHwInit2 ();       /* network interface */
		#endif /* INCLUDE_NETWORK */

        /* connect serial interrupts */

		#ifdef INCLUDE_SIO
        sysSerialHwInit2();
		#endif /* INCLUDE_SIO */

        configured = TRUE;
    }
}


/*******************************************************************************
*
* sysPhysMemTop - get the address of the top of physical memory
*
* This routine returns the address of the first missing byte of memory,
* which indicates the top of memory.
*

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲美女屁股眼交3| 亚洲一区二区三区国产| 国产在线视频精品一区| 欧美国产乱子伦| 91丨九色丨尤物| 国产精品国产三级国产aⅴ中文| 99久久精品99国产精品| 亚洲永久精品大片| 欧美不卡一区二区三区| 欧美猛男gaygay网站| 国产精品综合一区二区| 亚洲午夜国产一区99re久久| 欧美高清激情brazzers| 成人一区二区视频| 久久精品av麻豆的观看方式| 亚洲欧洲在线观看av| 欧美日韩不卡在线| 成人美女视频在线看| 亚洲午夜电影在线观看| 国产精品久久久久久福利一牛影视 | 色8久久人人97超碰香蕉987| 久久不见久久见免费视频7| 中文字幕亚洲在| 国产色一区二区| 欧美在线观看一区| av亚洲产国偷v产偷v自拍| 国产一区三区三区| 国产黄色精品视频| 久久99精品国产.久久久久久| 午夜精品一区二区三区三上悠亚| 国产精品久久久久aaaa樱花| 中文字幕一区视频| 国产日韩欧美a| 久久久久久久久久美女| 国产午夜精品一区二区三区四区 | av午夜精品一区二区三区| 成人一区二区三区视频在线观看| 国产主播一区二区三区| 国产精品一区在线观看你懂的| 精品一区二区在线看| 国产九九视频一区二区三区| 国产成人av一区二区| 成人av电影在线观看| 色婷婷狠狠综合| 欧美精品自拍偷拍动漫精品| 精品久久久久99| 国产精品无圣光一区二区| 亚洲欧洲一区二区三区| 一区二区三区欧美激情| 久久成人久久爱| 国产99久久久国产精品潘金网站| 成人久久18免费网站麻豆 | 色综合久久综合网欧美综合网| 99精品视频在线免费观看| 色吊一区二区三区| 国产日产欧产精品推荐色 | 91麻豆精品国产91久久久久久| 日韩欧美视频在线| 亚洲免费伊人电影| 韩国成人精品a∨在线观看| 欧美综合在线视频| 国产精品福利电影一区二区三区四区| 午夜私人影院久久久久| av网站一区二区三区| 日韩一区二区三区三四区视频在线观看 | 亚洲精品在线观看网站| 午夜精品久久久久久久久久| a亚洲天堂av| 国产精品福利一区| av在线不卡网| 中文字幕亚洲一区二区av在线| 麻豆国产精品777777在线| 欧美日韩国产一级片| 一区二区三区在线免费播放| 成人黄色在线看| 一区二区三区丝袜| 91福利视频在线| 国产一区二区女| 欧美精品在欧美一区二区少妇| 亚洲精品乱码久久久久久| 在线看日本不卡| 视频一区国产视频| 亚洲精品在线免费观看视频| 国产美女娇喘av呻吟久久| 综合久久久久久| 91精品国产免费| 激情深爱一区二区| 亚洲国产精品黑人久久久| 在线观看日产精品| 国产在线精品一区二区| 国产精品视频第一区| 欧美日韩国产高清一区二区三区| 蜜臀av性久久久久av蜜臀妖精| 久久天堂av综合合色蜜桃网| 91麻豆国产香蕉久久精品| 午夜免费久久看| 国产精品色婷婷久久58| 欧美人与禽zozo性伦| 国产99久久久国产精品免费看| 亚洲影视在线播放| 欧美国产禁国产网站cc| 日韩免费观看高清完整版在线观看| 亚洲va天堂va国产va久| 26uuu久久天堂性欧美| 国产精品自拍在线| 亚洲精品成人a在线观看| 91精品视频网| 成人丝袜高跟foot| 日韩av电影天堂| 国产免费成人在线视频| 欧美影院一区二区三区| 国产做a爰片久久毛片| 亚洲成a人v欧美综合天堂下载| 精品日韩欧美在线| 欧美四级电影在线观看| 成人黄色片在线观看| 久久福利视频一区二区| 亚洲视频一区二区免费在线观看| 日韩一区二区高清| 欧美日韩精品电影| 欧美日韩在线三区| 一本大道久久a久久精品综合| 国产一区二区美女诱惑| 国产精品伦一区| 久久精品免视看| 91精品在线观看入口| 91精品国产福利在线观看| 91麻豆精品一区二区三区| 国产乱人伦精品一区二区在线观看| 精品日产卡一卡二卡麻豆| 欧美日韩国产精品自在自线| 三级不卡在线观看| 国产三级精品在线| 欧美肥妇bbw| 在线观看日韩国产| 成人手机在线视频| 91小视频在线观看| 欧美系列亚洲系列| 欧美成人一区二区三区片免费| 欧美va亚洲va香蕉在线| 国产精品久久久久久久久动漫 | 天天射综合影视| 日本不卡一二三| 国产精品一区二区x88av| 成人99免费视频| 制服丝袜成人动漫| 久久久久国产成人精品亚洲午夜| 国产欧美精品日韩区二区麻豆天美| 久久精品亚洲乱码伦伦中文| xf在线a精品一区二区视频网站| 久久久91精品国产一区二区精品| 亚洲欧洲精品一区二区三区 | 五月天亚洲精品| 狠狠色综合日日| 成人午夜电影网站| 欧美一区二区网站| 亚洲精品欧美在线| 免费一级片91| 在线看国产一区| 久久久综合精品| 亚洲国产你懂的| 国产91对白在线观看九色| 欧美日韩aaaaa| 一区二区久久久| 精品一区二区三区视频在线观看| 欧美视频在线一区二区三区 | 亚洲一区在线观看免费 | 精品影视av免费| 成人午夜电影小说| 经典三级视频一区| 高清不卡在线观看| 欧美一级午夜免费电影| 一级日本不卡的影视| 香蕉成人啪国产精品视频综合网| 日本vs亚洲vs韩国一区三区二区| 日本乱人伦一区| 亚洲精品国产视频| 99精品国产一区二区三区不卡| 国产精品日产欧美久久久久| 成人国产电影网| 亚洲精品国产a| 91理论电影在线观看| 一区二区三区欧美久久| 欧美变态tickling挠脚心| 国产伦精一区二区三区| 国产亚洲精品福利| 色综合久久综合中文综合网| 日韩av一级片| 18涩涩午夜精品.www| 欧美日韩一区二区三区在线| 五月婷婷另类国产| 久久久精品日韩欧美| 色狠狠综合天天综合综合| 日韩福利电影在线观看| 2020日本不卡一区二区视频| 91丨九色丨国产丨porny| 亚洲成人动漫一区| 国产欧美一区二区三区鸳鸯浴| 欧美日韩一区成人| 成人中文字幕合集|