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

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

?? linux設(shè)備驅(qū)動之usb主機(jī)控制器驅(qū)動分析-(5)_linux技術(shù)文章_linux_操作系統(tǒng)5.htm

?? linux設(shè)備驅(qū)動之USB主機(jī)控制器驅(qū)動分析
?? 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_5.html -->
<HTML><HEAD><TITLE>linux設(shè)備驅(qū)動之USB主機(jī)控制器驅(qū)動分析-(5)_Linux技術(shù)文章_Linux_操作系統(tǒng)</TITLE>
<META http-equiv=Content-Type content=text/html;charset=gb2312>
<META content=www.diybl.com,DIY部落版權(quán)所有 name=Copyright>
<META content=linux設(shè)備驅(qū)動之USB主機(jī)控制器驅(qū)動分析_Linux技術(shù)文章_Linux_操作系統(tǒng) name=keywords>
<META 
content="linux設(shè)備驅(qū)動之USB主機(jī)控制器驅(qū)動分析_Linux技術(shù)文章_IOS off this hardware and reset if the controller&nbsp;&nbsp;&nbsp;&nbsp; &amp;#.." 
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設(shè)備驅(qū)動之USB主機(jī)控制器驅(qū)動分析-(5)_Linux技術(shù)文章_Linux_操作系統(tǒng)5.files/article2.css" 
type=text/css rel=stylesheet>
<SCRIPT src="linux設(shè)備驅(qū)動之USB主機(jī)控制器驅(qū)動分析-(5)_Linux技術(shù)文章_Linux_操作系統(tǒng)5.files/article.js" 
type=text/javascript></SCRIPT>

<SCRIPT src="linux設(shè)備驅(qū)動之USB主機(jī)控制器驅(qū)動分析-(5)_Linux技術(shù)文章_Linux_操作系統(tǒng)5.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/">網(wǎng)站首頁</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/">網(wǎng)頁設(shè)計(jì)</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/">網(wǎng)站開發(fā)</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/">操作系統(tǒng)</A></TD>
    <TD class=top_bar_sline></TD>
    <TD><A href="http://www.diybl.com/course/7_databases/">數(shù)據(jù)庫</A></TD>
    <TD class=top_bar_sline></TD>
    <TD><A href="http://www.diybl.com/course/webjsh/">網(wǎng)絡(luò)技術(shù)</A></TD>
    <TD class=top_bar_sline></TD>
    <TD><A href="http://www.diybl.com/course/comshiti/">認(rèn)證考試</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>進(jìn)入論壇</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設(shè)備驅(qū)動之USB主機(jī)控制器驅(qū)動分析-(5)_Linux技術(shù)文章_Linux_操作系統(tǒng)5.files/logo.gif" 
      width=200></A></DIV>
      <DIV class=ad_f1 id=ad_f1>
      <SCRIPT 
      src="linux設(shè)備驅(qū)動之USB主機(jī)控制器驅(qū)動分析-(5)_Linux技術(shù)文章_Linux_操作系統(tǒng)5.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應(yīng)用技巧</SPAN></A>
        <LI><A 
        href="http://www.diybl.com/course/6_system/linux/Linuxjs/81b8tksdftk.html" 
        target=_blank><SPAN>Linux技術(shù)文章</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>網(wǎng)站地圖</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設(shè)備驅(qū)動之USB主機(jī)控制器驅(qū)動分析-(5)_Linux技術(shù)文章_Linux_操作系統(tǒng)5.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/">操作系統(tǒng)</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/81b8tksdftk.html">Linux技術(shù)文章</A> 
&gt;&gt; 正文</SPAN></DIV>
<DIV class=split></DIV>
<DIV class=main>
<DIV class=lc_blue>
<DIV class=lcBlk>
<H1>linux設(shè)備驅(qū)動之USB主機(jī)控制器驅(qū)動分析</H1>
<DIV class=from_info>http://www.diybl.com/ 2008-9-23  網(wǎng)絡(luò) 點(diǎn)擊:<SPAN 
style="FONT-WEIGHT: bold; COLOR: #ff0000">
<SCRIPT src="linux設(shè)備驅(qū)動之USB主機(jī)控制器驅(qū)動分析-(5)_Linux技術(shù)文章_Linux_操作系統(tǒng)5.files/p_count.htm" 
lanuage="javascript"></SCRIPT>
 </SPAN> <A 
