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

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

?? syslib.c

?? SL811 USB接口芯片用于VxWorks系統(tǒng)的驅(qū)動(dòng)源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號(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.
*

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av亚洲精华国产精华精| 久久久综合精品| 色爱区综合激月婷婷| a美女胸又www黄视频久久| 国产精品一区二区在线播放| 国产一区二区中文字幕| 韩国成人福利片在线播放| 美女国产一区二区| 国内一区二区在线| 国产一区91精品张津瑜| 国产高清一区日本| 北条麻妃国产九九精品视频| 92国产精品观看| 一本一道综合狠狠老| 色综合色综合色综合色综合色综合| 99re成人在线| 欧美色综合久久| 91精品在线一区二区| 欧美成人a在线| 久久精品亚洲国产奇米99| 亚洲国产成人私人影院tom | 亚洲欧美另类综合偷拍| 亚洲素人一区二区| 亚洲成av人综合在线观看| 免费看精品久久片| 国产精品影视在线| 色综合天天综合色综合av | 久久免费午夜影院| 成人免费在线视频| 亚洲成年人网站在线观看| 蜜桃视频一区二区三区| 粉嫩绯色av一区二区在线观看| 99视频一区二区| 欧美日韩一本到| 久久在线免费观看| 自拍偷拍国产精品| 美女久久久精品| 99精品偷自拍| 91麻豆精品91久久久久久清纯 | 中文字幕一区二区三区不卡在线| 亚洲天堂久久久久久久| 人人爽香蕉精品| 成人av在线看| 欧美一级艳片视频免费观看| 国产亚洲一区二区三区在线观看| 一区二区成人在线观看| 精彩视频一区二区| 色香蕉成人二区免费| 日韩免费成人网| 一区二区三区四区不卡在线| 日本美女一区二区| 一本一道久久a久久精品| 精品国产三级a在线观看| 亚洲男人电影天堂| 久久不见久久见中文字幕免费| 91在线云播放| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 青青草原综合久久大伊人精品优势| 国产精品69久久久久水密桃| 欧美特级限制片免费在线观看| 精品99久久久久久| 亚洲小说春色综合另类电影| 国产精品一二三四| 日韩亚洲欧美一区| 一区二区三区免费看视频| 国产电影一区在线| 日韩视频一区二区在线观看| 亚洲免费观看在线观看| 国产白丝精品91爽爽久久 | 亚洲欧美激情视频在线观看一区二区三区 | 日韩美女主播在线视频一区二区三区| 1000精品久久久久久久久| 精品一区二区三区免费| 欧美精品亚洲二区| 亚洲午夜精品在线| 99国产精品久久久久久久久久| 久久精品夜色噜噜亚洲a∨| 免费观看91视频大全| 欧美日韩一区成人| 一个色妞综合视频在线观看| 成人精品视频一区| 久久久精品一品道一区| 精品一区二区三区久久| 欧美精品丝袜久久久中文字幕| 一区二区三区小说| 99久久婷婷国产综合精品| 国产丝袜欧美中文另类| 激情亚洲综合在线| 欧美电影免费观看高清完整版在线 | 成人黄页在线观看| 欧美激情综合在线| 国产九九视频一区二区三区| 欧美一级夜夜爽| 美女精品一区二区| 欧美mv日韩mv| 老司机精品视频一区二区三区| 欧美一区二区三区的| 亚洲成人动漫在线免费观看| 91黄色免费版| 亚洲自拍偷拍麻豆| 欧美三级中文字| 亚洲电影一级片| 日韩一级片网站| 久久精品国产99国产| 日韩欧美国产综合一区 | 在线免费观看视频一区| 亚洲三级小视频| 欧美亚洲一区二区在线观看| 亚洲国产日韩a在线播放| 欧美私人免费视频| 日韩专区中文字幕一区二区| 欧美理论电影在线| 日韩制服丝袜av| 精品国产一二三| 成人精品视频一区二区三区| 亚洲色图视频网| 欧美无人高清视频在线观看| 午夜在线成人av| 欧美成人乱码一区二区三区| 精品一区二区久久| 中文字幕免费不卡| 日本精品一区二区三区四区的功能| 亚洲午夜在线视频| 宅男在线国产精品| 国产一区二区在线看| 欧美激情在线一区二区| 91丨九色丨蝌蚪富婆spa| 亚洲国产综合人成综合网站| 51精品秘密在线观看| 韩国精品免费视频| 亚洲丝袜精品丝袜在线| 欧美电影在哪看比较好| 国产一区美女在线| 亚洲精品午夜久久久| 制服丝袜激情欧洲亚洲| 国产永久精品大片wwwapp | 成人性生交大片免费看视频在线| 亚洲天堂成人在线观看| 欧美精品电影在线播放| 国模套图日韩精品一区二区| 中文字幕一区二区三区在线不卡| 欧美网站大全在线观看| 激情综合色综合久久| 成人免费一区二区三区视频| 欧美日韩一区成人| 成人午夜在线播放| 丝瓜av网站精品一区二区| 久久精品无码一区二区三区| 欧洲精品在线观看| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲欧美日本在线| 欧美成人一区二区| 色94色欧美sute亚洲线路一ni| 免费日本视频一区| 亚洲欧美经典视频| 久久久精品国产免大香伊| 欧美亚洲国产怡红院影院| 国产久卡久卡久卡久卡视频精品| 亚洲自拍偷拍图区| 国产精品午夜久久| 欧美丰满高潮xxxx喷水动漫| 国产成人午夜99999| 天天操天天干天天综合网| 国产精品美女久久久久aⅴ| 欧美大片国产精品| 欧美中文字幕不卡| 粉嫩13p一区二区三区| 美女爽到高潮91| 亚洲五码中文字幕| 日韩毛片视频在线看| 精品久久人人做人人爽| 欧美色网站导航| eeuss鲁片一区二区三区在线看| 麻豆成人91精品二区三区| 亚洲一区在线观看视频| 国产精品嫩草久久久久| 欧美zozozo| 51精品国自产在线| 欧美中文字幕一区二区三区| 99热在这里有精品免费| 国产精品1区2区3区在线观看| 日本视频中文字幕一区二区三区| 亚洲美女视频一区| 国产精品美日韩| 久久久久国产精品免费免费搜索| 欧美一区二区精品久久911| 欧美日韩亚洲高清一区二区| 91免费版在线看| 不卡av在线免费观看| 国产成人自拍网| 激情图片小说一区| 老司机午夜精品| 美女视频网站久久| 美女精品自拍一二三四| 日产国产欧美视频一区精品| 亚洲丶国产丶欧美一区二区三区| 一区二区三区高清在线| 亚洲女人的天堂| 亚洲精品免费一二三区| 亚洲日本在线天堂|