《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > VxWorks 下PMC-FPGA板卡驅動的開發與研究

VxWorks 下PMC-FPGA板卡驅動的開發與研究

2008-04-11
作者:王學秀1, 楊衛東1,趙 暉

  摘 要: 討論了嵌入式實時操作系統VxWorks的I/O" title="I/O">I/O系統及驅動程序實現的原理,并根據PMC-FPGA轉接卡的開發,詳細分析了VxWorks下PCI9030設備驅動程序的實現過程及相 關代碼。同時就該驅動程序對系統性能及實時性" title="實時性">實時性的提高作了必要的分析和討論。
  關鍵詞: VxWorks I/O系統 PMC-FPGA PCI9030


  隨著通信技術、計算機技術的飛速發展,嵌入式實時操作系統越來越廣泛地應用到無線通信、交通、工業控制、軍事、航空航天、衛星通信等各個領域。由于這些領域對實時性、可靠性要求很高,從而使得實時操作系統迅速發展起來。其中VxWorks是目前公認的最出色的一種實時操作系統。VxWorks具有可裁減的微內核;高效的任務管理;優先級搶占和時間片輪轉調度;準確的上下文切換;快速靈活的任務間通信等優點。它已成為實際的嵌入式實時操作系統的工業標準和軍用標準[1]。嵌入式系統特別強調“量身定做”的原則,基于某一種特殊用途,可以針對這項用途開發出截然不同的一項系統,這就是所謂的客制化[2]。通常需要根據系統的功能、成本、尺寸及用戶需求等方面來定制合適的硬件系統,這就要求用戶開發自己的硬件驅動程序。驅動程序的開發是系統開發的重要組成部分,其性能、實時性、可靠性、指令的簡練性關系著應用系統的性能和可靠性,所以驅動程序的開發顯得至關重要。
  本文針對以PCI9030為接口控制芯片的PMC-FPGA(PCI Mezzanine Card)轉接卡的開發,論述了VxWorks下設備驅動程序結構及PMC-FPGA板卡驅動程序的實現。
1 VxWorks下I/O系統及驅動程序
1.1 I/O系統簡介

  VxWorks下I/O系統為各種設備提供一個簡單、統一、獨立的設備接口,VxWorks下I/O系統的獨特設計使其比其他I/O系統更快、更靈活。這是實時系統的一個重要特征。[3]I/O系統的功能是將用戶的I/O請求路由到合適的驅動程序中的對應函數。它通過一個文件描述符" title="描述符">描述符表來實現這一功能。VxWorks設備驅動程序基本上通過I/O系統進行訪問,設備驅動程序被作為內核過程來實現,進一步提高了系統的實時性。I/O系統把設備作為特殊文件進行處理,提供了統一的管理、統一的界面和統一的使用方法,并把設備、文件、網絡通信組織成為一致的層次抽象。圖1描述了I/O系統與驅動程序間的層次關系。


  VxWorks下I/O系統中三個主要的元素是:驅動程序、設備和文件[3]。文件是用戶訪問設備的統一接口;驅動程序是實現I/O系統所需的七個具體基本函數;設備是實際物理設備的抽象定義。
1.2 驅動程序的執行邏輯
  VxWorks下I/O系統提供七個基本的I/O函數:creat( ), delete( ), open( ), close( ), read( ), write( )及ioctl(),并將用戶的I/O請求路由到設備對應的子程序" title="子程序">子程序。這主要是通過找到驅動列表中對應的驅動號來實現。驅動列表如表1所示。


  在驅動程序中通過調用iosDrvInstall()函數將驅動程序中的子程序(myOpen( ), myRead( )等)注冊到系統的設備驅動列表中并返回一個驅動號,如表1中所示的驅動號3。
