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

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

?? kernel_patch-2.4.21-pre5-rtl3.2-pre2

?? fsmlabs的real time linux的內(nèi)核
?? 2-PRE2
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
diff -rNbu linux-2.4.21-pre5/arch/i386/config.in linux-2.4.21-pre5-rtl3.2-pre2/arch/i386/config.in--- linux-2.4.21-pre5/arch/i386/config.in	2003-03-13 15:47:05.000000000 +0100+++ linux-2.4.21-pre5-rtl3.2-pre2/arch/i386/config.in	2003-03-13 15:42:01.000000000 +0100@@ -2,11 +2,17 @@ # For a description of the syntax of this configuration file, # see Documentation/kbuild/config-language.txt. #-mainmenu_name "Linux Kernel Configuration"+mainmenu_name "RTLinux/GPL Kernel Configuration"  define_bool CONFIG_X86 y define_bool CONFIG_SBUS n +  +define_bool CONFIG_RTLINUX  y+if [ "$CONFIG_RTLINUX" = "y" ]; then+  define_bool CONFIG_RTL y+fi+   define_bool CONFIG_UID16 y  mainmenu_option next_commentdiff -rNbu linux-2.4.21-pre5/arch/i386/kernel/apic.c linux-2.4.21-pre5-rtl3.2-pre2/arch/i386/kernel/apic.c--- linux-2.4.21-pre5/arch/i386/kernel/apic.c	2003-03-13 15:47:05.000000000 +0100+++ linux-2.4.21-pre5-rtl3.2-pre2/arch/i386/kernel/apic.c	2003-03-13 15:42:01.000000000 +0100@@ -741,9 +741,9 @@  	spin_lock_irqsave(&i8253_lock, flags); -	outb_p(0x00, 0x43);-	count = inb_p(0x40);-	count |= inb_p(0x40) << 8;+	outb(0x00, 0x43);+	count = inb(0x40);+	count |= inb(0x40) << 8;  	spin_unlock_irqrestore(&i8253_lock, flags); diff -rNbu linux-2.4.21-pre5/arch/i386/kernel/entry.S linux-2.4.21-pre5-rtl3.2-pre2/arch/i386/kernel/entry.S--- linux-2.4.21-pre5/arch/i386/kernel/entry.S	2003-03-13 15:47:05.000000000 +0100+++ linux-2.4.21-pre5-rtl3.2-pre2/arch/i386/kernel/entry.S	2003-03-13 15:42:01.000000000 +0100@@ -184,6 +184,7 @@   ENTRY(ret_from_fork)+	sti 	pushl %ebx 	call SYMBOL_NAME(schedule_tail) 	addl $4, %esp@@ -197,11 +198,34 @@  * but we want the default path for a system call return to  * go as quickly as possible which is why some of this is  * less clear than it otherwise should be.+ *+ * (c) Victor Yodaiken 1999+ * RTLINUX_IRET emulates the turn on interrupts effect of+ * iret since, under RTLinux we may have pended interrupts+ * that will not be automatically enabled on an iret.  */+#ifdef CONFIG_RTLINUX+#define RTLINUX_IRET 	\+	movl  rtl_emulate_iret,%eax; \+	testl %eax, %eax; \+	je  1f;	\+	call  *%eax;	\+	1:+#else+#define RTLINUX_IRET+#endif  ENTRY(system_call) 	pushl %eax			# save orig_eax 	SAVE_ALL+#ifdef CONFIG_RTLINUX+	movl  rtl_syscall_intercept,%ebx+	testl %ebx, %ebx+	je  991f+	call  *%ebx+	movl ORIG_EAX(%esp), %eax+991:+#endif 	GET_CURRENT(%ebx) 	testb $0x02,tsk_ptrace(%ebx)	# PT_TRACESYS 	jne tracesys@@ -210,17 +234,21 @@ 	call *SYMBOL_NAME(sys_call_table)(,%eax,4) 	movl %eax,EAX(%esp)		# save the return value ENTRY(ret_from_sys_call)-	cli				# need_resched and signals atomic test+	call *(SYMBOL_NAME(irq_control)+8) # cli from irq_control structure 	cmpl $0,need_resched(%ebx) 	jne reschedule 	cmpl $0,sigpending(%ebx) 	jne signal_return+	call *(SYMBOL_NAME(irq_control)+12) # sti from irq_control structure+	 restore_all:+	RTLINUX_IRET 	RESTORE_ALL  	ALIGN signal_return:-	sti				# we can get here from an interrupt handler+	call *(SYMBOL_NAME(irq_control)+12) # sti from irq_control structure+	RTLINUX_IRET 	testl $(VM_MASK),EFLAGS(%esp) 	movl %esp,%eax 	jne v86_signal_return@@ -267,6 +295,12 @@ 	call SYMBOL_NAME(schedule)    # test 	jmp ret_from_sys_call +#define RTL_PUSH_VECTOR(vector,routine) \+1:	cmpl $routine, %edi; \+	jne 1f; \+	pushl $vector; \+	jmp 7f;+ ENTRY(divide_error) 	pushl $0		# no error code 	pushl $ SYMBOL_NAME(do_divide_error)@@ -294,6 +328,39 @@ 	movl $(__KERNEL_DS),%edx 	movl %edx,%ds 	movl %edx,%es+#ifdef CONFIG_RTLINUX+	movl  rtl_exception_intercept,%eax+	testl %eax, %eax+	je  8f+	RTL_PUSH_VECTOR(0,do_divide_error)+	RTL_PUSH_VECTOR(1,do_debug)+	RTL_PUSH_VECTOR(3,do_int3)+	RTL_PUSH_VECTOR(4,do_overflow)+	RTL_PUSH_VECTOR(5,do_bounds)+	RTL_PUSH_VECTOR(6,do_invalid_op)+	RTL_PUSH_VECTOR(8,do_double_fault)+	RTL_PUSH_VECTOR(9,do_coprocessor_segment_overrun)+	RTL_PUSH_VECTOR(10,do_invalid_TSS)+	RTL_PUSH_VECTOR(11,do_segment_not_present)+	RTL_PUSH_VECTOR(12,do_stack_segment)+	RTL_PUSH_VECTOR(13,do_general_protection)+	RTL_PUSH_VECTOR(14,do_page_fault)+	RTL_PUSH_VECTOR(15,do_spurious_interrupt_bug)+	RTL_PUSH_VECTOR(16,do_coprocessor_error)+	RTL_PUSH_VECTOR(17,do_alignment_check)+	RTL_PUSH_VECTOR(18,do_machine_check)+	RTL_PUSH_VECTOR(19,do_simd_coprocessor_error)+1:	push $-1+7:	mov %ecx, %ebx			# ebx will not be corrupted by a C routine+	call  *%eax+	popl %ecx+	mov %ebx, %ecx+	testl %eax, %eax+	je 8f+	addl $8,%esp+	RESTORE_ALL+8:+#endif 	GET_CURRENT(%ebx) 	call *%edi 	addl $8,%esp@@ -312,6 +379,21 @@ ENTRY(device_not_available) 	pushl $-1		# mark this as an int 	SAVE_ALL+#ifdef CONFIG_RTLINUX+	movl  rtl_exception_intercept,%eax+	testl %eax, %eax+	je  8f+	movl %esp,%edx+	pushl $0		# no error code+	pushl %edx+	pushl $7		# vector+	call  *%eax+	addl $12,%esp+	testl %eax, %eax+	je 8f+	RESTORE_ALL+8:+#endif 	GET_CURRENT(%ebx) 	movl %cr0,%eax 	testl $0x4,%eax			# EM (math emulation bit)diff -rNbu linux-2.4.21-pre5/arch/i386/kernel/i386_ksyms.c linux-2.4.21-pre5-rtl3.2-pre2/arch/i386/kernel/i386_ksyms.c--- linux-2.4.21-pre5/arch/i386/kernel/i386_ksyms.c	2002-08-03 02:39:42.000000000 +0200+++ linux-2.4.21-pre5-rtl3.2-pre2/arch/i386/kernel/i386_ksyms.c	2003-02-16 19:07:03.000000000 +0100@@ -176,6 +176,51 @@ extern int is_sony_vaio_laptop; EXPORT_SYMBOL(is_sony_vaio_laptop); +#ifdef CONFIG_RTLINUX+#include <asm/mpspec.h>+#ifdef CONFIG_X86_IO_APIC+EXPORT_SYMBOL(smp_found_config);+#endif+#include <linux/vt_kern.h>+EXPORT_SYMBOL(kd_mksound);+extern void *__start_rtlinux_funcs,*__stop_rtlinux_funcs;+EXPORT_SYMBOL(__start_rtlinux_funcs);+EXPORT_SYMBOL(__stop_rtlinux_funcs);+EXPORT_SYMBOL(irq_control);+extern unsigned long (*do_gettimeoffset)(void);+extern int use_tsc;+EXPORT_SYMBOL(do_gettimeoffset);+EXPORT_SYMBOL(use_tsc);+EXPORT_SYMBOL(tick);+extern unsigned long wall_jiffies;+extern rwlock_t xtime_lock;+EXPORT_SYMBOL(wall_jiffies);+EXPORT_SYMBOL(xtime_lock);+extern unsigned char *rtl_cached21;+EXPORT_SYMBOL(rtl_cached21);+extern void (*rtl_do_exit_handler)(long code);+extern void (*rtl_syscall_intercept)(struct pt_regs regs);+EXPORT_SYMBOL(init_tss);+EXPORT_SYMBOL(rtl_syscall_intercept);+EXPORT_SYMBOL(rtl_do_exit_handler);+#ifdef CONFIG_SMP+EXPORT_SYMBOL(flush_tlb_all);+extern int rtl_reserved_cpumask;+EXPORT_SYMBOL(rtl_reserved_cpumask);+extern unsigned long irq_affinity[NR_IRQS];+EXPORT_SYMBOL(irq_affinity);+extern volatile int physical_apicid_2_cpu[];+EXPORT_SYMBOL(physical_apicid_2_cpu);+extern unsigned long flush_cpumask;+EXPORT_SYMBOL(flush_cpumask);+EXPORT_SYMBOL(cpu_tlbstate);+#endif /* CONFIG_SMP */+extern struct console *console_drivers;+EXPORT_SYMBOL(console_drivers);+EXPORT_SYMBOL(set_ldt_desc);+EXPORT_SYMBOL(default_ldt);+#endif /* CONFIG_RTLINUX */+ #ifdef CONFIG_MULTIQUAD EXPORT_SYMBOL(xquad_portio); #endifdiff -rNbu linux-2.4.21-pre5/arch/i386/kernel/i8259.c linux-2.4.21-pre5-rtl3.2-pre2/arch/i386/kernel/i8259.c--- linux-2.4.21-pre5/arch/i386/kernel/i8259.c	2001-09-18 08:03:09.000000000 +0200+++ linux-2.4.21-pre5-rtl3.2-pre2/arch/i386/kernel/i8259.c	2003-02-16 20:48:32.000000000 +0100@@ -131,6 +131,14 @@  spinlock_t i8259A_lock = SPIN_LOCK_UNLOCKED; +#ifdef CONFIG_RTLINUX+#undef spin_lock_irqsave+#define spin_lock_irqsave(lock, flags)		do { rtl_hard_local_irq_save_kernel(flags);       spin_lock(lock); } while (0)++#undef spin_unlock_irqrestore+#define spin_unlock_irqrestore(lock, flags)	do { spin_unlock(lock);  rtl_hard_local_irq_restore_kernel(flags); } while (0)+#endif+ static void end_8259A_irq (unsigned int irq) { 	if (!(irq_desc[irq].status & (IRQ_DISABLED|IRQ_INPROGRESS)))@@ -171,6 +179,8 @@ #define cached_21	(__byte(0,cached_irq_mask)) #define cached_A1	(__byte(1,cached_irq_mask)) +unsigned char *rtl_cached21=&cached_21;+ /*  * Not all IRQs can be routed through the IO-APIC, eg. on certain (older)  * boards the timer interrupt is not really connected to any IO-APIC pin,@@ -343,20 +353,20 @@ 	outb(0xff, 0xA1);	/* mask all of 8259A-2 */  	/*-	 * outb_p - this has to work on a wide range of PC hardware.+	 * outb - this has to work on a wide range of PC hardware. 	 */-	outb_p(0x11, 0x20);	/* ICW1: select 8259A-1 init */-	outb_p(0x20 + 0, 0x21);	/* ICW2: 8259A-1 IR0-7 mapped to 0x20-0x27 */-	outb_p(0x04, 0x21);	/* 8259A-1 (the master) has a slave on IR2 */+	outb(0x11, 0x20);	/* ICW1: select 8259A-1 init */+	outb(0x20 + 0, 0x21);	/* ICW2: 8259A-1 IR0-7 mapped to 0x20-0x27 */+	outb(0x04, 0x21);	/* 8259A-1 (the master) has a slave on IR2 */ 	if (auto_eoi)-		outb_p(0x03, 0x21);	/* master does Auto EOI */+		outb(0x03, 0x21);	/* master does Auto EOI */ 	else-		outb_p(0x01, 0x21);	/* master expects normal EOI */+		outb(0x01, 0x21);	/* master expects normal EOI */ -	outb_p(0x11, 0xA0);	/* ICW1: select 8259A-2 init */-	outb_p(0x20 + 8, 0xA1);	/* ICW2: 8259A-2 IR0-7 mapped to 0x28-0x2f */-	outb_p(0x02, 0xA1);	/* 8259A-2 is a slave on master's IR2 */-	outb_p(0x01, 0xA1);	/* (slave's support for AEOI in flat mode+	outb(0x11, 0xA0);	/* ICW1: select 8259A-2 init */+	outb(0x20 + 8, 0xA1);	/* ICW2: 8259A-2 IR0-7 mapped to 0x28-0x2f */+	outb(0x02, 0xA1);	/* 8259A-2 is a slave on master's IR2 */+	outb(0x01, 0xA1);	/* (slave's support for AEOI in flat mode 				    is to be investigated) */  	if (auto_eoi)@@ -493,8 +503,8 @@ 	 * Set the clock to HZ Hz, we already have a valid 	 * vector now: 	 */-	outb_p(0x34,0x43);		/* binary, mode 2, LSB/MSB, ch 0 */-	outb_p(LATCH & 0xff , 0x40);	/* LSB */+	outb(0x34,0x43);		/* binary, mode 2, LSB/MSB, ch 0 */+	outb(LATCH & 0xff , 0x40);	/* LSB */ 	outb(LATCH >> 8 , 0x40);	/* MSB */  #ifndef CONFIG_VISWSdiff -rNbu linux-2.4.21-pre5/arch/i386/kernel/io_apic.c linux-2.4.21-pre5-rtl3.2-pre2/arch/i386/kernel/io_apic.c--- linux-2.4.21-pre5/arch/i386/kernel/io_apic.c	2003-03-13 15:47:05.000000000 +0100+++ linux-2.4.21-pre5-rtl3.2-pre2/arch/i386/kernel/io_apic.c	2003-03-13 15:42:01.000000000 +0100@@ -44,6 +44,14 @@ unsigned char int_delivery_mode = dest_LowestPrio;  +#ifdef CONFIG_RTLINUX+#undef spin_lock_irqsave+#define spin_lock_irqsave(lock, flags)		do { rtl_hard_local_irq_save_kernel(flags);       spin_lock(lock); } while (0)++#undef spin_unlock_irqrestore+#define spin_unlock_irqrestore(lock, flags)	do { spin_unlock(lock);  rtl_hard_local_irq_restore_kernel(flags); } while (0)+#endif+ /*  * # of IRQ routing registers  */diff -rNbu linux-2.4.21-pre5/arch/i386/kernel/irq.c linux-2.4.21-pre5-rtl3.2-pre2/arch/i386/kernel/irq.c--- linux-2.4.21-pre5/arch/i386/kernel/irq.c	2002-11-29 00:53:09.000000000 +0100+++ linux-2.4.21-pre5-rtl3.2-pre2/arch/i386/kernel/irq.c	2003-02-16 19:07:03.000000000 +0100@@ -1090,7 +1090,7 @@  static struct proc_dir_entry * smp_affinity_entry [NR_IRQS]; -static unsigned long irq_affinity [NR_IRQS] = { [0 ... NR_IRQS-1] = ~0UL };+unsigned long irq_affinity [NR_IRQS] = { [0 ... NR_IRQS-1] = ~0UL }; static int irq_affinity_read_proc (char *page, char **start, off_t off, 			int count, int *eof, void *data) {diff -rNbu linux-2.4.21-pre5/arch/i386/kernel/Makefile linux-2.4.21-pre5-rtl3.2-pre2/arch/i386/kernel/Makefile--- linux-2.4.21-pre5/arch/i386/kernel/Makefile	2002-11-29 00:53:09.000000000 +0100+++ linux-2.4.21-pre5-rtl3.2-pre2/arch/i386/kernel/Makefile	2003-02-16 19:07:03.000000000 +0100@@ -30,6 +30,7 @@ endif endif +obj-$(CONFIG_RTLINUX)           += rtlinux.o obj-$(CONFIG_MCA)		+= mca.o obj-$(CONFIG_MTRR)		+= mtrr.o obj-$(CONFIG_X86_MSR)		+= msr.odiff -rNbu linux-2.4.21-pre5/arch/i386/kernel/nmi.c linux-2.4.21-pre5-rtl3.2-pre2/arch/i386/kernel/nmi.c--- linux-2.4.21-pre5/arch/i386/kernel/nmi.c	2003-03-13 15:47:05.000000000 +0100+++ linux-2.4.21-pre5-rtl3.2-pre2/arch/i386/kernel/nmi.c	2003-03-13 15:42:01.000000000 +0100@@ -344,7 +344,12 @@ 	 * Since current-> is always on the stack, and we always switch 	 * the stack NMI-atomically, it's safe to use smp_processor_id(). 	 */+#ifdef CONFIG_RTLINUX+	/* For RTLinux this is not always the case, hence hard_smp_processor_id */+	int sum, cpu = hw_smp_processor_id();+#else 	int sum, cpu = smp_processor_id();+#endif  	sum = apic_timer_irqs[cpu]; diff -rNbu linux-2.4.21-pre5/arch/i386/kernel/pci-irq.c linux-2.4.21-pre5-rtl3.2-pre2/arch/i386/kernel/pci-irq.c--- linux-2.4.21-pre5/arch/i386/kernel/pci-irq.c	2002-11-29 00:53:09.000000000 +0100+++ linux-2.4.21-pre5-rtl3.2-pre2/arch/i386/kernel/pci-irq.c	2003-02-16 20:49:04.000000000 +0100@@ -400,14 +400,14 @@  */ static int pirq_serverworks_get(struct pci_dev *router, struct pci_dev *dev, int pirq) {-	outb_p(pirq, 0xc00);+	outb(pirq, 0xc00); 	return inb(0xc01) & 0xf; }  static int pirq_serverworks_set(struct pci_dev *router, struct pci_dev *dev, int pirq, int irq) {-	outb_p(pirq, 0xc00);-	outb_p(irq, 0xc01);+	outb(pirq, 0xc00);+	outb(irq, 0xc01); 	return 1; } diff -rNbu linux-2.4.21-pre5/arch/i386/kernel/process.c linux-2.4.21-pre5-rtl3.2-pre2/arch/i386/kernel/process.c--- linux-2.4.21-pre5/arch/i386/kernel/process.c	2002-08-03 02:39:42.000000000 +0200+++ linux-2.4.21-pre5-rtl3.2-pre2/arch/i386/kernel/process.c	2003-02-16 20:49:37.000000000 +0100@@ -267,7 +267,7 @@ 	int i;  	for (i=0; i<0x10000; i++)-		if ((inb_p(0x64) & 0x02) == 0)+		if ((inb(0x64) & 0x02) == 0) 			break; } diff -rNbu linux-2.4.21-pre5/arch/i386/kernel/rtlinux.c linux-2.4.21-pre5-rtl3.2-pre2/arch/i386/kernel/rtlinux.c--- linux-2.4.21-pre5/arch/i386/kernel/rtlinux.c	1970-01-01 01:00:00.000000000 +0100+++ linux-2.4.21-pre5-rtl3.2-pre2/arch/i386/kernel/rtlinux.c	2003-02-16 19:07:03.000000000 +0100@@ -0,0 +1,80 @@+#include <linux/config.h>+#include <linux/ptrace.h>+#include <linux/errno.h>+#include <linux/signal.h>+#include <linux/sched.h>+#include <linux/ioport.h>+#include <linux/interrupt.h>+#include <linux/timex.h>+#include <linux/malloc.h>+#include <linux/random.h>+#include <linux/smp_lock.h>+#include <linux/init.h>+#include <linux/kernel_stat.h>++#include <asm/system.h>+#include <asm/io.h>+#include <asm/irq.h>+#include <asm/bitops.h>+#include <asm/pgtable.h>+#include <asm/delay.h>+#include <asm/desc.h>++#include <linux/irq.h>++static void rtl_hard_save_flags_f(unsigned long  *z){+	unsigned long y;+	rtl_hard_save_flags_kernel(y);+	*z=y;+}+static void rtl_hard_restore_flags_f(unsigned long  x) { rtl_hard_restore_flags_kernel(x); }+static void rtl_hard_cli_f(void) { rtl_hard_cli_kernel(); }+static void rtl_hard_sti_f(void) { rtl_hard_sti_kernel(); }+static void rtl_hard_local_irq_save_f(unsigned long  *x)+{ unsigned long y;rtl_hard_local_irq_save_kernel(y);*x=y; }+static void rtl_hard_local_irq_restore_f(unsigned long  x){+	rtl_hard_local_irq_restore_kernel(x);+}+struct irq_control_s irq_control = {+ 	rtl_hard_save_flags_f,+ 	rtl_hard_restore_flags_f,+ 	rtl_hard_cli_f,+ 	rtl_hard_sti_f,+ 	rtl_hard_local_irq_save_f,+ 	rtl_hard_local_irq_restore_f+ };+void *rtl_emulate_iret = 0;+void *rtl_exception_intercept = 0;+void *rtl_syscall_intercept = 0;++extern void *__start_rtlinux_patch,*__stop_rtlinux_patch;+extern asmlinkage void do_IRQ(struct pt_regs );+extern void ret_from_intr(void);+RTLINUX_EXPORT(__start_rtlinux_patch);+RTLINUX_EXPORT(__stop_rtlinux_patch);+RTLINUX_EXPORT(rtl_emulate_iret);+RTLINUX_EXPORT(irq_desc);+RTLINUX_EXPORT(do_IRQ);+RTLINUX_EXPORT(ret_from_intr);+RTLINUX_EXPORT(rtl_exception_intercept);++#ifdef CONFIG_X86_LOCAL_APIC+extern asmlinkage void smp_spurious_interrupt(void);+extern asmlinkage void smp_error_interrupt(void);+extern void smp_apic_timer_interrupt(struct pt_regs *);++RTLINUX_EXPORT(smp_spurious_interrupt);+RTLINUX_EXPORT(smp_error_interrupt);+RTLINUX_EXPORT(smp_apic_timer_interrupt);+#endif++#ifdef CONFIG_SMP+extern void rtl_reschedule(int cpu);+extern asmlinkage void smp_reschedule_interrupt(void);+extern asmlinkage void smp_invalidate_interrupt(void);+extern asmlinkage void smp_call_function_interrupt(void);+RTLINUX_EXPORT(smp_reschedule_interrupt);+RTLINUX_EXPORT(smp_invalidate_interrupt);+RTLINUX_EXPORT(smp_call_function_interrupt);+RTLINUX_EXPORT(rtl_reschedule);+#endifdiff -rNbu linux-2.4.21-pre5/arch/i386/kernel/setup.c linux-2.4.21-pre5-rtl3.2-pre2/arch/i386/kernel/setup.c--- linux-2.4.21-pre5/arch/i386/kernel/setup.c	2003-03-13 15:47:05.000000000 +0100+++ linux-2.4.21-pre5-rtl3.2-pre2/arch/i386/kernel/setup.c	2003-03-13 15:42:01.000000000 +0100@@ -253,7 +253,7 @@ { 	int raw; -	visws_board_type = (char)(inb_p(PIIX_GPI_BD_REG) & PIIX_GPI_BD_REG)+	visws_board_type = (char)(inb(PIIX_GPI_BD_REG) & PIIX_GPI_BD_REG) 							 >> PIIX_GPI_BD_SHIFT; /*  * Get Board rev.@@ -261,40 +261,40 @@

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲第一搞黄网站| 老司机精品视频在线| 久久人人爽爽爽人久久久| 99久久99精品久久久久久| 天天综合网天天综合色| 国产精品福利av| 精品嫩草影院久久| 欧美性大战久久久久久久| 国产精品中文有码| 首页国产欧美久久| 亚洲人成在线播放网站岛国 | 青青青伊人色综合久久| 自拍偷拍亚洲激情| 国产欧美日韩综合| 精品国产99国产精品| 欧美美女直播网站| 一本大道久久a久久精品综合| 国产老妇另类xxxxx| 免费看欧美女人艹b| 亚洲一区二区视频在线| 国产精品久久久久7777按摩| 欧美白人最猛性xxxxx69交| 欧美在线短视频| 99久久免费精品高清特色大片| 韩国精品主播一区二区在线观看| 亚洲最色的网站| 一色桃子久久精品亚洲| 国产亚洲欧洲997久久综合 | 9191成人精品久久| 91国在线观看| 欧洲av一区二区嗯嗯嗯啊| 一本到一区二区三区| 91麻豆国产在线观看| 成人国产免费视频| 成人三级在线视频| 成人免费的视频| 国产91精品精华液一区二区三区| 国产毛片精品国产一区二区三区| 蜜桃视频在线观看一区| 日本不卡视频在线| 日本欧美一区二区在线观看| 日韩精品每日更新| 日本aⅴ免费视频一区二区三区| 天天操天天干天天综合网| 亚洲在线观看免费| 污片在线观看一区二区| 性做久久久久久| 日韩和欧美一区二区| 日本最新不卡在线| 美女被吸乳得到大胸91| 久久超碰97人人做人人爱| 美腿丝袜亚洲色图| 欧美一区二区免费视频| 欧美在线综合视频| 欧美午夜精品久久久| 欧美日韩国产综合一区二区| 欧美日韩亚洲高清一区二区| 欧美日韩日日骚| 日韩一二三区不卡| 精品国产免费视频| 日本一二三四高清不卡| 亚洲视频一区在线| 亚洲成国产人片在线观看| 天天av天天翘天天综合网色鬼国产| 99精品视频在线观看| 成人精品一区二区三区四区| 一本大道综合伊人精品热热 | 国产成人精品影视| 波多野结衣中文字幕一区| 精品欧美一区二区久久| 国产人伦精品一区二区| 亚洲天堂免费在线观看视频| 亚洲一区二区中文在线| 蜜桃一区二区三区四区| 国产成人精品影院| 在线观看亚洲一区| 欧美一区二区三区视频在线| 精品成人a区在线观看| 中文字幕一区二区三区蜜月 | 91精品国产综合久久久久久漫画| 精品成人一区二区三区| 亚洲天堂网中文字| 麻豆成人免费电影| 国产精品456| 欧美日韩五月天| 久久先锋影音av鲁色资源| 亚洲视频你懂的| 麻豆freexxxx性91精品| 99精品视频在线播放观看| 91精品国模一区二区三区| 欧美激情一区二区三区不卡| 亚洲成人午夜影院| 国产 日韩 欧美大片| 911精品国产一区二区在线| 国产欧美日韩在线看| 日韩av一二三| 一本久久综合亚洲鲁鲁五月天| 久久这里都是精品| 亚欧色一区w666天堂| 99精品视频在线免费观看| 精品国偷自产国产一区| 亚洲国产精品影院| av亚洲精华国产精华| 久久免费视频色| 天天色天天操综合| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 亚洲成人动漫在线观看| 成人激情黄色小说| 精品国产一区二区精华| 亚洲18色成人| 在线看国产一区二区| 国产精品视频yy9299一区| 久久国产精品露脸对白| 欧美日韩一级黄| 一区二区三区 在线观看视频| 国产91富婆露脸刺激对白| 欧美精品一区二区三区蜜臀| 三级成人在线视频| 欧美亚洲精品一区| 亚洲色图一区二区三区| 大桥未久av一区二区三区中文| 精品国内片67194| 久久99日本精品| 91精品国产综合久久精品| 午夜视频一区二区三区| 欧美中文字幕一区| 一区二区欧美国产| 日本精品视频一区二区三区| 日韩一区在线看| 99国内精品久久| 亚洲欧洲制服丝袜| 91在线一区二区| 亚洲欧美韩国综合色| 91小视频在线| 亚洲另类春色校园小说| 99re热这里只有精品视频| 国产精品素人一区二区| 成人免费看黄yyy456| 中国色在线观看另类| 成人av一区二区三区| 中文字幕中文在线不卡住| jizzjizzjizz欧美| 一区二区三区欧美在线观看| 日本韩国欧美国产| 亚洲成a人v欧美综合天堂| 欧美日韩综合在线| 首页国产欧美日韩丝袜| 欧美成人性战久久| 国产麻豆精品在线| 国产精品乱码妇女bbbb| 91蜜桃网址入口| 亚洲成人免费在线观看| 欧美成人精品3d动漫h| 国内精品国产三级国产a久久| 国产偷国产偷亚洲高清人白洁| 国产成人欧美日韩在线电影| 亚洲欧洲99久久| 欧美色图在线观看| 麻豆精品一区二区三区| 亚洲国产精品二十页| 91免费国产在线观看| 日韩精品亚洲一区二区三区免费| 精品国产乱码久久久久久老虎| 国产91精品免费| 亚洲一区二区三区四区中文字幕| 日韩一级免费一区| 成人小视频免费观看| 亚洲一区二区在线免费看| 日韩欧美国产午夜精品| 成人ar影院免费观看视频| 夜夜精品浪潮av一区二区三区| 在线播放视频一区| 国产精品白丝jk黑袜喷水| 亚洲黄色性网站| 2023国产精品| 一本久久a久久免费精品不卡| 日本网站在线观看一区二区三区| 久久婷婷一区二区三区| 波波电影院一区二区三区| 天天色图综合网| 中文字幕一区视频| 91麻豆精品国产自产在线| 风间由美中文字幕在线看视频国产欧美 | 亚洲国产精品综合小说图片区| 精品少妇一区二区三区日产乱码 | 亚洲精品乱码久久久久久| 日韩一区二区三区免费看| 99精品视频在线观看免费| 日本不卡在线视频| 亚洲免费观看在线观看| 欧美精品一区二区三区蜜臀| 在线观看视频一区二区| 国产不卡在线一区| 奇米影视一区二区三区| 亚洲欧洲国产专区| 久久综合九色综合久久久精品综合| 色噜噜狠狠成人中文综合| 国产精品白丝jk黑袜喷水| 奇米精品一区二区三区在线观看一| 日本一区二区三区国色天香|