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

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

?? linux設備驅動之usb主機控制器驅動分析-(4)_linux技術文章_linux_操作系統4.htm

?? linux設備驅動之USB主機控制器驅動分析
?? HTM
?? 第 1 頁 / 共 3 頁
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0072)http://www.diybl.com/course/6_system/linux/Linuxjs/2008923/144940_4.html -->
<HTML><HEAD><TITLE>linux設備驅動之USB主機控制器驅動分析-(4)_Linux技術文章_Linux_操作系統</TITLE>
<META http-equiv=Content-Type content=text/html;charset=gb2312>
<META content=www.diybl.com,DIY部落版權所有 name=Copyright>
<META content=linux設備驅動之USB主機控制器驅動分析_Linux技術文章_Linux_操作系統 name=keywords>
<META 
content="linux設備驅動之USB主機控制器驅動分析_Linux技術文章_ port1);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dev->dev..." 
name=description>
<META content=index,follow name=robots>
<META content=INDEX,FOLLOW name=GOOGLEBOT><LINK href="article2.css" 
type=text/css rel=stylesheet><LINK 
href="linux設備驅動之USB主機控制器驅動分析-(4)_Linux技術文章_Linux_操作系統4.files/article2.css" 
type=text/css rel=stylesheet>
<SCRIPT src="linux設備驅動之USB主機控制器驅動分析-(4)_Linux技術文章_Linux_操作系統4.files/article.js" 
type=text/javascript></SCRIPT>

<SCRIPT src="linux設備驅動之USB主機控制器驅動分析-(4)_Linux技術文章_Linux_操作系統4.files/1060103.js" 
type=text/javascript></SCRIPT>

<META content="MSHTML 6.00.2900.3395" name=GENERATOR></HEAD>
<BODY><INPUT type=hidden value=144940 name=passage_id><INPUT type=hidden 
value=1060103 name=catalog_id> 
<DIV id=wrap>
<DIV class=top_bar align=center>
<TABLE cellSpacing=0 width=935>
  <TBODY>
  <TR>
    <TD><A href="http://www.diybl.com/">網站首頁</A></TD>
    <TD class=top_bar_sline></TD>
    <TD><A href="http://news.diybl.com/" target=_blank>新聞首頁</A></TD>
    <TD class=top_bar_sline></TD>
    <TD><A href="http://www.diybl.com/course/1_web/">網頁設計</A></TD>
    <TD class=top_bar_sline></TD>
    <TD><A href="http://www.diybl.com/course/2_picdesign/">圖形動畫</A></TD>
    <TD class=top_bar_sline></TD>
    <TD><A href="http://www.diybl.com/course/3_program/">軟件編程</A></TD>
    <TD class=top_bar_sline></TD>
    <TD><A href="http://www.diybl.com/course/4_webprogram/">網站開發</A></TD>
    <TD class=top_bar_sline></TD>
    <TD><A href="http://www.diybl.com/course/5_office/">辦公軟件</A></TD>
    <TD class=top_bar_sline></TD>
    <TD><A href="http://www.diybl.com/course/6_system/">操作系統</A></TD>
    <TD class=top_bar_sline></TD>
    <TD><A href="http://www.diybl.com/course/7_databases/">數據庫</A></TD>
    <TD class=top_bar_sline></TD>
    <TD><A href="http://www.diybl.com/course/webjsh/">網絡技術</A></TD>
    <TD class=top_bar_sline></TD>
    <TD><A href="http://www.diybl.com/course/comshiti/">認證考試</A></TD>
    <TD class=top_bar_sline></TD>
    <TD><A href="http://www.diybl.com/course/fwzl/">范文資料</A></TD>
    <TD class=top_bar_sline></TD>
    <TD><A href="http://www.diybl.com/course/hack/">黑客攻防</A></TD>
    <TD class=top_bar_sline></TD>
    <TD><A href="http://www.diybl.com/chm/" target=_blank><FONT 
      color=red>書籍教程</FONT></A></TD>
    <TD class=top_bar_sline></TD>
    <TD><A href="http://bbs.diybl.com/" 
