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

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

?? rthal-5g-2.4.18.patch

?? rtai-3.1-test3的源代碼(Real-Time Application Interface )
?? PATCH
字號:
+ diff -u linux-2.4.18/arch/ppc/config.in.PRE_RTAI linux-2.4.18/arch/ppc/config.in--- linux-2.4.18/arch/ppc/config.in.PRE_RTAI	Thu Mar 21 09:33:13 2002+++ linux-2.4.18/arch/ppc/config.in	Thu Mar 21 10:59:06 2002@@ -109,6 +109,9 @@   bool '  Distribute interrupts on all CPUs by default' CONFIG_IRQ_ALL_CPUS fi +#bool 'Real-Time Hardware Abstraction Layer' CONFIG_RTHAL+define_bool CONFIG_RTHAL y+ if [ "$CONFIG_6xx" = "y" -a "$CONFIG_8260" = "n" ];then   bool 'AltiVec Support' CONFIG_ALTIVEC   bool 'Thermal Management Support' CONFIG_TAU+ diff -u linux-2.4.18/arch/ppc/kernel/entry.S.PRE_RTAI linux-2.4.18/arch/ppc/kernel/entry.S--- linux-2.4.18/arch/ppc/kernel/entry.S.PRE_RTAI	Thu Mar 21 09:33:13 2002+++ linux-2.4.18/arch/ppc/kernel/entry.S	Thu Mar 21 10:59:06 2002@@ -294,6 +294,7 @@ 	bl	do_signal 	.globl	do_signal_ret do_signal_ret:+	bl	do_soft_sti 	.globl ret_to_user_hook	 ret_to_user_hook: 	nop+ diff -u linux-2.4.18/arch/ppc/kernel/irq.c.PRE_RTAI linux-2.4.18/arch/ppc/kernel/irq.c--- linux-2.4.18/arch/ppc/kernel/irq.c.PRE_RTAI	Thu Mar 21 09:33:13 2002+++ linux-2.4.18/arch/ppc/kernel/irq.c	Thu Mar 21 11:05:30 2002@@ -534,12 +534,21 @@ 	spin_unlock(&desc->lock); } -int do_IRQ(struct pt_regs *regs)+void (*rtai_soft_sti)(void);++void do_soft_sti(void)+{+	if(rtai_soft_sti)rtai_soft_sti();+}++int do_IRQ(struct pt_regs *regs, int isfake) { 	int cpu = smp_processor_id(); 	int irq, first = 1;         hardirq_enter( cpu ); +	if (do_IRQ == (unsigned long)do_IRQ_intercept) {+ 	for (;;) { 		/* 		 * Every arch is required to implement ppc_md.get_irq.@@ -561,6 +570,11 @@ 		} 		first = 0; 	}++	} else {+		ppc_irq_dispatch_handler(regs, isfake);+	}+         hardirq_exit( cpu );  	if (softirq_pending(cpu))+ diff -u linux-2.4.18/arch/ppc/kernel/ppc_ksyms.c.PRE_RTAI linux-2.4.18/arch/ppc/kernel/ppc_ksyms.c--- linux-2.4.18/arch/ppc/kernel/ppc_ksyms.c.PRE_RTAI	Thu Mar 21 09:33:13 2002+++ linux-2.4.18/arch/ppc/kernel/ppc_ksyms.c	Thu Mar 21 10:59:06 2002@@ -217,6 +217,12 @@ EXPORT_SYMBOL(synchronize_irq); #endif +extern int (*rtai_srq_bckdr)(struct pt_regs *);+EXPORT_SYMBOL(rtai_srq_bckdr);++extern void (*rtai_soft_sti)(void);+EXPORT_SYMBOL(rtai_soft_sti);+ EXPORT_SYMBOL(ppc_md);  #ifdef CONFIG_ADB+ diff -u linux-2.4.18/arch/ppc/kernel/traps.c.PRE_RTAI linux-2.4.18/arch/ppc/kernel/traps.c--- linux-2.4.18/arch/ppc/kernel/traps.c.PRE_RTAI	Thu Mar 21 09:33:13 2002+++ linux-2.4.18/arch/ppc/kernel/traps.c	Thu Mar 21 11:10:27 2002@@ -269,9 +269,15 @@ 	return(retval); } +int (*rtai_srq_bckdr)(struct pt_regs *regs) = NULL;+ void ProgramCheckException(struct pt_regs *regs) {+	if (rtai_srq_bckdr && !rtai_srq_bckdr(regs)) {+		return;+	}+ #if defined(CONFIG_4xx) 	unsigned int esr = mfspr(SPRN_ESR); + diff -u linux-2.4.18/arch/ppc/mm/pgtable.c.PRE_RTAI linux-2.4.18/arch/ppc/mm/pgtable.c--- linux-2.4.18/arch/ppc/mm/pgtable.c.PRE_RTAI	Thu Mar 21 09:33:14 2002+++ linux-2.4.18/arch/ppc/mm/pgtable.c	Thu Mar 21 11:12:04 2002@@ -273,7 +273,7 @@ 		 * don't get ASID compares on kernel space. 		 */ 		f = _PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_SHARED;-#if defined(CONFIG_KGDB) || defined(CONFIG_XMON)+#if defined(CONFIG_KGDB) || defined(CONFIG_XMON) || defined(CONFIG_RTHAL) 		/* Allows stub to set breakpoints everywhere */ 		f |= _PAGE_WRENABLE; #else	/* !CONFIG_KGDB && !CONFIG_XMON */+ diff -u linux-2.4.18/Documentation/Configure.help.PRE_RTAI linux-2.4.18/Documentation/Configure.help--- linux-2.4.18/Documentation/Configure.help.PRE_RTAI	Thu Mar 21 09:33:13 2002+++ linux-2.4.18/Documentation/Configure.help	Thu Mar 21 10:59:06 2002@@ -241,6 +241,13 @@   You will need a new lynxer.elf file to flash your firmware with - send   email to Martin.Bligh@us.ibm.com +Real-Time Harware Abstraction+CONFIG_RTHAL+  The Real-Time Hardware Abstraction Layer (RTHAL) is used by+  the Real-Time Application Interface (RTAI) to provide a+  hard real-time environment as part of Linux.  This feature+  cannot be turned off, so say Y.+ IO-APIC support on uniprocessors CONFIG_X86_UP_IOAPIC   An IO-APIC (I/O Advanced Programmable Interrupt Controller) is an+ diff -u linux-2.4.18/include/asm-ppc/system.h.PRE_RTAI linux-2.4.18/include/asm-ppc/system.h--- linux-2.4.18/include/asm-ppc/system.h.PRE_RTAI	Thu Mar 21 10:34:16 2002+++ linux-2.4.18/include/asm-ppc/system.h	Thu Mar 21 10:59:06 2002@@ -81,6 +81,7 @@  struct task_struct; #define prepare_to_switch()	do { } while(0)+#define end_switch()		do { } while(0) #define switch_to(prev,next,last) _switch_to((prev),(next),&(last)) extern void _switch_to(struct task_struct *, struct task_struct *, 		       struct task_struct **);+ diff -u linux-2.4.18/include/linux/sched.h.PRE_RTAI linux-2.4.18/include/linux/sched.h--- linux-2.4.18/include/linux/sched.h.PRE_RTAI	Thu Mar 21 10:34:17 2002+++ linux-2.4.18/include/linux/sched.h	Thu Mar 21 11:18:05 2002@@ -410,6 +410,8 @@  /* journalling filesystem info */ 	void *journal_info;++	void *this_rt_task[2]; };  /*@@ -501,6 +503,7 @@     blocked:		{{0}},						\     alloc_lock:		SPIN_LOCK_UNLOCKED,				\     journal_info:	NULL,						\+    this_rt_task:	{0,0},						\ }  + diff -u linux-2.4.18/kernel/exit.c.PRE_RTAI linux-2.4.18/kernel/exit.c--- linux-2.4.18/kernel/exit.c.PRE_RTAI	Mon Feb 25 20:38:13 2002+++ linux-2.4.18/kernel/exit.c	Thu Mar 21 10:59:07 2002@@ -429,6 +429,71 @@ 	write_unlock_irq(&tasklist_lock); } +//+// PGGC added these lines to callback rtai when a task dies.+// A list of functions allows different rt_modules to be informed.+//+static struct t_callback {+	void (*rtai_callback)(struct task_struct *tsk);+	struct t_callback *next;+	} *rtai_callback_list;++extern int  set_rtai_callback(    void (*fun)(struct task_struct *tsk));+extern void remove_rtai_callback( void (*fun)(struct task_struct *tsk));++void inform_rtai(void)+{+	struct t_callback *pt;++	pt = rtai_callback_list;+	while (pt) {+		(*(pt->rtai_callback))(current);+		pt = pt->next;+	}+//printk( "Task pid %d going down\n", current->pid);+}++int set_rtai_callback( void (*pt)(struct task_struct *tsk))+{+	struct t_callback *ptn;++	ptn = kmalloc(sizeof(struct t_callback), GFP_KERNEL);+	if (!ptn) {+		return -ENOMEM;+	}+	ptn->rtai_callback = pt;+	ptn->next = rtai_callback_list ? rtai_callback_list : 0;+	rtai_callback_list = ptn;+	return 0;+}++void remove_rtai_callback(void (*pt)(struct task_struct *tsk))+{+	struct t_callback *pto, *ptoo, *ptd;++	pto  = rtai_callback_list;+	ptoo = 0;+	while (pto) {+		if (pto->rtai_callback == pt) {+			if (!ptoo) {+				rtai_callback_list = pto->next;+			} else {+				ptoo->next = pto->next; +			}+ 			ptd = pto;+			pto = pto->next;+			kfree(ptd);+		} else {+			ptoo = pto;+			pto = pto->next;+		}	+	}+//printk("rtai_callback_list %X\n", rtai_callback_list);+}+//+//+//+ NORET_TYPE void do_exit(long code) { 	struct task_struct *tsk = current;@@ -446,6 +511,18 @@ #ifdef CONFIG_BSD_PROCESS_ACCT 	acct_process(code); #endif++/*+ * PGGC added these lines to callback rtai when a task dies.+ * This assumes that a LXRT task should/will always set its+ * scheduling police to SCHED_FIFO or SCHED_RR.+ * We may want to enforce this in rt_task_init(...).+ * (For the moment it is not so, thus let's inform LXRT anyhow (Paolo))+ */+	if(tsk->this_rt_task[0]) {+		inform_rtai();+	}+ 	__exit_mm(tsk);  	lock_kernel();+ diff -u linux-2.4.18/kernel/fork.c.PRE_RTAI linux-2.4.18/kernel/fork.c--- linux-2.4.18/kernel/fork.c.PRE_RTAI	Mon Feb 25 20:38:13 2002+++ linux-2.4.18/kernel/fork.c	Thu Mar 21 10:59:07 2002@@ -220,7 +220,9 @@ 	atomic_set(&mm->mm_count, 1); 	init_rwsem(&mm->mmap_sem); 	mm->page_table_lock = SPIN_LOCK_UNLOCKED;+	lock_kernel(); 	mm->pgd = pgd_alloc(mm);+	unlock_kernel(); 	mm->def_flags = 0; 	if (mm->pgd) 		return mm;@@ -252,7 +254,9 @@ inline void __mmdrop(struct mm_struct *mm) { 	if (mm == &init_mm) BUG();+	lock_kernel(); 	pgd_free(mm->pgd);+	unlock_kernel(); 	destroy_context(mm); 	free_mm(mm); }+ diff -u linux-2.4.18/kernel/ksyms.c.PRE_RTAI linux-2.4.18/kernel/ksyms.c--- linux-2.4.18/kernel/ksyms.c.PRE_RTAI	Mon Feb 25 20:38:13 2002+++ linux-2.4.18/kernel/ksyms.c	Thu Mar 21 10:59:07 2002@@ -559,3 +559,44 @@  EXPORT_SYMBOL(tasklist_lock); EXPORT_SYMBOL(pidhash);++/*+ * used to inform rtai a task is about to die.+ */+extern int  set_rtai_callback(   void (*fun)(struct task_struct *tsk));+extern void remove_rtai_callback(void (*fun)(struct task_struct *tsk));+extern NORET_TYPE void do_exit(long code);+EXPORT_SYMBOL(set_rtai_callback);+EXPORT_SYMBOL(remove_rtai_callback);+EXPORT_SYMBOL(do_exit);++/*+ * used to inform RTAI LXRT a task should deal with a Linux signal, and for rt_lxrt_fork()+ */+extern int (*rtai_signal_handler)(struct task_struct *lnxt, int sig);+EXPORT_SYMBOL(rtai_signal_handler);+extern int do_fork(unsigned long clone_flags, unsigned long stack_start, struct pt_regs *regs, unsigned long stack_size);+EXPORT_SYMBOL(do_fork);++/*+ * used to provide async io support (aio) to RTAI LXRT.+ */+extern ssize_t sys_read(unsigned int fd, char * buf, size_t count);+extern ssize_t sys_write(unsigned int fd, const char * buf, size_t count);+extern ssize_t sys_pread(unsigned int fd, char * buf,+				                             size_t count, loff_t pos);+extern ssize_t sys_pwrite(unsigned int fd, const char * buf,+				                              size_t count, loff_t pos);+extern long sys_fsync(unsigned int fd);+extern long sys_fdatasync(unsigned int fd);+extern long sys_open(const char * filename, int flags, int mode);+extern long sys_close(unsigned int fd);++EXPORT_SYMBOL(sys_read);+EXPORT_SYMBOL(sys_write);+EXPORT_SYMBOL(sys_open);+//EXPORT_SYMBOL(sys_close);+EXPORT_SYMBOL(sys_pread);+EXPORT_SYMBOL(sys_pwrite);+EXPORT_SYMBOL(sys_fsync);+EXPORT_SYMBOL(sys_fdatasync);+ diff -u linux-2.4.18/kernel/sched.c.PRE_RTAI linux-2.4.18/kernel/sched.c--- linux-2.4.18/kernel/sched.c.PRE_RTAI	Fri Dec 21 18:42:04 2001+++ linux-2.4.18/kernel/sched.c	Thu Mar 21 10:59:07 2002@@ -546,6 +546,75 @@  * tasks can run. It can not be killed, and it cannot sleep. The 'state'  * information in task[0] is never used.  */++int idle_weight = -1000;+#define MAX_MM 4096  // How large should it be?+static struct smm_t { int in, out; struct mm_struct *mm[MAX_MM]; } smm[NR_CPUS];+#define incpnd(x) do { x = (x + 1) & (MAX_MM - 1); } while(0)++#ifdef CONFIG_X86+static inline void pend_mm(struct mm_struct *mm, int cpu)+{+	if (rthal.lxrt_global_cli) {+        	struct smm_t *p = smm + cpu;+        	p->mm[p->in] = mm;+	        incpnd(p->in);+	} else {+		mmdrop(mm);+	}+}++static inline void drop_mm(void)+{+	if (rthal.lxrt_global_cli) {+        	struct smm_t *p = smm + smp_processor_id();+	        while (p->out != p->in) {+        	        mmdrop(p->mm[p->out]);+              		incpnd(p->out);+        	}+        }+}++void switch_mem(struct task_struct *prevp, struct task_struct *nextp, int cpuid)+{+	if (cpuid < 0) {+		struct mm_struct *next = nextp->active_mm;+		if (prevp->active_mm != next || (cpuid & 0x40000000)) {+			if ((prevp->active_mm)->context.segments != next->context.segments) {+				load_LDT(next);+			}+			set_bit(cpuid & 0xFFFFFFF, &next->context.cpuvalid);+			asm volatile("movl %0,%%cr3": :"r" (__pa(next->pgd)));+		}+#ifdef CONFIG_SMP+		  else if (!test_and_set_bit(cpuid & 0xFFFFFFF, &next->context.cpuvalid)) {+			load_LDT(next);+		}+#endif+	} else {+		struct mm_struct *oldmm = prevp->active_mm;+		if (nextp->mm) {+			switch_mm(oldmm, nextp->mm, nextp, cpuid);+		} else {+			nextp->active_mm = oldmm;+			atomic_inc(&oldmm->mm_count);+			enter_lazy_tlb(oldmm, nextp, cpuid);+		}+		if (!prevp->mm) {+			prevp->active_mm = NULL;+			pend_mm(oldmm, cpuid);+		}+	}+}+#else+static inline void pend_mm(struct mm_struct *mm, int cpu)+{+	mmdrop(mm);+}+static inline void drop_mm(void) {}+void switch_mem(struct task_struct *prevp, struct task_struct *nextp, int cpuid) {}+#endif+ asmlinkage void schedule(void) { 	struct schedule_data * sched_data;@@ -604,7 +673,7 @@ 	 * Default process to select.. 	 */ 	next = idle_task(this_cpu);-	c = -1000;+	c = idle_weight; 	list_for_each(tmp, &runqueue_head) { 		p = list_entry(tmp, struct task_struct, run_list); 		if (can_schedule(p, this_cpu)) {@@ -686,7 +755,7 @@  		if (!prev->mm) { 			prev->active_mm = NULL;-			mmdrop(oldmm);+			pend_mm(oldmm, this_cpu); 		} 	} @@ -695,6 +764,7 @@ 	 * stack. 	 */ 	switch_to(prev, next, prev);+	drop_mm(); 	__schedule_tail(prev);  same_process:+ diff -u linux-2.4.18/kernel/signal.c.PRE_RTAI linux-2.4.18/kernel/signal.c--- linux-2.4.18/kernel/signal.c.PRE_RTAI	Thu Nov 22 01:26:27 2001+++ linux-2.4.18/kernel/signal.c	Thu Mar 21 10:59:07 2002@@ -974,9 +974,30 @@ 	return ret; } +//+//  Add this pointer to the RTAI signal handler.+//+int (*rtai_signal_handler)(struct task_struct *lnxt, int sig);+ asmlinkage long sys_kill(int pid, int sig) {+// Add this section to call the RTAI signal handler.+//+	{+	struct task_struct *p;+	int ret;++	if (rtai_signal_handler) {+	    p = find_task_by_pid(pid);+		if(p && (p->policy == SCHED_FIFO || p->policy == SCHED_RR) && p->this_rt_task[0]) {+			ret = rtai_signal_handler(p, sig);+			if(!ret) return 0; //let Linux deal with it.+			}+		}+	}++	{ 	struct siginfo info;  	info.si_signo = sig;@@ -986,6 +1007,7 @@ 	info.si_uid = current->uid;  	return kill_something_info(sig, &info, pid);+	} }  asmlinkage long+ diff -u linux-2.4.18/Makefile.PRE_RTAI linux-2.4.18/Makefile--- linux-2.4.18/Makefile.PRE_RTAI	Thu Mar 21 09:33:13 2002+++ linux-2.4.18/Makefile	Thu Mar 21 10:59:06 2002@@ -1,7 +1,7 @@ VERSION = 2 PATCHLEVEL = 4 SUBLEVEL = 18-EXTRAVERSION =+EXTRAVERSION = -rthal5  KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) + diff -u linux-2.4.18/mm/vmalloc.c.PRE_RTAI linux-2.4.18/mm/vmalloc.c--- linux-2.4.18/mm/vmalloc.c.PRE_RTAI	Mon Feb 25 20:38:14 2002+++ linux-2.4.18/mm/vmalloc.c	Thu Mar 21 10:59:07 2002@@ -148,6 +148,9 @@ 	spin_lock(&init_mm.page_table_lock); 	do { 		pmd_t *pmd;+#ifdef CONFIG_X86+		pgd_t olddir = *dir;+#endif 		 		pmd = pmd_alloc(&init_mm, dir, address); 		ret = -ENOMEM;@@ -157,6 +160,10 @@ 		ret = -ENOMEM; 		if (alloc_area_pmd(pmd, address, end - address, gfp_mask, prot)) 			break;+#ifdef CONFIG_X86+		if (pgd_val(olddir) != pgd_val(*dir))+			set_pgdir(address, *dir);+#endif  		address = (address + PGDIR_SIZE) & PGDIR_MASK; 		dir++;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99热这里只有精品| 欧美日韩国产高清一区二区三区| 亚洲自拍另类综合| 国产欧美精品在线观看| 精品成人a区在线观看| 日韩一级二级三级精品视频| 欧美吞精做爰啪啪高潮| 在线观看不卡视频| 欧美日韩国产成人在线免费| 欧美日韩在线三区| 91麻豆精品国产91久久久久久久久| 色又黄又爽网站www久久| 色综合久久99| 欧美亚洲综合在线| 欧美精品18+| 欧美一卡二卡在线| 亚洲精品在线免费观看视频| 精品久久国产字幕高潮| 久久久亚洲精品石原莉奈| 久久久久久久一区| 国产精品美日韩| 亚洲精品久久久久久国产精华液| 亚洲综合视频在线观看| 日韩精品每日更新| 国产一区二区三区免费观看| 国产福利一区二区三区| 国产成人精品一区二区三区四区| 福利91精品一区二区三区| 成人91在线观看| 欧美手机在线视频| 欧美tickling挠脚心丨vk| 久久久久久久久久电影| 亚洲福利电影网| 天使萌一区二区三区免费观看| 美洲天堂一区二卡三卡四卡视频 | 免费在线观看成人| 久久国产尿小便嘘嘘尿| 99re热视频这里只精品| 欧美体内she精高潮| 精品欧美一区二区在线观看 | 日韩免费在线观看| 国产精品网曝门| 亚洲一区二区三区四区在线| 国内一区二区在线| 色久综合一二码| 日韩欧美高清dvd碟片| 亚洲欧洲精品成人久久奇米网| 亚洲国产视频网站| 丁香天五香天堂综合| 欧美日韩一区二区三区不卡 | 久久99精品久久只有精品| 99久久久精品| 精品毛片乱码1区2区3区| 亚洲卡通动漫在线| 国产精品一区不卡| 欧美精品 国产精品| √…a在线天堂一区| 国产一区二区不卡老阿姨| 欧美日韩免费一区二区三区 | 欧洲精品视频在线观看| 久久只精品国产| 日韩和欧美一区二区三区| 色哟哟精品一区| 久久久综合网站| 美女免费视频一区二区| 日本高清免费不卡视频| 国产精品色在线| 国产一区二区在线影院| 欧美成人一区二区三区在线观看| 亚洲成人tv网| 欧美午夜不卡在线观看免费| 亚洲色图视频网| eeuss国产一区二区三区| 2023国产精品自拍| 精品一区二区三区免费视频| 7777精品伊人久久久大香线蕉最新版| 一区二区三区精品在线| 91麻豆免费在线观看| 亚洲欧洲色图综合| av高清久久久| 日韩美女啊v在线免费观看| 成人精品视频一区二区三区尤物| 久久综合999| 国产精品一二三区| 国产人成亚洲第一网站在线播放 | 国产精品一二三四区| 26uuu成人网一区二区三区| 狠狠色综合日日| 久久综合狠狠综合久久激情| 国产剧情一区二区三区| 久久久久久久综合色一本| 国产99久久久精品| 国产精品成人网| 91色porny在线视频| 亚洲综合另类小说| 欧美高清hd18日本| 奇米精品一区二区三区四区| 精品免费视频一区二区| 豆国产96在线|亚洲| 国产精品不卡在线| 色猫猫国产区一区二在线视频| 亚洲一区二区三区四区五区中文| 欧美伦理视频网站| 国产一区美女在线| 国产精品福利电影一区二区三区四区| 色婷婷精品久久二区二区蜜臀av | 欧美日韩精品一区二区三区| 三级欧美韩日大片在线看| 日韩精品一区二区三区视频在线观看 | 欧美aaa在线| 欧美激情一区二区三区四区| 色婷婷亚洲婷婷| 另类人妖一区二区av| 国产精品不卡视频| 欧美一区日韩一区| av色综合久久天堂av综合| 午夜精品福利在线| 久久久久久久国产精品影院| 91老师片黄在线观看| 久久精品久久综合| 一区二区免费视频| 国产香蕉久久精品综合网| 欧美日韩极品在线观看一区| 国产成人h网站| 日韩成人一级大片| 亚洲婷婷国产精品电影人久久| 日韩一区二区视频在线观看| 成人av在线电影| 蜜臀久久久久久久| 亚洲同性gay激情无套| 久久久综合网站| 欧美一区二区三区在线电影| 91碰在线视频| 国产成人精品亚洲午夜麻豆| 欧美aa在线视频| 亚洲一区二区欧美| 国产精品久久久久aaaa| 日韩欧美一区在线观看| 欧美偷拍一区二区| av在线免费不卡| 国产乱国产乱300精品| 日韩高清不卡一区二区| 亚洲亚洲人成综合网络| 亚洲色图清纯唯美| 中文字幕不卡的av| 久久亚洲精精品中文字幕早川悠里| 欧美日韩一区二区三区在线| 日本精品免费观看高清观看| 99精品久久免费看蜜臀剧情介绍| 国产成人午夜精品影院观看视频| 九色综合国产一区二区三区| 亚洲.国产.中文慕字在线| 亚洲精品成人精品456| 国产精品久久久久影视| 中文字幕免费不卡| 国产欧美一区视频| 国产女人18水真多18精品一级做| 精品91自产拍在线观看一区| 欧美电影免费观看高清完整版在线| 欧美一级欧美三级| 日韩限制级电影在线观看| 欧美一级在线视频| 日韩午夜中文字幕| 精品乱人伦一区二区三区| www久久精品| 国产精品乱码一区二区三区软件 | 久久久久久久精| 国产亚洲va综合人人澡精品| 久久久久久久久久看片| 欧美国产精品劲爆| 国产日韩欧美不卡| 亚洲欧洲精品一区二区三区| 亚洲美女在线一区| 亚洲成人av电影| 久久国产剧场电影| 国产a级毛片一区| 91美女在线看| 欧美日韩午夜影院| 日韩免费看的电影| 国产精品成人一区二区三区夜夜夜| 亚洲欧洲精品一区二区三区不卡| 亚洲自拍与偷拍| 男人的j进女人的j一区| 国产馆精品极品| 在线观看视频欧美| 日韩欧美一卡二卡| 国产精品久久久久aaaa樱花 | 日韩欧美专区在线| 国产色综合久久| 亚洲图片欧美色图| 国产在线播精品第三| 91久久精品一区二区二区| 日韩精品一区二区三区四区| 国产精品欧美精品| 日日摸夜夜添夜夜添精品视频 | 国产欧美视频在线观看| 一区二区激情视频| 国产在线精品一区二区不卡了 | 色94色欧美sute亚洲线路二 | 精品国产乱码久久久久久蜜臀|