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

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

?? entry.s

?? 自己根據(jù)lkd和情境分析
?? 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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美一区二区三区在线看蜜臀| 91年精品国产| 97精品久久久午夜一区二区三区| 久久蜜桃一区二区| 久久久国产精华| 一区二区在线看| 国产成人综合网| 欧美日韩三级一区| 亚洲欧洲性图库| 国产精品自拍一区| 欧美老肥妇做.爰bbww视频| 中文字幕欧美一| 国产激情视频一区二区在线观看| 日韩一区二区视频| 亚洲综合色网站| 99久久国产综合色|国产精品| 久久久99久久精品欧美| 蜜桃一区二区三区四区| 欧美高清视频不卡网| 亚洲综合另类小说| 色中色一区二区| 亚洲日韩欧美一区二区在线| 成人免费视频一区| 久久精品欧美日韩精品| 国产成人精品影视| 亚洲老司机在线| 欧美日韩大陆一区二区| 亚洲精品亚洲人成人网| 欧美一区二区三区人| 一区二区三区国产精品| 色综合咪咪久久| 亚洲区小说区图片区qvod| 99riav久久精品riav| 亚洲视频在线一区| 97精品国产97久久久久久久久久久久| 欧美国产日韩在线观看| 99精品久久免费看蜜臀剧情介绍| 综合久久国产九一剧情麻豆| 91视频观看视频| 亚洲一区在线观看网站| 欧美日韩视频专区在线播放| 午夜视频在线观看一区二区| 欧美视频第二页| 日韩在线观看一区二区| 7777精品伊人久久久大香线蕉经典版下载 | 精品国产91乱码一区二区三区| 福利一区二区在线观看| 日韩国产欧美三级| 亚洲男人天堂av| 成人a免费在线看| 亚洲精品美腿丝袜| 欧美日韩国产综合视频在线观看| 日韩av中文字幕一区二区| 日韩视频一区在线观看| 国产精品一品视频| 亚洲欧美日韩国产另类专区| 欧美日韩aaa| 久久国产精品区| 国产精品激情偷乱一区二区∴| 色久优优欧美色久优优| 麻豆国产精品一区二区三区| 亚洲国产成人在线| 欧美日韩在线精品一区二区三区激情| 经典三级视频一区| 日本久久一区二区三区| 麻豆精品一区二区综合av| 久久精品亚洲乱码伦伦中文 | 91精品国产综合久久福利| 精品在线亚洲视频| 亚洲三级免费电影| 精品久久国产97色综合| 91最新地址在线播放| 看电视剧不卡顿的网站| 亚洲激情网站免费观看| 日韩精品资源二区在线| 99久久精品免费观看| 另类小说一区二区三区| 亚洲精选一二三| 久久综合九色综合97婷婷| 在线观看国产一区二区| 懂色一区二区三区免费观看| 丝袜国产日韩另类美女| 亚洲欧美自拍偷拍| www精品美女久久久tv| 欧美视频一区二区三区| 成人h动漫精品一区二区| 日本成人超碰在线观看| 国产乱码精品一区二区三区av | 26uuu欧美日本| 亚洲成人激情社区| 久久久亚洲高清| 69久久99精品久久久久婷婷| 99久久国产综合精品色伊| 精品一二三四区| 日韩成人免费看| 午夜精品福利一区二区三区av| 亚洲欧美在线视频| 亚洲国产岛国毛片在线| 337p粉嫩大胆色噜噜噜噜亚洲| 欧美电影一区二区| 欧美精品一区二区三区在线| 欧美伊人久久久久久久久影院| 91在线观看污| 成人av在线网站| 丁香激情综合五月| 久久精品国产秦先生| 欧美一区中文字幕| 亚洲理论在线观看| 91麻豆精品国产综合久久久久久| 91在线视频播放地址| 成人性生交大片| 国产成人av一区二区三区在线 | 欧美一区二区三区婷婷月色| 欧美午夜精品一区二区三区| 欧美午夜寂寞影院| 欧美日韩久久一区二区| 欧美日韩在线观看一区二区| 欧美三级日韩三级国产三级| 欧美亚洲国产bt| 精品视频999| 91精品国产一区二区人妖| 欧美一区二区三区播放老司机| 欧美日韩国产一区二区三区地区| 欧美美女bb生活片| 69堂国产成人免费视频| 日韩亚洲国产中文字幕欧美| 精品盗摄一区二区三区| 久久综合九色综合97婷婷女人| 久久精品亚洲乱码伦伦中文| 国产精品免费视频一区| 亚洲美女免费在线| 日韩专区一卡二卡| 韩国成人在线视频| 99免费精品在线观看| 欧美亚洲动漫精品| 欧美一级一级性生活免费录像| 精品av久久707| 中文字幕在线一区二区三区| 亚洲一区在线免费观看| 麻豆高清免费国产一区| 成人精品视频一区二区三区| 欧美三级三级三级| 久久综合色8888| 亚洲丝袜自拍清纯另类| 日韩精品成人一区二区在线| 国产一区二区三区在线观看免费| 91在线视频在线| 91精品国产黑色紧身裤美女| 欧美国产精品中文字幕| 亚洲成人一区二区| 国产精品一区二区果冻传媒| 色婷婷久久一区二区三区麻豆| 欧美一区二区视频免费观看| 中文字幕巨乱亚洲| 日韩电影免费一区| 91色.com| 2023国产一二三区日本精品2022| 亚洲日本免费电影| 经典一区二区三区| 欧美三级在线视频| 欧美高清在线一区二区| 亚洲成a天堂v人片| 99在线热播精品免费| 精品毛片乱码1区2区3区| 亚洲黄色小视频| 国产一区二区中文字幕| 精品视频一区二区不卡| 国产精品黄色在线观看| 久久国产精品区| 欧美精三区欧美精三区| 亚洲视频一区在线观看| 高清成人免费视频| 久久亚洲一级片| 日韩精品一级二级 | 日韩一区二区在线看| 亚洲精品一二三| 成人性生交大合| 久久久噜噜噜久噜久久综合| 午夜精品久久久久久久久久 | 欧美一区二区三区免费| 亚洲欧美综合色| 96av麻豆蜜桃一区二区| 欧美视频一区二| 亚洲毛片av在线| 99re亚洲国产精品| 国产欧美精品在线观看| 国产乱国产乱300精品| 日韩三级av在线播放| 香蕉成人啪国产精品视频综合网| 色噜噜狠狠成人网p站| 中文字幕亚洲区| jvid福利写真一区二区三区| 久久久高清一区二区三区| 国产一区二区美女诱惑| 精品国产乱码久久久久久久 | 在线免费观看日本一区| 亚洲综合激情另类小说区| 一本色道**综合亚洲精品蜜桃冫| 中文字幕在线观看不卡| 99久久精品久久久久久清纯|