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

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

?? entry.s

?? 上傳linux-jx2410的源代碼
?? S
?? 第 1 頁 / 共 3 頁
字號:
/* $Id: entry.S,v 1.1.1.1 2004/02/04 12:55:50 laputa Exp $ * arch/sparc64/kernel/entry.S:  Sparc64 trap low-level entry points. * * Copyright (C) 1995,1997 David S. Miller (davem@caip.rutgers.edu) * Copyright (C) 1996 Eddie C. Dost        (ecd@skynet.be) * Copyright (C) 1996 Miguel de Icaza      (miguel@nuclecu.unam.mx) * Copyright (C) 1996,98,99 Jakub Jelinek  (jj@sunsite.mff.cuni.cz) */#include <linux/config.h>#include <linux/errno.h>#include <asm/head.h>#include <asm/asi.h>#include <asm/smp.h>#include <asm/ptrace.h>#include <asm/page.h>#include <asm/signal.h>#include <asm/pgtable.h>#include <asm/processor.h>#include <asm/visasm.h>#include <asm/estate.h>/* #define SYSCALL_TRACING	1 */#define curptr      g6#define NR_SYSCALLS 256      /* Each OS is different... */	.text	.align		32	.globl		sparc64_vpte_patchme1	.globl		sparc64_vpte_patchme2/* * On a second level vpte miss, check whether the original fault is to the OBP  * range (note that this is only possible for instruction miss, data misses to * obp range do not use vpte). If so, go back directly to the faulting address. * This is because we want to read the tpc, otherwise we have no way of knowing * the 8k aligned faulting address if we are using >8k kernel pagesize. This also * ensures no vpte range addresses are dropped into tlb while obp is executing * (see inherit_locked_prom_mappings() rant). */sparc64_vpte_nucleus:	mov		0xf, %g5	sllx		%g5, 28, %g5			! Load 0xf0000000	cmp		%g4, %g5			! Is addr >= LOW_OBP_ADDRESS?	blu,pn		%xcc, sparc64_vpte_patchme1	 mov		0x1, %g5	sllx		%g5, 32, %g5			! Load 0x100000000	cmp		%g4, %g5			! Is addr < HI_OBP_ADDRESS?	blu,pn		%xcc, obp_iaddr_patch	 nopsparc64_vpte_patchme1:	sethi		%hi(0), %g5			! This has to be patchedsparc64_vpte_patchme2:	or		%g5, %lo(0), %g5		! This is patched too	ba,pt		%xcc, sparc64_kpte_continue	! Part of dtlb_backend	 add		%g1, %g1, %g1			! Finish PMD offset adjustmentvpte_noent:	mov		TLB_SFSR, %g1			! Restore %g1 value	stxa		%g4, [%g1 + %g1] ASI_DMMU	! Restore previous TAG_ACCESS	done						! Slick trick	.globl		obp_iaddr_patch	.globl		obp_daddr_patchobp_iaddr_patch:	sethi		%hi(0), %g5			! This and following is patched	or		%g5, %lo(0), %g5		! g5 now holds obp pmd base physaddr	wrpr		%g0, 1, %tl			! Behave as if we are at TL0	rdpr		%tpc, %g4			! Find original faulting iaddr	srlx		%g4, 13, %g4			! Throw out context bits	sllx		%g4, 13, %g4			! g4 has vpn + ctx0 now	mov		TLB_SFSR, %g1			! Restore %g1 value	stxa		%g4, [%g1 + %g1] ASI_IMMU	! Restore previous TAG_ACCESS	srlx		%g4, 23, %g6			! Find pmd number	and		%g6, 0x7ff, %g6			! Find pmd number	sllx		%g6, 2, %g6			! Find pmd offset	lduwa		[%g5 + %g6] ASI_PHYS_USE_EC, %g5! Load pmd, ie pagetable physaddr	brz,pn		%g5, longpath			! Kill the PROM ? :-)	 sllx		%g5, 11, %g5			! Shift into place	srlx		%g4, 13, %g6			! find pte number in pagetable	and		%g6, 0x3ff, %g6			! find pte number in pagetable	sllx		%g6, 3, %g6			! find pte offset in pagetable	ldxa		[%g5 + %g6] ASI_PHYS_USE_EC, %g5! Load pte	brgez,pn	%g5, longpath			! Kill the PROM ? :-)	 nop	stxa		%g5, [%g0] ASI_ITLB_DATA_IN	! put into tlb	retry						! go back to original faultobp_daddr_patch:	sethi		%hi(0), %g5			! This and following is patched	or		%g5, %lo(0), %g5		! g5 now holds obp pmd base physaddr	srlx		%g4, 23, %g6			! Find pmd number	and		%g6, 0x7ff, %g6			! Find pmd number	sllx		%g6, 2, %g6			! Find pmd offset	lduwa		[%g5 + %g6] ASI_PHYS_USE_EC, %g5! Load pmd, ie pagetable physaddr	brz,pn		%g5, longpath	 sllx		%g5, 11, %g5			! Shift into place	srlx		%g4, 13, %g6			! find pte number in pagetable	and		%g6, 0x3ff, %g6			! find pte number in pagetable	sllx		%g6, 3, %g6			! find pte offset in pagetable	ldxa		[%g5 + %g6] ASI_PHYS_USE_EC, %g5! Load pte	brgez,pn	%g5, longpath	 nop	stxa		%g5, [%g0] ASI_DTLB_DATA_IN	! put into tlb	retry/* * On a first level data miss, check whether this is to the OBP range (note that * such accesses can be made by prom, as well as by kernel using prom_getproperty * on "address"), and if so, do not use vpte access ... rather, use information * saved during inherit_prom_mappings() using 8k pagesize. */kvmap:	mov		0xf, %g5	sllx		%g5, 28, %g5			! Load 0xf0000000	cmp		%g4, %g5			! Is addr >= LOW_OBP_ADDRESS?	blu,pn		%xcc, vmalloc_addr	 mov		0x1, %g5	sllx		%g5, 32, %g5			! Load 0x100000000	cmp		%g4, %g5			! Is addr < HI_OBP_ADDRESS?	blu,pn		%xcc, obp_daddr_patch	 nopvmalloc_addr:						! vmalloc addr accessed	ldxa		[%g3 + %g6] ASI_N, %g5		! Yep, load k-vpte	brgez,pn	%g5, longpath			! Valid, load into TLB	 nop	stxa		%g5, [%g0] ASI_DTLB_DATA_IN	! Reload TLB	retry	/* This is trivial with the new code... */	.globl		do_fpdisdo_fpdis:	sethi		%hi(TSTATE_PEF), %g4					! IEU0	rdpr		%tstate, %g5	andcc		%g5, %g4, %g0	be,pt		%xcc, 1f	 nop	rd		%fprs, %g5	andcc		%g5, FPRS_FEF, %g0	be,pt		%xcc, 1f	 nop	/* Legal state when DCR_IFPOE is set in Cheetah %dcr. */	sethi		%hi(109f), %g7	ba,pt		%xcc, etrap109:	 or		%g7, %lo(109b), %g7	add		%g0, %g0, %g0	ba,a,pt		%xcc, rtrap_clr_l61:	ldub		[%g6 + AOFF_task_thread + AOFF_thread_fpsaved], %g5	! Load	Group	wr		%g0, FPRS_FEF, %fprs					! LSU	Group+4bubbles	andcc		%g5, FPRS_FEF, %g0					! IEU1	Group	be,a,pt		%icc, 1f						! CTI	 clr		%g7							! IEU0	ldx		[%g6 + AOFF_task_thread + AOFF_thread_gsr], %g7		! Load	Group1:	andcc		%g5, FPRS_DL, %g0					! IEU1	bne,pn		%icc, 2f						! CTI	 fzero		%f0							! FPA	andcc		%g5, FPRS_DU, %g0					! IEU1  Group	bne,pn		%icc, 1f						! CTI	 fzero		%f2							! FPA	faddd		%f0, %f2, %f4	fmuld		%f0, %f2, %f6	faddd		%f0, %f2, %f8	fmuld		%f0, %f2, %f10	faddd		%f0, %f2, %f12	fmuld		%f0, %f2, %f14	faddd		%f0, %f2, %f16	fmuld		%f0, %f2, %f18	faddd		%f0, %f2, %f20	fmuld		%f0, %f2, %f22	faddd		%f0, %f2, %f24	fmuld		%f0, %f2, %f26	faddd		%f0, %f2, %f28	fmuld		%f0, %f2, %f30	faddd		%f0, %f2, %f32	fmuld		%f0, %f2, %f34	faddd		%f0, %f2, %f36	fmuld		%f0, %f2, %f38	faddd		%f0, %f2, %f40	fmuld		%f0, %f2, %f42	faddd		%f0, %f2, %f44	fmuld		%f0, %f2, %f46	faddd		%f0, %f2, %f48	fmuld		%f0, %f2, %f50	faddd		%f0, %f2, %f52	fmuld		%f0, %f2, %f54	faddd		%f0, %f2, %f56	fmuld		%f0, %f2, %f58	b,pt		%xcc, fpdis_exit2	 faddd		%f0, %f2, %f601:	mov		SECONDARY_CONTEXT, %g3	add		%g6, AOFF_task_fpregs + 0x80, %g1	faddd		%f0, %f2, %f4	fmuld		%f0, %f2, %f6	ldxa		[%g3] ASI_DMMU, %g5	add		%g6, AOFF_task_fpregs + 0xc0, %g2	stxa		%g0, [%g3] ASI_DMMU	membar		#Sync	faddd		%f0, %f2, %f8	fmuld		%f0, %f2, %f10	ldda		[%g1] ASI_BLK_S, %f32	! grrr, where is ASI_BLK_NUCLEUS 8-(	ldda		[%g2] ASI_BLK_S, %f48	faddd		%f0, %f2, %f12	fmuld		%f0, %f2, %f14	faddd		%f0, %f2, %f16	fmuld		%f0, %f2, %f18	faddd		%f0, %f2, %f20	fmuld		%f0, %f2, %f22	faddd		%f0, %f2, %f24	fmuld		%f0, %f2, %f26	faddd		%f0, %f2, %f28	fmuld		%f0, %f2, %f30	b,pt		%xcc, fpdis_exit	 membar		#Sync2:	andcc		%g5, FPRS_DU, %g0	bne,pt		%icc, 3f	 fzero		%f32	mov		SECONDARY_CONTEXT, %g3	fzero		%f34	ldxa		[%g3] ASI_DMMU, %g5	add		%g6, AOFF_task_fpregs, %g1	stxa		%g0, [%g3] ASI_DMMU	membar		#Sync	add		%g6, AOFF_task_fpregs + 0x40, %g2	faddd		%f32, %f34, %f36	fmuld		%f32, %f34, %f38	ldda		[%g1] ASI_BLK_S, %f0	! grrr, where is ASI_BLK_NUCLEUS 8-(	ldda		[%g2] ASI_BLK_S, %f16	faddd		%f32, %f34, %f40	fmuld		%f32, %f34, %f42	faddd		%f32, %f34, %f44	fmuld		%f32, %f34, %f46	faddd		%f32, %f34, %f48	fmuld		%f32, %f34, %f50	faddd		%f32, %f34, %f52	fmuld		%f32, %f34, %f54	faddd		%f32, %f34, %f56	fmuld		%f32, %f34, %f58	faddd		%f32, %f34, %f60	fmuld		%f32, %f34, %f62	ba,pt		%xcc, fpdis_exit	 membar		#Sync3:	mov		SECONDARY_CONTEXT, %g3	add		%g6, AOFF_task_fpregs, %g1	ldxa		[%g3] ASI_DMMU, %g5	mov		0x40, %g2	stxa		%g0, [%g3] ASI_DMMU	membar		#Sync	ldda		[%g1] ASI_BLK_S, %f0		! grrr, where is ASI_BLK_NUCLEUS 8-(	ldda		[%g1 + %g2] ASI_BLK_S, %f16	add		%g1, 0x80, %g1	ldda		[%g1] ASI_BLK_S, %f32	ldda		[%g1 + %g2] ASI_BLK_S, %f48	membar		#Syncfpdis_exit:	stxa		%g5, [%g3] ASI_DMMU	membar		#Syncfpdis_exit2:	wr		%g7, 0, %gsr	ldx		[%g6 + AOFF_task_thread + AOFF_thread_xfsr], %fsr	rdpr		%tstate, %g3	or		%g3, %g4, %g3		! anal...	wrpr		%g3, %tstate	wr		%g0, FPRS_FEF, %fprs	! clean DU/DL bits	retry	.align		32fp_other_bounce:	call		do_fpother	 add		%sp, STACK_BIAS + REGWIN_SZ, %o0	ba,pt		%xcc, rtrap	 clr		%l6	.globl		do_fpother_check_fitos	.align		32do_fpother_check_fitos:	sethi		%hi(fp_other_bounce - 4), %g7	or		%g7, %lo(fp_other_bounce - 4), %g7	/* NOTE: Need to preserve %g7 until we fully commit	 *       to the fitos fixup.	 */	stx		%fsr, [%g6 + AOFF_task_thread + AOFF_thread_xfsr]	rdpr		%tstate, %g3	andcc		%g3, TSTATE_PRIV, %g0	bne,pn		%xcc, do_fptrap_after_fsr	 nop	ldx		[%g6 + AOFF_task_thread + AOFF_thread_xfsr], %g3	srlx		%g3, 14, %g1	and		%g1, 7, %g1	cmp		%g1, 2			! Unfinished FP-OP	bne,pn		%xcc, do_fptrap_after_fsr	 sethi		%hi(1 << 23), %g1	! Inexact	andcc		%g3, %g1, %g0	bne,pn		%xcc, do_fptrap_after_fsr	 rdpr		%tpc, %g1	lduwa		[%g1] ASI_AIUP, %g3	! This cannot ever fail#define FITOS_MASK	0xc1f83fe0#define FITOS_COMPARE	0x81a01880	sethi		%hi(FITOS_MASK), %g1	or		%g1, %lo(FITOS_MASK), %g1	and		%g3, %g1, %g1	sethi		%hi(FITOS_COMPARE), %g2	or		%g2, %lo(FITOS_COMPARE), %g2	cmp		%g1, %g2	bne,pn		%xcc, do_fptrap_after_fsr	 nop	std		%f62, [%g6 + AOFF_task_fpregs + (62 * 4)]	sethi		%hi(fitos_table_1), %g1	and		%g3, 0x1f, %g2	or		%g1, %lo(fitos_table_1),  %g1	sllx		%g2, 2, %g2	jmpl		%g1 + %g2, %g0	 ba,pt		%xcc, fitos_emul_continuefitos_table_1:	fitod		%f0, %f62	fitod		%f1, %f62	fitod		%f2, %f62	fitod		%f3, %f62	fitod		%f4, %f62	fitod		%f5, %f62	fitod		%f6, %f62	fitod		%f7, %f62	fitod		%f8, %f62	fitod		%f9, %f62	fitod		%f10, %f62	fitod		%f11, %f62	fitod		%f12, %f62	fitod		%f13, %f62	fitod		%f14, %f62	fitod		%f15, %f62	fitod		%f16, %f62	fitod		%f17, %f62	fitod		%f18, %f62	fitod		%f19, %f62	fitod		%f20, %f62	fitod		%f21, %f62	fitod		%f22, %f62	fitod		%f23, %f62	fitod		%f24, %f62	fitod		%f25, %f62	fitod		%f26, %f62	fitod		%f27, %f62	fitod		%f28, %f62	fitod		%f29, %f62	fitod		%f30, %f62	fitod		%f31, %f62fitos_emul_continue:	sethi		%hi(fitos_table_2), %g1	srl		%g3, 25, %g2	or		%g1, %lo(fitos_table_2), %g1	and		%g2, 0x1f, %g2	sllx		%g2, 2, %g2	jmpl		%g1 + %g2, %g0	 ba,pt		%xcc, fitos_emul_finifitos_table_2:	fdtos		%f62, %f0	fdtos		%f62, %f1	fdtos		%f62, %f2	fdtos		%f62, %f3	fdtos		%f62, %f4	fdtos		%f62, %f5	fdtos		%f62, %f6	fdtos		%f62, %f7	fdtos		%f62, %f8	fdtos		%f62, %f9	fdtos		%f62, %f10	fdtos		%f62, %f11	fdtos		%f62, %f12	fdtos		%f62, %f13	fdtos		%f62, %f14	fdtos		%f62, %f15	fdtos		%f62, %f16	fdtos		%f62, %f17	fdtos		%f62, %f18	fdtos		%f62, %f19	fdtos		%f62, %f20	fdtos		%f62, %f21	fdtos		%f62, %f22	fdtos		%f62, %f23	fdtos		%f62, %f24	fdtos		%f62, %f25	fdtos		%f62, %f26	fdtos		%f62, %f27	fdtos		%f62, %f28	fdtos		%f62, %f29	fdtos		%f62, %f30	fdtos		%f62, %f31fitos_emul_fini:	ldd		[%g6 + AOFF_task_fpregs + (62 * 4)], %f62	done	.globl		do_fptrap	.align		32do_fptrap:	stx		%fsr, [%g6 + AOFF_task_thread + AOFF_thread_xfsr]do_fptrap_after_fsr:	ldub		[%g6 + AOFF_task_thread + AOFF_thread_fpsaved], %g3	rd		%fprs, %g1	or		%g3, %g1, %g3	stb		%g3, [%g6 + AOFF_task_thread + AOFF_thread_fpsaved]	rd		%gsr, %g3	stx		%g3, [%g6 + AOFF_task_thread + AOFF_thread_gsr]	mov		SECONDARY_CONTEXT, %g3	add		%g6, AOFF_task_fpregs, %g2	ldxa		[%g3] ASI_DMMU, %g5	stxa		%g0, [%g3] ASI_DMMU	membar		#Sync	andcc		%g1, FPRS_DL, %g0	be,pn		%icc, 4f	 mov		0x40, %g3	stda		%f0, [%g2] ASI_BLK_S	stda		%f16, [%g2 + %g3] ASI_BLK_S	andcc		%g1, FPRS_DU, %g0	be,pn		%icc, 5f4:       add		%g2, 128, %g2	stda		%f32, [%g2] ASI_BLK_S	stda		%f48, [%g2 + %g3] ASI_BLK_S5:	mov		SECONDARY_CONTEXT, %g1	membar		#Sync	stxa		%g5, [%g1] ASI_DMMU	membar		#Sync	ba,pt		%xcc, etrap	 wr		%g0, 0, %fprs	/* The registers for cross calls will be:	 *	 * DATA 0: [low 32-bits]  Address of function to call, jmp to this	 *         [high 32-bits] MMU Context Argument 0, place in %g5	 * DATA 1: Address Argument 1, place in %g6	 * DATA 2: Address Argument 2, place in %g7	 *	 * With this method we can do most of the cross-call tlb/cache	 * flushing very quickly.	 *	 * Current CPU's IRQ worklist table is locked into %g1,	 * don't touch.	 */	.text	.align		32	.globl		do_ivecdo_ivec:	mov		0x40, %g3	ldxa		[%g3 + %g0] ASI_INTR_R, %g3	sethi		%hi(KERNBASE), %g4	cmp		%g3, %g4	bgeu,pn		%xcc, do_ivec_xcall	 srlx		%g3, 32, %g5	stxa		%g0, [%g0] ASI_INTR_RECEIVE	membar		#Sync	sethi		%hi(ivector_table), %g2	sllx		%g3, 5, %g3	or		%g2, %lo(ivector_table), %g2	add		%g2, %g3, %g3	ldx		[%g3 + 0x08], %g2	/* irq_info */	ldub		[%g3 + 0x04], %g4	/* pil */	brz,pn		%g2, do_ivec_spurious	 mov		1, %g2	sllx		%g2, %g4, %g2	sllx		%g4, 2, %g4	lduw		[%g6 + %g4], %g5	/* g5 = irq_work(cpu, pil) */	stw		%g5, [%g3 + 0x00]	/* bucket->irq_chain = g5 */	stw		%g3, [%g6 + %g4]	/* irq_work(cpu, pil) = bucket */	wr		%g2, 0x0, %set_softint	retrydo_ivec_xcall:	mov		0x50, %g1	ldxa		[%g1 + %g0] ASI_INTR_R, %g1	srl		%g3, 0, %g3	mov		0x60, %g7	ldxa		[%g7 + %g0] ASI_INTR_R, %g7	stxa		%g0, [%g0] ASI_INTR_RECEIVE	membar		#Sync	ba,pt		%xcc, 1f	 nop	.align		321:	jmpl		%g3, %g0	 nopdo_ivec_spurious:	stw		%g3, [%g6 + 0x00]	/* irq_work(cpu, 0) = bucket */	rdpr		%pstate, %g5	wrpr		%g5, PSTATE_IG | PSTATE_AG, %pstate	sethi		%hi(109f), %g7	ba,pt		%xcc, etrap109:	 or		%g7, %lo(109b), %g7	call		catch_disabled_ivec	 add		%sp, STACK_BIAS + REGWIN_SZ, %o0	ba,pt		%xcc, rtrap	 clr		%l6	.globl		save_alternate_globalssave_alternate_globals: /* %o0 = save_area */	rdpr		%pstate, %o5	andn		%o5, PSTATE_IE, %o1	wrpr		%o1, PSTATE_AG, %pstate	stx		%g0, [%o0 + 0x00]	stx		%g1, [%o0 + 0x08]	stx		%g2, [%o0 + 0x10]	stx		%g3, [%o0 + 0x18]	stx		%g4, [%o0 + 0x20]	stx		%g5, [%o0 + 0x28]	stx		%g6, [%o0 + 0x30]	stx		%g7, [%o0 + 0x38]	wrpr		%o1, PSTATE_IG, %pstate	stx		%g0, [%o0 + 0x40]	stx		%g1, [%o0 + 0x48]	stx		%g2, [%o0 + 0x50]	stx		%g3, [%o0 + 0x58]	stx		%g4, [%o0 + 0x60]	stx		%g5, [%o0 + 0x68]	stx		%g6, [%o0 + 0x70]	stx		%g7, [%o0 + 0x78]	wrpr		%o1, PSTATE_MG, %pstate	stx		%g0, [%o0 + 0x80]	stx		%g1, [%o0 + 0x88]	stx		%g2, [%o0 + 0x90]	stx		%g3, [%o0 + 0x98]	stx		%g4, [%o0 + 0xa0]	stx		%g5, [%o0 + 0xa8]	stx		%g6, [%o0 + 0xb0]	stx		%g7, [%o0 + 0xb8]	wrpr		%o5, 0x0, %pstate	retl	 nop	.globl		restore_alternate_globalsrestore_alternate_globals: /* %o0 = save_area */	rdpr		%pstate, %o5	andn		%o5, PSTATE_IE, %o1	wrpr		%o1, PSTATE_AG, %pstate	ldx		[%o0 + 0x00], %g0	ldx		[%o0 + 0x08], %g1	ldx		[%o0 + 0x10], %g2	ldx		[%o0 + 0x18], %g3	ldx		[%o0 + 0x20], %g4	ldx		[%o0 + 0x28], %g5	ldx		[%o0 + 0x30], %g6	ldx		[%o0 + 0x38], %g7	wrpr		%o1, PSTATE_IG, %pstate	ldx		[%o0 + 0x40], %g0	ldx		[%o0 + 0x48], %g1	ldx		[%o0 + 0x50], %g2	ldx		[%o0 + 0x58], %g3	ldx		[%o0 + 0x60], %g4	ldx		[%o0 + 0x68], %g5	ldx		[%o0 + 0x70], %g6	ldx		[%o0 + 0x78], %g7

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美激情一区二区在线| 一区二区三区欧美日韩| 亚洲免费av高清| 久久国产生活片100| 91久久精品一区二区二区| 精品国产91久久久久久久妲己| 国产精品麻豆网站| 激情都市一区二区| 欧美一区二区三区婷婷月色| 亚洲精品福利视频网站| 国产麻豆午夜三级精品| 日韩一区二区三区四区| 亚洲成人一区在线| 成人黄色小视频在线观看| 日韩欧美视频一区| 午夜电影久久久| 在线视频一区二区三区| 成人欧美一区二区三区黑人麻豆| 国产一区二区三区| 精品国产乱码久久| 奇米精品一区二区三区在线观看 | 91网页版在线| 久久精品无码一区二区三区| 免费日本视频一区| 制服丝袜一区二区三区| 日韩中文字幕91| 欧美日韩视频专区在线播放| 亚洲黄色小说网站| 色成年激情久久综合| 亚洲品质自拍视频网站| 福利91精品一区二区三区| 久久综合丝袜日本网| 久久99在线观看| 日韩精品一区二区三区中文不卡| 青青国产91久久久久久| 欧美一区二区三区在| 六月丁香婷婷色狠狠久久| 日韩一本二本av| 国产在线视频一区二区三区| 久久这里只有精品6| 国产激情一区二区三区| 久久精品一区二区三区不卡牛牛| 国产精品白丝av| 中文天堂在线一区| 一本久道久久综合中文字幕| 亚洲自拍另类综合| 91精品国产综合久久久久久久| 丝袜美腿亚洲一区二区图片| 日韩精品一区二区三区中文不卡 | 国产精品久久久久四虎| av欧美精品.com| 亚洲午夜久久久久| 日韩欧美在线网站| 国产一区二区三区免费看| 国产欧美视频一区二区三区| 91在线看国产| 天天操天天综合网| 欧美成人精品福利| 成人免费高清在线| 亚洲国产美女搞黄色| 欧美大片一区二区| www.欧美.com| 日韩国产一二三区| 中文字幕不卡在线观看| 亚洲激情校园春色| 丝袜美腿亚洲综合| 久久免费偷拍视频| 99久久精品免费看| 蜜桃av噜噜一区二区三区小说| 久久久久久久综合日本| 97精品电影院| 精品一区二区三区在线播放| 中文字幕视频一区| 欧美精品xxxxbbbb| 成人黄动漫网站免费app| 一区二区高清在线| 久久久三级国产网站| 在线日韩一区二区| 精品在线免费视频| 亚洲国产视频一区二区| 国产免费久久精品| 91激情五月电影| 国内精品国产成人国产三级粉色| 欧美成人艳星乳罩| 粉嫩久久99精品久久久久久夜| 精品久久久久久久人人人人传媒 | 欧美一区二区三区播放老司机| 亚洲va国产va欧美va观看| 精品一区二区三区在线观看| 亚洲精品欧美在线| 久久精品视频一区二区三区| 欧美丰满少妇xxxxx高潮对白| 国产综合久久久久久久久久久久| 亚洲在线观看免费| 中文字幕在线观看不卡视频| 欧美不卡123| 欧美日本不卡视频| 95精品视频在线| 国产精品自产自拍| 日本不卡视频在线观看| 亚洲免费观看高清| 国产精品成人免费在线| 久久综合九色综合欧美98 | 欧美丰满少妇xxxbbb| 91麻豆swag| a美女胸又www黄视频久久| 国产在线播放一区三区四| 青青国产91久久久久久| 天堂成人免费av电影一区| 亚洲精品成人a在线观看| 椎名由奈av一区二区三区| 国产精品色在线观看| 久久久国产精华| 一区二区三区国产精华| 另类成人小视频在线| 日韩精品一区二区三区四区| 91精品国产色综合久久| 在线成人av影院| 国产精品99久久不卡二区| 久久精品国产一区二区| 久久久久久久久久久久久久久99| 91精品国产欧美一区二区18| 国产v日产∨综合v精品视频| 亚洲欧美中日韩| 亚洲午夜影视影院在线观看| 精品国产一区二区三区忘忧草| 国产久卡久卡久卡久卡视频精品| 国产 日韩 欧美大片| 国产亚洲人成网站| 国产欧美综合在线观看第十页| 欧美国产日本韩| 亚洲欧美一区二区三区极速播放 | 欧美成人精品二区三区99精品| 美国精品在线观看| 国产成人在线观看| 成人免费毛片高清视频| 亚洲欧美日韩久久精品| 亚洲欧美一区二区三区国产精品 | 亚洲风情在线资源站| 午夜视黄欧洲亚洲| 激情图区综合网| 亚洲欧美色综合| 国产成人精品1024| 成人污视频在线观看| 91视频国产观看| 欧美精品一级二级三级| 日韩午夜av电影| 国产嫩草影院久久久久| 亚洲一区二区在线观看视频 | 久久嫩草精品久久久精品一| 国产日韩欧美不卡在线| 亚洲午夜在线电影| 国产精品综合二区| 91麻豆swag| 欧美大度的电影原声| 亚洲私人影院在线观看| 首页国产欧美日韩丝袜| 国产99精品视频| 精品视频在线看| 久久久久久麻豆| 亚洲bt欧美bt精品777| 国产精品一品视频| 欧美日韩国产色站一区二区三区| 26uuu国产一区二区三区| 亚洲精品一二三四区| 蜜臀国产一区二区三区在线播放 | 日本一区二区动态图| 午夜精彩视频在线观看不卡| 成人av在线播放网站| 91精品国产一区二区三区香蕉| 国产精品日日摸夜夜摸av| 日韩电影在线一区| 色婷婷av一区| 中文字幕成人网| 国产精品69毛片高清亚洲| 欧美精品一级二级| 亚洲综合一区二区精品导航| 懂色av一区二区三区蜜臀| 日韩精品一区二区在线观看| 亚洲成人免费视| 色菇凉天天综合网| 国产精品久久二区二区| 国产九色精品成人porny| 在线综合视频播放| 亚洲成人自拍网| 欧美午夜精品久久久| 日韩美女视频一区二区| 国产二区国产一区在线观看| 日韩午夜在线观看视频| 肉色丝袜一区二区| 欧美日韩一级二级| 亚洲第一搞黄网站| 欧美在线高清视频| 亚洲一区二区欧美| 欧美午夜精品久久久久久孕妇| 亚洲精品久久嫩草网站秘色| 97久久超碰国产精品电影| 中文字幕一区二区三| 成人免费av资源| 中文字幕一区二区不卡|