日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

LINUX下的tty,console与串口分析

發布時間:2024/1/17 linux 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LINUX下的tty,console与串口分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、LINUX下TTY、CONSOLE、串口之間是怎樣的層次關系?具體的函數接口是怎樣的?串口是如何被調用的?

2、printk函數是把信息發送到控制臺上吧?如何讓PRINTK把信息通過串口送出?或者說系統在什么地方來決定是將信息送到顯示器還是串口?


3、start_kernel中一開始就用到了printk函數(好象是printk(linux_banner什么的),在 這個時候整個內核還沒跑起來呢 那這時候的printk是如何被調用的?在我們的系統中,系統啟動是用的現代公司的BOOTLOADER程序,后來好象跳到了LINUX下的head-armv.s, 然后跳到start_kernel,在bootloader 里串口已經是可用的了,那么在進入內核后是不是要重新設置?


以上問題可能問的比較亂,因為我自己腦子里也比較亂,主要還是對tty,console,serial之間的關系,特別是串口是如何被調用的沒搞清這方面的資料又比較少(就情景分析中講了一點),希望高手能指點一二,非常謝! 我最近也在搞這方面的東西,也是寫一個串口設備的驅動
搞了將近一個月了,其中上網找資料,看源代碼,什么都做了
但還是一蹋糊涂的,有些問題還是不明白,希望一起討論討論

在/proc/device(沒記錯應該是這個文件)
里面有一個叫serial的驅動,其主設備號是4,次設備號是64-12X(沒記錯應該是這個范圍)
大家都知道,串口的次設備號是從64開始的,串口1 /dev/ttyS0就對應次設備號64,串口2就對應65
問題是現在我機上只有兩個串口,它注冊這么多次設備號來干什么?

對于一個接在串口1的設備,在我注冊驅動的時候
我是需要自己找一個主設備號呢?
還是就用主設備號4,次設備號從上面12X的后面選?
還是就用主設備號4,次設備號64?

在linux的內核中有一個tty層,我看好像有些串口驅動是從這里開始的
例如調用tty_register_driver()來注冊驅動
就像在pci子系統里調用pci_register_driver()那樣的
那么,用這種機制來注冊的驅動,
它是直接對串口的端口操作呢(例如用inb(),outb()....之類的)
還是某些更底層的驅動接口呢?

這些問題纏了我很久都沒解決,搞得最后不得不放棄
現在轉向用戶空間的應用程序,看能不能有些更高效的方法來實現
(在用戶空間只能用open("/dev/ttyS0", O_RDWR)來實現了) 另外還有,系統里已經為我們實現了串口的驅動
所以我們在用戶空間的程序里直接open("/dev/ttyS0")就可用了
但是現在要寫的是接在串口上的設備的驅動
在內核模塊中可不可以包含某個頭文件,然后就可以直接用串口驅動中的接口呢? 看到你們的問題后,感覺很有典型性,因此花了點工夫看了一下,做了一些心得貼在這里,歡迎討論并指正:
1、LINUX下TTY、CONSOLE、串口之間是怎樣的層次關系?具體的函數接口是怎樣的?串口是如何被調用的?
tty和console這些概念主要是一些虛設備的概念,而串口更多的是指一個真正的設備驅動Tty實際是一類終端I/O設備的抽象,它實際上更多的是一個管理的概念,它和tty_ldisc(行規程)和tty_driver(真實設備驅動)組合在一起,目的是向上層的VFS提供一個統一的接口t 通過file_operations結構中的tty_ioctl可以對其進行配置查tty_driver,你將得到n個結果,實際都是相關芯片的驅動因此,可以得到的結論是(實際情況比這復雜得多):每個描述tty設備的tty_struct在初始化時必然掛如了某個具體芯片的字符設備驅動(不一定是字符設備驅動),可以是很多,包括顯卡或串口chip不知道你的ARM Soc是那一款,不過看情況你們應該用的是常見的chip,這些驅動實際上都有而console是一個緩沖的概念,它的目的有一點類似于tty實際上console不僅和tty連在一起,還和framebuffer連在一起,具體的原因看下面的鍵盤的中斷處理過程Tty的一個子集需要使用console(典型的如主設備號4,次設備號1―64),但是要注意的是沒有console的tty是存在的
而串口則指的是tty_driver舉個典型的例子:
分析一下鍵盤的中斷處理過程:
keyboard_interrupt―>handle_kbd_event―>handle_keyboard_event―>handle_scancode
void handle_scancode(unsigned char scancode, int down)
{
……..
tty = ttytab? ttytab[fg_console]: NULL;
if (tty && (!tty->driver_data)) {
……………
tty = NULL;
}
………….
schedule_console_callback();
}
這段代碼中的兩個地方很值得注意,也就是除了獲得tty外(通過全局量tty記錄),還進行了console 回顯schedule_console_callbackTty和console的關系在此已經很明了!!!

2、printk函數是把信息發送到控制臺上吧?如何讓PRINTK把信息通過串口送出?或者說系統在什么地方來決定是將信息送到顯示器還是串口?
具體看一下printk函數的實現就知道了,printk不一定是將信息往控制臺上輸出,設置kernel的啟動參數可能可以打到將信息送到顯示器的效果。函數前有一段英文,很有意思:
/*This is printk. It can be called from any context. We want it to work.
*
* We try to grab the console_sem. If we succeed, it's easy - we log the output and
* call the console drivers. If we fail to get the semaphore we place the output
* into the log buffer and return. The current holder of the console_sem will
* notice the new output in release_console_sem() and will send it to the
* consoles before releasing the semaphore.
*
* One effect of this deferred printing is that code which calls printk() and
* then changes console_loglevel may break. This is because console_loglevel
* is inspected when the actual printing occurs.
*/
這段英文的要點:要想對console進行操作,必須先要獲得console_sem信號量如果獲得console_sem信號量,則可以“log the output and call the console drivers”,反之,則“place the output into the log buffer and return”,實際上,在代碼:
asmlinkage int printk(const char *fmt, ...)
{
va_list args;
unsigned long flags;
int printed_len;
char *p;
static char printk_buf[1024];
static int log_level_unknown = 1;
if (oops_in_progress) { /*如果為1情況下,必然是系統發生crush*/
/* If a crash is occurring, make sure we can't deadlock */
spin_lock_init(&logbuf_lock);
/* And make sure that we print immediately */
init_MUTEX(&console_sem);
}
/* This stops the holder of console_sem just where we want him */
spin_lock_irqsave(&logbuf_lock, flags);
/* Emit the output into the temporary buffer */
va_start(args, fmt);
printed_len = vsnprintf(printk_buf, sizeof(printk_buf), fmt, args);/*對傳入的buffer進行處理,注意還不是
真正的對終端寫,只是對傳入的string進行格式解析*/
va_end(args);
/*Copy the output into log_buf. If the caller didn't provide appropriate log level tags, we insert them here*/
/*注釋很清楚*/
for (p = printk_buf; *p; p++) {
if (log_level_unknown) {
if (p[0] != '<' || p[1] < '0' || p[1] > '7' || p[2] != '>') {
emit_log_char('<');
emit_log_char(default_message_loglevel + '0');
emit_log_char('>');
}
log_level_unknown = 0;
}
emit_log_char(*p);
if (*p == '\n')
log_level_unknown = 1;
}
if (!arch_consoles_callable()) {
/*On some architectures, the consoles are not usable on secondary CPUs early in the boot process.*/
spin_unlock_irqrestore(&logbuf_lock, flags);
goto out;
}
if (!down_trylock(&console_sem)) {
/*We own the drivers. We can drop the spinlock and let release_console_sem() print the text*/
spin_unlock_irqrestore(&logbuf_lock, flags);
console_may_schedule = 0;
release_console_sem();
} else {
/*Someone else owns the drivers. We drop the spinlock, which allows the semaphore holder to
proceed and to call the console drivers with the output which we just produced.*/
spin_unlock_irqrestore(&logbuf_lock, flags);
}
out:
return printed_len;
}
實際上printk是將format后的string放到了一個buffer中,在適當的時候再加以show,這也回答了在start_kernel中一開始就用到了printk函數的原因

3、start_kernel中一開始就用到了printk函數(好象是printk(linux_banner什么的),在這個時候整個內核還沒跑起來呢。 那這時候的printk是如何被調用的?在我們的系統中,系統啟動是用的現代公司的BOOTLOADER程序,后來好象跳到了LINUX下的head-armv.s, 然后跳到start_kernel,在bootloader 里串口已經是可用的了,那么在進入內核后是不是要重新設置?
Bootloader一般會做一些基本的初始化,將kernel拷貝物理空間,然后再跳到kernel去執行 可以肯定的是kernel肯定要對串口進行重新設置,原因是Bootloader有很多種,有些不一定對串口進行設置,內核不能依賴于bootloader而存在。
? 多謝樓上大俠,分析的很精辟。我正在看printk函數。

我們用的CPU是hynix的hms7202。在評估板上是用串口0作
控制臺,所有啟動過程中的信息都是通過該串口送出的。
在bootloader中定義了函數ser_printf通過串口進行交互。

但我還是沒想明白在跳轉到linux內核而console和串口尚未
初始化時printk是如何能夠工作的?我看了start_kernel
的過程(并通過超級終端作了一些跟蹤),console的初始化
是在console_init函數里,而串口的初始化實際上是在1號
進程里(init->do_basic_setup->do_initcalls->rs_init),
那么在串口沒有初始化以前prink是如何工作的?特別的,在
start_kernel一開始就有printk(linux_banner),而這時候
串口和console都尚未初始化呢。 ? 1.在start_kernel一開始就有printk(linux_banner),而這時候串口和console都尚未初始化?
仔細分析printk可以對該問題進行解答代碼中的:
/* Emit the output into the temporary buffer */
va_start(args, fmt);
printed_len = vsnprintf(printk_buf, sizeof(printk_buf), fmt, args);
va_end(args);
將輸入放到了printk_buf中,接下來的
for (p = printk_buf; *p; p++) {
if (log_level_unknown) {
if (p[0] != '<' || p[1] < '0' || p[1] > '7' || p[2] != '>') {
emit_log_char('<');
emit_log_char(default_message_loglevel + '0');
emit_log_char('>');
}
log_level_unknown = 0;
}
emit_log_char(*p);
if (*p == '\n')
log_level_unknown = 1;
}
則將printk_buf中的內容進行解析并放到全局的log_buf(在emit_log_char函數)中if (!down_trylock(&console_sem)) {
/*
* We own the drivers. We can drop the spinlock and let
* release_console_sem() print the text
*/
spin_unlock_irqrestore(&logbuf_lock, flags);
console_may_schedule = 0;
release_console_sem();
} else {
/*
* Someone else owns the drivers. We drop the spinlock, which
* allows the semaphore holder to proceed and to call the
* console drivers with the output which we just produced.
*/
spin_unlock_irqrestore(&logbuf_lock, flags);
}
則是根據down_trylock(&console_sem)的結果調用release_console_sem(),在release_console_sem()中才真正的對全局的log_buf中的內容相應的console設備驅動進行處理。至此,可以得到如下的一些結論:
(1)printk的主操作實際上還是針對一個buffer(log_buf),該buffer中的內容是否顯示(或者說向終端輸出),則要看是否可以獲得console_sem(2)printk所在的文件為printk.c,是和體系結構無關的,因此對任何平臺都一樣可以推測的結論是:
(1)kernel在初始化時將console_sem標為了locked,因此在start_kernel一開始的printk(linux_banner)中實際只將輸入寫入了緩沖,等在串口和console初始化后,對printk的調用才一次將緩沖中的內容向串口和console輸出(2)在串口和console的初始化過程中,必然有對console_sem的up操作
(3)因此,在embedded的調試中,如果在console的初始化之前系統出了問題,不會有任何的輸出。? 唯一可以使用的只能是led或jtag了(4)因此,你的問題可以看出解答。2.console的初始化.
不知道你用的是那一個內核版本,在我看的2.4.18和2.4.19中,都是在start_kernel中就對console進行的初始化從前面的分析來看,console的初始化不應該太晚,否則log_buf有可能溢出。 多謝樓上,分析的很精彩!

我們用的內核版本是2.4.18,console的初始化確實是在
start_kernel->console->init。關于tty和串口,我這里還想再問一下tty設備的操作的總入口


static struct file_operations tty_fops = {
llseek: no_llseek,
read: tty_read,
write: tty_write,
poll: tty_poll,
ioctl: tty_ioctl,
open: tty_open,
release: tty_release,
fasync: tty_fasync,
};

而對串口的操作定義在:

static struct tty_driver serial_driver 這個結構中
serial.c中的多數函數都是填充serial_driver中的函數指針
那么在對串口操作時,應該是先調用tty_fops中的操作(比如
tty_open等),然后再分流到具體的串口操作(rs_open等)吧?
但tty_driver(對串口就是serial_driver)中有很多函數指針
并不跟file_operations中的函數指針對應,不知道這些對應
不上的操作是如何被執行的?比如put_char,flush_char,read_proc,
write_proc,start,stop等。 以下是我對這個問題的一些理解:
這實際上還是回到原先的老問題,即tty和tty_driver之間的關系。 從實現上看,tty_driver實際上是tty機制的實現組件之一,借用面向對象設計中的常用例子,這時的tty_driver就象是tty這部汽車的輪胎,tty這部汽車要正常運行,還要tty_ldisc(行規程),termios,甚至struct tq_struct tq_hangup(看tty_struct)等基礎設施。它們之間的關系并非繼承。至于tty_driver中的函數指針,再打個C++中的比喻,它們實際上很象虛函數,也就是說,可以定義它們,但并不一定實現它們、實際上還不用說tty_driver,只要查一下serial_driver都會發現n多個具體的實現,但對各個具體的設備,其tty_driver中的函數不一定全部實現、所以put_char,flush_char,read_proc, write_proc,start,stop這些函數的情況是有可能實現,也有可能不實現 即使被實現,也不一定為上層(VFS層)所用.

總結

以上是生活随笔為你收集整理的LINUX下的tty,console与串口分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

日韩一级黄色av | 天天草天天爽 | 999国内精品永久免费视频 | 欧美大片第1页 | 亚洲欧美日韩一二三区 | 一级黄色av | 在线播放你懂 | 欧美激情在线网站 | 欧美韩日在线 | 18国产精品白浆在线观看免费 | 五月天婷亚洲天综合网鲁鲁鲁 | 精品久久精品 | 国产又黄又爽又猛视频日本 | 日韩美女av在线 | 九九在线视频 | 色香网| 久久国产高清视频 | 久久久91精品国产一区二区三区 | 超碰免费久久 | 日韩特黄av | 国产中年夫妇高潮精品视频 | 综合色亚洲| 午夜黄色一级片 | 麻豆精品在线视频 | 在线视频免费观看 | 亚洲国产美女精品久久久久∴ | 中文字幕视频三区 | 国产亚洲视频在线观看 | 国产一级大片在线观看 | 久久综合九色综合欧美狠狠 | 在线日韩中文 | 国产一区二区在线免费播放 | 国产成人在线一区 | 国产成人免费 | 夜夜澡人模人人添人人看 | 狠狠狠色丁香婷婷综合久久五月 | 欧美精品久久天天躁 | 久久精品一二三 | 又爽又黄在线观看 | 干天天 | 久久人人爽人人爽人人片av软件 | 成人免费在线视频 | 超碰人人在线 | www.777奇米| 国产精品99久久久精品 | 欧美日韩国产网站 | 婷婷九月激情 | 日韩黄色免费电影 | 99热精品在线观看 | 在线免费av网站 | 日韩精品极品视频 | 毛片网在线 | 正在播放久久 | 中文字幕在线影院 | 国产精品一区二区av影院萌芽 | 国产一区免费 | 91传媒免费观看 | 日本一区二区免费在线观看 | 色婷婷97 | 国产香蕉97碰碰久久人人 | 在线观看爱爱视频 | 中文永久字幕 | 国产精品一区二区在线看 | 97超碰在线资源 | 天天干,天天插 | 99久久网站 | 久久天天操 | 午夜精品福利一区二区三区蜜桃 | 国产精品毛片一区二区 | 久久在线电影 | 伊人干综合 | 国产一区在线免费观看视频 | a视频免费看 | 国产午夜三级 | 日日婷婷夜日日天干 | 亚洲aⅴ免费在线观看 | av免费在线免费观看 | 日本中文字幕久久 | 在线观看国产永久免费视频 | 色综合久久久久久久 | 国产高清不卡一区二区三区 | 麻豆久久精品 | 麻豆精品视频在线 | 亚洲综合视频在线 | 午夜精品在线看 | 免费在线电影网址大全 | 久久人人爽人人爽人人 | 黄色软件视频网站 | 天天色天天 | 成人免费视频观看 | 久久在线免费观看视频 | 射综合网 | 久久99精品波多结衣一区 | 国产成人精品久久二区二区 | 欧美va天堂在线电影 | 中文区中文字幕免费看 | 激情丁香综合五月 | 麻豆一精品传二传媒短视频 | 日韩欧美一区二区不卡 | 色综合在 | 99婷婷| 亚洲一区二区精品3399 | 日韩av电影免费观看 | 毛片3 | 九九影视理伦片 | 欧美成人免费在线 | 草樱av| 久久99精品热在线观看 | 国产aaa免费视频 | 91手机视频 | ww视频在线观看 | 天天操夜夜逼 | 天天操夜夜干 | 国产va饥渴难耐女保洁员在线观看 | 在线色亚洲 | 国产综合91 | 国产剧情一区 | 一本之道乱码区 | 2020天天干夜夜爽 | 久久久久久久久久久久亚洲 | 久久久www成人免费精品张筱雨 | 国产99久久久欧美黑人 | 久久五月精品 | 91大神精品视频在线观看 | 成人免费一区二区三区在线观看 | 国产首页 | 91麻豆视频网站 | 国产在线播放不卡 | 久草在线视频免费资源观看 | 国产一级黄色片免费看 | 成人黄色在线视频 | 天堂av在线 | 日韩,中文字幕 | 中文字幕国语官网在线视频 | 中文字幕av全部资源www中文字幕在线观看 | 玖玖在线精品 | 国产精品久久久久久久久久久免费看 | 在线观看亚洲成人 | 91av国产视频 | 99久在线精品99re8热视频 | 久久,天天综合 | 欧美三级在线播放 | 98超碰人人 | 探花视频在线观看+在线播放 | 免费a视频在线观看 | 国产无遮挡又黄又爽馒头漫画 | 美女视频永久黄网站免费观看国产 | 热久久99这里有精品 | 丁香亚洲| 国产成人777777| 欧美精品天堂 | www.五月婷婷.com| 99热超碰 | 最近免费中文字幕mv在线视频3 | 中文字幕.av.在线 | 在线网站黄 | 在线看成人 | .国产精品成人自产拍在线观看6 | 午夜精品av在线 | 亚洲精品字幕在线观看 | 久久久国产精华液 | 欧美日韩一级久久久久久免费看 | 91中文字幕在线播放 | 国色天香第二季 | 日韩午夜在线 | 国产一区二区精 | 成人av一区二区兰花在线播放 | 97人人爽 | 91自拍91| 中国精品少妇 | 日韩激情网 | 天天干天天色2020 | 欧美国产日韩激情 | 国产专区在线视频 | 精品久久久久久久久久 | 免费高清av在线看 | 亚洲国产精品va在线看黑人动漫 | 色鬼综合网 | 国产手机在线 | 97视频在线播放 | 精品国产aⅴ麻豆 | 精品99999 | 中文字幕在线观看你懂的 | 国产精品99在线播放 | 国产精品国产三级国产aⅴ入口 | 久久激情综合 | 精品国产乱码久久久久久1区二区 | 中文在线免费视频 | 久久久久亚洲国产精品 | 亚洲 欧美 91 | 精品视频免费久久久看 | 在线看日韩 | 色噜噜在线观看视频 | www.五月婷 | 亚洲精品在线网站 | 国产精品aⅴ | 91在线精品一区二区 | 91九色丨porny丨丰满6 | 91精品婷婷国产综合久久蝌蚪 | 五月开心六月婷婷 | 91传媒在线播放 | 美女国产 | 麻豆视频在线观看免费 | 久久爱992xxoo | 99久久久久久久 | 国产成人一区二区三区久久精品 | 一区二区三区视频网站 | av中文字幕网站 | 久久免费播放视频 | 久久好看免费视频 | 最近最新mv字幕免费观看 | 久久伊人精品天天 | 手机版av在线 | 久久视频网址 | 国产精品欧美在线 | 天天操天天舔天天爽 | 亚洲国产三级 | 日韩午夜av | 欧美精品久久人人躁人人爽 | 国产裸体永久免费视频网站 | 一区二区精品久久 | 精品一区二区三区久久 | 亚洲欧美视频在线播放 | 成人免费一区二区三区在线观看 | 正在播放一区 | 激情综合五月 | 成人永久视频 | 国产综合小视频 | 蜜臀aⅴ国产精品久久久国产 | 在线观看视频中文字幕 | 黄色a级片在线观看 | 91在线视频网址 | 中文字幕久久久精品 | 国产小视频网站 | 成人少妇影院yyyy | 黄a在线看 | 国产一区二区三区在线 | 久草视频2 | 九九热中文字幕 | 色综合久久久久网 | 久久久久欠精品国产毛片国产毛生 | 色老板在线 | 午夜视频一区二区 | 在线观看国产麻豆 | 丁香花在线观看视频在线 | 国产精品女同一区二区三区久久夜 | 欧美色婷婷| 99热9 | 久久综合日 | 黄色网www | 最近字幕在线观看第一季 | 不卡的av在线 | 日韩中文字幕免费视频 | a爱爱视频 | 国产一区二区在线免费视频 | 在线中文字幕av观看 | 黄色视屏在线免费观看 | 国产亚洲人成网站在线观看 | 91一区二区三区在线观看 | 2020天天干夜夜爽 | 91插插影库 | 91精品在线麻豆 | 99久久99热这里只有精品 | a色视频 | www久久国产 | 国产美女精品视频 | 久久a v电影 | 黄色软件在线看 | 久久久人人爽 | 成人黄色视| 91麻豆传媒 | 国产精品久久久久久一区二区三区 | 九九热有精品 | 日韩免费视频播放 | www.夜夜操 | 久草视频免费观 | 免费91麻豆精品国产自产在线观看 | 精品久久久久久久久中文字幕 | 国产成人黄色网址 | 亚洲一二区精品 | 日韩在线电影观看 | 久久,天天综合 | 亚洲区另类春色综合小说校园片 | 天天爽夜夜操 | 日韩在线免费不卡 | 久久久99精品免费观看 | 999国内精品永久免费视频 | 99精品久久只有精品 | 成人免费观看大片 | 国产一级二级在线观看 | 久久精品美女视频网站 | 国产一区二区久久精品 | 在线精品国产 | av在线官网 | 日日干天天插 | 黄色电影在线免费观看 | 国产日韩中文在线 | 亚洲在线视频免费 | 免费黄色a级毛片 | 久久精品一区二区三区中文字幕 | 成人在线播放免费观看 | 国产精品一区二区三区视频免费 | 久久综合99 | 国产一区二区三区在线免费观看 | 日韩理论在线观看 | 亚洲成人国产精品 | 国产精品专区h在线观看 | 蜜臀精品久久久久久蜜臀 | 色综合中文综合网 | 色五月色开心色婷婷色丁香 | 国产夫妻av在线 | 超碰九九 | 亚洲不卡av一区二区三区 | 午夜精品久久久久久久99无限制 | 精品亚洲男同gayvideo网站 | 久久激情视频 久久 | 日日夜夜天天操 | 波多野结衣一区二区 | 国产成人三级一区二区在线观看一 | 婷婷丁香激情五月 | 天天综合网在线观看 | 天天综合中文 | 激情综合啪啪 | 国产69久久久| 久久视频网址 | 日韩精品一区二区三区三炮视频 | 又黄又爽的免费高潮视频 | 日韩成人精品 | 欧美色综合天天久久综合精品 | 免费人成在线观看 | 亚洲精品视频在 | 91av视屏 | 精品嫩模福利一区二区蜜臀 | 久久a v电影| 婷婷色婷婷 | 久久精品99国产精品 | 日日夜夜av | www.成人精品 | 亚洲精品合集 | 超碰在线个人 | 日本不卡一区二区 | 国产一级免费在线 | 久久一区国产 | 99久久久国产精品 | 久久福利在线 | 婷婷丁香色| 77国产精品| 久久精品视频日本 | 免费国产亚洲视频 | 日韩精品一区二 | 色干干 | 日韩精品一区电影 | 亚洲日本在线视频观看 | 中文字幕久久久精品 | 黄色大片视频网站 | 91av官网 | 日韩精品在线观看视频 | 天天天干天天天操 | 欧美性色黄 | 久久精品国产亚洲精品 | 欧美怡红院视频 | 国产成人久久精品一区二区三区 | 日韩欧美国产免费播放 | 久久成人高清视频 | 欧美日韩不卡一区 | 日韩一级精品 | 91麻豆精品久久久久久 | 五月在线视频 | 丁香5月婷婷 | 国产又粗又猛又黄又爽的视频 | 中文字幕视频免费观看 | 国产一区免费观看 | 五月天中文在线 | 久久激情片 | 久久久精品一区二区三区 | 成人在线免费观看视视频 | 精品成人免费 | 国产精品久久久久亚洲影视 | 91麻豆看国产在线紧急地址 | av在线影片 | 在线观看91av | 在线岛国av| 欧美日韩国产精品一区二区亚洲 | 国产护士hd高朝护士1 | 国产精彩视频一区二区 | 伊人手机在线 | 日日干夜夜操视频 | 久久99精品国产99久久 | 欧美激情另类 | 久久久久电影网站 | av千婊在线免费观看 | 97超碰在线久草超碰在线观看 | 亚洲在线精品视频 | 涩涩成人在线 | 欧美日韩一级视频 | 毛片99 | 欧美精品在线观看一区 | 国产成人一区在线 | 看片的网址| 国产一区二区精品 | 免费福利在线观看 | 一区二区三区在线免费播放 | a特级毛片 | 日韩黄色免费看 | 免费看日韩 | 探花视频免费观看 | 国产精品一区二区美女视频免费看 | 91丨porny丨九色| 二区三区在线视频 | 国产精品网站一区二区三区 | 亚洲免费资源 | 丁香六月国产 | 国内精品久久久久久久久久 | 国产精品嫩草影院123 | 久久精品韩国 | 日本在线视频网址 | 最新日韩视频 | 久久久久国产精品一区 | 国产精品久久久av久久久 | 亚洲一级二级 | 国产一线二线三线性视频 | 成人午夜片av在线看 | 欧美成人影音 | 97国产小视频 | 日韩午夜精品 | 久久久久9999亚洲精品 | mm1313亚洲精品国产 | 天堂av免费观看 | 一级片视频在线 | 天天干天天操天天拍 | 久久深夜福利免费观看 | 一区二区不卡视频在线观看 | 久久新 | 久久精品亚洲精品国产欧美 | 91麻豆精品国产午夜天堂 | 五月天激情在线 | av资源中文字幕 | 在线看一区| 91麻豆精品国产91久久久使用方法 | 国产精品24小时在线观看 | 性色av香蕉一区二区 | 色综合久久88色综合天天 | 精品国产一区二区三区在线 | 午夜免费久久看 | 亚洲精品在线二区 | 国产午夜影院 | 99久久久久国产精品免费 | 黄色精品国产 | 亚洲欧洲xxxx | 免费看片网址 | 精品国产自在精品国产精野外直播 | 91福利视频网站 | 久草在线高清视频 | 在线天堂中文www视软件 | 色97在线 | 狠狠狠色丁香综合久久天下网 | 在线 视频 一区二区 | 日日夜夜天天久久 | 久久久福利| 亚洲第一色 | 久久少妇av | 在线视频免费观看 | 中文日韩在线视频 | 成人免费视频播放 | 精品91在线 | 欧美激情精品久久久久久 | 一级免费黄视频 | 亚洲一区在线看 | 中文字幕在线观看视频网站 | 欧美精品亚州精品 | 日本动漫做毛片一区二区 | 波多野结衣亚洲一区二区 | 久久这里只有精品久久 | 天天爱综合 | 国产精品电影在线 | 天天综合网天天 | 亚色视频在线观看 | 国产精品中文字幕在线播放 | 一区av在线播放 | 久久尤物电影视频在线观看 | bbbbb女女女女女bbbbb国产 | 亚洲精品视频在线观看免费视频 | 91看片成人| 在线免费成人 | 精品毛片久久久久久 | 韩日在线一区 | 五月综合激情婷婷 | 国产剧在线观看片 | www.888.av| 五月婷婷综合网 | 麻豆视频免费入口 | 在线观看网站av | 亚洲人av免费网站 | 日韩电影久久久 | 激情开心站 | 精品一区二区三区久久久 | 四虎影视成人永久免费观看视频 | 一区二区三区观看 | 91精品视频观看 | 婷婷久久五月天 | 国产综合激情 | 在线一区电影 | 欧美91精品国产自产 | 97超级碰碰碰碰久久久久 | 国产 日韩 欧美 中文 在线播放 | 国产精品永久久久久久久www | 国产精品视频地址 | 丁香六月天婷婷 | 最新国产中文字幕 | 人人插人人干 | 亚洲精品乱码白浆高清久久久久久 | 中文字幕免费 | 欧美在线1区 | 最近免费中文字幕mv在线视频3 | 国产真实精品久久二三区 | 欧洲一区二区在线观看 | 91九色蝌蚪| 久艹在线播放 | 国产精品 国内视频 | 日韩激情精品 | 国产精品九九久久久久久久 | 日韩精品一区二区三区在线视频 | 日本韩国欧美在线观看 | 在线观看亚洲国产 | av免费试看 | 亚洲精品小视频 | av成人在线网站 | 国产五月婷 | 日韩在线影视 | 国产中文a | 国产精品自在欧美一区 | 草久久久 | av黄色免费在线观看 | 亚洲最新合集 | 激情亚洲综合在线 | 日韩激情中文字幕 | www.夜夜| 久热只有精品 | 久久久久日本精品一区二区三区 | 久99久视频 | 亚洲激情在线播放 | 欧美一级特黄aaaaaa大片在线观看 | 国产一区二区网址 | h网站免费在线观看 | 欧美成人999 | 97色国产| 丁香 婷婷 激情 | 国产黄色精品视频 | 免费a v观看 | 天天综合亚洲 | 国产乱老熟视频网88av | 在线电影中文字幕 | 99视频在线看 | 国产破处视频在线播放 | 国内免费久久久久久久久久久 | 久久中文网 | 青青草国产在线 | 天天激情综合 | 精品中文字幕在线观看 | 国产一区二区免费 | 99精品视频播放 | 成人精品影视 | 日韩三区在线观看 | 最近字幕在线观看第一季 | 人人干人人做 | 欧美午夜一区二区福利视频 | 欧美亚洲精品一区 | 精品视频国产 | 久久精品久久精品久久精品 | 亚洲午夜精品久久久久久久久 | 亚洲人精品午夜 | 久久在线观看视频 | 日韩欧美有码在线 | 国产一二区视频 | 色综合天天综合在线视频 | 国产精品无av码在线观看 | 久草视频资源 | 国产精品麻豆果冻传媒在线播放 | 深夜免费福利网站 | 欧洲精品视频一区二区 | 亚洲性少妇性猛交wwww乱大交 | 在线观看av国产 | 日本精品视频一区二区 | 91精品在线观看入口 | 精品国产精品国产偷麻豆 | 96国产在线 | 日韩精品亚洲专区在线观看 | 99综合久久 | 97夜夜澡人人双人人人喊 | 欧美另类xxxxx| 国产亚洲欧美日韩高清 | 日韩在线字幕 | 最近中文字幕免费av | 国产精品久久久久久超碰 | 国产粉嫩在线 | 极品美女被弄高潮视频网站 | 亚洲aⅴ在线观看 | 久久综合中文字幕 | 激情影院在线观看 | 夜夜骑首页 | 在线国产中文 | 国产成人精品午夜在线播放 | 国产亚洲精品久久久久久移动网络 | 91久久精品一区 | 国产精品视频地址 | 精品国产一区二区三区四区在线观看 | 国产精品18久久久久vr手机版特色 | 久久av免费 | 免费a v视频 | 国产成人精品午夜在线播放 | 欧美大片在线观看一区 | 国产午夜精品一区二区三区 | 在线观看成人小视频 | 国产成人1区 | 高清av免费看 | 天天艹| 欧美一级特黄高清视频 | 97av在线视频免费播放 | 国产一级a毛片视频爆浆 | 天天在线免费视频 | 亚洲午夜av电影 | 99久久99久久 | 久久国产精品久久精品 | 天天综合入口 | 亚欧洲精品视频在线观看 | 亚洲另类视频在线观看 | 91精品国产成人www | 精品国产亚洲一区二区麻豆 | 欧美午夜精品久久久久久浪潮 | 国产精品原创在线 | 亚洲国产成人精品在线 | 久久久久久蜜桃一区二区 | 国产精品免费久久久久影院仙踪林 | 91精品久久香蕉国产线看观看 | 九九99靖品 | 国产精品日韩久久久久 | 国产视频一区在线 | 精品国产一区二区三区久久久蜜月 | 天天干天天天天 | 国产成人免费网站 | 人人插人人爱 | 99热.com| 麻豆视频91 | 91视频在线播放视频 | 亚欧洲精品视频在线观看 | 狠狠干狠狠插 | 久草视频在线免费看 | 美女黄频免费 | 日韩免费看片 | 免费看wwwwwwwwwww的视频 久久久久久99精品 91中文字幕视频 | 国产精品久久一区二区无卡 | 蜜臀一区二区三区精品免费视频 | 中文字幕国产精品一区二区 | 丁香导航 | 国产一区精品在线 | 久久福利 | 最近中文字幕在线播放 | 国产日韩视频在线 | 麻豆91精品91久久久 | 免费网站黄色 | 久久久久久毛片精品免费不卡 | 欧美人zozo | 一级理论片在线观看 | 亚洲成aⅴ人在线观看 | av线上免费看 | 最近的中文字幕大全免费版 | 在线观看自拍 | 婷婷丁香狠狠爱 | 欧美91av| 亚洲码国产日韩欧美高潮在线播放 | 成人久久精品 | 99国产视频 | 色在线最新 | 国产一区二区日本 | 99热.com| 狠狠色伊人亚洲综合网站野外 | 日韩精品一区电影 | 天天色官网 | 国产日韩精品一区二区 | 久日精品 | 中文字幕资源站 | 欧美色图狠狠干 | 成人在线免费视频观看 | 五月天网站在线 | 国产小视频免费在线网址 | 久久视频国产精品免费视频在线 | 午夜神马福利 | 丁香激情五月 | 久久精品久久99 | 特黄特黄的视频 | 久久视频精品在线观看 | 在线亚洲激情 | 免费成人av电影 | 特级黄色一级 | 三级在线视频观看 | 亚洲视频免费 | 黄色aaa毛片 | 丰满少妇高潮在线观看 | 激情在线网站 | 97av视频| 亚洲五月婷婷 | 色哟哟国产精品 | av在线电影免费观看 | 午夜黄网 | 亚洲少妇xxxx | 久久久精品一区二区 | 久久精品视频网 | 在线影视 一区 二区 三区 | 四虎国产精品成人免费4hu | 97综合在线 | 天天躁日日躁狠狠躁 | а天堂中文最新一区二区三区 | 久久久国产一区 | 国产一级免费在线观看 | 日韩av中文在线观看 | 欧美激情视频一区二区三区免费 | 亚洲最大激情中文字幕 | 美女免费视频观看网站 | 亚洲精品国产电影 | 午夜久久久久久久 | 色诱亚洲精品久久久久久 | 欧美性久久久久久 | 国产精品久久久久久久久大全 | 精品91| 91在线视频导航 | 激情伊人 | 亚洲成人资源 | 人人干人人干人人干 | 91久久精品一区二区三区 | 久久久午夜电影 | 亚洲成人黄色在线 | 亚洲欧美在线视频免费 | 18久久久久 | 97人人超| 国产精品久久久久一区二区三区 | 欧美久久久一区二区三区 | 又黄又色又爽 | 成人av电影免费在线观看 | 午夜精品一二区 | 深夜国产福利 | 国产久视频 | 人人爽人人插 | 日韩动态视频 | 日本精品久久久久久 | 国产中文字幕在线观看 | 国产精品成人一区二区 | 在线成人av | 亚洲影视九九影院在线观看 | 香蕉91视频 | 久草视频在线新免费 | 免费亚洲一区二区 | 精品免费国产一区二区三区四区 | 国产亚洲高清视频 | 伊人狠狠色丁香婷婷综合 | 亚洲国产影院av久久久久 | 久久久高清 | 91成人在线看| 国产手机在线视频 | 国产成a人亚洲精v品在线观看 | 国产专区免费 | 日韩欧美在线观看一区二区 | 亚洲婷婷网 | 日韩色中色 | 国产成人精品在线播放 | 亚洲精品av中文字幕在线在线 | 久久免费观看少妇a级毛片 久久久久成人免费 | 国产成人av免费在线观看 | 激情久久综合 | 久久只精品99品免费久23小说 | 久99久精品视频免费观看 | 国产一级电影在线 | 亚洲精品资源在线观看 | 美女激情影院 | 午夜久久福利视频 | 天天操狠狠操夜夜操 | 91最新地址永久入口 | 91爱看片 | 丁香六月天| 国产精品网在线观看 | 中文字幕在线播放日韩 | 麻花传媒mv免费观看 | 又黄又爽又色无遮挡免费 | 久久免费一 | 国产91国语对白在线 | 久久精品超碰 | 国产免费小视频 | 看片一区二区三区 | 国内精品二区 | 天天综合成人网 | 丁香花在线观看免费完整版视频 | 伊人五月天av | 99精品视频在线播放免费 | 欧美日韩亚洲第一页 | 欧美一级黄色视屏 | 国产精品久久久久9999吃药 | 91网站免费观看 | 少妇bbb搡bbbb搡bbbb′ | 久草在线观看视频免费 | 免费成人在线电影 | 国产91在线 | 美洲 | 黄色在线观看www | 国产大陆亚洲精品国产 | av午夜电影 | 狠狠色伊人亚洲综合成人 | 丁香综合激情 | 亚洲国产精品99久久久久久久久 | 精品久久一二三区 | 深夜国产在线 | 深爱激情婷婷网 | 在线视频一二区 | 久久99久久99精品 | 亚洲欧美激情精品一区二区 | 日韩精品一区电影 | 午夜 免费| 91久久丝袜国产露脸动漫 | 色视频网站在线观看一=区 a视频免费在线观看 | 婷婷久久网站 | 91麻豆免费版 | 中文字幕av专区 | 97视频入口免费观看 | 欧美激情综合五月色丁香 | 中文字幕第一页在线播放 | 午夜精品视频免费在线观看 | 国产一区二区三区高清播放 | 91免费版在线观看 | 91精品国自产在线观看 | 黄色小说免费观看 | 国产精品久久久久国产a级 激情综合中文娱乐网 | 久久久久久97三级 | 亚洲精品高清在线 | 黄色性av | 色婷婷综合久色 | 草莓视频在线观看免费观看 | 91精品国产三级a在线观看 | 日日天天干 | 一级成人网 | 免费av成人在线 | 久久av一区二区三区亚洲 | 色婷婷激情综合 | 亚洲精品免费在线观看视频 | 成人一级片免费看 | 超碰99在线 | 日本女人逼 | 中文字幕一区二区三区久久蜜桃 | 亚洲成人免费在线观看 | 国产最新在线观看 | 午夜精品视频一区二区三区在线看 | 2023亚洲精品国偷拍自产在线 | 最近在线中文字幕 | 91色在线观看视频 | 日韩a级免费视频 | 亚洲国产精品久久 | 黄色在线免费观看网址 | 麻豆免费在线视频 | 永久av免费在线观看 | 亚州精品视频 | 午夜黄色影院 | 人人藻人人澡人人爽 | 三级黄色理论片 | 日本在线观看中文字幕无线观看 | 99久久婷婷国产精品综合 | 欧美视屏一区二区 | av免费观看高清 | 国产亚洲视频在线 | 九九免费视频 | 亚洲国产97在线精品一区 | 久久国产手机看片 | 成年人视频在线免费播放 | 亚洲精品国偷拍自产在线观看蜜桃 | 亚洲精品色婷婷 | www.777奇米 | 美女福利视频 | 久久综合9988久久爱 | 成人资源在线播放 | 欧美污网站 | 日本精品视频免费 | 超碰九九| 欧美日韩另类在线 | 精品国产欧美一区二区 | 日韩免费av在线 | av免费在线观看1 | 狠狠夜夜| 久青草视频在线观看 | 久久精品99 | 精品一区二区三区电影 | 国产小视频网站 | 亚洲欧美日韩一级 | 免费成人在线观看视频 | 日韩视频在线不卡 | 欧美aa在线| 亚洲丁香久久久 | 日韩啪视频 | 久久久91精品国产一区二区三区 | 97天堂 | 黄色91免费观看 | 国产日韩欧美视频 | 亚洲三级在线 | 国产高清精品在线 | 五月天伊人 | 欧美福利在线播放 | 狠狠做深爱婷婷综合一区 | 五月婷激情 | 在线观看免费国产小视频 | 在线观看亚洲专区 | 中文国产成人精品久久一 | 久久久久二区 | 中文字幕色网站 | 四虎影视精品永久在线观看 | 天天干夜夜| 日本中文一区二区 | www.黄色小说.com| 91片黄在线观看动漫 | 国产又粗又硬又爽视频 | 91成人在线观看喷潮 | 精品久久久久久久久久久久久 | 日韩影视在线 | 欧美天天综合网 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 色九九视频 | 99精品视频在线观看视频 | 免费观看9x视频网站在线观看 | 国产91探花 | 国产视频在线免费 | 久久国产品 | 色激情五月 | 久草在线最新 | 欧美激情视频一区二区三区免费 | 精品国产综合区久久久久久 | 婷婷综合网 | 99精品在线免费视频 | 国产精品福利久久久 | 一级黄色在线视频 | 精品不卡av| 天天爱综合 | 天天看天天操 | av大片免费看 | 一级黄色免费 | av在线电影播放 | 国产日韩在线视频 | 六月婷婷久香在线视频 | 国产黄色精品 | 精品国产乱码一区二区三区在线 | 99国产一区 | 狠狠躁日日躁 | 人人射网站 | 亚洲精品视| 免费a v在线 | 国产一级性生活视频 | 亚洲精品欧美专区 | 日日添夜夜添 | 久久影视网| 精品视频123区在线观看 | 国产精品久久久免费 | 日韩一区正在播放 | 国产高清在线免费 | av中文字幕在线免费观看 | 九九热视频在线播放 | 婷婷伊人综合 | 亚洲综合在线视频 | 亚洲人人网| 久久无码精品一区二区三区 | 国产涩涩网站 | 中文字幕在线播放一区 | 国产黄色理论片 | 国产无遮挡又黄又爽在线观看 | 国产69精品久久久久久久久久 | 国产资源av | 最新中文字幕在线资源 | 欧美精品一区二区免费 | 天天草天天草 | 97色资源 | 久久久久久综合 | a级国产乱理论片在线观看 特级毛片在线观看 | 成人免费在线视频观看 | 91高清不卡 | 久久精品中文字幕少妇 | 国产不卡视频在线播放 | 狠狠色丁香婷婷 | 91麻豆国产福利在线观看 | 成x99人av在线www | 国产精品乱码久久久久久1区2区 | 久久99国产综合精品免费 | 国产成人免费观看久久久 | 在线观看日韩中文字幕 | 色99在线| 国产精品私人影院 | 国产真实精品久久二三区 | 丁香视频免费观看 | 国产精品第一页在线观看 | 特级a毛片| 韩日成人av | 黄色在线成人 | 久久一区二区三区超碰国产精品 | 国产.精品.日韩.另类.中文.在线.播放 | 亚洲第一中文字幕 | 亚洲黄色av一区 | 少妇性aaaaaaaaa视频 | 狠狠操导航 |