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

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

?? serial.c

?? 一個2.4.21版本的嵌入式linux內核
?? C
?? 第 1 頁 / 共 5 頁
字號:
//#define SERIAL_DEBUG_IO  /* Debug for Extra control and status pins */#define SERIAL_DEBUG_LINE 0 /* What serport we want to debug *//* Enable this to use serial interrupts to handle when you   expect the first received event on the serial port to   be an error, break or similar. Used to be able to flash IRMA   from eLinux */#define SERIAL_HANDLE_EARLY_ERRORS#define TTY_THROTTLE_LIMIT (TTY_FLIPBUF_SIZE/10)#define SERIAL_DESCR_BUF_SIZE 256/* Add an x here to log a lot of timer stuff */#define TIMERD(x)#define DEBUG_LOG(line, string, value)#ifndef CONFIG_ETRAX_SERIAL_RX_TIMEOUT_TICKS/* Default number of timer ticks before flushing rx fifo  * When using "little data, low latency applications: use 0 * When using "much data applications (PPP)" use ~5 */#define CONFIG_ETRAX_SERIAL_RX_TIMEOUT_TICKS 5 #endifstatic void change_speed(struct e100_serial *info);static void rs_wait_until_sent(struct tty_struct *tty, int timeout);static int rs_write(struct tty_struct * tty, int from_user,                    const unsigned char *buf, int count);extern inline int raw_write(struct tty_struct * tty, int from_user,                            const unsigned char *buf, int count);#ifdef CONFIG_ETRAX_RS485static int e100_write_rs485(struct tty_struct * tty, int from_user,                            const unsigned char *buf, int count);#endifstatic int get_lsr_info(struct e100_serial * info, unsigned int *value);#define DEF_BAUD 0x99   /* 115.2 kbit/s */#define STD_FLAGS (ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST)#define DEF_RX 0x20  /* or SERIAL_CTRL_W >> 8 *//* Default value of tx_ctrl register: has txd(bit 7)=1 (idle) as default */#define DEF_TX 0x80  /* or SERIAL_CTRL_B *//* offsets from R_SERIALx_CTRL */#define REG_DATA 0#define REG_TR_DATA 0#define REG_STATUS 1#define REG_TR_CTRL 1#define REG_REC_CTRL 2#define REG_BAUD 3#define REG_XOFF 4  /* this is a 32 bit register *//* The bitfields are the same for all serial ports */#define SER_RXD_MASK         IO_MASK(R_SERIAL0_STATUS, rxd)#define SER_DATA_AVAIL_MASK  IO_MASK(R_SERIAL0_STATUS, data_avail)#define SER_FRAMING_ERR_MASK IO_MASK(R_SERIAL0_STATUS, framing_err)#define SER_PAR_ERR_MASK     IO_MASK(R_SERIAL0_STATUS, par_err)#define SER_OVERRUN_MASK     IO_MASK(R_SERIAL0_STATUS, overrun)#define SER_ERROR_MASK (SER_OVERRUN_MASK | SER_PAR_ERR_MASK | SER_FRAMING_ERR_MASK)/* Values for info->errorcode */#define ERRCODE_SET_BREAK    (TTY_BREAK)#define ERRCODE_INSERT        0x100#define ERRCODE_INSERT_BREAK (ERRCODE_INSERT | TTY_BREAK)#define FORCE_EOP(info)  *R_SET_EOP = 1U << info->iseteop;/* * General note regarding the use of IO_* macros in this file:  * * We will use the bits defined for DMA channel 6 when using various * IO_* macros (e.g. IO_STATE, IO_MASK, IO_EXTRACT) and _assume_ they are * the same for all channels (which of course they are). * * We will also use the bits defined for serial port 0 when writing commands * to the different ports, as these bits too are the same for all ports. *//* this is the data for the four serial ports in the etrax100 *//*  DMA2(ser2), DMA4(ser3), DMA6(ser0) or DMA8(ser1) *//* R_DMA_CHx_CLR_INTR, R_DMA_CHx_FIRST, R_DMA_CHx_CMD */static struct e100_serial rs_table[] = {	{ DEF_BAUD, (unsigned char *)R_SERIAL0_CTRL, 1U << 12, /* uses DMA 6 and 7 */	  R_DMA_CH6_CLR_INTR, R_DMA_CH6_FIRST, R_DMA_CH6_CMD,	  R_DMA_CH6_STATUS, R_DMA_CH6_HWSW, R_DMA_CH6_DESCR,	  R_DMA_CH7_CLR_INTR, R_DMA_CH7_FIRST, R_DMA_CH7_CMD,	  R_DMA_CH7_STATUS, R_DMA_CH7_HWSW, R_DMA_CH7_DESCR,	  STD_FLAGS, DEF_RX, DEF_TX, 2,#ifdef CONFIG_ETRAX_SERIAL_PORT0          1#else          0#endif},  /* ttyS0 */#ifndef CONFIG_SVINTO_SIM	{ DEF_BAUD, (unsigned char *)R_SERIAL1_CTRL, 1U << 16, /* uses DMA 8 and 9 */	  R_DMA_CH8_CLR_INTR, R_DMA_CH8_FIRST, R_DMA_CH8_CMD,	  R_DMA_CH8_STATUS, R_DMA_CH8_HWSW, R_DMA_CH8_DESCR,	  R_DMA_CH9_CLR_INTR, R_DMA_CH9_FIRST, R_DMA_CH9_CMD,	  R_DMA_CH9_STATUS, R_DMA_CH9_HWSW, R_DMA_CH9_DESCR,	  STD_FLAGS, DEF_RX, DEF_TX, 3 ,#ifdef CONFIG_ETRAX_SERIAL_PORT1          1#else          0#endif},  /* ttyS1 */	{ DEF_BAUD, (unsigned char *)R_SERIAL2_CTRL, 1U << 4,  /* uses DMA 2 and 3 */	  R_DMA_CH2_CLR_INTR, R_DMA_CH2_FIRST, R_DMA_CH2_CMD,	  R_DMA_CH2_STATUS, R_DMA_CH2_HWSW, R_DMA_CH2_DESCR,	  R_DMA_CH3_CLR_INTR, R_DMA_CH3_FIRST, R_DMA_CH3_CMD,	  R_DMA_CH3_STATUS, R_DMA_CH3_HWSW, R_DMA_CH3_DESCR,	  STD_FLAGS, DEF_RX, DEF_TX, 0,#ifdef CONFIG_ETRAX_SERIAL_PORT2          1#else          0#endif },  /* ttyS2 */	{ DEF_BAUD, (unsigned char *)R_SERIAL3_CTRL, 1U << 8,  /* uses DMA 4 and 5 */	  R_DMA_CH4_CLR_INTR, R_DMA_CH4_FIRST, R_DMA_CH4_CMD,	  R_DMA_CH4_STATUS, R_DMA_CH4_HWSW, R_DMA_CH4_DESCR,	  R_DMA_CH5_CLR_INTR, R_DMA_CH5_FIRST, R_DMA_CH5_CMD,	  R_DMA_CH5_STATUS, R_DMA_CH5_HWSW, R_DMA_CH5_DESCR,	  STD_FLAGS, DEF_RX, DEF_TX, 1,#ifdef CONFIG_ETRAX_SERIAL_PORT3          1#else          0#endif }   /* ttyS3 */#endif};#define NR_PORTS (sizeof(rs_table)/sizeof(struct e100_serial))  static struct tty_struct *serial_table[NR_PORTS]; static struct termios *serial_termios[NR_PORTS];static struct termios *serial_termios_locked[NR_PORTS];#ifdef CONFIG_ETRAX_SERIAL_FAST_TIMERstatic struct fast_timer fast_timers[NR_PORTS];#endif#ifdef CONFIG_ETRAX_SERIAL_PROC_ENTRY#define PROCSTAT(x) xstruct ser_statistics_type {	int overrun_cnt;	int early_errors_cnt;	int ser_ints_ok_cnt;	int errors_cnt;	unsigned long int processing_flip;	unsigned long processing_flip_still_room;	unsigned long int timeout_flush_cnt;	int rx_dma_ints;	int tx_dma_ints;	int rx_tot;	int tx_tot;};static struct ser_statistics_type ser_stat[NR_PORTS];#else#define PROCSTAT(x)#endif /* CONFIG_ETRAX_SERIAL_PROC_ENTRY *//* RS-485 */#if defined(CONFIG_ETRAX_RS485)#ifdef CONFIG_ETRAX_FAST_TIMERstatic struct fast_timer fast_timers_rs485[NR_PORTS];#endif#if defined(CONFIG_ETRAX_RS485_ON_PA)static int rs485_pa_bit = CONFIG_ETRAX_RS485_ON_PA_BIT;#endif#endif/* Info and macros needed for each ports extra control/status signals. */#define E100_STRUCT_PORT(line, pinname) \ ((CONFIG_ETRAX_SER##line##_##pinname##_ON_PA_BIT >= 0)? \		(R_PORT_PA_DATA): ( \ (CONFIG_ETRAX_SER##line##_##pinname##_ON_PB_BIT >= 0)? \		(R_PORT_PB_DATA):&dummy_ser[##line##]))#define E100_STRUCT_SHADOW(line, pinname) \ ((CONFIG_ETRAX_SER##line##_##pinname##_ON_PA_BIT >= 0)? \		(&port_pa_data_shadow): ( \ (CONFIG_ETRAX_SER##line##_##pinname##_ON_PB_BIT >= 0)? \		(&port_pb_data_shadow):&dummy_ser[line]))#define E100_STRUCT_MASK(line, pinname) \ ((CONFIG_ETRAX_SER##line##_##pinname##_ON_PA_BIT >= 0)? \		(1<<CONFIG_ETRAX_SER##line##_##pinname##_ON_PA_BIT): ( \ (CONFIG_ETRAX_SER##line##_##pinname##_ON_PB_BIT >= 0)? \		(1<<CONFIG_ETRAX_SER##line##_##pinname##_ON_PB_BIT):DUMMY_##pinname##_MASK))#define DUMMY_DTR_MASK 1#define DUMMY_RI_MASK  2#define DUMMY_DSR_MASK 4#define DUMMY_CD_MASK  8static unsigned char dummy_ser[NR_PORTS] = {0xFF, 0xFF, 0xFF,0xFF};#if defined(CONFIG_ETRAX_SER0_DTR_RI_DSR_CD_MIXED) || \    defined(CONFIG_ETRAX_SER1_DTR_RI_DSR_CD_MIXED) || \    defined(CONFIG_ETRAX_SER2_DTR_RI_DSR_CD_MIXED) || \    defined(CONFIG_ETRAX_SER3_DTR_RI_DSR_CD_MIXED)#define CONFIG_ETRAX_SERX_DTR_RI_DSR_CD_MIXED#endif#ifdef CONFIG_ETRAX_SERX_DTR_RI_DSR_CD_MIXED/* The pins can be mixed on PA and PB */#define CONTROL_PINS_PORT_NOT_USED(line) \  &dummy_ser[line], &dummy_ser[line], \  &dummy_ser[line], &dummy_ser[line], \  &dummy_ser[line], &dummy_ser[line], \  &dummy_ser[line], &dummy_ser[line], \  DUMMY_DTR_MASK, DUMMY_RI_MASK, DUMMY_DSR_MASK, DUMMY_CD_MASK    struct control_pins{	volatile unsigned char *dtr_port;	unsigned char          *dtr_shadow;	volatile unsigned char *ri_port;	unsigned char          *ri_shadow;	volatile unsigned char *dsr_port;	unsigned char          *dsr_shadow;	volatile unsigned char *cd_port;	unsigned char          *cd_shadow;	unsigned char dtr_mask;	unsigned char ri_mask;	unsigned char dsr_mask;	unsigned char cd_mask;};static const struct control_pins e100_modem_pins[NR_PORTS] = {	/* Ser 0 */	{#ifdef CONFIG_ETRAX_SERIAL_PORT0	E100_STRUCT_PORT(0,DTR), E100_STRUCT_SHADOW(0,DTR),	E100_STRUCT_PORT(0,RI),  E100_STRUCT_SHADOW(0,RI),	E100_STRUCT_PORT(0,DSR), E100_STRUCT_SHADOW(0,DSR),	E100_STRUCT_PORT(0,CD),  E100_STRUCT_SHADOW(0,CD),	E100_STRUCT_MASK(0,DTR),	E100_STRUCT_MASK(0,RI),	E100_STRUCT_MASK(0,DSR),	E100_STRUCT_MASK(0,CD)#else	CONTROL_PINS_PORT_NOT_USED(0)#endif		},	/* Ser 1 */	{#ifdef CONFIG_ETRAX_SERIAL_PORT1	  	E100_STRUCT_PORT(1,DTR), E100_STRUCT_SHADOW(1,DTR),	E100_STRUCT_PORT(1,RI),  E100_STRUCT_SHADOW(1,RI),	E100_STRUCT_PORT(1,DSR), E100_STRUCT_SHADOW(1,DSR),	E100_STRUCT_PORT(1,CD),  E100_STRUCT_SHADOW(1,CD),	E100_STRUCT_MASK(1,DTR),	E100_STRUCT_MASK(1,RI),	E100_STRUCT_MASK(1,DSR),	E100_STRUCT_MASK(1,CD)#else	CONTROL_PINS_PORT_NOT_USED(1)#endif			},	/* Ser 2 */	{#ifdef CONFIG_ETRAX_SERIAL_PORT2	  	E100_STRUCT_PORT(2,DTR), E100_STRUCT_SHADOW(2,DTR),	E100_STRUCT_PORT(2,RI),  E100_STRUCT_SHADOW(2,RI),	E100_STRUCT_PORT(2,DSR), E100_STRUCT_SHADOW(2,DSR),	E100_STRUCT_PORT(2,CD),  E100_STRUCT_SHADOW(2,CD),	E100_STRUCT_MASK(2,DTR),	E100_STRUCT_MASK(2,RI),	E100_STRUCT_MASK(2,DSR),	E100_STRUCT_MASK(2,CD)#else	CONTROL_PINS_PORT_NOT_USED(2)#endif			},	/* Ser 3 */	{#ifdef CONFIG_ETRAX_SERIAL_PORT3	  	E100_STRUCT_PORT(3,DTR), E100_STRUCT_SHADOW(3,DTR),	E100_STRUCT_PORT(3,RI),  E100_STRUCT_SHADOW(3,RI),	E100_STRUCT_PORT(3,DSR), E100_STRUCT_SHADOW(3,DSR),	E100_STRUCT_PORT(3,CD),  E100_STRUCT_SHADOW(3,CD),	E100_STRUCT_MASK(3,DTR),	E100_STRUCT_MASK(3,RI),	E100_STRUCT_MASK(3,DSR),	E100_STRUCT_MASK(3,CD)#else	CONTROL_PINS_PORT_NOT_USED(3)#endif			}};#else  /* CONFIG_ETRAX_SERX_DTR_RI_DSR_CD_MIXED *//* All pins are on either PA or PB for each serial port */#define CONTROL_PINS_PORT_NOT_USED(line) \  &dummy_ser[line], &dummy_ser[line], \  DUMMY_DTR_MASK, DUMMY_RI_MASK, DUMMY_DSR_MASK, DUMMY_CD_MASK    struct control_pins{	volatile unsigned char *port;	unsigned char          *shadow;	unsigned char dtr_mask;	unsigned char ri_mask;	unsigned char dsr_mask;	unsigned char cd_mask;};#define dtr_port port#define dtr_shadow shadow#define ri_port port#define ri_shadow shadow#define dsr_port port#define dsr_shadow shadow#define cd_port port#define cd_shadow shadowstatic const struct control_pins e100_modem_pins[NR_PORTS] = {	/* Ser 0 */	{#ifdef CONFIG_ETRAX_SERIAL_PORT0	E100_STRUCT_PORT(0,DTR), E100_STRUCT_SHADOW(0,DTR),	E100_STRUCT_MASK(0,DTR),	E100_STRUCT_MASK(0,RI),	E100_STRUCT_MASK(0,DSR),	E100_STRUCT_MASK(0,CD)#else	CONTROL_PINS_PORT_NOT_USED(0)#endif		},	/* Ser 1 */	{#ifdef CONFIG_ETRAX_SERIAL_PORT1	  	E100_STRUCT_PORT(1,DTR), E100_STRUCT_SHADOW(1,DTR),	E100_STRUCT_MASK(1,DTR),	E100_STRUCT_MASK(1,RI),	E100_STRUCT_MASK(1,DSR),	E100_STRUCT_MASK(1,CD)#else	CONTROL_PINS_PORT_NOT_USED(1)#endif			},	/* Ser 2 */	{#ifdef CONFIG_ETRAX_SERIAL_PORT2	  	E100_STRUCT_PORT(2,DTR), E100_STRUCT_SHADOW(2,DTR),	E100_STRUCT_MASK(2,DTR),	E100_STRUCT_MASK(2,RI),	E100_STRUCT_MASK(2,DSR),	E100_STRUCT_MASK(2,CD)#else	CONTROL_PINS_PORT_NOT_USED(2)#endif			},	/* Ser 3 */	{#ifdef CONFIG_ETRAX_SERIAL_PORT3	  	E100_STRUCT_PORT(3,DTR), E100_STRUCT_SHADOW(3,DTR),	E100_STRUCT_MASK(3,DTR),	E100_STRUCT_MASK(3,RI),	E100_STRUCT_MASK(3,DSR),	E100_STRUCT_MASK(3,CD)#else	CONTROL_PINS_PORT_NOT_USED(3)#endif			}};#endif /* !CONFIG_ETRAX_SERX_DTR_RI_DSR_CD_MIXED */#if defined(CONFIG_ETRAX_RS485) && defined(CONFIG_ETRAX_RS485_ON_PA)unsigned char rs485_pa_port = CONFIG_ETRAX_RS485_ON_PA_BIT;#endif#define E100_RTS_MASK 0x20#define E100_CTS_MASK 0x40/* All serial port signals are active low: * active   = 0 -> 3.3V to RS-232 driver -> -12V on RS-232 level * inactive = 1 -> 0V   to RS-232 driver -> +12V on RS-232 level * * These macros returns the pin value: 0=0V, >=1 = 3.3V on ETRAX chip *//* Output */#define E100_RTS_GET(info) ((info)->rx_ctrl & E100_RTS_MASK)/* Input */#define E100_CTS_GET(info) ((info)->port[REG_STATUS] & E100_CTS_MASK)/* These are typically PA or PB and 0 means 0V, 1 means 3.3V *//* Is an output */#define E100_DTR_GET(info) ((*e100_modem_pins[(info)->line].dtr_shadow) & e100_modem_pins[(info)->line].dtr_mask)/* Normally inputs */#define E100_RI_GET(info) ((*e100_modem_pins[(info)->line].ri_port) & e100_modem_pins[(info)->line].ri_mask)#define E100_CD_GET(info) ((*e100_modem_pins[(info)->line].cd_port) & e100_modem_pins[(info)->line].cd_mask)/* Input */#define E100_DSR_GET(info) ((*e100_modem_pins[(info)->line].dsr_port) & e100_modem_pins[(info)->line].dsr_mask)/* * tmp_buf is used as a temporary buffer by serial_write.  We need to * lock it in case the memcpy_fromfs blocks while swapping in a page, * and some other program tries to do a serial write at the same time. * Since the lock will only come under contention when the system is * swapping and available memory is low, it makes sense to share one * buffer across all the serial ports, since it significantly saves * memory if large numbers of serial ports are open. */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产女同互慰高潮91漫画| 91久久精品一区二区二区| 亚洲18女电影在线观看| 国产精品卡一卡二卡三| 国产精品拍天天在线| 国产精品久久久久毛片软件| 国产精品另类一区| 国产精品不卡在线| 夜夜爽夜夜爽精品视频| 亚洲精品久久7777| 午夜精品久久久久久久久| 日本网站在线观看一区二区三区| 日韩成人精品在线观看| 久久精工是国产品牌吗| 国产69精品久久777的优势| 色综合色狠狠天天综合色| 欧美人牲a欧美精品| 欧美一区在线视频| 国产欧美日韩激情| 亚洲h在线观看| 国产精品一区二区三区网站| av电影一区二区| 91精品国产一区二区| 亚洲视频一区在线观看| 免费视频一区二区| 色综合久久99| 久久尤物电影视频在线观看| 中文字幕日本乱码精品影院| 久久精品久久99精品久久| aaa国产一区| 久久一区二区三区四区| 日韩在线a电影| 91成人在线观看喷潮| 欧美激情一区二区三区全黄| 亚洲国产毛片aaaaa无费看| 国产乱码精品1区2区3区| 91精品国产色综合久久不卡电影 | 日本不卡在线视频| 成人av网站免费观看| 日韩欧美国产精品| 亚洲国产综合91精品麻豆| 国产成人在线色| 欧美喷潮久久久xxxxx| 中文字幕在线观看一区二区| 国模套图日韩精品一区二区| 日韩一区二区三区三四区视频在线观看 | 亚洲国产精品久久不卡毛片| 国产乱码精品一区二区三| 在线国产电影不卡| 亚洲欧美激情在线| av一二三不卡影片| 亚洲欧洲av另类| 粉嫩一区二区三区性色av| 欧美成人午夜电影| 国产精品视频线看| av亚洲产国偷v产偷v自拍| 欧美国产精品v| 97久久精品人人做人人爽| 亚洲欧洲精品天堂一级| 国内精品伊人久久久久av一坑| 777奇米成人网| 免费精品99久久国产综合精品| 欧美三级电影网站| 免费在线看成人av| 精品精品国产高清a毛片牛牛| 国产一区二区三区在线观看免费| 久久一区二区三区四区| 成人激情综合网站| 亚洲电影在线播放| 精品久久久三级丝袜| 精品亚洲成a人| 国产精品视频免费看| 欧美一级搡bbbb搡bbbb| 懂色av中文一区二区三区| 亚洲三级免费观看| 91高清视频在线| 国产精品18久久久久久久久| 亚洲欧美偷拍另类a∨色屁股| 欧美老年两性高潮| 国产成人午夜电影网| 蜜桃视频在线一区| 一区二区在线免费观看| 精品美女在线播放| 色综合欧美在线视频区| av在线不卡电影| 日日噜噜夜夜狠狠视频欧美人| 国产日韩欧美精品在线| 91啪九色porn原创视频在线观看| 天天综合色天天综合| 亚洲女厕所小便bbb| 欧美国产国产综合| 久久久久久久久久久久久女国产乱| 在线观看亚洲专区| 91精品办公室少妇高潮对白| 国产东北露脸精品视频| 久久成人免费日本黄色| 亚洲一区二区三区自拍| 亚洲桃色在线一区| 亚洲三级免费电影| 一级特黄大欧美久久久| 亚洲欧美aⅴ...| 国产精品美女视频| 国产精品久线在线观看| 国产午夜精品福利| 国产精品初高中害羞小美女文| 国产欧美日韩卡一| 久久久精品国产免大香伊| 欧美精品视频www在线观看| 欧美日韩视频一区二区| 男人的天堂久久精品| 亚洲欧洲日韩一区二区三区| 亚洲欧美日韩中文播放| 亚洲电影第三页| 国产乱码精品一区二区三区av| 成人自拍视频在线| 日本道在线观看一区二区| 欧美亚洲一区二区在线| 欧美一二三在线| 欧美韩国日本综合| 一区二区久久久| 美女尤物国产一区| 国产suv一区二区三区88区| 欧洲国内综合视频| 久久亚洲捆绑美女| 五月婷婷色综合| 成人激情综合网站| 欧美mv日韩mv国产网站| 亚洲精品视频免费观看| 国产精品一级二级三级| 欧美三级视频在线观看| 亚洲视频一二区| 波多野结衣欧美| 欧美一区二区播放| 亚洲国产成人av好男人在线观看| 国产成人午夜精品影院观看视频| 欧美日韩亚洲综合| 亚洲精品美国一| 91麻豆免费在线观看| 国产欧美一区二区精品婷婷| 美国毛片一区二区三区| 91久久精品午夜一区二区| 精品成人a区在线观看| 免费观看在线色综合| 欧美人与禽zozo性伦| 亚洲韩国精品一区| 欧美丝袜丝交足nylons图片| 亚洲高清视频的网址| 欧美色涩在线第一页| 视频一区二区欧美| 日韩欧美成人一区| 国产成人综合视频| 91精品在线免费| 免费在线观看一区二区三区| 9191精品国产综合久久久久久 | 午夜av一区二区三区| 制服.丝袜.亚洲.中文.综合| 久久国产生活片100| 欧美极品少妇xxxxⅹ高跟鞋| 波多野洁衣一区| 一区二区三区欧美在线观看| 91.麻豆视频| 国产精品一区二区久久不卡| 久久精品在线免费观看| 成人av在线资源| 婷婷开心激情综合| 欧美高清在线一区二区| 欧美日韩和欧美的一区二区| 国内不卡的二区三区中文字幕| 国产精品成人免费精品自在线观看| 色哦色哦哦色天天综合| 国产寡妇亲子伦一区二区| 亚洲韩国一区二区三区| 日韩亚洲欧美成人一区| 不卡的av中国片| 国产精品一区二区久久不卡| 亚洲一区中文日韩| 亚洲日本成人在线观看| 久久久久久夜精品精品免费| 51午夜精品国产| 91麻豆免费在线观看| 99v久久综合狠狠综合久久| 国产一区二区三区| 亚洲国产日韩一级| 一区二区三区中文字幕电影 | 日本亚洲视频在线| 亚洲精品国产无套在线观| 国产免费久久精品| 亚洲欧美日韩国产成人精品影院| 91毛片在线观看| 粉嫩欧美一区二区三区高清影视 | 日韩有码一区二区三区| 日韩免费性生活视频播放| 欧美一级午夜免费电影| 日韩欧美在线网站| 久久精品一区二区三区四区| 久久夜色精品国产欧美乱极品| 欧美激情一区二区三区不卡| 国产精品麻豆网站| 亚洲一区二区三区爽爽爽爽爽 | 青青草成人在线观看|