href="http://www.diybl.com/course/6_system/linux/Linuxjs/2008923/144940_5.html#comment">[ 
評論 ]</A></DIV>
<DIV class=artibody>
<DIV class=ad_f2 id=ad_f2>
<SCRIPT 
src="linux設(shè)備驅(qū)動之USB主機(jī)控制器驅(qū)動分析-(5)_Linux技術(shù)文章_Linux_操作系統(tǒng)5.files/ad_f2.js"></SCRIPT>
</DIV>
<DIV class=ad_f3 id=ad_f3>
<SCRIPT 
src="linux設(shè)備驅(qū)動之USB主機(jī)控制器驅(qū)動分析-(5)_Linux技術(shù)文章_Linux_操作系統(tǒng)5.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'">【點(diǎn)擊打包該文章】</A>
<SCRIPT 
src="linux設(shè)備驅(qū)動之USB主機(jī)控制器驅(qū)動分析-(5)_Linux技術(shù)文章_Linux_操作系統(tǒng)5.files/art_top.js"></SCRIPT>
 
<P>IOS off this hardware and reset if the controller<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;* isn't already safely quiescent.<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;*/<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
check_and_reset_hc(uhci);<BR>&nbsp;&nbsp;&nbsp;&nbsp; return 
0;<BR>}<BR>代碼中hcd_to_uhci()的操作就不做詳細(xì)分析了.在分配usb_hcd的內(nèi)存時(shí)就已經(jīng)分析過.<BR>結(jié)合UHCI 
spec來理解這段代碼.spec中規(guī)定.從I/O空間的0x10處開始,為端口控制狀態(tài)寄存器(PORTSC).占有兩個(gè)字節(jié).這個(gè)端口也是指UHCI控制器的root 
hub端口.該寄存器用來表示端口的狀態(tài),和操作相應(yīng)端口.協(xié)議中并沒有規(guī)定一個(gè)UHCI有多少個(gè)端口,但規(guī)定不能夠超過8個(gè).另外,協(xié)議中規(guī)定,PORTSC的bit7始終為1.因此可以根據(jù)這個(gè)特征來判斷端口是否存在.另外,寄存器中的位全為1也是不正常的.<BR>這樣就可以計(jì)算出UHCI的root 
hub有多少個(gè)端口.然后將值存放到uhci的rh_numports中.<BR>注意代碼中取寄存器值的*2操作.這是因?yàn)槊總€(gè)PORTSC占兩個(gè)字節(jié).<BR>剩下的代碼就只有check_and_reset_hc( 
)了.該函數(shù)用來檢查UHCI是否需要重置.如果需要重置.那就進(jìn)行UHCI的重置操作.代碼如下:<BR>static void 
check_and_reset_hc(struct uhci_hcd *uhci)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp; if 
(uhci_check_and_reset_hc(to_pci_dev(uhci_dev(uhci)), 
uhci-&gt;io_addr))<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
finish_reset(uhci);<BR>}<BR>先來分析uhci_check_and_reset_hc()的代碼.如下所示:<BR>int 
uhci_check_and_reset_hc(struct pci_dev *pdev, unsigned long 
base)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp; u16 legsup;<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
unsigned int cmd, intr;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
/*<BR>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;* When restarting a suspended controller, 
we expect all the<BR>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;* settings to be the same as 
we left them:<BR>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;*<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;*&nbsp;&nbsp; PIRQ and SMI disabled, no R/W bits set in 
USBLEGSUP;<BR>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;*&nbsp;&nbsp; Controller is stopped 
and configured with EGSM set;<BR>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;*&nbsp;&nbsp; No 
interrupts enabled except possibly Resume Detect.<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;*<BR>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;* If any of these conditions are 
violated we do a complete reset.<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;*/<BR>&nbsp;&nbsp;&nbsp;&nbsp; pci_read_config_word(pdev, UHCI_USBLEGSUP, 
&amp;legsup);<BR>&nbsp;&nbsp;&nbsp;&nbsp; if (legsup &amp; ~(UHCI_USBLEGSUP_RO | 
UHCI_USBLEGSUP_RWC)) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
dev_dbg(&amp;pdev-&gt;dev, "%s: legsup = 
0x%04x\n",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
__FUNCTION__, legsup);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; goto 
reset_needed;<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
}<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp; cmd = inw(base + 
UHCI_USBCMD);<BR>&nbsp;&nbsp;&nbsp;&nbsp; if ((cmd &amp; UHCI_USBCMD_RUN) || 
!(cmd &amp; UHCI_USBCMD_CONFIGURE) 
||<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
!(cmd &amp; UHCI_USBCMD_EGSM)) 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dev_dbg(&amp;pdev-&gt;dev, 
"%s: cmd = 
0x%04x\n",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
__FUNCTION__, cmd);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; goto 
reset_needed;<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
}<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp; intr = inw(base + 
UHCI_USBINTR);<BR>&nbsp;&nbsp;&nbsp;&nbsp; if (intr &amp; 
(~UHCI_USBINTR_RESUME)) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
dev_dbg(&amp;pdev-&gt;dev, "%s: intr = 
0x%04x\n",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
__FUNCTION__, intr);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; goto 
reset_needed;<BR>&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp; return 
0;<BR>&nbsp;<BR>reset_needed:<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
dev_dbg(&amp;pdev-&gt;dev, "Performing full 
reset\n");<BR>&nbsp;&nbsp;&nbsp;&nbsp; uhci_reset_hc(pdev, 
base);<BR>&nbsp;&nbsp;&nbsp;&nbsp; return 
1;<BR>}<BR>該函數(shù)的第一個(gè)參數(shù)為UHCI對應(yīng)的pci_dev.第二個(gè)參數(shù)是I/O區(qū)間的起始地址.從代碼中看來,有三種情況是需要重置的.這三種情況分別為:<BR>1:如果LEGACY 
SUPPORT REGISTER寄存器中R/W屬性位被置,那就需要重啟. LEGACY SUPPORT REGISTER通常是用于legacy 
鍵盤和鼠標(biāo).UHCI spec上對其有詳細(xì)的定義.對照spec.所有R/W屬性的位都是某種能力的使能開關(guān).例如,bit13表示USB PIRQ 
Enable.如果該位被置,表示設(shè)備能夠產(chǎn)生中斷.否則就不可以.<BR>因此,對于這樣的位,應(yīng)該將其初始化.也即將設(shè)備的功能關(guān)閉.這也很容易理解,為了R/W屬性位被置就需要重啟UHCI<BR>&nbsp;<BR>2:USB 
CMD寄存器的UHCI_USBCMD_RUN被置為1, 
UHCI_USBCMD_CONFIGURE和UHCI_USBCMD_EGSM位為0的時(shí)候需要重啟.<BR>UHCI_USBCMD_RUN表示UHCI正在調(diào)度數(shù)據(jù),處于運(yùn)行狀態(tài).顯然,這個(gè)時(shí)候是應(yīng)該被重啟的<BR>UHCI_USBCMD_CONFIGURE:這個(gè)位是由軟件控制的,只是起一個(gè)標(biāo)識作用,不會對硬件產(chǎn)生任何影響.如果該位為了1,表示UHCI正處于配置狀態(tài).沒有處于配置狀態(tài),當(dāng)然就可以重啟了.<BR>UHCI_USBCMD_EGSM表示UHCI是否處于Global 
Suspend mode.在這種模式下,是不會產(chǎn)生數(shù)據(jù)交互的.顯然.如果該位為0.則表示該位不是Global Suspend 
mode模式,當(dāng)然就需要重啟了.<BR>&nbsp;<BR>3:USB 
INTR寄存器中除UHCI_USBINTR_RESUME如果其它位為1.則重啟UHCI.<BR>在USB INTR寄存器中,bit4~bit15是保留的,始終為0.其它四位對應(yīng)了UHCI的四種不同類型的中斷,除了bit1表示的Resume 
interrupt外,其它類型的應(yīng)該全部都被關(guān)掉.<BR>&nbsp;<BR>如果不需要重啟UHCI,直接返回0即可.如果需要重啟,則會調(diào)轉(zhuǎn)到uhci_reset_hc().代碼如下:<BR>void 
uhci_reset_hc(struct pci_dev *pdev, unsigned long 
base)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp; /* Turn off PIRQ enable and SMI 
enable.&nbsp; (This also turns off the<BR>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;* 
BIOS's USB Legacy Support.)&nbsp; Turn off all the R/WC bits 
too.<BR>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;*/<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
pci_write_config_word(pdev, UHCI_USBLEGSUP, 
UHCI_USBLEGSUP_RWC);<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp; /* Reset the HC - 
this will force us to get a<BR>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;* new notification 
of any already connected<BR>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;* ports due to the 
virtual disconnect that it<BR>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;* 
implies.<BR>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;*/<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
outw(UHCI_USBCMD_HCRESET, base + UHCI_USBCMD);<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
mb();<BR>&nbsp;&nbsp;&nbsp;&nbsp; udelay(5);<BR>&nbsp;&nbsp;&nbsp;&nbsp; if 
(inw(base + UHCI_USBCMD) &amp; 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本乱人伦aⅴ精品| 国产精品国模大尺度视频| 亚洲欧洲日韩av| 国产欧美日韩不卡免费| 亚洲欧美在线视频| 综合久久一区二区三区| 亚洲综合一区在线| 日韩精品一级中文字幕精品视频免费观看| 日韩精品亚洲专区| 日本成人超碰在线观看| 久久99最新地址| 国产91精品入口| 欧美影院午夜播放| 欧美zozozo| 国产精品麻豆视频| 亚洲国产精品久久艾草纯爱| 美女视频黄 久久| 国产精品99久久久| 色欧美日韩亚洲| 欧美一区二区三区免费视频| 精品福利在线导航| 亚洲天堂免费看| 午夜欧美大尺度福利影院在线看| 五月开心婷婷久久| 国产精品一区二区三区99| 一本一道波多野结衣一区二区| 亚洲国产wwwccc36天堂| 久久精品国产99国产精品| www.66久久| 欧美一区二区三区免费观看视频| 国产欧美一区二区精品性色| 亚洲国产日日夜夜| 福利一区二区在线观看| 欧美乱熟臀69xxxxxx| 国产欧美精品国产国产专区| 亚洲r级在线视频| 国产精品自拍毛片| 欧美性受xxxx黑人xyx性爽| 精品卡一卡二卡三卡四在线| 一区二区三区在线免费观看| 九九久久精品视频| 日本乱码高清不卡字幕| 亚洲男人天堂一区| 另类调教123区| 91高清在线观看| 国产日韩精品一区二区三区在线| 午夜电影一区二区| 成人免费精品视频| 日韩精品自拍偷拍| 亚洲午夜精品在线| 国产sm精品调教视频网站| 日韩一区二区免费电影| 国产精品视频yy9299一区| 免费看日韩a级影片| 一本到一区二区三区| 久久免费精品国产久精品久久久久| 天堂影院一区二区| 欧美日韩免费观看一区二区三区| 一区二区三区精密机械公司| 成人高清视频免费观看| 国产色综合久久| 狠狠色丁香久久婷婷综合丁香| 日韩免费观看高清完整版在线观看 | 国产精品美日韩| 国产精品一区免费在线观看| xfplay精品久久| 国模一区二区三区白浆 | 丰满少妇在线播放bd日韩电影| 久久久精品免费免费| 精品在线观看视频| 欧美成人一区二区三区在线观看| 久久精品国产免费看久久精品| 欧美一区二区免费| 麻豆精品久久久| xf在线a精品一区二区视频网站| 经典三级视频一区| 久久精品夜夜夜夜久久| 成人深夜在线观看| 国产精品不卡视频| 色吧成人激情小说| 亚洲国产精品自拍| 欧美一区二区三区电影| 久草精品在线观看| 国产欧美一区二区精品性色| 成人精品视频一区二区三区尤物| 国产精品乱码一区二三区小蝌蚪| 99精品视频中文字幕| 亚洲精选视频在线| 日本乱码高清不卡字幕| 偷窥国产亚洲免费视频| 91精品蜜臀在线一区尤物| 久久国产欧美日韩精品| 国产欧美日韩一区二区三区在线观看| av电影在线观看一区| 亚洲精品视频在线| 欧美人与禽zozo性伦| 麻豆专区一区二区三区四区五区| 久久久精品免费网站| 99精品欧美一区二区三区综合在线| 一区二区三区不卡在线观看| 欧美久久久久中文字幕| 国产原创一区二区三区| 国产精品毛片大码女人| 欧美日韩中文字幕精品| 九色|91porny| 国产精品美女久久福利网站 | 婷婷成人综合网| 欧美成人性战久久| www.日韩大片| 五月天网站亚洲| 国产亚洲制服色| 色88888久久久久久影院野外| 五月天久久比比资源色| 国产清纯白嫩初高生在线观看91| 色系网站成人免费| 麻豆精品蜜桃视频网站| 成人欧美一区二区三区在线播放| 欧美日韩aaaaaa| 国产高清精品网站| 亚洲午夜电影网| 久久先锋影音av鲁色资源网| 色婷婷亚洲一区二区三区| 精品亚洲porn| 亚洲一区二区三区四区中文字幕 | 成人午夜在线播放| 午夜精彩视频在线观看不卡| 国产欧美日韩在线| 在线不卡a资源高清| 成人av电影在线| 久久机这里只有精品| 亚洲一区在线观看免费| 国产欧美日韩精品一区| 555www色欧美视频| 91在线看国产| 国产美女视频一区| 亚洲观看高清完整版在线观看| 欧美激情中文不卡| 日韩精品一区二区三区在线| 99久久精品国产毛片| 精品一区二区三区香蕉蜜桃| 亚洲国产精品自拍| 国产精品久久久久永久免费观看| 欧美mv和日韩mv国产网站| 在线观看区一区二| 成人白浆超碰人人人人| 韩国三级在线一区| 天天综合网天天综合色| 亚洲精品亚洲人成人网| 亚洲国产成人午夜在线一区| 日韩午夜三级在线| 欧美日韩不卡在线| 91国产丝袜在线播放| 国产69精品久久久久毛片| 精品在线免费视频| 美女国产一区二区| 亚洲国产一区二区a毛片| 《视频一区视频二区| 亚洲国产成人私人影院tom| 精品免费国产二区三区| 91精品国产综合久久国产大片| 欧美亚洲日本国产| 91麻豆123| www.亚洲在线| 成人听书哪个软件好| 国产成人在线色| 国产精品亚洲第一区在线暖暖韩国| 蜜桃久久av一区| 日本不卡在线视频| 日本欧美在线观看| 日av在线不卡| 美女免费视频一区| 免费成人小视频| 美女网站色91| 麻豆精品在线看| 美女国产一区二区| 精品一区二区综合| 精品一区二区三区在线播放视频| 久久国产精品无码网站| 麻豆精品新av中文字幕| 久久精品国产一区二区三| 毛片av中文字幕一区二区| 免费精品视频在线| 美女视频黄免费的久久| 国内成+人亚洲+欧美+综合在线 | 欧美激情艳妇裸体舞| 欧美极品xxx| 国产精品久久久久婷婷| 国产精品久久二区二区| 亚洲柠檬福利资源导航| 一区av在线播放| 五月天一区二区三区| 六月丁香婷婷色狠狠久久| 国内精品写真在线观看| 国产精品亚洲成人| 成人看片黄a免费看在线| 99r精品视频| 欧美日韩另类国产亚洲欧美一级| 欧美日韩精品专区| 日韩欧美一二三区| 国产亚洲欧洲997久久综合 |