然后編寫創建設備子程序,通常命名為xxCreate(),這要定義一個雙向鏈表的DL_NODE結構和一個設備描述符的結構,結構中第一個變量是DEV_HDR類型,稱為設備頭。調用iosDevAdd()函數,將設備添加到設備列表中(見圖2)。其中有管道設備、串口設備及PCI9030設備,pmcfpga是設備名稱。


  在iosLib.h()頭文件中,對設備頭DEV_HDR定義如下:
  typedef struct
  { DL_NODE node;           /* 設備表結點 */
   short drvNum;          /* 設備的驅動號 */
   char * name;          /* 設備名 */
  } DEV_HDR;
  此外還要定義一個稱為設備描述符表的數據結構來將設備和驅動聯系起來(見表2)。這個設備描述符表中除了包含設備頭DEV_HDR、設備信息(包括設備號、廠商號、總線號、功能號、中斷號等)外,還可包含其他一些與設備無關的變量,如文件偏移量、布爾代碼設置的標志等。定義如下:
  typedef struct PCI9030Device
  {DEV_HDR;
   PCI9030_INFO;
  }PCI9030_DEVICE;


  從表2中可以看出設備名是pmcfpga, 驅動號為3,文件描述符號是2。通過調用iosDrvInstall()將驅動程序添加到驅動程序表并返回一個驅動號,再調用iosDevAdd()將設備描述符添加到設備列表并用設備名字(drvName)和驅動程序號(drvNum)對DEV_HDR初始化。
  驅動程序裝載完畢后,用戶執行open(“/ pmfpga”, 參數2,參數3),I/O系統根據文件名找到設備及驅動號,并通過驅動表找到對應的驅動子程序入口函數myOpen(),同時返回文件描述符號fd。以后就可根據fd執行其他函數的操作,如:close (fd)、read (fd, 參數2,參數3)等。圖3給出了設備、驅動程序連接的邏輯示意圖。
2 PCI9030設備的訪問
2.1 PCI9030簡介

  本設計的PMC轉接卡選用PLX公司的PCI9030作PCI總線的接口控制芯片,執行PMC總線標準,主要應用于目前較為流行的一些只有PMC接口的單板機上,例如:VMIC公司生產的VMIVME系列;MEN公司生產的PowerPC單板機等。在PMC轉接卡上可以掛上FPGA、 DSP等數字處理能力較強的芯片以實現高速控制器,提高數字處理速度和運算速度,從而進一步滿足系統實時性的要求。PMC轉接卡內部邏輯結構如圖4所示。

?


  這里FPGA作為PCI9030接口芯片的外設掛到PCI局部總線" title="局部總線">局部總線上,主板上的CPU要從PMC接口通過PCI9030才能訪問到外設,因此需要實現從PCI總線通過PCI9030到局部總線的訪問,所以驅動程序的關鍵是實現PCI局部總線到PCI總線的地址映射。
2.2 訪問PCI9030外設的實現
  PCI9030有一個64字節的目標設備讀FIFO和一個128字節的PCI目標寫FIFO,用來實現PCI主設到局部總線的訪問,并允許5個地址空間去訪問局部地址空間,它們分別是space0、space1、space2、space3和Expansion ROM。每個PCI地址空間到局部地址空間的映射關系由三個寄存器來決定: Local Address Range(局部基地址范圍)——LASxRR 及EROMRR; Local Base Address(局部基地址)——LASxBA及EROMBA; PCI Base Address(PCI基地址)——PCIBAR2、PCIBAR3、 PCIBAR4、 PCIBAR5及PCIERBAR[4]。每一個空間的映射是一一對應的,規定space0映射到PCI BASE2, space1映射到PCI BASE3,以此類推。圖5為地址映射示意圖。


  PCI9030復位初始化時需定義一次地址空間的映射,具體實現方法是在E2PROM中配置好三個寄存器的值:①Range:指定PCI總線訪問局部總線空間范圍的PCI地址位。除去最低一個字節,左起第一個為1的數對應的位就是該空間范圍。例如:配置Range=FFF00008,去掉第一個字節,左起第一個1在bit20, 所以空間范圍是220=1MB。②Remap(Local Base Address):根據自己的硬件設計決定設備在局部總線的基地址,bit0必須置為1,表明允許對應的局部空間地址映射。③Descriptor:指定局部總線的特征,包括總線寬度、讀延時、寫延時的延時時鐘數、是否預取等。
  驅動程序的設備初始化子程序給PCI Base Address 寄存器寫入全1,即FFFFFFFF,然后讀回的寄存器的值就是CPU根據E2PROM中的配置分配的PCI的基地址范圍值。在VxWorks中通過調用以下兩個函數來實現:
  pciConfigInLong(busNo,deviceNo,funcNo,PCI_CFG_BASE_ADDRESS_2,& baseAddress);
  pciConfigOutLong(busNo,deviceNo,funcNo,PCI_CFG_BASE_ADDRESS_2,& baseAddress);
  當需要訪問某一設備時,只需要訪問該設備占用的局部地址空間所對應的PCI地址空間即可,一般用PCI基地址加偏移量的方式訪問,例如:PCI_READ(MEMBase2,0x04,buffer)。此外PCI9030 還提供了四個片選信號,以便對多個外設進行訪問,這四個片選信號是CS0、CS1、CS2、CS3,對應四個片選基地址寄存器:CS0BASE, CS1BASE、CS2BASE、CS3BASE, 當片選基地址寄存器表達的基地址與某一局部空間基地址相同且設定的地址范圍也相同時,這一片選信號上所掛的設備就落在該局部空間[4]。本次設計中所用的FPGA芯片使用了CS0片選信號,設計的CS0BASE基地址和范圍落在space0,這樣通過PCI BASE2 ADDRESS 就可訪問到FPGA。
