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

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

?? syslib.c

?? sl811hs_vxworks_host_driver_v1_0_13 sl811的主驅動
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* 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.
*

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91福利社在线观看| 国产农村妇女毛片精品久久麻豆| 日韩亚洲欧美综合| 亚洲图片欧美激情| 青青草视频一区| 色视频一区二区| 国产女人18毛片水真多成人如厕 | 日韩欧美国产麻豆| 亚洲精品国产a| 成人午夜电影久久影院| 日韩欧美的一区二区| 亚洲国产成人av好男人在线观看| 成人av午夜电影| 久久亚洲影视婷婷| 久久激情五月激情| 91精品国产91久久久久久最新毛片| 综合激情成人伊人| 豆国产96在线|亚洲| 久久综合色8888| 日韩av午夜在线观看| 欧美喷水一区二区| 亚洲福利国产精品| 欧美午夜不卡视频| 亚洲电影中文字幕在线观看| 91福利在线看| 亚洲成人综合网站| 欧美日韩一二区| 五月激情六月综合| 555www色欧美视频| 日本va欧美va精品发布| 91精品国产色综合久久不卡电影 | 免费在线成人网| 91精品国产欧美一区二区成人| 五月天亚洲婷婷| 91精品国产福利在线观看 | 一区二区三区四区乱视频| 99久久精品国产麻豆演员表| 国产精品久久久久一区| 99综合影院在线| 亚洲精品videosex极品| 在线观看成人小视频| 五月天亚洲婷婷| 日韩久久免费av| 国产精品一二三| 17c精品麻豆一区二区免费| 91色婷婷久久久久合中文| 亚洲国产美女搞黄色| 777奇米四色成人影色区| 免费一区二区视频| 久久久精品国产免大香伊| 99精品国产一区二区三区不卡| 一区二区三区中文在线观看| 欧美日韩在线播放三区四区| 喷白浆一区二区| 国产欧美日韩卡一| 欧美在线免费观看亚洲| 欧美四级电影网| 另类综合日韩欧美亚洲| 国产精品丝袜在线| 欧美吻胸吃奶大尺度电影 | 午夜成人免费电影| 26uuu另类欧美亚洲曰本| 97se亚洲国产综合自在线观| 日韩精品国产欧美| 亚洲国产精品99久久久久久久久| 色婷婷亚洲一区二区三区| 美女尤物国产一区| 综合网在线视频| 91精品黄色片免费大全| caoporm超碰国产精品| 五月婷婷久久综合| 国产精品久久久久久久久免费丝袜 | 精品精品欲导航| 成年人网站91| 狂野欧美性猛交blacked| 欧美国产日本视频| 制服丝袜av成人在线看| 成人一区二区视频| 免费黄网站欧美| 亚洲欧美日韩一区| 久久九九99视频| 中文字幕日韩一区| 欧美电影免费观看高清完整版在线 | 日韩福利视频导航| 综合久久综合久久| 久久欧美中文字幕| 欧美一级高清大全免费观看| av电影在线不卡| 国产美女在线精品| 美日韩一级片在线观看| 亚洲午夜在线电影| 成人欧美一区二区三区1314| 欧美精品一区二区在线观看| 制服丝袜亚洲精品中文字幕| 在线免费观看日韩欧美| 99在线视频精品| 成人动漫精品一区二区| 国产精品一级片在线观看| 日韩avvvv在线播放| 亚洲国产aⅴ成人精品无吗| 亚洲视频资源在线| 精品一区免费av| 日韩黄色免费电影| 五月天网站亚洲| 婷婷丁香久久五月婷婷| 亚洲另类一区二区| 成人免费小视频| 国产精品久久久久7777按摩| 国产免费观看久久| 欧美国产一区二区在线观看 | 欧美久久久久久久久中文字幕| 色婷婷国产精品| 日本道免费精品一区二区三区| 91免费看`日韩一区二区| 北条麻妃国产九九精品视频| 成人av免费在线播放| 不卡一区在线观看| 99在线热播精品免费| 91在线免费看| 欧美日韩一区在线| 51精品视频一区二区三区| 宅男在线国产精品| 精品美女一区二区| 欧美国产亚洲另类动漫| 国产精品久久久久久久久免费丝袜 | aaa亚洲精品| 欧美性三三影院| 制服丝袜国产精品| 久久综合久久久久88| 国产精品美女久久久久久| 亚洲精品乱码久久久久久| 亚洲成国产人片在线观看| 秋霞电影一区二区| 国产成人综合亚洲91猫咪| 91亚洲精品久久久蜜桃网站| 欧美色图免费看| 亚洲精品一区二区三区精华液 | 精品sm在线观看| 国产精品久久久久久一区二区三区 | 国产女人水真多18毛片18精品视频| 中文字幕在线观看不卡视频| 亚洲一区二区三区在线播放| 麻豆高清免费国产一区| 盗摄精品av一区二区三区| 在线一区二区观看| 日韩欧美国产一二三区| 国产精品三级电影| 亚洲成人手机在线| 国产精品一区二区久久精品爱涩| 91丨九色丨黑人外教| 91精品国产91久久久久久一区二区| 国产亚洲精品资源在线26u| 日韩毛片一二三区| 久久电影网站中文字幕| 99久久精品一区| 精品理论电影在线观看| 亚洲另类春色国产| 久久综合中文字幕| 一区二区免费在线| 国产一区二区美女诱惑| 欧美日韩在线三区| 国产精品久久久久久久久免费相片| 亚洲二区在线观看| av成人老司机| 精品国产网站在线观看| 夜夜嗨av一区二区三区中文字幕 | 亚洲va国产天堂va久久en| 国产成人av电影在线| 欧美色视频在线| 国产精品不卡在线| 麻豆国产精品官网| 欧美日韩一卡二卡| 亚洲色图清纯唯美| 国产成人在线看| 日韩午夜激情电影| 五月激情丁香一区二区三区| 99久久99久久精品国产片果冻| 2024国产精品| 裸体健美xxxx欧美裸体表演| 在线亚洲人成电影网站色www| 国产精品免费久久| 国产麻豆一精品一av一免费| 538在线一区二区精品国产| 亚洲午夜国产一区99re久久| 成人av高清在线| 国产欧美精品一区| 国产一区免费电影| 精品蜜桃在线看| 久久国内精品视频| 日韩欧美中文字幕制服| 视频一区二区三区中文字幕| 日本高清无吗v一区| 亚洲精品免费电影| 91麻豆精品秘密| 亚洲欧美日韩国产手机在线| 色综合一个色综合| 亚洲精品一卡二卡| 在线亚洲人成电影网站色www| 亚洲精品国产一区二区精华液 | 狠狠色狠狠色合久久伊人|