target=_blank>進入論壇</A></TD></TR></TBODY></TABLE></DIV>
<TABLE class=adNone id=PublicRelation cellSpacing=0 cellPadding=0 width=950 
border=0>
  <TBODY>
  <TR>
    <TD vAlign=top width=864>
      <DIV class=logo><A href="http://www.diybl.com/" target=_blank><IMG 
      height=60 
      src="linux設備驅動之USB主機控制器驅動分析-(4)_Linux技術文章_Linux_操作系統4.files/logo.gif" 
      width=200></A></DIV>
      <DIV class=ad_f1 id=ad_f1>
      <SCRIPT 
      src="linux設備驅動之USB主機控制器驅動分析-(4)_Linux技術文章_Linux_操作系統4.files/ad_f1.js"></SCRIPT>
      </DIV><!--<div class="top_bar2">-->
      <UL class=menu>
        <LI><A href="http://www.diybl.com/course/6_system/linux/" 
        target=_blank><SPAN>Linux</SPAN></A>
        <LI><A href="http://www.diybl.com/course/6_system/linux/Linuxxl/" 
        target=_blank><SPAN>Linux系列教程</SPAN></A>
        <LI><A href="http://www.diybl.com/course/6_system/linux/linuxjq/" 
        target=_blank><SPAN>Linux應用技巧</SPAN></A>
        <LI><A 
        href="http://www.diybl.com/course/6_system/linux/Linuxjs/70b7fsdwvtk.html" 
        target=_blank><SPAN>Linux技術文章</SPAN></A></LI></UL><!--</div>--></TD>
    <TD width=6></TD>
    <TD vAlign=top align=middle width=100>
      <DIV class=hotNCout>
      <DIV class=hotNC>
      <UL>
        <LI><A 
        href="javascript:window.external.addFavorite('http://www.diybl.com/','DIY部落');">加入收藏</A> 

        <LI><A href="http://www.diybl.com/map.html" target=_blank>網站地圖</A> 
        <LI><A href="http://www.diybl.com/chm/" target=_blank>書籍教程</A> 
        <LI><A href="http://www.diybl.com/user/register.asp" 
        target=_blank>會員注冊</A> </LI></UL></DIV></DIV></TD></TR></TBODY></TABLE>
<DIV class=split style="HEIGHT: 3px"></DIV>
<DIV class=ad_ftop id=ad_ftop>
<SCRIPT 
src="linux設備驅動之USB主機控制器驅動分析-(4)_Linux技術文章_Linux_操作系統4.files/ad_ftop.js"></SCRIPT>
</DIV>
<DIV class=subNav>
<DIV style="FLOAT: right"><INPUT name=wd1> <INPUT onclick=tosearch(document.all.wd1); type=button value=" 千尋搜索 "></DIV><SPAN><A 
href="http://www.diybl.com/">DIY部落</A> &gt;&gt; <A 
href="http://www.diybl.com/course/6_system/">操作系統</A> &gt;&gt; <A 
href="http://www.diybl.com/course/6_system/linux/">Linux</A> &gt;&gt; <A 
href="http://www.diybl.com/course/6_system/linux/Linuxjs/70b7fsdwvtk.html">Linux技術文章</A> 
&gt;&gt; 正文</SPAN></DIV>
<DIV class=split></DIV>
<DIV class=main>
<DIV class=lc_blue>
<DIV class=lcBlk>
<H1>linux設備驅動之USB主機控制器驅動分析</H1>
<DIV class=from_info>http://www.diybl.com/ 2008-9-23  網絡 點擊:<SPAN 
style="FONT-WEIGHT: bold; COLOR: #ff0000">
<SCRIPT src="linux設備驅動之USB主機控制器驅動分析-(4)_Linux技術文章_Linux_操作系統4.files/p_count.htm" 
lanuage="javascript"></SCRIPT>
 </SPAN> <A 