2.3 PCI9030的中斷及控制寄存器
  PCI9030提供了兩個局部中斷引腳LINTi1和LINTi2以及中斷控制寄存器INTCSR(軟中斷)[7],用來觸發PCI中斷輸入引腳INTA#輸出有效信號,向CPU申請中斷。同時PCI中斷引腳寄存器PCIIPR必須在E2PROM中設置為1h, 表明通過INTA#申請中斷。BIOS能夠將INTA#路由到一個中斷控制器的中斷請求(IRQ)輸入,為系統分配一個與標準的中斷控制器8259的IRQ相應的中斷號,并由BIOS將此中斷號寫到PCI中斷線(PCI Interrupt Line)寄存器PCIILR中。因此在寫驅動程序時,讀取PCIILR中的值是將中斷服務子程序ISR連接到中斷控制器的關鍵。三種中斷形式的設置可在中斷控制寄存器INTCSR中配置。也可通過設置中斷控制寄存器INTCSR[6]來禁止INTA#中斷。
  通過E2PROM編程器或PLX公司的PlxMon軟件對E2PROM編程,可寫入幾個重要寄存器的值,其中包括配置寄存器(PCI配置首區[5])、局部配置寄存器等的值。系統上電后自動將這些數據從E2PROM傳到PCI9030內部寄存器。在PCI配置寄存器00h中放置兩個重要參數Device ID(設備ID)和Vendor ID(廠商ID), 它們是表明設備身份的關鍵,在VxWorks中利用這兩個參數來調用如下函數:
  pciFindDevice(PCI_VENDOR_ID, CI_DEVICE_ID, index,&busNo, &deviceNo, &funcNo) ;
  找到設備并讀取busNo(總線號)、deviceNo(設備號)、
funcNo(功能號)等參數后,再利用這三個參數找到PCI基地址和中斷號,最后作地址映射,將基地址加到內存管理單元MMU中。這是PCI9030設備初始化的重要步驟。
3 VxWorks下的PCI9030驅動程序結構及流程
3.1驅動程序的框架

  前面提到在VxWorks下有七個基本I/O函數,所以寫PCI9030驅動程序時首先要寫PCI9030的I/O接口子程序PCI9030Open()、PCI9030Close()、PCI9030Read()等。 此外還需要寫三個重要的程序[3]:
  PCI9030Drv()。該程序的主要工作是執行必要的硬件初始化;通過調用iosDrvInstall()函數裝載驅動程序到I/O系統,連接I/O接口子程序PCI9030Open()、PCI9030Close()、PCI9030Read()等到I/O系統;連接中斷等。
  PCI9030Create()。該程序的主要工作是將設備添加到I/O系統,通過調用iosDevAdd()函數來實現。
  中斷服務子程序ISR。該程序完成寫入中斷響應后需要執行的操作。
3.2 程序流程圖
  圖6和圖7分別為設備驅動程序PCI9030Drv()的流程圖及設備所需接口函數的框圖。

?


