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

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

?? sysalib.s

?? vxwork arm920 bsp開發包
?? S
字號:
/* sysALib.s - ARM Integrator system-dependent routines *//* Copyright 1999-2001 ARM Limited *//* Copyright 1999-2001 Wind River Systems, Inc. *//*modification history--------------------01h,09oct01,jpd  added clock speed setting for 946ES.01g,03oct01,jpd  tidied slightly.01f,28sep01,pr   added support for ARM946E.01g,04jun01,rec  memory clock rate changes for 740t01f,21feb01,h_k  added support for ARM966ES and ARM966ES_T.01e,23oct00,jpd  changed speeds on 920T; added conditional early		 enabling of instruction cache on 920T.01d,21feb00,jpd  added further initialisation code.01c,07feb00,jpd  added support for ARM720T and ARM920T.01b,13jan00,pr	 added support for ARM740T.01a,15nov99,ajb  copied from pid940t version 01h.*//*DESCRIPTIONThis module contains system-dependent routines written in assemblylanguage.  It contains the entry code, sysInit(), for VxWorks imagesthat start running from RAM, such as 'vxWorks'.  These images areloaded into memory by some external program (e.g., a boot ROM) and thenstarted.  The routine sysInit() must come first in the text segment.Its job is to perform the minimal setup needed to call the generic Croutine usrInit().sysInit() masks interrupts in the processor and the interruptcontroller and sets the initial stack pointer.  Other hardware anddevice initialisation is performed later in the sysHwInit routine insysLib.c.NOTEThe routines in this module don't use the "C" frame pointer %r11@ ! orestablish a stack frame.SEE ALSO:.I "ARM Architecture Reference Manual,".I "ARM 7TDMI Data Sheet,".I "ARM 720T Data Sheet,".I "ARM 740T Data Sheet,".I "ARM 920T Technical Reference Manual",.I "ARM 940T Technical Reference Manual",.I "ARM 946E-S Technical Reference Manual",.I "ARM 966E-S Technical Reference Manual",.I "ARM Reference Peripherals Specification,".I "ARM Integrator/AP User Guide",.I "ARM Integrator/CM7TDMI User Guide",.I "ARM Integrator/CM720T User Guide",.I "ARM Integrator/CM740T User Guide",.I "ARM Integrator/CM920T User Guide",.I "ARM Integrator/CM940T User Guide",.I "ARM Integrator/CM946E User Guide",.I "ARM Integrator/CM9x6ES Datasheet".*/#define _ASMLANGUAGE#include "vxWorks.h"#include "asm.h"#include "regs.h"#include "sysLib.h"#include "config.h"#include "arch/arm/mmuArmLib.h"        .data        .globl   VAR(copyright_wind_river)        .long    VAR(copyright_wind_river)/* internals */	.globl	FUNC(sysInit)		/* start of system code */	.globl	FUNC(sysIntStackSplit)	/* routine to split interrupt stack *//* externals */	.extern	FUNC(usrInit)		/* system initialization routine */	.extern	FUNC(vxSvcIntStackBase) /* base of SVC-mode interrupt stack */	.extern	FUNC(vxSvcIntStackEnd)	/* end of SVC-mode interrupt stack */	.extern	FUNC(vxIrqIntStackBase) /* base of IRQ-mode interrupt stack */	.extern	FUNC(vxIrqIntStackEnd)	/* end of IRQ-mode interrupt stack */#if defined(CPU_720T) || defined(CPU_720T_T) || \    defined(CPU_740T) || defined(CPU_740T_T)/* variables */	.data	.balign	1			/* no alignment necessary */	/* variable used with a SWPB instruction to drain the write-buffer */sysCacheSwapVar:	.byte	0	.balign	4#endif /* defined(720T/720T_T740T/740T_T) */	.text	.balign 4/********************************************************************************* sysInit - start after boot** This routine is the system start-up entry point for VxWorks in RAM, the* first code executed after booting.  It disables interrupts, sets up* the stack, and jumps to the C routine usrInit() in usrConfig.c.** The initial stack is set to grow down from the address of sysInit().  This* stack is used only by usrInit() and is never used again.  Memory for the* stack must be accounted for when determining the system load address.** NOTE: This routine should not be called by the user.** RETURNS: N/A* sysInit ()              /@ THIS IS NOT A CALLABLE ROUTINE @/*/_ARM_FUNCTION(sysInit)#if defined(CPU_720T)  || defined(CPU_720T_T) || \    defined(CPU_740T)  || defined(CPU_740T_T) || \    defined(CPU_920T)  || defined(CPU_920T_T) || \    defined(CPU_940T)  || defined(CPU_940T_T) || \    defined(CPU_946ES) || defined(CPU_946ES_T)	/*	 * Set processor and MMU to known state as follows (we may have not	 * been entered from a reset). We must do this before setting the CPU	 * mode as we must set PROG32/DATA32.	 *	 * MMU Control Register layout.	 *	 * bit	 *  0 M 0 MMU disabled	 *  1 A 0 Address alignment fault disabled, initially	 *  2 C 0 Data cache disabled	 *  3 W 0 Write Buffer disabled	 *  4 P 1 PROG32	 *  5 D 1 DATA32	 *  6 L 1 Should Be One (Late abort on earlier CPUs)	 *  7 B ? Endianness (1 => big)	 *  8 S 0 System bit to zero } Modifies MMU protections, not really	 *  9 R 1 ROM bit to one     } relevant until MMU switched on later.	 * 10 F 0 Should Be Zero	 * 11 Z 0 Should Be Zero (Branch prediction control on 810)	 * 12 I 0 Instruction cache control	 */	/* Setup MMU Control Register */	MOV	r1, #MMU_INIT_VALUE		/* Defined in mmuArmLib.h */#if defined(CPU_920T) || defined(CPU_920T_T)#if defined(INTEGRATOR_EARLY_I_CACHE_ENABLE)	ORR	r1, r1, #MMUCR_I_ENABLE		/* conditionally enable Icache*/#endif#endif	MCR	CP_MMU, 0, r1, c1, c0, 0	/* Write to MMU CR */	/*	 * If MMU was on before this, then we'd better hope it was set	 * up for flat translation or there will be problems. The next	 * 2/3 instructions will be fetched "translated" (number depends	 * on CPU).	 *	 * We would like to discard the contents of the Write-Buffer	 * altogether, but there is no facility to do this. Failing that,	 * we do not want any pending writes to happen at a later stage,	 * so drain the Write-Buffer, i.e. force any pending writes to	 * happen now.	 */#if defined(CPU_720T) || defined(CPU_720T_T) || \    defined(CPU_740T) || defined(CPU_740T_T)	LDR	r2, L$_sysCacheSwapVar	/* R2 -> sysCacheSwapVar */	SWPB	r1, r1, [r2]	/* Flush, (i.e. invalidate) all entries in the ID-cache */	MCR	CP_MMU, 0, r1, c7, c0, 0	/* Flush (inval) all ID-cache */#endif /* defined(CPU_720T,740T) */#if defined(CPU_920T)  || defined(CPU_920T_T) || \    defined(CPU_946ES) || defined(CPU_946ES_T)	MOV	r1, #0				/* data SBZ */	MCR	CP_MMU, 0, r1, c7, c10, 4	/* drain write-buffer */	/* Flush (invalidate) both I and D caches */	MCR	CP_MMU, 0, r1, c7, c7, 0	/* R1 = 0 from above, data SBZ*/#endif /* defined(CPU_920T,946ES) */#if defined(CPU_940T) || defined(CPU_940T_T)	LDR	r1, L$_sysCacheUncachedAdrs	/* R1 -> uncached area */	LDR	r1, [r1]			/* drain write-buffer */	/* Flush (invalidate) both caches */	MOV	r1, #0				/* data SBZ */	MCR	CP_MMU, 0, r1, c7, c5, 0	/* Flush (inval) all I-cache */	MCR	CP_MMU, 0, r1, c7, c6, 0	/* Flush (inval) all D-cache */#endif /* defined(CPU_940T,940T_T) */#if defined(CPU_720T) || defined(CPU_720T_T) || \    defined(CPU_920T) || defined(CPU_920T_T)        /*	 * Set Process ID Register to zero, this effectively disables	 * the process ID remapping feature.	 */	MOV	r1, #0	MCR	CP_MMU, 0, r1, c13, c0, 0#endif /* defined(CPU_720T,920T) */#endif /* defined(CPU_720T,740T,920T,940T,946ES) */	/* disable interrupts in CPU and switch to SVC32 mode */	MRS	r1, cpsr	BIC	r1, r1, #MASK_MODE	ORR	r1, r1, #MODE_SVC32 | I_BIT | F_BIT	MSR	cpsr, r1	/*	 * CPU INTERRUPTS DISABLED	 *	 * disable individual interrupts in the interrupt controller	 */	MOV	r2, #IC_BASE			/* R2->interrupt controller */	MVN	r1, #0				/* &FFFFFFFF */	STR	r1, [r2, #FIQ_DISABLE-IC_BASE]	/* disable all FIQ sources */	STR	r1, [r2, #IRQ_DISABLE-IC_BASE]	/* disable all IRQ sources */	/* Setup asynchronous clocking (eg. core and memory clocks different) */	LDR	r1, =INTEGRATOR_HDR_BASE	LDR	r2, [r1, #INTEGRATOR_HDR_OSC_OFFSET]	AND	r2, r2, #(3 << 23)	CMP	r2, #(1 << 23)	BNE	clock1#if defined(CPU_920T) || defined(CPU_920T_T) || \    defined(CPU_940T) || defined(CPU_940T_T)	/*	 * if HDR_OSC indicates (bits[23:24] = 01), set	 * implementation-specific bits in the MMU control register - set	 * asynchronous mode.	 */	MRC	CP_MMU, 0, r2, c1, c0, 0	ORR	r2, r2, #MMUCR_ASYNC	MCR	CP_MMU, 0, r2, c1, c0, 0#endifclock1:	/* If bits[23:24] were 0, set asynchronous mode in HDR_CTRL */	LDRLT	r2, [r1, #INTEGRATOR_HDR_CTRL_OFFSET]	BICLT	r2, r2, #INTEGRATOR_HDR_CTRL_FASTBUS	STRLT	r2, [r1, #INTEGRATOR_HDR_CTRL_OFFSET]	/*	 * setup default clocks	 *	 * Core clock must always be greater than memory clock.	 *	 * Read HDR_PROC register, if this is non zero then there is no	 * coprocessor, in this case use the default settings. First,	 * load the default settings.	 */	LDR	r2, =INTEGRATOR_HDR_OSC_DFLT_VAL	LDR	r1, =INTEGRATOR_HDR_BASE	LDR	r3, [r1, #INTEGRATOR_HDR_PROC_OFFSET]	CMP	r3, #0	BNE	write_clock		/*	 * HDR_PROC was zero => there is a coprocessor. Get the processor ID.	 *	 * If the processor type is not recognised then the default settings	 * will be used.	 *	 * For safety's sake, make the following conditional upon there being a	 * coprocessor in the CPU.	 */#if defined(CPU_720T)  || defined(CPU_720T_T)  || \    defined(CPU_740T)  || defined(CPU_740T_T)  || \    defined(CPU_920T)  || defined(CPU_920T_T)  || \    defined(CPU_940T)  || defined(CPU_940T_T)  || \    defined(CPU_946ES) || defined(CPU_946ES_T) || \    defined(CPU_966ES) || defined(CPU_966ES_T)	MRC	CP_MMU, 0, r1, c0, c0, 0	MOV	r3, r1, LSL #16	MOV	r3, r3, LSR #20		/* move bits 15-3 to 12-0 */	CMP	r3, #0x720		/* is this a 720 */	LDREQ	r2, =INTEGRATOR_HDR_OSC_720T_VAL	BEQ	write_clock	CMP	r3, #0x740		/* is this a 740 */        LDREQ   r2, =INTEGRATOR_HDR_OSC_740T_VAL	BEQ     write_clock	CMP	r3, #0x940		/* is this a 940 */	LDREQ	r2, =INTEGRATOR_HDR_OSC_940T_VAL	BEQ	write_clock	LDR	r12, =0x946	CMP	r3, r12			/* is this a 946ES */	LDREQ	r2, =INTEGRATOR_HDR_OSC_946ES_VAL	BEQ	write_clock	CMP	r3, #0x920		/* is this a 920 */	LDREQ	r2, =INTEGRATOR_HDR_OSC_920T_VAL	BEQ	write_clock	MOV	r1, r3, LSR #4		/* is this a 966 */	CMP	r1, #0x96	BNE	write_clock	AND	r1, r3, #0xF	CMP	r1, #6	LDREQ	r2, =INTEGRATOR_HDR_OSC_966ES_VAL#endif /* defined(CPU_720T/740T/920T/940T/966ES) */write_clock:	/* Write clock settings */	LDR	r1, =INTEGRATOR_HDR_BASE	LDR	r3, =0xA05F	STR	r3, [r1, #INTEGRATOR_HDR_LOCK_OFFSET]	STR	r2, [r1, #INTEGRATOR_HDR_OSC_OFFSET]	MOV	r2, #0	STR	r2, [r1, #INTEGRATOR_HDR_LOCK_OFFSET]	/* Set up System BUS and PCI clocks */	LDR	r1, =INTEGRATOR_SC_BASE	STR	r3, [r1, #INTEGRATOR_SC_LOCK_OFFSET]	LDR	r2, =(INTEGRATOR_SC_OSC_SYS_20MHz | INTEGRATOR_SC_OSC_PCI_33MHz)	STR	r2, [r1, #INTEGRATOR_SC_OSC_OFFSET]	MOV	r2, #0	STR	r2, [r1, #INTEGRATOR_SC_LOCK_OFFSET]	/* Initialize static memory. */	MOV	r1, #INTEGRATOR_EBI_BASE		/* CS0 - ROM (Boot Flash) */	MOV	r2, #INTEGRATOR_EBI_8_BIT | INTEGRATOR_EBI_WS_3	STR	r2, [r1, #INTEGRATOR_EBI_CSR0_OFFSET]	/* CS1 - Flash (Application Flash) */	MOV	r2, #INTEGRATOR_EBI_32_BIT | INTEGRATOR_EBI_WS_3	STR	r2, [r1, #INTEGRATOR_EBI_CSR1_OFFSET]	/* CS2 - SSRAM (Not on Rev A Boards) */	MOV	r2, #INTEGRATOR_EBI_32_BIT | INTEGRATOR_EBI_WRITE_ENABLE | \		     INTEGRATOR_EBI_SYNC | INTEGRATOR_EBI_WS_2	STR	r2, [r1, #INTEGRATOR_EBI_CSR2_OFFSET]	/* CS3 - Unused (Set up for debug) */	MOV	r2, #INTEGRATOR_EBI_8_BIT | INTEGRATOR_EBI_WRITE_ENABLE	STR	r2, [r1, #INTEGRATOR_EBI_CSR3_OFFSET]	/* set initial stack pointer so stack grows down from start of code */	ADR	sp, FUNC(sysInit)		/* initialise stack pointer */	/* now call usrInit */	MOV	fp, #0			/* initialise frame pointer */	MOV	r0, #BOOT_WARM_AUTOBOOT	/* pass startType */#if	(ARM_THUMB)	LDR	r12, L$_usrInit	BX	r12#else	B	FUNC(usrInit)#endif	/* (ARM_THUMB) *//********************************************************************************* sysIntStackSplit - split interrupt stack and set interrupt stack pointers** This routine is called, via a function pointer, during kernel* initialisation.  It splits the allocated interrupt stack into IRQ and* SVC-mode stacks and sets the processor's IRQ stack pointer. Note that* the pointer passed points to the bottom of the stack allocated i.e.* highest address+1.** IRQ stack needs 6 words per nested interrupt;* SVC-mode will need a good deal more for the C interrupt handlers.* For now, use ratio 1:7 with any excess allocated to the SVC-mode stack* at the lowest address.** Note that FIQ is not handled by VxWorks so no stack is allocated for it.** The stacks and the variables that describe them look like this.* .CS**         - HIGH MEMORY -*     ------------------------ <--- vxIrqIntStackBase (r0 on entry)*     |                      |*     |       IRQ-mode       |*     |    interrupt stack   |*     |                      |*     ------------------------ <--{ vxIrqIntStackEnd*     |                      |    { vxSvcIntStackBase*     |       SVC-mode       |*     |    interrupt stack   |*     |                      |*     ------------------------ <--- vxSvcIntStackEnd*         - LOW  MEMORY -* .CE** NOTE: This routine should not be called by the user.* void sysIntStackSplit*     (*     char *pBotStack   /@ pointer to bottom of interrupt stack @/*     long size		/@ size of stack @/*     )*/_ARM_FUNCTION_CALLED_FROM_C(sysIntStackSplit)	/*	 * r0 = base of space allocated for stacks (i.e. highest address)	 * r1 = size of space	 */	SUB	r2, r0, r1			/* r2->lowest usable address */	LDR	r3, L$_vxSvcIntStackEnd	STR	r2, [r3]			/*  == end of SVC-mode stack */	SUB	r2, r0, r1, ASR #3		/* leave 1/8 for IRQ */	LDR	r3, L$_vxSvcIntStackBase	STR	r2, [r3]	/* now allocate IRQ stack, setting irq_sp */	LDR	r3, L$_vxIrqIntStackEnd	STR	r2, [r3]	LDR	r3, L$_vxIrqIntStackBase	STR	r0, [r3]	MRS	r2, cpsr	BIC	r3, r2, #MASK_MODE	ORR	r3, r3, #MODE_IRQ32 | I_BIT	/* set irq_sp */	MSR	cpsr, r3	MOV	sp, r0	/* switch back to original mode and return */	MSR	cpsr, r2#if	(ARM_THUMB)	BX	lr#else	MOV	pc, lr#endif	/* (ARM_THUMB) */		/******************************************************************************//* * PC-relative-addressable pointers - LDR Rn,=sym is broken * note "_" after "$" to stop preprocessor preforming substitution */	.balign	4L$_vxSvcIntStackBase:	.long	VAR(vxSvcIntStackBase)L$_vxSvcIntStackEnd:	.long	VAR(vxSvcIntStackEnd)L$_vxIrqIntStackBase:	.long	VAR(vxIrqIntStackBase)L$_vxIrqIntStackEnd:	.long	VAR(vxIrqIntStackEnd)#if	(ARM_THUMB)L$_usrInit:	.long	FUNC(usrInit)#endif	/* (ARM_THUMB) */#if defined(CPU_720T) || defined(CPU_720T_T) || \    defined(CPU_740T) || defined(CPU_740T_T)L$_sysCacheSwapVar:	.long   sysCacheSwapVar#endif#if defined(CPU_940T) || defined(CPU_940T_T)L$_sysCacheUncachedAdrs:	.long   SYS_CACHE_UNCACHED_ADRS#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产ts人妖一区二区| 日韩一区二区三区在线| 欧美日韩视频专区在线播放| 精品久久久久久久久久久院品网| 一区二区三区国产精华| 国产精品一区二区视频| 欧美日韩一级视频| 国产精品国产三级国产有无不卡| 蜜桃精品在线观看| 欧美日韩三级视频| 国产精品麻豆99久久久久久| 国内不卡的二区三区中文字幕| 欧美日韩免费高清一区色橹橹 | 亚洲人吸女人奶水| 国精产品一区一区三区mba桃花| 欧美色视频一区| 国产精品久久久久aaaa| 国产精品18久久久久久久久| 欧美剧情电影在线观看完整版免费励志电影 | 久久在线免费观看| 免费在线观看精品| 日韩视频免费观看高清完整版| 亚洲高清中文字幕| 欧洲精品视频在线观看| 亚洲美女一区二区三区| 色天使久久综合网天天| 亚洲三级在线免费观看| 成人黄色综合网站| 国产精品久久国产精麻豆99网站| 国产精品一级片| 国产视频一区在线播放| 国产美女在线观看一区| 国产亚洲欧美在线| 国产99精品国产| 国产日韩综合av| 成人开心网精品视频| 国产精品丝袜黑色高跟| 91麻豆福利精品推荐| 亚洲女厕所小便bbb| 欧美亚洲另类激情小说| 亚洲午夜电影网| 欧美一区二区三区不卡| 久久99深爱久久99精品| 国产日韩欧美综合在线| 成人激情免费视频| 一区二区三区在线影院| 欧美日韩激情在线| 美国毛片一区二区| 日本一区二区视频在线| 色八戒一区二区三区| 日韩av中文字幕一区二区| 日韩女优毛片在线| 成人av免费观看| 一区二区激情视频| 久久久综合激的五月天| 国产不卡在线播放| 一区二区三区久久久| 欧美一卡在线观看| 国产成人精品三级麻豆| 亚洲国产精品久久艾草纯爱 | 日韩中文字幕区一区有砖一区| 欧美一区二区三区色| 国产真实乱子伦精品视频| 中文一区二区在线观看| 在线观看成人免费视频| 久久精品国产77777蜜臀| 欧美激情在线看| 欧美日韩国产首页| 国产suv精品一区二区883| 亚洲精品国产a| 337p日本欧洲亚洲大胆精品| 色综合久久久久综合体桃花网| 麻豆成人久久精品二区三区小说| 中文字幕欧美国产| 日韩一级精品视频在线观看| 国产麻豆欧美日韩一区| 亚洲最新视频在线观看| 精品国产污污免费网站入口| 色综合欧美在线视频区| 久久99久久99小草精品免视看| 亚洲欧美自拍偷拍| 精品处破学生在线二十三| 色综合夜色一区| 国产suv精品一区二区883| 欧美aa在线视频| 亚洲三级在线播放| 国产欧美一区二区在线| 日韩三区在线观看| 欧洲av一区二区嗯嗯嗯啊| 国产69精品久久久久777| 日韩av电影一区| 亚洲综合视频在线观看| 国产精品你懂的| 国产欧美一区二区三区沐欲| 日韩女优av电影在线观看| 欧美午夜精品久久久| 不卡一卡二卡三乱码免费网站| 久久99国产乱子伦精品免费| 天天影视涩香欲综合网| 亚洲激情一二三区| 国产精品国产三级国产普通话蜜臀| 欧美精品一区二区三区久久久| 欧美日韩一区二区在线视频| 在线欧美日韩精品| 91亚洲精品久久久蜜桃| 粉嫩在线一区二区三区视频| 国产一区二区电影| 国产精品资源站在线| 久久福利视频一区二区| 日韩成人午夜电影| 亚洲成av人在线观看| 亚洲成人av中文| 日韩福利电影在线观看| 视频在线在亚洲| 日韩精品视频网站| 蜜臀av性久久久久蜜臀aⅴ流畅| 天天色图综合网| 蜜桃av一区二区三区电影| 免费成人美女在线观看| 精品一二三四在线| 国产在线播精品第三| 国产成人aaa| 99久久精品情趣| 色综合久久99| 欧美丝袜自拍制服另类| 91精品欧美福利在线观看| 日韩欧美国产高清| 国产视频一区二区在线观看| 国产免费观看久久| 亚洲高清一区二区三区| 亚洲一区二区影院| 日本在线不卡视频一二三区| 久久99精品久久久久久动态图 | 成人精品视频一区二区三区| 成人性生交大片免费看中文网站| 99热精品一区二区| 欧美性感一类影片在线播放| 欧美一区二区观看视频| 国产欧美1区2区3区| 一区二区三区四区国产精品| 亚洲国产欧美日韩另类综合 | 国产精品久久午夜| 亚洲人成7777| 天天综合色天天综合色h| 国产麻豆精品在线观看| 色综合久久久久| 精品国产第一区二区三区观看体验| 久久新电视剧免费观看| 亚洲青青青在线视频| 日韩精品91亚洲二区在线观看| 国产在线看一区| 欧美偷拍一区二区| 久久你懂得1024| 亚洲第一福利视频在线| 国产剧情一区在线| 欧美日韩国产一级| 中文字幕一区二区三中文字幕| 樱桃国产成人精品视频| 激情文学综合丁香| 色天天综合久久久久综合片| 久久综合久久综合亚洲| 一区二区三区四区精品在线视频| 国内精品视频一区二区三区八戒| 欧美性一二三区| 国产午夜精品一区二区三区视频| 亚洲国产你懂的| www.色精品| 久久久久国产免费免费| 日日夜夜精品免费视频| 99精品国产91久久久久久| 精品国产一区二区三区久久久蜜月| 亚洲特黄一级片| 国产中文字幕一区| 69堂国产成人免费视频| 亚洲最新视频在线观看| 成人精品视频.| 久久综合九色综合欧美98| 免费成人美女在线观看.| 欧美午夜不卡视频| 亚洲精品日产精品乱码不卡| 国产麻豆91精品| 精品日韩一区二区三区 | 亚洲欧美国产77777| 国产精品18久久久久久久久久久久| 国产日产欧美精品一区二区三区| 蜜桃久久久久久久| 欧美肥妇free| 婷婷丁香久久五月婷婷| 欧美日韩精品一区二区三区蜜桃| 国产精品久久久久久久久免费相片 | 成人小视频免费在线观看| 精品久久久久久久久久久久久久久久久 | 久久久影视传媒| 激情另类小说区图片区视频区| 欧美电影在线免费观看| 亚洲国产精品视频| 欧美日韩一级大片网址| 亚洲一区在线观看免费| 欧美亚洲综合色| 五月婷婷激情综合|