href="http://www.diybl.com/course/6_system/linux/Linuxjs/2008923/144940_4.html#comment">[ 
評論 ]</A></DIV>
<DIV class=artibody>
<DIV class=ad_f2 id=ad_f2>
<SCRIPT 
src="linux設備驅動之USB主機控制器驅動分析-(4)_Linux技術文章_Linux_操作系統4.files/ad_f2.js"></SCRIPT>
</DIV>
<DIV class=ad_f3 id=ad_f3>
<SCRIPT 
src="linux設備驅動之USB主機控制器驅動分析-(4)_Linux技術文章_Linux_操作系統4.files/ad_f3.js"></SCRIPT>
</DIV>文章搜索: <INPUT maxLength=255 size=30 name=wd2> &nbsp;&nbsp; <INPUT onclick=tosearch(document.all.wd2); type=button value=千尋搜索><A 
class=redlink 
href="javascript:self.location='/user/chm/rar.asp?c_id=48375'">【點擊打包該文章】</A>
<SCRIPT 
src="linux設備驅動之USB主機控制器驅動分析-(4)_Linux技術文章_Linux_操作系統4.files/art_top.js"></SCRIPT>
 
<P>port1);<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
dev-&gt;dev.parent = 
&amp;parent-&gt;dev;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
sprintf(&amp;dev-&gt;dev.bus_id[0], 
"%d-%s",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
bus-&gt;busnum, 
dev-&gt;devpath);<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
/* hub driver sets up TT records */<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
}<BR>//上面的節點名稱賦值很有意思: 如果是根集線器,它的名稱為"usb"+總線號<BR>//如果是第1條總線上的root 
hub,對應就是usb0<BR>//如果是根集線其下面的設備.它的名稱為:總線號+ "-" + portnum 或者:總線號+ "-"&nbsp; + 
上層總線//的devpath<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp; dev-&gt;portnum = 
port1;<BR>&nbsp;&nbsp;&nbsp;&nbsp; dev-&gt;bus = 
bus;<BR>&nbsp;&nbsp;&nbsp;&nbsp; dev-&gt;parent = 
parent;<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
INIT_LIST_HEAD(&amp;dev-&gt;filelist);<BR>&nbsp;<BR>#ifdef&nbsp;&nbsp; 
CONFIG_PM<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
mutex_init(&amp;dev-&gt;pm_mutex);<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
INIT_DELAYED_WORK(&amp;dev-&gt;autosuspend, 
usb_autosuspend_work);<BR>&nbsp;&nbsp;&nbsp;&nbsp; dev-&gt;autosuspend_delay = 
usb_autosuspend_delay * HZ;<BR>&nbsp;&nbsp;&nbsp;&nbsp; dev-&gt;connect_time = 
jiffies;<BR>&nbsp;&nbsp;&nbsp;&nbsp; dev-&gt;active_duration = 
-jiffies;<BR>#endif<BR>&nbsp;&nbsp;&nbsp;&nbsp; if (root_hub) /* Root hub always 
ok [and always wired] */<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
dev-&gt;authorized = 1;<BR>&nbsp;&nbsp;&nbsp;&nbsp; else 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dev-&gt;authorized = 
usb_hcd-&gt;authorized_default;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
dev-&gt;wusb = usb_bus_is_wusb(bus)? 1 : 0;<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
}<BR>&nbsp;&nbsp;&nbsp;&nbsp; return 
dev;<BR>}<BR>該函數的參數如下:<BR>Parent:該設備的上層hub.對于root 
hub來說,該參數為NULL.表示它的上層無設備<BR>Bus&nbsp; :該設備所屬的bus<BR>port1:該設備所連hub的端口號.對于root 
hub來說,該項為0.<BR>參考添加的注釋,這段代碼應該很容易理解.注意在代碼為usb_driver內嵌的struct 
device的賦值過程.它的bus被設置成了usb_bus_type.它的type被設置成了usb_device_type.這些賦值是我們以后分析usb設備驅動的基礎.這里不再啰嗦.為以后的分析打一個伏筆.:-) 
.在這里,注重分析一下對端點0的操作以及設備的命名規則.<BR>1:對于端點0:<BR>USB協議規定每個設備都必須要有一個端點0.USB控制器和這個端點0通信都可以獲得整個設備的信息.USB設備可以有多個端口.但是除了端點0外,其它端口的通信都是單向的.如:一些端點只能接收數據.另外的端點只能發送數據.每個端點都對應一個端點號,一個端點號+通信方向就確定了一個端點.也就是說,一個端點號對應二個端點,進來方向的一個,出去方向的一個.<BR>對于端點0.就分析這么多.具體的流程.以后結合代碼再來分析.<BR>結合上面的代碼:<BR>dev-&gt;ep0.desc.表示ep0(端點0)的端點描述符.desc的定義為struct 
usb_endpoint_descriptor.在usb2.0的規范中,總共有8種描述符.端點描述符的類型定義為5.整個端點描述符的長度為7.<BR>跟進去看一下usb_enable_endpoint():<BR>void 
usb_enable_endpoint(struct usb_device *dev, struct usb_host_endpoint 
*ep)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp; int epnum = 
usb_endpoint_num(&amp;ep-&gt;desc);<BR>&nbsp;&nbsp;&nbsp;&nbsp; int is_out = 
usb_endpoint_dir_out(&amp;ep-&gt;desc);<BR>&nbsp;&nbsp;&nbsp;&nbsp; int 
is_control = 
usb_endpoint_xfer_control(&amp;ep-&gt;desc);<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
if (is_out || is_control) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
usb_settoggle(dev, epnum, 1, 
0);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dev-&gt;ep_out[epnum] = 
ep;<BR>&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp; if (!is_out || 
is_control) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
usb_settoggle(dev, epnum, 0, 
0);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dev-&gt;ep_in[epnum] = 
ep;<BR>&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp; ep-&gt;enabled = 
1;<BR>}<BR>Usb_endpoint_num()定義如下:<BR>static inline int usb_endpoint_num(const 
struct usb_endpoint_descriptor *epd)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp; return 
epd-&gt;bEndpointAddress &amp; 
USB_ENDPOINT_NUMBER_MASK;<BR>}<BR>即在描述符的bEndpointAddress字段中,取得端點號.<BR>usb_endpoint_dir_out()定義如下:<BR>static 
inline int 
usb_endpoint_dir_out(<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
const struct usb_endpoint_descriptor *epd)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
return ((epd-&gt;bEndpointAddress &amp; USB_ENDPOINT_DIR_MASK) == 
USB_DIR_OUT);<BR>}<BR>即判斷該端點是否是OUT方向的.OUT方向.就是指從主機發往設備方向.<BR>usb_endpoint_xfer_control()定義如下:<BR>static 
inline int 
usb_endpoint_xfer_control(<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
const struct usb_endpoint_descriptor *epd)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
return ((epd-&gt;bmAttributes &amp; USB_ENDPOINT_XFERTYPE_MASK) 
==<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
USB_ENDPOINT_XFER_CONTROL);<BR>}<BR>即檢查該端點是否是控制傳輸端點.<BR>&nbsp;<BR>從上面的流程看,我們并沒有對ep0的相關字段賦值,這些函數會全部都返回0.<BR>所以,流程就轉到這里:<BR>&nbsp;<BR>if 
(!is_out || is_control) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
usb_settoggle(dev, epnum, 0, 
0);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dev-&gt;ep_in[epnum] = 
ep;<BR>}<BR>&nbsp;&nbsp;&nbsp;&nbsp; ep-&gt;enabled = 
1;<BR>&nbsp;<BR>這段代碼執行的效果就是:dev-&gt;ep_in[0]=ep. Dev-&gt; 
toggle[0]的0位被置1.<BR>最后將ep-&gt;enabled置為1.表示啟用該設備.<BR>其實該段代碼主要是改變dev-&gt;ep_in[]和dev-&gt;toggle[].將struct 
usb_device的相關成員列出:<BR>struct usb_device {<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
……<BR>&nbsp;&nbsp;&nbsp;&nbsp; unsigned int toggle[2];&nbsp;&nbsp;&nbsp;&nbsp; 
/* one bit for each endpoint*/<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
……<BR>&nbsp;&nbsp;&nbsp;&nbsp; struct usb_host_endpoint 
*ep_in[16];<BR>&nbsp;&nbsp;&nbsp;&nbsp; struct usb_host_endpoint 
*ep_out[16];<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
……<BR>}<BR>Usb2.0的spec規定.每個設備最多有15個端點號.即最多表示30個端點.另外再加一個端點0.共計31個.<BR>數組ep_in[]表示in方向的端點集合.ep_out[]表示ONT方向的集合.它們在數組中的位置是以端點號做為索引的.<BR><BR>而對于toggle[]數組.他實際上就是一個位圖.IN方向的是toggle[0].OUT方向的是toggle[1].其實,這個數組中的每一位表示ep的toggle值.關于toggle,在分析USB的數據傳輸再來說明,另外,從usb_enable_endpoint()中的代碼可以看到,端點的toggle是初始化為0的.<BR>2:對于usb設備的命名規則<BR>注釋中解釋了一部份,在這里整理一下.相應的代碼如下:<BR>if 
(unlikely(!parent)) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
dev-&gt;devpath[0] = 
'0';<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
黑人巨大精品欧美黑白配亚洲| 视频一区视频二区在线观看| 欧美mv和日韩mv国产网站| 一本久久a久久精品亚洲 | 91麻豆免费观看| 成人动漫av在线| 91在线视频18| 欧洲激情一区二区| 欧美日韩美少妇| 欧美一级二级在线观看| 26uuu欧美日本| 中文字幕av一区二区三区高| 国产精品卡一卡二| 一区二区三国产精华液| 亚洲成人av中文| 久久99久久久久久久久久久| 国产一区二区视频在线| kk眼镜猥琐国模调教系列一区二区| 91在线码无精品| 欧美日韩国产综合一区二区| 日韩欧美aaaaaa| 国产精品免费视频网站| 一区二区国产盗摄色噜噜| 日韩精品亚洲专区| 国产乱子轮精品视频| 91社区在线播放| 91精品国产综合久久精品麻豆| 精品久久五月天| 久久女同性恋中文字幕| 亚洲免费观看高清完整版在线| 亚洲成人动漫在线观看| 国产成人啪午夜精品网站男同| 一本大道久久a久久精品综合| 欧美精品粉嫩高潮一区二区| 国产日韩av一区| 污片在线观看一区二区| 粉嫩嫩av羞羞动漫久久久| 欧美日韩精品一区二区在线播放| 久久五月婷婷丁香社区| 亚洲成人一区在线| 成人三级伦理片| 日韩欧美在线1卡| 亚洲精品视频自拍| 国产suv精品一区二区三区| 欧美日韩视频第一区| 日本一区二区综合亚洲| 视频一区视频二区在线观看| aaa欧美日韩| 久久亚洲一区二区三区明星换脸| 亚洲bt欧美bt精品| 一本色道久久综合亚洲aⅴ蜜桃| 日韩一区二区电影| 日韩电影在线观看电影| 一本久久精品一区二区| 国产精品天干天干在线综合| 日韩成人一级片| 欧美性做爰猛烈叫床潮| 亚洲欧洲一区二区在线播放| 国产精品资源在线观看| 日韩欧美久久久| 亚洲18影院在线观看| 91精彩视频在线| 亚洲欧美综合网| www.欧美日韩| 国产精品久久久久久户外露出 | 自拍偷拍欧美精品| 大白屁股一区二区视频| 精品国产免费人成电影在线观看四季 | 欧美私人免费视频| 成人免费在线视频| 91在线视频播放| 最近中文字幕一区二区三区| 成人av片在线观看| 国产精品福利一区二区| 国产在线精品一区二区| 欧美精品一区二区高清在线观看| 免费人成黄页网站在线一区二区| 91精品在线一区二区| 麻豆精品一二三| 精品国产第一区二区三区观看体验 | 亚洲欧美日韩小说| 99国产精品久久久久久久久久久 | 日韩制服丝袜先锋影音| 色94色欧美sute亚洲线路一ni| 自拍偷拍欧美激情| 欧美综合天天夜夜久久| 亚洲高清视频在线| 欧美美女激情18p| 精品亚洲国产成人av制服丝袜| 日韩欧美专区在线| 国产在线视频精品一区| 日本一区二区免费在线| 色婷婷综合在线| 亚洲成a人v欧美综合天堂| 91精品国产高清一区二区三区蜜臀 | 欧洲一区二区三区在线| 夜夜亚洲天天久久| 欧美一区二区三区精品| 国产综合色精品一区二区三区| 国产日韩欧美一区二区三区乱码| av在线不卡观看免费观看| 一区二区三区资源| 日韩免费观看高清完整版| av一区二区久久| 日本亚洲视频在线| 国产精品免费人成网站| 在线播放中文一区| 风间由美一区二区av101| 亚洲一区二区视频在线观看| 久久综合久色欧美综合狠狠| 成+人+亚洲+综合天堂| 亚洲成人黄色小说| 国产精品女主播在线观看| 欧美日韩高清一区二区不卡| 国产不卡视频一区| 蜜臀av性久久久久蜜臀aⅴ| 国产精品久久久久国产精品日日| 欧美猛男gaygay网站| www.日韩精品| 久久国产综合精品| 一区二区三区日韩欧美精品| 2020国产成人综合网| 精品婷婷伊人一区三区三| 国产成人av影院| 久久99国产精品久久99果冻传媒| 亚洲人成小说网站色在线| 久久久久久久网| 日韩一区二区三区免费看| 在线亚洲欧美专区二区| 粉嫩av一区二区三区在线播放 | 欧美日本不卡视频| 91啪在线观看| 国产成a人亚洲| 美国三级日本三级久久99 | 欧美精品一区视频| 欧美日韩国产高清一区二区三区| 成人h动漫精品一区二| 韩国三级中文字幕hd久久精品| 日韩影院免费视频| 亚洲一区国产视频| 亚洲综合在线五月| 亚洲小说欧美激情另类| 中文字幕一区二区三区不卡在线 | 日韩一区二区免费在线电影 | 国产精品一色哟哟哟| 麻豆精品视频在线| 久久不见久久见免费视频7| 首页亚洲欧美制服丝腿| 午夜精品久久久久久久蜜桃app| 成人免费一区二区三区在线观看 | 成人精品免费看| 精品一区二区三区免费视频| 蜜臀va亚洲va欧美va天堂| 久草精品在线观看| 国产自产v一区二区三区c| 国产麻豆精品在线| 国产精品伊人色| 国产成人精品免费视频网站| 成人性生交大片免费看中文网站| 国产a级毛片一区| 99re亚洲国产精品| 日本高清成人免费播放| 欧美日韩三级一区| 日韩视频一区二区三区| 日韩精品一区二区三区在线| 精品国产电影一区二区| 国产欧美日韩精品一区| 亚洲啪啪综合av一区二区三区| 亚洲精品ww久久久久久p站| 亚洲一区免费观看| 麻豆精品视频在线观看免费| 成人国产精品免费观看| 99精品欧美一区二区蜜桃免费| 在线观看国产日韩| 日韩欧美一区二区久久婷婷| 欧美激情在线免费观看| 亚洲美女在线国产| 美女任你摸久久 | 亚洲免费av高清| 婷婷成人综合网| 国产一级精品在线| 一本色道久久综合亚洲91| 在线成人av影院| 欧美激情在线一区二区| 天天免费综合色| 成人综合婷婷国产精品久久| 欧美色综合天天久久综合精品| 久久综合色播五月| 亚洲成人激情自拍| 福利91精品一区二区三区| 制服丝袜亚洲色图| 亚洲欧美视频一区| 韩国成人精品a∨在线观看| 色婷婷狠狠综合| 久久久影视传媒| 日韩精品乱码免费| 成人精品免费视频| 久久影院午夜片一区| 午夜精品久久久久久久久久| 成人久久18免费网站麻豆|