3.3 部分程序代碼
  (1)sysPCI9030Init()子程序。
  void sysPCI9030Init (void)
  {設備初始化……
  pciIntConnect(INUM_TO_IVEC(((int) btRes->irq)+INT_NUM_IRQ0),(VOIDFUNCPTR)myISR,IntParameter);
                        /*連接到中斷服務子程序*/ }
  (2)PCI9030Drv()程序,裝載驅動程序到驅動表并連接I/O接口函數。
  int PCI9030Drv()
  {
  int pci9030DrvNum; /*定義驅動號*/
  pci9030DrvNum=iosDrvInstall((FUNCPTR)PCI9030open,0,
    (FUNCPTR)PCI9030open, (FUNCPTR)PCI9030close,
    (FUNCPTR)PCI9030read, (FUNCPTR)PCI9030write,0);
  ……
  }
  本文針對PMC-FPGA轉接板的開發設計,研究了在VxWorks下的驅動程序的編寫及PCI接口控制芯片PCI9030的應用,論述了VxWorks下PCI9030驅動程序的設計方法。由于VxWorks操作系統的微內核可裁減及高效的多任務管理方式,為提高系統的實時性作了很大貢獻。又因VxWorks有豐富高效的接口函數,使編程更加簡單方便。I/O系統將設備程序作為內核過程實現,實時性、可靠性都得到很大提高。在硬件設計中,采用FPGA可編程邏輯門陣列芯片,通過編程實現硬件邏輯運算,大大提高了運算速度,進一步提高了系統的實時性。這里設計的PMC-FPGA轉接板也為高速控制器的設計提供了硬件條件,對控制系統中實時性、快速性的實現具有現實意義。
