• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    Linux系統(tǒng)中PCI設(shè)備DMA 數(shù)據(jù)傳輸?shù)膶?shí)現(xiàn)

    2012-09-20 08:19:28譚欽紅張際生李文杰
    關(guān)鍵詞:輸入輸出外設(shè)寄存器

    譚欽紅,張際生,李文杰,徐 沛

    (重慶郵電大學(xué)信號(hào)與信息處理重點(diǎn)實(shí)驗(yàn)室,重慶 400065)

    0 引言

    Linux作為開源操作系統(tǒng),因其良好的可擴(kuò)展性和網(wǎng)絡(luò)應(yīng)用的可靠性,受到眾多領(lǐng)域開發(fā)者的青睞。目前在各種嵌入式設(shè)備,大型交換設(shè)備及PC機(jī)上均可看見它的身影。同時(shí),Linux系統(tǒng)還具有支持多種總線標(biāo)準(zhǔn)的特點(diǎn),其中包括外設(shè)組件互連標(biāo)準(zhǔn)(peripheral component interconnection,PCI)總線。PCI總線是目前計(jì)算機(jī)系統(tǒng)中應(yīng)用最為廣泛的一種總線標(biāo)準(zhǔn),它不依賴于任何一種處理器架構(gòu),支持總線控制技術(shù),配合存儲(chǔ)器直接存取(direct memory acess,DMA)技術(shù)可使總線上的智能設(shè)備取得對(duì)總線的控制權(quán),進(jìn)而使智能設(shè)備具有與系統(tǒng)內(nèi)存自主進(jìn)行高速數(shù)據(jù)傳輸?shù)哪芰?。本文重點(diǎn)介紹Linux系統(tǒng)中基于PCI總線接口技術(shù)的DMA數(shù)據(jù)傳輸?shù)膶?shí)現(xiàn)機(jī)制。

    1 DMA簡(jiǎn)介

    在DMA傳輸方式出現(xiàn)之前,程序控制輸入輸出和中斷控制輸入輸出是應(yīng)用較多的兩種傳輸控制方式。由于程序控制輸入輸出方式需要CPU反復(fù)測(cè)試外部設(shè)備的狀態(tài),CPU在大量時(shí)間處于查詢和等待的狀態(tài)下,使得整個(gè)計(jì)算機(jī)系統(tǒng)的效率十分低下,現(xiàn)已不再使用。在中斷控制輸入輸出的方式中,CPU向輸入輸出設(shè)備發(fā)出讀寫一個(gè)數(shù)據(jù)字的命令后即可轉(zhuǎn)入其他工作,而由外設(shè)獨(dú)立完成輸入輸出操作。當(dāng)輸入輸出操作完成后,設(shè)備再向CPU發(fā)出中斷請(qǐng)求,這時(shí)CPU才暫停當(dāng)前操作來響應(yīng)中斷,并再次向輸入輸出設(shè)備發(fā)出讀寫命令。雖然中斷控制輸入輸出方式減少了CPU的等待時(shí)間,但是輸入輸出設(shè)備每傳送完一個(gè)數(shù)據(jù)字都需要向CPU發(fā)出一次中斷請(qǐng)求,CPU需要中斷一次當(dāng)前工作并進(jìn)行保護(hù)現(xiàn)場(chǎng)操作,以便中斷響應(yīng)后可以繼續(xù)執(zhí)行之前的工作[1]。這樣,在連續(xù)傳送一個(gè)數(shù)據(jù)塊的過程中,CPU反復(fù)多次被中斷,并花費(fèi)很多時(shí)間去處理中斷,整個(gè)系統(tǒng)效率的提高依舊受到了限制。

    DMA是一種允許外圍設(shè)備直接從內(nèi)存存取數(shù)據(jù)而無需CPU全程參與的硬件機(jī)制,常用在需要高速大批量數(shù)據(jù)傳輸?shù)南到y(tǒng)中。整個(gè)DMA數(shù)據(jù)傳輸操作在“DMA控制器”的控制下進(jìn)行,CPU只需在數(shù)據(jù)傳輸開始和結(jié)束時(shí)做出相應(yīng)處理,傳輸過程中則可處理其他進(jìn)程[2]。這一機(jī)制使得CPU和輸入輸出設(shè)備處于并行操作的狀態(tài),大大提高了系統(tǒng)的效率。

    實(shí)現(xiàn)DMA傳送主要有以下4步基本操作。

    1)外設(shè)發(fā)出DMA請(qǐng)求;

    2)CPU響應(yīng)DMA請(qǐng)求并將總線控制權(quán)交給DMA控制器,系統(tǒng)轉(zhuǎn)到DMA工作方式;

    3)執(zhí)行DMA傳輸;

    4)傳輸完成,將總線控制權(quán)交還CPU。

    在進(jìn)行以上4步操作前,還需要向系統(tǒng)申請(qǐng)一條DMA通道,通道的申請(qǐng)一般在外設(shè)打開時(shí)完成,在外設(shè)關(guān)閉時(shí)予以釋放。當(dāng)外設(shè)需傳輸數(shù)據(jù)時(shí),系統(tǒng)應(yīng)開辟一塊數(shù)據(jù)緩存區(qū)用于數(shù)據(jù)的存放,同時(shí)該緩存區(qū)還需被映射成外設(shè)可直接訪問的DMA緩存區(qū)。當(dāng)傳輸完成時(shí),外設(shè)通過一個(gè)中斷函數(shù)通知CPU數(shù)據(jù)已傳輸完畢,并釋放對(duì)總線的控制權(quán)。

    2 Linux系統(tǒng)中PCI設(shè)備驅(qū)動(dòng)

    PCI總線是目前應(yīng)用極為廣泛的一種計(jì)算機(jī)總線標(biāo)準(zhǔn),通過PCI總線與系統(tǒng)相連的設(shè)備統(tǒng)稱為PCI設(shè)備,具體的PCI設(shè)備可以是網(wǎng)絡(luò)設(shè)備、字符設(shè)備或者USB主機(jī)控制器等。Linux系統(tǒng)采用pci_dev結(jié)構(gòu)體來對(duì)每一個(gè)PCI設(shè)備做出描述,該結(jié)構(gòu)體對(duì)應(yīng)一個(gè)配置寄存器[3],其空間結(jié)構(gòu)如圖1所示。

    盡管PCI配置寄存器包含眾多內(nèi)容,但有些配置寄存器是要求的,有些則是可選的。常常用到的有制造商標(biāo)識(shí)(verdor id)和設(shè)備標(biāo)識(shí)(device id),它們由制造商寫入設(shè)備,在系統(tǒng)初始化時(shí)被讀取,用來供驅(qū)動(dòng)程序查找對(duì)應(yīng)的設(shè)備。在Linux系統(tǒng)中,有一條指向所有PCI設(shè)備的鏈表pci_devices。PCI設(shè)備描述結(jié)構(gòu)體pci_dev通過global_list成員將自身鏈接到這條全局的PCI設(shè)備鏈表上,這樣驅(qū)動(dòng)程序就能迅速地查找到對(duì)應(yīng)的PCI設(shè)備了。

    圖1 PCI配置寄存器Fig.1 PCI configuration register

    Linux系統(tǒng)用pci_driver結(jié)構(gòu)體來統(tǒng)一定義PCI設(shè)備驅(qū)動(dòng),它是pci_dev設(shè)備描述結(jié)構(gòu)體的成員函數(shù),其部分代碼如下所示。

    盡管pci_driver結(jié)構(gòu)體中成員函數(shù)較多,但驅(qū)動(dòng)開發(fā)人員往往只需關(guān)心里面幾個(gè)重要成員,其中就有 name,id_table,probe。name 代表適用于該 PCI設(shè)備的驅(qū)動(dòng)程序的名字,該名稱可由lspci命令查看。id_table用于表示驅(qū)動(dòng)所支持的成員設(shè)備列表,該列表由probe成員調(diào)用[4]。當(dāng)Linux內(nèi)核啟動(dòng)并完成對(duì)所有PCI設(shè)備的掃描、登錄和分配資源等初始化操作時(shí),就會(huì)建立起系統(tǒng)中所有PCI設(shè)備的拓?fù)浣Y(jié)構(gòu),probe函數(shù)將負(fù)責(zé)具體硬件的探測(cè)工作并保存配置信息,繼而加載設(shè)備驅(qū)動(dòng)程序。pci_driver結(jié)構(gòu)體的實(shí)現(xiàn)形式如下。

    注:xxx前綴由驅(qū)動(dòng)開發(fā)人員自行命名以示區(qū)分。

    在Linux系統(tǒng)中,PCI驅(qū)動(dòng)只是為了輔助設(shè)備本身的驅(qū)動(dòng),是所有PCI設(shè)備自身驅(qū)動(dòng)在系統(tǒng)中的接口,真正操作設(shè)備驅(qū)動(dòng)程序入口是pci_driver結(jié)構(gòu)體中的probe成員函數(shù)。probe函數(shù)中包括設(shè)備的打開、關(guān)閉、中斷號(hào)獲取、申請(qǐng)I/O端口、計(jì)時(shí)等函數(shù),這些成員函數(shù)即是設(shè)備自身驅(qū)動(dòng)的實(shí)現(xiàn)[5]。以下為probe函數(shù)部分示例。

    3 DMA存取方式的實(shí)現(xiàn)

    3.1 DMA通道的申請(qǐng)與釋放

    在使用DMA方式傳輸數(shù)據(jù)前,需要向系統(tǒng)申請(qǐng)一個(gè)DMA通道,該通道的申請(qǐng)?jiān)谕庠O(shè)的打開函數(shù)中實(shí)現(xiàn)。雖然現(xiàn)在大部分外設(shè)均支持DMA功能,但在申請(qǐng)DMA通道之前,最好先判定設(shè)備是否支持該功能。外設(shè)的打開函數(shù)如下。

    打開函數(shù)中,dma_set_mask()用來判斷設(shè)備是否具備DMA功能,內(nèi)核默認(rèn)設(shè)備能對(duì)任何32位地址進(jìn)行DMA操作,該地址位寬可由驅(qū)動(dòng)開發(fā)人員指定,例如此處用0xffffff表示設(shè)備只限定于對(duì)24位地址進(jìn)行DMA操作;request_irq()成員函數(shù)用來向系統(tǒng)注冊(cè)中斷號(hào)。其中xxx_inerrupt為中斷的實(shí)現(xiàn)函數(shù)。flag為中斷模式,當(dāng)選擇中斷為共享模式時(shí),用dev_id來區(qū)分是哪個(gè)設(shè)備發(fā)出的中斷申請(qǐng);request_dma()成員函數(shù)用來申請(qǐng)DMA通道。其中channel為DMA通道編號(hào),可選為0-7。name用來標(biāo)識(shí)使用該通道的設(shè)備,可以在用戶空間查看。一般來說,中斷注冊(cè)函數(shù)應(yīng)該在DMA通道申請(qǐng)之前被執(zhí)行,在DMA通道釋放之前被注銷[6]。在此將中斷注冊(cè)函數(shù)放在打開函數(shù)中對(duì)應(yīng)的是PCI網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)模式,其他PCI設(shè)備中斷注冊(cè)函數(shù)亦可在初始化函數(shù)中實(shí)現(xiàn)。

    當(dāng)設(shè)備關(guān)閉時(shí),需相應(yīng)地釋放中斷資源和DMA通道,設(shè)備的關(guān)閉函數(shù)如下。

    和打開函數(shù)相反,設(shè)備關(guān)閉函數(shù)是先注銷中斷資源而后釋放DMA通道。中斷注銷函數(shù)為free_irq(),DMA通道釋放函數(shù)為free_dma()。整個(gè)DMA通道的申請(qǐng)與釋放流程如圖2所示。

    圖2 DMA通道申請(qǐng)與釋放Fig.2 DMA channel applications and release

    3.2 DMA數(shù)據(jù)傳輸流程

    3.2.1 緩存區(qū)映射

    使用DMA方式傳輸數(shù)據(jù)時(shí),需要開辟一塊內(nèi)存區(qū)域用于CPU與外設(shè)交互數(shù)據(jù),這塊內(nèi)存區(qū)域被稱為DMA緩存區(qū)。Linux2.6內(nèi)核中能夠用于分配DMA緩存區(qū)的函數(shù)有3個(gè):kmalloc(),get_free_pages()和 pci_alloc_consistent()[7]。在這里采用 get_free_pages()函數(shù)作為緩存區(qū)分配手段,該函數(shù)有2個(gè)參數(shù):flags,order。flag參數(shù)稱為分配優(yōu)先級(jí),常常使用的有GFP_KERNEL或者GFP_ATOMIC;order參數(shù)是請(qǐng)求的緩沖頁面大小,該參數(shù)是一個(gè)以2為底數(shù)的對(duì)數(shù)。以下為get_free_pages()函數(shù)的具體實(shí)現(xiàn)。

    buffer=get_free_pages(unsigned int flags,unsigned int order);

    如果分配成功,函數(shù)將返回緩存區(qū)第一頁的起始地址,該地址是一個(gè)虛擬地址,無法被外設(shè)所訪問。所以采用DMA方式使外設(shè)讀寫緩存區(qū)內(nèi)時(shí),都要將該緩存區(qū)地址映射成總線地址。對(duì)于PCI設(shè)備來說,緩存區(qū)的映射有兩種方式:流DMA映射、一致DMA映射。驅(qū)動(dòng)開發(fā)人員被建議使用流DMA映射而不是一致DMA映射。原因是一致DMA映射具有更長(zhǎng)的存活周期,它會(huì)占用的一些相關(guān)的寄存器,但只在初期使用它們一次;此外,在一些硬件上,某些可以用于流式DMA映射上的優(yōu)化手段不能被運(yùn)用在一致性DMA映射上。流DMA映射實(shí)現(xiàn)函數(shù)如下。

    dma_addr_t dma_map_single(struct device*dev,void*buffer,size_t size,enum dma_data_drection diretion);

    該函數(shù)返回緩存區(qū)buffer的總線地址,同時(shí)將總線的控制權(quán)交給外設(shè)。函數(shù)中,size表示待發(fā)送數(shù)據(jù)的大小。diretion表示數(shù)據(jù)的傳輸方向,常用的選項(xiàng)有:DMA_TO_DEVICE表示數(shù)據(jù)發(fā)送到外設(shè);DMA_FROM_DEVICE表示數(shù)據(jù)來自于外設(shè)。

    3.2.2 數(shù)據(jù)傳輸實(shí)現(xiàn)

    將總線控制權(quán)交給外設(shè)后,外設(shè)就可以從緩存區(qū)讀寫數(shù)據(jù)了。外設(shè)一般擁有2個(gè)及其以上獨(dú)立DMA通道,每個(gè)通道包括1個(gè)DMA控制器和1個(gè)雙向的FIFO。大多數(shù)DMA控制器具有一個(gè)相似的架構(gòu),如圖3所示,它有1個(gè)DMA緩存區(qū)的開始地址和1個(gè)記錄待傳輸數(shù)據(jù)位字節(jié)數(shù)的計(jì)數(shù)寄存器。隨著每次的傳輸,DMA控制器增加其地址寄存器數(shù)值和減小計(jì)數(shù)寄存器數(shù)值。當(dāng)計(jì)數(shù)寄存器減小到0時(shí),DMA控制器產(chǎn)生一個(gè)中斷,并準(zhǔn)備下一次傳輸[8]。

    為了更好地說明問題,以PCI9080芯片為例,說明外設(shè)發(fā)送數(shù)據(jù)到緩存區(qū)的過程。PCI9080是一款32位/33 MHz的通用PCI總線控制器專用芯片,它符合PCI總線規(guī)范2.2版本,突發(fā)傳輸速率可達(dá)132 MByte/s,支持主模式、從模式、DMA傳輸模式。芯片提供了2個(gè)獨(dú)立的DMA數(shù)據(jù)通道,配備有支持外設(shè)與CPU存儲(chǔ)器之間零等待狀態(tài)突發(fā)傳輸?shù)碾p向FIFO。PCI9080以其強(qiáng)大的功能為PCI總線接口的開發(fā)提供了一種簡(jiǎn)潔的方法,設(shè)計(jì)者只需設(shè)計(jì)好本地總線接口控制電路,即可實(shí)現(xiàn)PCI總線與系統(tǒng)內(nèi)存間的高速數(shù)據(jù)傳輸。PCI9080與PCI總線、本地總線及DMA傳輸之間的關(guān)系如圖4所示。

    鑒于PCI9080的2個(gè)DMA數(shù)據(jù)通道傳輸原理一致,此處僅介紹如何利用DMA數(shù)據(jù)通道0實(shí)現(xiàn)PCI總線側(cè)到本地總線側(cè)的數(shù)據(jù)傳輸過程,實(shí)現(xiàn)傳輸?shù)闹饕a如下描述,代碼中所涉及到的部分DMA配置寄存器說明如表1所示。

    表1 相關(guān)DMA寄存器Tab.1 DMA registers

    設(shè)計(jì)中采用PCI9080的DMA工作方式,在該工作方式下,PCI9080為PCI總線的主控設(shè)備,同時(shí)也是Local總線的控制者,2條總線間的數(shù)據(jù)傳輸通過設(shè)置其DMA控制器相關(guān)寄存器得以實(shí)現(xiàn)。以上述過程為例,可以分為如下6個(gè)步驟:1)設(shè)置方式寄存器(DMA_MODE)。PCI9080有兩種傳輸方式:0表示塊傳輸(適用于連續(xù)的源、目的存儲(chǔ)空間),1表示聚/散傳輸;2)設(shè)置 Local地址寄存器(DMA_LADR)。設(shè)置Local總線側(cè)地址空間;3)設(shè)置PCI地址寄存器(DMA_PADR)。設(shè)置PCI總線側(cè)地址空間;4)設(shè)置傳輸計(jì)數(shù)寄存器(DMA_SIZE)。以字節(jié)為單位設(shè)置傳輸數(shù)據(jù)量;5)設(shè)置命令/狀態(tài)寄存器(DMA_CSR)。設(shè)置DMA傳輸方向;6)設(shè)置命令/狀態(tài)寄存器(DMA_CSR)。啟動(dòng)DMA傳輸操作,并讀該寄存器返回傳輸狀態(tài)。

    啟動(dòng)DMA傳輸操作后,PCI9080輸出LW/R#=1,表明本次DMA操作為寫,即傳輸方向?yàn)镻CI-to-Local。隨后PCI9080將向CPU發(fā)送總線控制申請(qǐng)信號(hào)(LHOLD=1),CPU若發(fā)現(xiàn)總線空閑,則產(chǎn)生一個(gè)響應(yīng)信號(hào)(LHOLDA=1),表示允許PCI9080控制總線,同時(shí)向CPU輸出 LBE[3:0]#=0h,表明本次傳輸使用的總線寬度為32位。PCI9080檢測(cè)到LHOLDA=1后,輸出ADS#=0用于通知CPU本地總線上的地址即將有效,并從下一個(gè)時(shí)鐘開始發(fā)送數(shù)據(jù)。CPU接收到ADS#=0后,獲取PCI9080發(fā)送的地址,同時(shí)發(fā)出READY#=0信號(hào),通知PCI9080開啟數(shù)據(jù)傳輸。DMA傳輸(PCI-to-Local)方向信號(hào)時(shí)序圖見圖5所示。

    圖5 PCI-to-Local方向信號(hào)時(shí)序圖Fig.5 PCI-to-Local the direction of signal timing diagram

    在傳輸啟動(dòng)后的每一個(gè)時(shí)鐘周期里,PCI9080每傳輸一個(gè)數(shù)據(jù),其內(nèi)部傳輸計(jì)數(shù)寄存器便自動(dòng)減1,直至計(jì)數(shù)寄存器減為0,并輸出BLAST#=0,表明這時(shí)傳輸?shù)氖亲詈笠粋€(gè)數(shù)據(jù)。隨后PCI9080釋放對(duì)總線的控制權(quán)并向主機(jī)發(fā)出一個(gè)中斷請(qǐng)求,從而觸發(fā)中斷服務(wù)例程執(zhí)行。至此,一次完整的PCI設(shè)備DMA數(shù)據(jù)發(fā)送流程完畢,其過程如圖6所示。

    圖6 數(shù)據(jù)發(fā)送流程Fig.6 Sending data process

    4 分析及結(jié)論

    為驗(yàn)證DMA方式在外設(shè)與系統(tǒng)內(nèi)存間的數(shù)據(jù)傳輸性能,進(jìn)行了多次傳輸測(cè)試。結(jié)果表明DMA存取技術(shù)以其高速大批量的傳輸特性,能很好地匹配PCI總線功能,大大提高了數(shù)據(jù)吞吐量,減少了CPU在數(shù)據(jù)傳輸操作中的參與程度,同時(shí)也減少了對(duì)CPU的占用時(shí)間,提高了系統(tǒng)的整體效率。

    [1]劉秀萍,李艷芬.基于DMA方式的高速數(shù)據(jù)傳輸技術(shù)[J].導(dǎo)彈試驗(yàn)技術(shù),2009,(02):61-63.LIU Xiu-ping,LI Yan-fen.High-speed data transfer technology based on DMA mode [J].Missile Test,2009,(02):61-63.

    [2]朱紅星,苗克堅(jiān).Linux下PCI設(shè)備流式DMA驅(qū)動(dòng)開發(fā)[J].微處理機(jī),2007,8(4):69-72.ZHU Hong-xing,MIAO Ke-jian.Linux PCI device under streaming DMA-driven development[J].Microprocessor,2007,8(4):69-72.

    [3]BOVET Daniel P,CESATI Marco.深入了解 Linux 內(nèi)核[M].中國(guó)電力出版社,2007:31-45.BOVET Daniel P,CESATI Marco.Depth understanding of the Linux kernel[M].China Electric Power Press,2007:31-45.

    [4]CORBET Jonathan,RUBINI Alessandro,HARTMAN Greq Kroah.Linux.Device.Drivers[M].O'Reilly Media inc,2005.

    [5]董春橋,李凱.Linux系統(tǒng)PCI設(shè)備驅(qū)動(dòng)程序開發(fā)[J].計(jì)算機(jī)測(cè)量與控制,2005,13(11):1289-1291.DONG Chun-qiao,LI Kai.PCI device driver development Linux system [J].Computer Measurement and Control,2005,13(11):1289-1291.

    [6]馬萍,唐衛(wèi)華,李緒志.基于PCIExpress總線高速數(shù)采卡的設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2008,24(9-1):116-118.MA Ping,TANG Wei-hua,LI Xu-zhi.PCIExpress high speed data acquisition card based on can bus-based design and realization [J].Micro-computer Information,2008,24(9-1):116-118.

    [7]林乃響.DMA編程在Linux系統(tǒng)下的應(yīng)用[J].計(jì)算機(jī)與信息技術(shù),2006,(3):38-39.LIN Nai-xiang.Application of DMA programming under Linux systems[J].Computer and Information Technology,2006,(3):38-39.

    [8]曹宗凱,胡晨,姚國(guó)良.DMA在內(nèi)存間數(shù)據(jù)拷貝中的應(yīng)用及其性能分析[J].電子器件,2007,30(01):311-313.CAO Zong-kai,HU Chen,YAO Guo-liang.DMA memory copy of data in application and performance analysis of[J].Electronic Devices,2007,30(01):311-313.

    猜你喜歡
    輸入輸出外設(shè)寄存器
    Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
    Camtasia Studio高清視頻輸入輸出原理及方法
    鐵路信號(hào)系統(tǒng)安全輸入輸出平臺(tái)
    輸入輸出理論在大學(xué)英語聽說課堂中的教學(xué)探索
    分簇結(jié)構(gòu)向量寄存器分配策略研究*
    輸入輸出視角下高職英語教學(xué)研究
    Microchip推出具備雙ADC外設(shè)的全新器件,擴(kuò)展其低成本8位PIC?單片機(jī)產(chǎn)品線
    高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
    一種可重構(gòu)線性反饋移位寄存器設(shè)計(jì)
    貼身呵護(hù) 必不可少的PSP外設(shè)
    制服人妻中文乱码| 人妻夜夜爽99麻豆av| 岛国在线免费视频观看| 男男h啪啪无遮挡| 黄片大片在线免费观看| 男女午夜视频在线观看| 亚洲欧美日韩高清在线视频| 99riav亚洲国产免费| 无遮挡黄片免费观看| 日韩国内少妇激情av| 欧美成人免费av一区二区三区| 日日干狠狠操夜夜爽| 久久久国产欧美日韩av| 亚洲国产高清在线一区二区三| 国内久久婷婷六月综合欲色啪| 一级片免费观看大全| 97人妻精品一区二区三区麻豆| 久久午夜综合久久蜜桃| 久久久久久久精品吃奶| 国产精品久久久人人做人人爽| 婷婷亚洲欧美| 欧美3d第一页| 露出奶头的视频| 在线观看免费视频日本深夜| 欧美一级毛片孕妇| 欧美日韩乱码在线| 好男人电影高清在线观看| 色尼玛亚洲综合影院| 久久精品国产亚洲av高清一级| 亚洲精品一区av在线观看| 亚洲欧美日韩无卡精品| 日韩 欧美 亚洲 中文字幕| 国产精品亚洲美女久久久| 夜夜夜夜夜久久久久| 成在线人永久免费视频| 久久精品人妻少妇| 国产又黄又爽又无遮挡在线| 国产高清有码在线观看视频 | 日日爽夜夜爽网站| 18禁黄网站禁片午夜丰满| 久久人妻福利社区极品人妻图片| 香蕉av资源在线| 99久久久亚洲精品蜜臀av| 久久久久国产精品人妻aⅴ院| 精品国内亚洲2022精品成人| 真人一进一出gif抽搐免费| 视频区欧美日本亚洲| 国产一区二区在线观看日韩 | 老熟妇仑乱视频hdxx| 国产精品电影一区二区三区| 两人在一起打扑克的视频| 18美女黄网站色大片免费观看| 精品久久久久久久毛片微露脸| 亚洲国产看品久久| 欧美一区二区精品小视频在线| 国内精品一区二区在线观看| 看片在线看免费视频| 成人亚洲精品av一区二区| 99精品久久久久人妻精品| 亚洲av第一区精品v没综合| 免费高清视频大片| 亚洲乱码一区二区免费版| www.自偷自拍.com| 熟女电影av网| 特级一级黄色大片| 蜜桃久久精品国产亚洲av| www.www免费av| 久久久久久国产a免费观看| 国内揄拍国产精品人妻在线| 久久婷婷成人综合色麻豆| 无限看片的www在线观看| 观看免费一级毛片| 欧美中文日本在线观看视频| 丝袜人妻中文字幕| 亚洲人成77777在线视频| 亚洲片人在线观看| 免费在线观看影片大全网站| 欧美日韩精品网址| 香蕉久久夜色| 啦啦啦观看免费观看视频高清| 国产日本99.免费观看| 人成视频在线观看免费观看| 久久精品影院6| 少妇人妻一区二区三区视频| 在线a可以看的网站| 亚洲中文日韩欧美视频| 国产人伦9x9x在线观看| 狂野欧美激情性xxxx| 欧美乱妇无乱码| 亚洲黑人精品在线| 国产亚洲欧美在线一区二区| 女人高潮潮喷娇喘18禁视频| 精品福利观看| 国产1区2区3区精品| 法律面前人人平等表现在哪些方面| 又大又爽又粗| 亚洲精品色激情综合| 亚洲自拍偷在线| 免费在线观看影片大全网站| 欧美不卡视频在线免费观看 | 午夜a级毛片| 大型黄色视频在线免费观看| 亚洲电影在线观看av| 天天一区二区日本电影三级| 真人做人爱边吃奶动态| 亚洲av成人精品一区久久| 丰满人妻熟妇乱又伦精品不卡| www国产在线视频色| 1024手机看黄色片| 国产精品久久久久久人妻精品电影| videosex国产| 波多野结衣高清无吗| 妹子高潮喷水视频| 一进一出抽搐动态| 国产亚洲精品久久久久5区| 日韩欧美一区二区三区在线观看| 12—13女人毛片做爰片一| 国产精品免费视频内射| 波多野结衣巨乳人妻| 国产精品永久免费网站| 国产区一区二久久| 夜夜爽天天搞| 日韩欧美一区二区三区在线观看| 亚洲成人免费电影在线观看| 欧美黄色淫秽网站| 色综合站精品国产| 日韩欧美 国产精品| 欧美日韩精品网址| 精品高清国产在线一区| 丰满人妻熟妇乱又伦精品不卡| 国产单亲对白刺激| 真人一进一出gif抽搐免费| 老鸭窝网址在线观看| 亚洲精品粉嫩美女一区| 成人三级黄色视频| 999久久久国产精品视频| 亚洲中文字幕一区二区三区有码在线看 | 天天躁夜夜躁狠狠躁躁| 国产午夜福利久久久久久| 夜夜看夜夜爽夜夜摸| 亚洲中文字幕日韩| 亚洲av五月六月丁香网| 日韩国内少妇激情av| 无限看片的www在线观看| 91在线观看av| 黄色毛片三级朝国网站| 亚洲人成网站高清观看| 亚洲天堂国产精品一区在线| 日本三级黄在线观看| 亚洲第一欧美日韩一区二区三区| 午夜老司机福利片| 婷婷丁香在线五月| 麻豆成人午夜福利视频| 久9热在线精品视频| 麻豆成人午夜福利视频| tocl精华| 精品熟女少妇八av免费久了| 老司机午夜十八禁免费视频| 免费在线观看成人毛片| 热99re8久久精品国产| 很黄的视频免费| 国产成人av教育| 一进一出抽搐动态| 久久久国产成人精品二区| 欧美中文日本在线观看视频| 免费在线观看亚洲国产| 91国产中文字幕| 欧美成人一区二区免费高清观看 | 88av欧美| 欧美黑人精品巨大| 在线观看一区二区三区| 亚洲精品久久成人aⅴ小说| 色综合亚洲欧美另类图片| 欧美黄色片欧美黄色片| 久久精品综合一区二区三区| 国产精品av久久久久免费| 国产黄色小视频在线观看| 日本a在线网址| 日韩大码丰满熟妇| 两性夫妻黄色片| 国模一区二区三区四区视频 | 精品国产美女av久久久久小说| 欧美在线黄色| 国产精品久久久久久亚洲av鲁大| 嫩草影视91久久| 亚洲美女黄片视频| 亚洲欧美日韩无卡精品| www日本黄色视频网| 精华霜和精华液先用哪个| 国产午夜福利久久久久久| 12—13女人毛片做爰片一| 国产精品综合久久久久久久免费| 国产精品综合久久久久久久免费| 妹子高潮喷水视频| 国产黄色小视频在线观看| 丰满的人妻完整版| 久久久久久免费高清国产稀缺| 91国产中文字幕| 亚洲精品中文字幕在线视频| 香蕉久久夜色| 无限看片的www在线观看| 亚洲国产日韩欧美精品在线观看 | 日韩精品免费视频一区二区三区| 99re在线观看精品视频| 国产欧美日韩一区二区三| 亚洲熟妇中文字幕五十中出| 国产亚洲欧美在线一区二区| 免费看美女性在线毛片视频| 夜夜爽天天搞| 夜夜爽天天搞| 国产av又大| 午夜精品久久久久久毛片777| 国产欧美日韩一区二区精品| 久久久久性生活片| 国产成人欧美在线观看| 少妇的丰满在线观看| 色av中文字幕| 亚洲欧洲精品一区二区精品久久久| 在线播放国产精品三级| 国内精品久久久久精免费| 国产精品野战在线观看| 搡老熟女国产l中国老女人| 欧美精品啪啪一区二区三区| 亚洲午夜精品一区,二区,三区| av福利片在线观看| 亚洲成人免费电影在线观看| 日韩欧美 国产精品| 此物有八面人人有两片| 日韩欧美精品v在线| 午夜福利欧美成人| 丰满的人妻完整版| av有码第一页| 免费人成视频x8x8入口观看| 两性夫妻黄色片| 美女 人体艺术 gogo| 欧美日韩亚洲国产一区二区在线观看| 成人18禁在线播放| 亚洲中文日韩欧美视频| 亚洲午夜精品一区,二区,三区| 熟女电影av网| 伊人久久大香线蕉亚洲五| 2021天堂中文幕一二区在线观| 黄色女人牲交| 女生性感内裤真人,穿戴方法视频| 黄色视频,在线免费观看| 日韩av在线大香蕉| 一级作爱视频免费观看| 校园春色视频在线观看| 日日爽夜夜爽网站| 又黄又爽又免费观看的视频| 女同久久另类99精品国产91| 人人妻,人人澡人人爽秒播| 久久99热这里只有精品18| 欧美性猛交黑人性爽| 51午夜福利影视在线观看| 丝袜人妻中文字幕| 亚洲一卡2卡3卡4卡5卡精品中文| 成人国语在线视频| 久久久久久久久免费视频了| 欧美日本视频| 欧美成人午夜精品| 午夜福利在线在线| 18禁国产床啪视频网站| 欧美在线一区亚洲| 好男人在线观看高清免费视频| 夜夜夜夜夜久久久久| 人妻久久中文字幕网| 国产人伦9x9x在线观看| 精品久久久久久久人妻蜜臀av| 国产精品一区二区三区四区免费观看 | 18禁黄网站禁片午夜丰满| 国产成人欧美在线观看| 九色国产91popny在线| 国产精品久久久久久久电影 | cao死你这个sao货| 男女视频在线观看网站免费 | 757午夜福利合集在线观看| 在线a可以看的网站| 好男人电影高清在线观看| 他把我摸到了高潮在线观看| 19禁男女啪啪无遮挡网站| 日本免费a在线| 国产亚洲av嫩草精品影院| 精品欧美一区二区三区在线| 九色国产91popny在线| 麻豆一二三区av精品| 色老头精品视频在线观看| 欧美三级亚洲精品| 18禁黄网站禁片免费观看直播| 亚洲激情在线av| 欧美日韩乱码在线| 久久久精品国产亚洲av高清涩受| 国产aⅴ精品一区二区三区波| 婷婷精品国产亚洲av| 国产三级中文精品| 美女高潮喷水抽搐中文字幕| 叶爱在线成人免费视频播放| tocl精华| 亚洲天堂国产精品一区在线| 欧美极品一区二区三区四区| 欧美最黄视频在线播放免费| 黄色成人免费大全| 97人妻精品一区二区三区麻豆| 国产三级黄色录像| 久久亚洲真实| 亚洲免费av在线视频| 一级毛片精品| 国产午夜福利久久久久久| 亚洲国产看品久久| av在线天堂中文字幕| bbb黄色大片| 亚洲在线自拍视频| 亚洲色图av天堂| 日本免费一区二区三区高清不卡| 免费电影在线观看免费观看| 国产高清有码在线观看视频 | 亚洲欧洲精品一区二区精品久久久| 欧美 亚洲 国产 日韩一| 嫩草影视91久久| 长腿黑丝高跟| 男插女下体视频免费在线播放| 老司机午夜十八禁免费视频| 国产精品永久免费网站| 在线十欧美十亚洲十日本专区| 国产三级中文精品| 中文字幕人妻丝袜一区二区| 免费人成视频x8x8入口观看| 两人在一起打扑克的视频| 可以在线观看毛片的网站| 日本黄大片高清| 国产av不卡久久| 99riav亚洲国产免费| 成人三级做爰电影| 亚洲中文日韩欧美视频| 精品国产亚洲在线| 丰满的人妻完整版| 老鸭窝网址在线观看| 欧美一级毛片孕妇| 国产熟女xx| 国产精品影院久久| 亚洲精品国产精品久久久不卡| 毛片女人毛片| 91大片在线观看| 在线a可以看的网站| 一区福利在线观看| 日韩欧美免费精品| 精品无人区乱码1区二区| 亚洲国产欧美网| 妹子高潮喷水视频| 免费电影在线观看免费观看| 一夜夜www| bbb黄色大片| 国产精品野战在线观看| 久久香蕉精品热| 亚洲激情在线av| 母亲3免费完整高清在线观看| 亚洲精品国产一区二区精华液| 在线十欧美十亚洲十日本专区| 日韩成人在线观看一区二区三区| 99国产综合亚洲精品| aaaaa片日本免费| 亚洲午夜理论影院| 国产精品久久久久久亚洲av鲁大| 国产精品日韩av在线免费观看| 欧美色视频一区免费| 国产激情偷乱视频一区二区| ponron亚洲| 免费在线观看完整版高清| 毛片女人毛片| 精品国产乱子伦一区二区三区| 亚洲成人久久性| 久久精品综合一区二区三区| 午夜精品在线福利| 最近最新中文字幕大全电影3| 午夜两性在线视频| 国产精品久久久久久精品电影| 夜夜爽天天搞| 美女扒开内裤让男人捅视频| 99国产精品99久久久久| 两个人的视频大全免费| 黄色视频不卡| 18禁黄网站禁片午夜丰满| 免费一级毛片在线播放高清视频| 免费在线观看影片大全网站| 国产黄a三级三级三级人| 99在线视频只有这里精品首页| 脱女人内裤的视频| 欧美+亚洲+日韩+国产| 午夜福利免费观看在线| x7x7x7水蜜桃| 久久久久久久久中文| 最好的美女福利视频网| 听说在线观看完整版免费高清| 在线播放国产精品三级| 成人国产综合亚洲| 少妇被粗大的猛进出69影院| 99国产精品一区二区蜜桃av| 亚洲一区高清亚洲精品| 亚洲欧美日韩东京热| 亚洲美女视频黄频| 久久精品成人免费网站| 欧美久久黑人一区二区| 身体一侧抽搐| 国产午夜精品久久久久久| 午夜激情福利司机影院| 国产精品99久久99久久久不卡| 国产私拍福利视频在线观看| 亚洲色图 男人天堂 中文字幕| 久久 成人 亚洲| 成人三级黄色视频| 久久天躁狠狠躁夜夜2o2o| 国产成人av激情在线播放| 久久精品人妻少妇| 一夜夜www| 亚洲男人的天堂狠狠| 小说图片视频综合网站| 99热只有精品国产| 精品熟女少妇八av免费久了| 国产午夜精品论理片| av天堂在线播放| 天天添夜夜摸| 后天国语完整版免费观看| 免费观看精品视频网站| 黄色 视频免费看| 国产高清激情床上av| 给我免费播放毛片高清在线观看| 一区二区三区国产精品乱码| 一区二区三区国产精品乱码| 巨乳人妻的诱惑在线观看| 午夜福利视频1000在线观看| 在线国产一区二区在线| 亚洲欧美日韩无卡精品| 久久久久九九精品影院| 看片在线看免费视频| 国产一区在线观看成人免费| 黄片大片在线免费观看| 99久久99久久久精品蜜桃| 两个人免费观看高清视频| 1024手机看黄色片| 女人爽到高潮嗷嗷叫在线视频| 国内揄拍国产精品人妻在线| 香蕉国产在线看| 中文字幕av在线有码专区| 亚洲成人中文字幕在线播放| a在线观看视频网站| 亚洲国产欧美网| 97人妻精品一区二区三区麻豆| 免费看十八禁软件| 精品第一国产精品| 国产三级中文精品| 日韩欧美免费精品| 白带黄色成豆腐渣| 黄色视频不卡| 可以免费在线观看a视频的电影网站| 丁香六月欧美| 窝窝影院91人妻| 曰老女人黄片| 99re在线观看精品视频| 亚洲色图 男人天堂 中文字幕| www.精华液| 精品不卡国产一区二区三区| 女生性感内裤真人,穿戴方法视频| 黄片大片在线免费观看| 日本三级黄在线观看| 一区二区三区高清视频在线| 免费高清视频大片| 午夜老司机福利片| 免费无遮挡裸体视频| 欧美黑人精品巨大| 国产亚洲精品久久久久5区| 欧美另类亚洲清纯唯美| 亚洲国产日韩欧美精品在线观看 | 国产一区二区在线av高清观看| 老司机在亚洲福利影院| 日日摸夜夜添夜夜添小说| 麻豆一二三区av精品| 欧美日韩黄片免| 少妇被粗大的猛进出69影院| 午夜老司机福利片| 日日爽夜夜爽网站| 国产在线观看jvid| www.999成人在线观看| 制服诱惑二区| 亚洲 欧美一区二区三区| 中文字幕人成人乱码亚洲影| 母亲3免费完整高清在线观看| 午夜久久久久精精品| 日韩欧美国产一区二区入口| 亚洲中文av在线| 两人在一起打扑克的视频| 日本熟妇午夜| 日韩免费av在线播放| 美女黄网站色视频| 午夜福利视频1000在线观看| 成人永久免费在线观看视频| 国产一区在线观看成人免费| 国产成人精品久久二区二区91| 啦啦啦观看免费观看视频高清| 成人国产一区最新在线观看| 欧美日韩中文字幕国产精品一区二区三区| svipshipincom国产片| 亚洲电影在线观看av| 久久精品国产清高在天天线| 国产伦一二天堂av在线观看| 国产精品香港三级国产av潘金莲| 美女黄网站色视频| 免费看日本二区| 免费无遮挡裸体视频| 日韩欧美三级三区| 亚洲成a人片在线一区二区| 亚洲午夜精品一区,二区,三区| 久久久久久国产a免费观看| 欧美人与性动交α欧美精品济南到| 国产成人精品久久二区二区免费| 亚洲18禁久久av| 午夜老司机福利片| 国产乱人伦免费视频| 国产欧美日韩一区二区三| 在线看三级毛片| 日韩国内少妇激情av| 99热只有精品国产| 午夜精品在线福利| 国产精品野战在线观看| 色在线成人网| 国产三级黄色录像| 少妇的丰满在线观看| 不卡一级毛片| 哪里可以看免费的av片| 成年免费大片在线观看| 又紧又爽又黄一区二区| 在线永久观看黄色视频| 午夜精品久久久久久毛片777| 曰老女人黄片| 久久中文看片网| 亚洲一卡2卡3卡4卡5卡精品中文| 婷婷亚洲欧美| 男女下面进入的视频免费午夜| 淫秽高清视频在线观看| 国产成人啪精品午夜网站| 亚洲色图av天堂| 香蕉av资源在线| 久久精品成人免费网站| 久久 成人 亚洲| 熟女电影av网| 亚洲片人在线观看| 午夜亚洲福利在线播放| 亚洲av成人精品一区久久| 亚洲全国av大片| 欧美成人一区二区免费高清观看 | 真人一进一出gif抽搐免费| 国产精品一区二区三区四区免费观看 | 国产在线精品亚洲第一网站| 国产成年人精品一区二区| 亚洲精品国产一区二区精华液| 一二三四社区在线视频社区8| 精品一区二区三区av网在线观看| 最近视频中文字幕2019在线8| 久久精品亚洲精品国产色婷小说| 午夜精品在线福利| 12—13女人毛片做爰片一| 欧美日韩亚洲国产一区二区在线观看| 日韩欧美一区二区三区在线观看| 亚洲午夜理论影院| 舔av片在线| 欧美激情久久久久久爽电影| 99久久无色码亚洲精品果冻| 波多野结衣高清无吗| aaaaa片日本免费| 欧美黄色片欧美黄色片| 成人18禁高潮啪啪吃奶动态图| 免费观看人在逋| 国产亚洲精品综合一区在线观看 | 天天一区二区日本电影三级| 精品欧美国产一区二区三| 999精品在线视频| 精品欧美一区二区三区在线| 18禁黄网站禁片免费观看直播| 可以在线观看毛片的网站| 国产精品精品国产色婷婷| 亚洲精品在线美女| 欧美日韩福利视频一区二区| 国产免费av片在线观看野外av| 成人18禁高潮啪啪吃奶动态图| 搡老妇女老女人老熟妇| 久久国产精品影院| 久久久国产成人精品二区| 国产真人三级小视频在线观看| 免费一级毛片在线播放高清视频| АⅤ资源中文在线天堂| 日日爽夜夜爽网站| 日韩av在线大香蕉| 一区二区三区激情视频| 特大巨黑吊av在线直播| 久久精品国产亚洲av香蕉五月| 亚洲国产日韩欧美精品在线观看 | 一a级毛片在线观看| 亚洲第一欧美日韩一区二区三区| 99在线人妻在线中文字幕| 韩国av一区二区三区四区| 后天国语完整版免费观看| 伊人久久大香线蕉亚洲五| 观看免费一级毛片| 国产一区二区在线av高清观看| 日本成人三级电影网站| 高清毛片免费观看视频网站| 久久国产乱子伦精品免费另类| 成人欧美大片| 99riav亚洲国产免费| 美女午夜性视频免费| 真人做人爱边吃奶动态| 91国产中文字幕| 男女下面进入的视频免费午夜| 在线观看舔阴道视频| 久久久国产成人免费| 久久天堂一区二区三区四区|