參考文獻
1 王學龍. 嵌入式VxWorks系統開發與應用. 北京:人民郵電出版社, 2003
2 賈智平, 張瑞華. 嵌入式系統原理與接口技術. 北京:清華大學出版社,2005
3 Vxworks Programmer’s Guide 5.5. Wind River Systems, Inc., 2002
4 PCI 9030 Data Book Version 1.4. PLX Technology, Inc., May 2002
5 Tom Shanley, Don Anderson. PCI System Architecture.Fourth Edition,北京:電子工業出版社,2000

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国内在线观看一区二区三区| 国产视频在线观看一区| 亚洲高清免费| 亚洲精品欧美在线| 精品91久久久久| 亚洲精品美女| 亚洲国产综合在线看不卡| 国产亚洲欧美一区在线观看| 久久天天躁夜夜躁狠狠躁2022| 国产精品免费网站| 国产免费成人在线视频| 黄色日韩网站| 欧美一区二区三区免费观看| 国产日韩欧美精品综合| 国产精品入口尤物| 亚洲一级高清| 午夜精品视频一区| 久久精品国产99国产精品澳门| 欧美性大战久久久久久久| 欧美日韩第一区日日骚| 久久久高清一区二区三区| 欧美视频观看一区| 日韩亚洲欧美成人| 欧美激情2020午夜免费观看| 国产精品久久久久久久久久ktv| 国产精品一二三视频| 久久久99久久精品女同性| 久久成人亚洲| 欧美视频日韩视频在线观看| 国产午夜亚洲精品不卡| 欧美精品一区二区高清在线观看| 国产婷婷色一区二区三区| 蘑菇福利视频一区播放| 国产一区二区日韩| 亚洲午夜在线视频| 一区二区精品在线观看| 久久精品成人欧美大片古装| 久久精品一区二区| 国产欧美精品在线观看| 久久gogo国模裸体人体| 国产午夜久久久久| 国产欧美日韩麻豆91| 久久本道综合色狠狠五月| 国产三级欧美三级| 欧美激情一区二区在线| 欧美小视频在线| 欧美日韩不卡合集视频| 久久久不卡网国产精品一区| 欧美国产极速在线| 欧美交受高潮1| 韩国在线一区| 亚洲视频第一页| 久久久水蜜桃| 91久久综合| 亚洲永久字幕| 国产精品国产自产拍高清av王其| 国产一区二区三区av电影| 欧美一区在线直播| 一区二区三区久久| 亚洲欧美国产va在线影院| 欧美日韩国产美| 一区二区三区在线高清| 久久久久五月天| 久久综合色8888| 国色天香一区二区| 在线电影院国产精品| 国产视频丨精品|在线观看| 蜜臀久久99精品久久久久久9| 国产伦理精品不卡| 亚洲国内精品在线| 午夜精品国产| 亚洲日本久久| 日韩天天综合| 亚洲欧美春色| 国产精品久久久久久久午夜| 91久久精品网| 一本一本久久a久久精品综合麻豆| 亚洲国产欧美日韩| 亚洲欧美制服另类日韩| 依依成人综合视频| 在线视频免费在线观看一区二区| 亚洲乱码国产乱码精品精| 欧美日韩国产影片| 国产一区二区三区的电影| 亚洲特黄一级片| 麻豆久久久9性大片| 国外精品视频| 9i看片成人免费高清| 亚洲午夜精品| 亚洲激情偷拍| 国产精品成人免费视频| 狠狠88综合久久久久综合网| 久久综合久久综合九色| 国产精品你懂的在线| 亚洲一区3d动漫同人无遮挡| 国产自产高清不卡| 亚洲欧美国产高清| 国产一区二区在线观看免费播放| 久久午夜精品| 亚洲一区二区少妇| 夜久久久久久| 影音欧美亚洲| 模特精品在线| 一区二区三区免费网站| 欧美影院视频| 欧美精品综合| 久久国产精品久久w女人spa| 欧美在线在线| 欧美激情欧美狂野欧美精品| 国产精品欧美风情| 国产精品成人va在线观看| 一本色道久久88精品综合| 亚洲欧美清纯在线制服| 亚洲欧美国产精品专区久久| 欧美在线观看视频一区二区三区| 亚洲一区在线观看免费观看电影高清| 久久亚洲捆绑美女| 久久精品成人一区二区三区| 亚洲一区免费视频| 最近中文字幕mv在线一区二区三区四区| 久久精品视频免费| 久久国产精品久久久久久电车| 国产精品免费视频观看| 国内外成人在线| 国产精品二区在线| 99视频精品全部免费在线| 在线播放日韩| 久久不射中文字幕| 亚洲国产精品成人| 国产亚洲va综合人人澡精品| 久久久久久免费| 亚洲精品色婷婷福利天堂| 免费成人在线视频网站| 蜜桃伊人久久| 久久成人免费视频| 性欧美暴力猛交另类hd| 国产精品v欧美精品∨日韩| 欧美日韩一区二区三区| 亚洲毛片在线| 国产日韩欧美在线视频观看| 亚洲精品国产日韩| 久久久久国产精品麻豆ai换脸| 欧美一区亚洲一区| 亚洲精品中文字| 久久蜜桃av一区精品变态类天堂| 久久国产精品一区二区三区| 欧美成人在线免费视频| 亚洲午夜精品在线| 亚洲免费观看高清在线观看| 欧美阿v一级看视频| 免费观看成人鲁鲁鲁鲁鲁视频| 中文日韩电影网站| 韩国精品一区二区三区| 欧美一区二区三区在线播放| 国产偷国产偷精品高清尤物| 狠久久av成人天堂| 国产精品天美传媒入口| 久热精品视频在线免费观看| 国产精品久久久久久久久久久久久| 激情欧美一区二区| 久久精品国产在热久久| 欧美久久成人| 亚洲日本aⅴ片在线观看香蕉| 国产午夜亚洲精品不卡| 999亚洲国产精| 久久综合国产精品台湾中文娱乐网| 欧美日韩国产专区| 一本大道久久a久久精二百| 在线精品观看| 中文欧美日韩| 亚洲国产欧美一区二区三区同亚洲| 久热精品视频在线免费观看| 国产在线观看精品一区二区三区| 欧美激情按摩在线| 欧美三级电影一区| 噜噜噜噜噜久久久久久91| 亚洲国产aⅴ天堂久久| 欧美人牲a欧美精品| 久久久99精品免费观看不卡| 欧美精品v日韩精品v国产精品| 国产欧美日本| 欧美精品在欧美一区二区少妇| 亚洲欧美成aⅴ人在线观看| 国产精品中文字幕在线观看| 久久aⅴ乱码一区二区三区| 亚洲欧洲在线视频| 欧美日韩国产一区精品一区| 在线 亚洲欧美在线综合一区| 亚洲婷婷综合色高清在线| 久久人体大胆视频| 国产老肥熟一区二区三区| 久久天天躁夜夜躁狠狠躁2022| 欧美激情精品久久久久久大尺度| 欧美一区日本一区韩国一区| 国产精品久久久久国产a级| 欧美一区二区观看视频| 欧美日韩另类一区| 国产精品成人免费精品自在线观看| 欧美福利视频网站| 欧美视频导航| 午夜精品久久久久久久99黑人| 欧美日韩p片| 欧美jizz19性欧美| 欧美伦理91i| 国产精品a级| 欧美一区二区三区在线视频| 久久本道综合色狠狠五月| 欧美一区二区三区免费大片| 欧美破处大片在线视频| 亚洲欧美清纯在线制服| 亚洲国产精品高清久久久| 亚洲图中文字幕| 国产精品久久久久久亚洲毛片| 欧美xx69| 国产精品视频免费观看| 免费亚洲电影| 欧美日韩一区二区免费视频| 国产网站欧美日韩免费精品在线观看| 91久久精品美女| 亚洲永久免费视频| 一区在线播放视频| 欧美激情自拍| 最新成人在线| 国产精品午夜在线| 亚洲高清影视| 久久久综合网站| 男男成人高潮片免费网站| 国产精品久久久久9999高清| 国产精品video| 在线亚洲+欧美+日本专区| 亚洲国产婷婷香蕉久久久久久| 久久久高清一区二区三区| 国产伦精品一区二区三区四区免费| 国产精品一区二区在线观看网站| 国产精品免费区二区三区观看| 怡红院av一区二区三区| 亚洲三级电影全部在线观看高清| 欧美一区二区在线视频| 亚洲精品视频一区| 欧美午夜激情小视频| 欧美护士18xxxxhd| 欧美激情中文字幕一区二区| 韩日精品中文字幕| 一本色道88久久加勒比精品| 国产精品亚洲综合一区在线观看| 亚洲美女免费视频| 国产日韩亚洲欧美综合| 亚洲婷婷国产精品电影人久久| 亚洲欧美色一区| 国产精品日韩欧美综合| 国产欧美在线观看一区| 国产日韩欧美一区在线| 久久综合伊人77777蜜臀| 美女视频黄a大片欧美| 蜜桃精品久久久久久久免费影院| 欧美精品99| 欧美经典一区二区| 亚洲欧美经典视频| 国产精品国产三级国产专播品爱网| 亚洲精品在线一区二区| 久久精品噜噜噜成人av农村| 亚洲观看高清完整版在线观看| 国产欧美精品va在线观看| 久久久久久综合| 亚洲欧美在线磁力| 欧美午夜女人视频在线| 久久av红桃一区二区小说| 中文网丁香综合网| 99日韩精品| 久久精品国产视频| 免费亚洲电影在线| 韩国一区二区在线观看| 亚洲欧美在线看| 国产视频在线观看一区二区三区| 在线观看成人网| 欧美搞黄网站| 亚洲国产精品一区制服丝袜| 欧美天堂亚洲电影院在线观看| 国产精品久久久久一区二区三区共| 亚洲高清免费| 99精品国产99久久久久久福利| 亚洲风情亚aⅴ在线发布| 欧美午夜精品久久久久久浪潮| 国产精品永久在线| 免费成人在线视频网站| 性欧美暴力猛交另类hd| 午夜精品一区二区三区在线视| 久久综合色8888| 欧美国产日韩精品免费观看| 亚洲精品国精品久久99热一| 亚洲国产一区二区a毛片| 欧美精品手机在线| 欧美伊人久久久久久久久影院| 久久精品在这里| 99视频在线观看一区三区| 欧美日韩视频在线一区二区观看视频| 欧美a级大片| 欧美另类高清视频在线| 久久国产欧美精品| 亚洲激情中文1区| 亚洲一区激情| 欧美精品国产精品日韩精品| 亚洲视频狠狠| 欧美精品三级| 亚洲国产裸拍裸体视频在线观看乱了中文| 欧美三级视频在线| 欧美jjzz| 国产精品一区二区黑丝| 久久精品视频网| 久久夜色精品国产欧美乱极品| 夜夜狂射影院欧美极品| aa国产精品| 亚洲另类一区二区| 亚洲视频一区在线| 亚洲欧美视频在线| 韩国一区二区三区在线观看| 亚洲一级片在线看| 国精产品99永久一区一区| 国产精品日韩欧美| 亚洲自拍都市欧美小说| 欧美在线观看一区| 亚洲欧洲日产国码二区| 亚洲国产成人精品久久| 午夜精品久久久久久久久久久| 男人的天堂成人在线| 亚洲天堂av高清| 国产精品亚洲综合| 亚洲国产福利在线|