国产剧情视频在线观看-国产剧情麻豆女教师在线观看-国产剧情精品在线观看-国产剧情精品-国产剧情91-国产玖玖在线观看

Rss & SiteMap

曙海教育集團(tuán)論壇 http://www.bjzhda.cn

曙海教育集團(tuán)論壇
共1 條記錄, 每頁(yè)顯示 10 條, 頁(yè)簽: [1]
[瀏覽完整版]

標(biāo)題:Windows CE下驅(qū)動(dòng)開(kāi)發(fā)基礎(chǔ)

1樓
wangxinxin 發(fā)表于:2010-11-26 11:07:19
這是我從1月6日開(kāi)始主持天極網(wǎng)論壇嵌入式開(kāi)發(fā)版以來(lái)第一次發(fā)表文章,加上以前瑣碎的文章共計(jì)30篇。研究的越多就越感覺(jué)自己懂的太少,其實(shí)在驅(qū)動(dòng)開(kāi)發(fā)方面我還是個(gè)菜鳥(niǎo),我是想再次拋磚引玉,讓做驅(qū)動(dòng)有N年經(jīng)驗(yàn)的人奉獻(xiàn)一點(diǎn)出來(lái),讓大家減少一些研究驅(qū)動(dòng)源碼而又缺少注釋所帶來(lái)的痛苦。
  我想即使讀者看過(guò)微軟的關(guān)于驅(qū)動(dòng)開(kāi)發(fā)的培訓(xùn)教材和CE幫助文檔中的驅(qū)動(dòng)部分,頭腦中仍然一片茫然。要想真正了解驅(qū)動(dòng)程序必須結(jié)合一些驅(qū)動(dòng)程序源碼,在此我以串口驅(qū)動(dòng)程序(COM16550)中初始化過(guò)程為線索簡(jiǎn)單講一講驅(qū)動(dòng)開(kāi)發(fā)的基礎(chǔ)知識(shí)。
Windows CE下的串口驅(qū)動(dòng)程序能夠處理所有I/O行為類似串口的設(shè)備,包括基于16450、16550 UART(通用異步收發(fā)芯片)的設(shè)備和一些采用DMA的設(shè)備,常見(jiàn)的有9針串口、紅外I/O口、Modem等。在%_WINCEROOT%\Public\Common\OAK\Drivers\Serial目錄下,COM_MDD2子目錄包含新的串口驅(qū)動(dòng)MDD層函數(shù)代碼。COM16550子目錄包含串口驅(qū)動(dòng)PDD層代碼。SER16550子目錄包含的一系列函數(shù)專用于控制與16550兼容的UART,這樣PDD層的主要工作就是調(diào)用SER16550中的函數(shù)。還有一個(gè)ISR16550子目錄包含的是串口驅(qū)動(dòng)程序?qū)S玫目砂惭bISR(中斷服務(wù)例程),而很多硬件設(shè)備驅(qū)動(dòng)程序采用CE默認(rèn)的可安裝ISR giisr.dll。一般串口設(shè)備相應(yīng)的注冊(cè)表設(shè)置例子及意義如下:
意義
"SysIntr"=dword:13 串口1的中斷ID為十進(jìn)制13
"IoBase"=dword:02F8 串口1的IO空間首地址為十六進(jìn)制2F8
"IoLen"=dword:8 串口1的IO空間長(zhǎng)度為8個(gè)字節(jié)
"DeviceArrayIndex"=dword:0 串口1的索引,是1的由來(lái)
"Order"=dword:0 串口1驅(qū)動(dòng)的加載順序
"DeviceType"=dword:0 串口1的設(shè)備類型
"DevConfig"=hex: 10,00 .... 串口1在與Modem設(shè)備通訊時(shí)的配置,如波特率、奇偶校檢等
"FriendlyName"="COM1:" 串口1在撥號(hào)程序中顯示的名字
"Tsp"="Unimodem.dll" 串口1 被用于與Modem設(shè)備通訊的時(shí)候要加載的TSP(TAPI Service provider)DLL
"Prefix"="COM" 串口1的流接口的前綴
"Dll"="com16550.Dll" 串口1的驅(qū)動(dòng)程序DLL

  SysIntr由CE在文件Nkintr.h中預(yù)定義,用于唯一標(biāo)識(shí)中斷設(shè)備。OEM可以在文件Oalintr.h中定義自己的SysIntr。常見(jiàn)的預(yù)定義SysIntr有SYSINTR_NOP(中斷只由ISR處理,IST不再處理),SYSINTR_RESCHED(重新調(diào)度線程),SYSINTR_DEVICES(由CE預(yù)定義的設(shè)備中斷ID的基值),SYSINTR_PROFILE、SYSINTR_TIMING、SYSINTR_FIRMWARE等都是基于SYSINTR_DEVICES定義的。IoBase是串口1的IO地址空間的首地址,IoLen是IO空間的大小。IO地址空間只存在于x86平臺(tái),如果在其它平臺(tái)硬件寄存器必須映射到物理地址空間,那子鍵的名稱為MemBase和MemLen。在x86平臺(tái)更多硬件的寄存器由于IO空間的局限也映射到物理地址空間。DeviceArrayIndex是設(shè)備的索引,用于區(qū)分同類型的設(shè)備。Prefix是流驅(qū)動(dòng)程序的前綴,當(dāng)應(yīng)用程序調(diào)用CreateFile函數(shù)傳遞COM1:參數(shù)時(shí),文件系統(tǒng)負(fù)責(zé)與串口驅(qū)動(dòng)程序通信,串口驅(qū)動(dòng)程序是在CE啟動(dòng)時(shí)由device.exe加載的。

  下面從MDD層函數(shù)COM_Init開(kāi)始探索串口驅(qū)動(dòng)的初始化過(guò)程。COM_Init是在串口設(shè)備被檢測(cè)后由設(shè)備管理器device.exe調(diào)用的,主要的作用是初始化設(shè)備,它的唯一參數(shù)Identifier是由device.exe傳遞的,其類型是一個(gè)字符串指針,字符串的內(nèi)容是HLM\Drivers\Active\xx,xx是一個(gè)十進(jìn)制數(shù)(device.exe會(huì)跟蹤系統(tǒng)中每個(gè)驅(qū)動(dòng)程序,把加載的驅(qū)動(dòng)程序記錄在Active鍵下)。COM_Init先分配一個(gè)HW_INDEP_INFO結(jié)構(gòu)體,這個(gè)結(jié)構(gòu)體是獨(dú)立于串口硬件的頭信息(MDD、PDD、SER16550都包含自己獨(dú)特的結(jié)構(gòu)體,具體的結(jié)構(gòu)體定義請(qǐng)參見(jiàn)串口驅(qū)動(dòng)源碼),分配之后再初始化結(jié)構(gòu)體中每個(gè)成員,初始化結(jié)構(gòu)體后調(diào)用 OpenDeviceKey((LPCTSTR)Identifier)打開(kāi)HLM\Drivers\Active\xx\Key包含的注冊(cè)表路徑,在這里路徑一般為HLM\Drivers\BuiltIn\Serial,即串口的驅(qū)動(dòng)程序信息在注冊(cè)表中所處的位置。COM_Init接著在HLM\Drivers\BuiltIn\Serial下查詢DeviceArrayIndex、Priority256的值,Priority256指定了驅(qū)動(dòng)程序的優(yōu)先級(jí),如果沒(méi)有就用默認(rèn)的優(yōu)先級(jí)。接下來(lái)調(diào)用GetSerialObject(DeviceArrayIndex),這個(gè)函數(shù)由PDD層定義,返回HWOBJ結(jié)構(gòu)體,這個(gè)結(jié)構(gòu)體主要包含PDD層和SER16550定義的函數(shù)的指針。也就是說(shuō)MDD通過(guò)調(diào)用這個(gè)函數(shù)才能調(diào)用底層實(shí)現(xiàn)的函數(shù)。接下來(lái)的大多數(shù)工作都是調(diào)用底層函數(shù)實(shí)現(xiàn)初始化。第一個(gè)調(diào)用的底層函數(shù)SerInit主要設(shè)置由用戶設(shè)置的硬件配置,例如線路控制、波特率。它調(diào)用Ser_GetRegistryData函數(shù)得到保存在注冊(cè)表中的硬件信息,Ser_GetRegistryData在內(nèi)部調(diào)用系統(tǒng)提供的DDKReg_GetIsrInfoDDK和DDKReg_GetWindowInfo函數(shù)得到在HLM\Drivers\BuiltIn\Serial下保存的IRQ、SysIntr、IsrDll、IsrHandler、IoBase、IoLen。IRQ是邏輯中斷號(hào),IsrDll表示當(dāng)前驅(qū)動(dòng)程序的可安裝ISR所在的DLL名稱,IsrHandler 表示可安裝ISR的函數(shù)名稱。在這里順便提一下可安裝ISR,讀者在我以前發(fā)表的關(guān)于OAL的文章中可以了解到OEM在OEMInit函數(shù)中關(guān)聯(lián)IRQ和SysIntr,當(dāng)硬件設(shè)備發(fā)生中斷時(shí),ISR會(huì)禁止同級(jí)和低級(jí)中斷,然后根據(jù)IRQ返回關(guān)聯(lián)的SysIntr,內(nèi)核根據(jù)ISR返回的SysIntr喚醒相應(yīng)的IST(SysIntr與IST創(chuàng)建的Event關(guān)聯(lián)),IST處理中斷之后調(diào)用InterruptDone解除中斷禁止。在OEMInit中關(guān)聯(lián)的缺點(diǎn)是一旦編譯了CE內(nèi)核后就無(wú)法添加這種關(guān)聯(lián)了,而一些硬件設(shè)備會(huì)隨時(shí)插拔或者共享中斷,要關(guān)聯(lián)這樣的硬件設(shè)備解決方法就是可安裝ISR,可安裝ISR專用于處理指定的硬件設(shè)備發(fā)出的中斷,所以如果硬件設(shè)備需要可安裝ISR必須在注冊(cè)表中添加IsrDll、IsrHandler。多數(shù)硬件設(shè)備采用CE默認(rèn)的可安裝ISR giisr.dll,格式如下:

 "IsrDll"="giisr.dll"

"IsrHandler"="ISRHandler"

  如果一個(gè)硬件驅(qū)動(dòng)程序需要可安裝ISR而開(kāi)發(fā)者又不想自己寫(xiě)一個(gè),那么可以利用giisr.dll來(lái)實(shí)現(xiàn)。除了在注冊(cè)表中添加如上所示外,還要在驅(qū)動(dòng)程序中調(diào)用相關(guān)函數(shù)注冊(cè)可安裝ISR。偽代碼如下:

g_IsrHandle = LoadIntChainHandler(IsrDll, IsrHandler, (BYTE)Irq);

GIISR_INFO Info;

PHYSICAL_ADDRESS PortAddress = {PhysAddr, 0};

TransBusAddrToStatic(BusType, dwBusNumber, PortAddress, dwAddrLen, &dwIOSpace, &(PVOID)PhysAddr)

Info.SysIntr = dwSysIntr;

Info.CheckPort = TRUE;

Info.PortIsIO = (dwIOSpace) ? TRUE : FALSE;

Info.UseMaskReg = TRUE;

Info.PortAddr = PhysAddr   0x0C;

Info.PortSize = sizeof(DWORD);

Info.MaskAddr = PhysAddr   0x10;

KernelLibIoControl(g_IsrHandle, IOCTL_GIISR_INFO, &Info, sizeof(Info), NULL, 0, NULL);

  LoadIntChainHandler函數(shù)負(fù)責(zé)注冊(cè)可安裝ISR,參數(shù)1為DLL名稱,參數(shù)2為ISR函數(shù)名稱,參數(shù)3為IRQ。TransBusAddrToStatic函數(shù)在后面講。如果要利用giisr.dll作為可安裝ISR,必須先填充GIISR_INFO結(jié)構(gòu)體,CheckPort=TRUE表示giisr要檢測(cè)指定的寄存器來(lái)確定當(dāng)前發(fā)出中斷的是否是這個(gè)設(shè)備。PortIsIO表示寄存器地址屬于哪個(gè)地址空間,F(xiàn)ALSE表示是內(nèi)定空間,TRUE表示IO空間。UseMaskReg=TRUE表示設(shè)備有一個(gè)掩碼寄存器,專用于指定當(dāng)前設(shè)備是否是中斷源,也就是發(fā)出中斷,而MaskAddr表示掩碼寄存器的地址。如果對(duì)Info.Mask賦值,那么PortAddr表示一個(gè)特殊的寄存器地址,這個(gè)寄存器的值與Mask的值&運(yùn)算的結(jié)果如果為真,則證明當(dāng)前設(shè)備是中斷源,否則返回SYSINTR_CHAIN(表示當(dāng)前ISR沒(méi)有處理中斷,內(nèi)核將調(diào)用ISR鏈中下一個(gè)ISR),如果UseMaskReg=TRUE,那么MaskReg寄存器的值與PortAddr指定的寄存器的值&運(yùn)算的結(jié)果如果為真,則證明當(dāng)前設(shè)備是中斷源。
  函數(shù)SerInit接著調(diào)用函數(shù)Ser_InternalMapRegisterAddresses轉(zhuǎn)換IO地址并且映射地址,Ser_InternalMapRegisterAddresses在內(nèi)部調(diào)用系統(tǒng)提供的HalTranslateBusAddress(Isa, 0, ioPhysicalBase, &inIoSpace, &ioPhysicalBase)函數(shù)將與總線相關(guān)的地址轉(zhuǎn)換為系統(tǒng)地址,參數(shù)1為總線類型,參數(shù)2為總線號(hào),參數(shù)3為要轉(zhuǎn)換的地址(PHYSICAL_ADDRESS類型,實(shí)際是LARGE_INTEGER型),參數(shù)4指定寄存器地址屬于IO地址空間還是物理地址空間,參數(shù)5返回轉(zhuǎn)換后的物理地址。觀察HalTranslateBusAddress的源碼得知如果是在x86平臺(tái),這個(gè)函數(shù)除了把參數(shù)3賦給了參數(shù)5其余什么都沒(méi)有做,而非x86平臺(tái)將inIoSpace的值置為0,表示一定是物理地址。在調(diào)用HalTranslateBusAddress前要確定從注冊(cè)表中得到的寄存器地址到底是屬于哪個(gè)地址空間的

共1 條記錄, 每頁(yè)顯示 10 條, 頁(yè)簽: [1]

Copyright © 2000 - 2009 曙海教育集團(tuán)
Powered By 曙海教育集團(tuán) Version 2.2
Processed in .03125 s, 2 queries.
国产剧情视频在线观看-国产剧情麻豆女教师在线观看-国产剧情精品在线观看-国产剧情精品-国产剧情91-国产玖玖在线观看
<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>
    91香蕉嫩草影院入口| 欧美久久在线| 成人激情视频在线| 免费看成人片| 国产极品jizzhd欧美| 国产三区二区一区久久| 91精品国产高清久久久久久久久| 国产传媒一区二区三区| 91精品国产九九九久久久亚洲| 亚洲一区二区三区视频| 欧美激情精品久久久久久黑人| 亚洲在线观看视频| 欧美精品福利在线| 精品日韩电影| 国产精品在线看| 中文字幕久精品免| 精品视频一区二区三区四区| 国产精品视频一| 亚洲综合首页| 精品国产91亚洲一区二区三区www 精品国产_亚洲人成在线 | 亚洲一区二区三区视频| 久久久亚洲国产| 久久av一区二区三区漫画| 国产精品第8页| 一本一道久久久a久久久精品91| 99精品国产高清在线观看| 91福利视频网| 亚洲一二三区精品| 欧美成人一区二区在线| 91免费视频国产| 欧美资源在线观看| 欧美激情小视频| 久久精品二区| 91麻豆精品秘密入口| 国产成人精品亚洲精品| 久久久欧美一区二区| 日韩电影免费观看高清完整| 国产v亚洲v天堂无码| 国产精品久久久久久久av大片| 在线观看一区二区三区三州| 久久久久久九九九九| 亚洲直播在线一区| 国产精品久久在线观看| 欧美一区二区影院| 欧美大片欧美激情性色a∨久久| 久久久久久亚洲精品不卡4k岛国| 5g影院天天爽成人免费下载| 国产欧美中文字幕| 国产精品69久久| 992tv在线成人免费观看| 亚洲女人毛片| 视频一区二区三区免费观看| 久久久一本精品99久久精品66 | 欧美日韩大片一区二区三区| 国产福利久久精品| 亚洲xxx自由成熟| 国产玖玖精品视频| 国产精品美女主播| 国产成人jvid在线播放| 91成人在线视频| 色综合久久悠悠| 亚洲一区影院| 在线亚洲美日韩| 一本一道久久久a久久久精品91| 欧美精品亚洲精品| 欧美午夜精品久久久久免费视| 国内精品一区二区| 狠狠色综合一区二区| 激情小说网站亚洲综合网 | 91av在线精品| 91福利视频网| 欧洲成人性视频| 91国在线精品国内播放 | 国产高清精品一区二区三区| 亚洲综合小说区| 91精品久久久久久久久| 国产精品综合久久久| 国产精品女主播| 国产在线观看精品一区二区三区| 成人午夜在线视频一区| 91人成网站www| 91在线观看免费观看 | 亚洲精品一区国产精品| 亚洲成人a**址| 致1999电视剧免费观看策驰影院| 欧美国产日韩xxxxx| 久久久久在线观看| 欧美在线日韩在线| 国产精品中文久久久久久久| 亚洲xxxxx性| 国产青春久久久国产毛片| 久久综合狠狠综合久久综青草| 久久久久国产精品视频| 五码日韩精品一区二区三区视频| 在线免费一区| 欧美伊久线香蕉线新在线| 国产99久久精品一区二区永久免费| 国产精品福利网站| 69堂成人精品视频免费| 免费久久一级欧美特大黄 | 欧美激情视频在线| 国产999在线观看| 91九色国产在线| 精品久久精品久久| 亚洲一区3d动漫同人无遮挡 | 日本午夜精品一区二区| 椎名由奈jux491在线播放| 性欧美办公室18xxxxhd| 国产精品美女免费看| 99久久国产免费免费| 免费成人av网站| 欧美国产第二页| 国产精品99导航| 国产精品成人一区二区三区| 亚洲日本精品| 国产精品久久激情| 国产一区二区不卡视频| 一区二区视频在线免费| 国产精品成人久久久久| 国产精品免费一区二区三区在线观看 | 91精品久久久久久综合乱菊 | 97avcom| 成人亚洲欧美一区二区三区| 久久伊人一区二区| 欧美高清视频在线观看| 国产精品自产拍在线观| 久久婷婷国产综合尤物精品| 欧美风情在线观看| 国产精品aaa| 黑人巨大精品欧美一区二区小视频| 亚洲精品国产系列| 国产精品专区一| 久久久久久久久久久久久9999| 在线一区高清| 91精品中国老女人| 亚洲欧美电影在线观看| 国产精品视频内| 欧美激情论坛| 国产成人精品免费视频| 久久99蜜桃综合影院免费观看| 久久人91精品久久久久久不卡| 91天堂在线视频| 一区二区三区久久网| 成人美女av在线直播| 神马影院一区二区三区| 国产精品午夜国产小视频| 欧美日韩一区二区三区在线视频| 日韩美女视频免费看| 精品产品国产在线不卡| 欧美在线中文字幕| 久久综合入口| 国产精品嫩草视频| 日韩精品电影网站| 成人h视频在线观看播放| 婷婷四房综合激情五月| 91精品久久久久久久久| 在线观看福利一区| 国产厕所精品在线观看| 欧美专区第一页| 欧美国产二区| 国产精品中文字幕在线观看| 正在播放一区二区三区| 成人片在线免费看| 热草久综合在线| 日本一区二区三区在线视频| 国产美女久久精品香蕉69| 亚洲v国产v| 亚洲最大成人网色| 97热精品视频官网| 欧美大香线蕉线伊人久久| 国产精品视频自拍| 欧美精品aaa| 九9re精品视频在线观看re6| 国产精品劲爆视频| 欧美大荫蒂xxx| 九九九久久久| 91欧美日韩一区| 欧美亚洲视频在线观看| 亚洲黄色成人久久久| 国产精品久久久久久久久婷婷 | 欧美激情一区二区三区高清视频 | 精品欧美国产| 国产欧美在线看| 性欧美视频videos6一9| 欧美日韩视频在线一区二区观看视频 | 91青青草免费观看| 热99精品里视频精品| 午夜精品福利一区二区| 国产精品久久久久久免费观看| 国产99久久精品一区二区永久免费 | 精品欧美一区二区在线观看视频 | 亚洲精品国产精品国自产观看| 97影院在线午夜| 国产精品成久久久久三级| 欧美疯狂性受xxxxx另类| 精品视频在线观看| 91在线观看免费高清完整版在线观看 | 国产美女精彩久久| 8x海外华人永久免费日韩内陆视频| 日本黄网免费一区二区精品| 动漫3d精品一区二区三区| 国产精品视频99| 国产91精品久久久| 欧美激情2020午夜免费观看| 日日噜噜噜噜夜夜爽亚洲精品| 国产精品一区二区三区在线观| 国产日本欧美一区二区三区在线| 欧美在线激情视频| 性色av香蕉一区二区| 一级二级三级欧美| 日韩欧美在线观看强乱免费| 久久久久久99| 国产美女99p| 91成人免费看| 91久久国产综合久久91精品网站| 精品欧美一区二区在线观看视频 | 国产成人精品日本亚洲专区61| 欧美福利视频网站| 日本视频精品一区| 欧美精品v日韩精品v国产精品| 午夜老司机精品| 91九色露脸| 中文字幕一区二区三区精彩视频| 成人黄视频免费| 91久久精品国产91性色| 国产精品久久久久久亚洲影视| 欧美一级bbbbb性bbbb喷潮片| 国产欧美日韩精品在线观看 | 91亚色免费| 国产一区二区丝袜| 国产精品久久久久久超碰| 7m精品福利视频导航| 久久久久久久国产| 久久久久久久91| 综合久久国产| 欧美第一页在线| 在线观看亚洲视频啊啊啊啊| 亚洲欧美久久久久一区二区三区| 免费日韩av电影| 免费久久久一本精品久久区| 麻豆一区区三区四区产品精品蜜桃| 国产一区二区三区色淫影院| 久久精品国产精品国产精品污 | 亚洲欧美日本国产有色| 日韩欧美在线一区二区| 欧洲亚洲一区二区三区四区五区| 国产主播一区二区三区四区| 国产伦精品一区二区三| 精品国产综合区久久久久久| 精品免费日产一区一区三区免费| 国产一区二区三区黄| 国产乱码精品一区二区三区卡| 国产精品视频免费观看| 国产在线一区二区三区欧美 | 午夜精品福利电影| 欧美一级视频在线观看| 日韩免费在线看| 国产精品中文字幕久久久| 成人做爰www免费看视频网站| 成人免费网站在线观看| 波多野结衣成人在线| 精品亚洲欧美日韩| 日韩区国产区| 久久久久久久久久久亚洲| 午夜精品久久久久久久久久久久久 | 欧美极品少妇全裸体| 性欧美xxxx视频在线观看| 日本免费久久高清视频| 国产一区视频在线播放| 亚洲综合大片69999| 国产三区精品| 亚洲成人自拍| 18久久久久久| 国产免费久久av| 国产经品一区二区| 日韩中文不卡| 欧美亚洲午夜视频在线观看 | 国产精品美女久久久久av福利| 久久综合精品一区| 欧美激情第三页| 国产高清在线不卡| 国产成人亚洲欧美| 亚洲最大色综合成人av| 国产成人精品网站| 成人免费视频网站| 一区二区欧美日韩| 国产精品久久激情| 国产自产精品| 欧美精品18videos性欧| 国产精品天天狠天天看| 精品午夜一区二区| 久久免费视频在线| 成人激情视频在线播放| 欧美日韩一区在线观看视频| 91精品国产乱码久久久久久蜜臀 | 99视频免费观看| 婷婷久久青草热一区二区| 欧洲永久精品大片ww免费漫画| 亚洲最大的成人网| 亚洲欧洲三级| 国产精品中文字幕在线观看| 麻豆亚洲一区| 日本午夜在线亚洲.国产| 成人免费看片网址| 久久久久免费精品国产| 91精品国产一区二区三区动漫| 日韩在线导航| 国产精品一区二区3区| 欧美日韩一区在线播放| 国产成人涩涩涩视频在线观看| 精品久久久三级| 日本三级韩国三级久久| 蜜桃传媒视频麻豆第一区免费观看| 欧美一级高清免费| 久久av一区二区三区亚洲| 欧美一级淫片aaaaaaa视频| 国产一区免费视频| 日本aⅴ大伊香蕉精品视频| 久久国产精品亚洲va麻豆| 欧美在线视频网| 你懂的视频在线一区二区| 国产精品aaaa| 亚洲成人18| 97人人模人人爽人人少妇| 久久久亚洲影院你懂的| 国产一区二区中文字幕免费看| 91精品国产免费久久久久久 | 欧美在线观看网站| 久久久国产精品一区二区三区| 日韩av第一页| 手机成人在线| 91久久国产综合久久蜜月精品| 午夜精品久久久久久99热| 精品久久久久久中文字幕动漫| 国产成人精品免费久久久久 | 成人a级免费视频| 亚洲精品无人区| av在线亚洲男人的天堂| 欧美综合激情网| 日韩三级电影免费观看| 91视频8mav| 2024亚洲男人天堂| 日本亚洲自拍| 超碰在线97av| 日韩免费在线观看视频| 亚洲国产精品久久久久久女王| 亚洲最大福利视频网站| 欧美与欧洲交xxxx免费观看 | 国产精品丝袜久久久久久不卡| 亚洲精品不卡| 国产精品一区二区在线观看 | 97国产在线视频| 人偷久久久久久久偷女厕| 91天堂在线视频| 欧美一级大胆视频| 亚洲一区二区三区午夜| 精品国产乱码久久久久久蜜柚| 国产精品永久免费在线| 97在线免费视频| 亚洲国产日韩综合一区| 精品久久久久久乱码天堂| 成人午夜高潮视频| 青草青草久热精品视频在线网站| 午夜精品一区二区三区四区| 黑人另类av| 69堂成人精品视频免费| 国产精品美女在线| 91精品国产免费久久久久久| 亚洲蜜桃在线| 欧美一进一出视频| 国产一区在线观| 成人欧美一区二区三区视频xxx| 国产精品三级在线| 日本道色综合久久影院| 97久久精品国产| 伊人久久大香线蕉精品| 欧美一区激情视频在线观看| 国产欧美一区二区在线播放| 91麻豆蜜桃| 91亚洲一区精品| 成人免费网站在线观看| 国产精品亚洲欧美导航| 国产成人91久久精品| 18性欧美xxxⅹ性满足| 久久久免费精品| 欧美国产日韩一区二区三区| 亚洲欧美久久234| 欧美日韩一区在线观看视频| 久久久久一区二区三区| 精品国产乱码久久久久久郑州公司 | 超碰在线97av| 亚洲最大福利视频网| 成人春色激情网| 国产日韩精品综合网站| 国产日韩欧美日韩大片| 国产一区欧美二区三区| 国产精品一区二区三区成人| 国产精品久久久久一区二区| 国产精品r级在线| 国产经典一区二区| 国产精品视频免费在线观看| 国产精品美乳在线观看| 国产精品一区二区电影| 国产欧美 在线欧美| 国产精品久久久久秋霞鲁丝| 国产欧美精品一区二区三区-老狼| 国产精品免费一区豆花| 国产裸体写真av一区二区| 国产日韩欧美中文在线播放| 国产人妖伪娘一区91| 成人网在线免费看| 91在线精品播放| 亚洲尤物视频网| 成人在线观看91| 精品国产一区二区三区久久久久久| 国产乱码精品一区二区三区日韩精品 | 日本伊人精品一区二区三区介绍 | 国产69精品久久久久99| 97精品国产91久久久久久| 2019中文在线观看| 国产91色在线| 国产精品综合网站| 91在线免费看片| 精品免费一区二区三区蜜桃| 久久99导航| 色综合电影网| 欧美精品www| 日韩美女av在线免费观看| 国产精品一区二区久久久| 亚洲free性xxxx护士hd| 国产美女99p| 日韩免费电影一区二区三区| 欧美大片免费观看| 日韩美女中文字幕| 91在线观看免费观看| 国产日韩欧美综合精品| 神马影院一区二区| 久久久免费电影| 国产精品扒开腿做爽爽爽的视频| 成人中文字幕在线观看| 精品国产中文字幕| 伊人久久大香线蕉成人综合网| 国内外成人免费激情在线视频| 日韩免费av片在线观看| 亚洲一区中文字幕| 欧美一区国产一区| 78m国产成人精品视频| 成人精品久久一区二区三区| 精品国产一区二区三区免费 | 欧美下载看逼逼| 欧美极品少妇xxxxⅹ免费视频| 日本精品久久久久影院| 亚洲精品日韩av| 欧美日韩一区在线视频| 国精产品一区一区三区有限在线| 国产精品美乳在线观看| 国产在线资源一区| 欧美精品电影在线| 国产日本欧美视频| 久久综合九九| 91精品国产高清自在线| 成人妇女免费播放久久久| 噜噜噜噜噜久久久久久91| 国模叶桐国产精品一区| 91午夜在线播放| 日韩精品伦理第一区| 欧美最猛性xxxx| 成人在线观看91| 中文字幕日韩一区二区三区| 国产精品视频午夜| 女人一区二区三区| 欧美在线播放视频| 国产精品视频免费一区| 久久久久国产精品www| 国产欧美中文字幕| 欧美在线一区二区三区四区| 日本视频久久久| 久久综合入口| 日韩免费观看网站| 蜜桃av久久久亚洲精品| 日韩免费观看在线观看| 久久久久久亚洲精品不卡4k岛国| 欧美在线激情网| 精品一区在线播放| 欧美在线欧美在线| 精品一区久久| 日本免费久久高清视频| 精品视频一区二区| 国产成人在线亚洲欧美| 欧美主播一区二区三区美女 久久精品人| 青青久久av北条麻妃黑人| 久久99精品久久久久久三级 | 九九99久久| 国产成+人+综合+亚洲欧美丁香花| 精品午夜一区二区| 国产大片精品免费永久看nba| 久久99久久精品国产| 国产成人精品一区| 日韩高清dvd| 91美女片黄在线观| 亚洲2020天天堂在线观看| 国产九区一区在线| 国产不卡视频在线| 亚洲高清不卡一区| 亚洲一区二区久久久久久| 欧美激情a在线| 国产区二精品视| 国产精品久久久久国产a级| 水蜜桃一区二区三区| 51精品国产人成在线观看| 国内精品久久久久影院优| 精品久久一区二区三区蜜桃| 国产精品久久久91| 欧美二区在线播放| 久久草.com| 91精品国产综合久久香蕉的用户体验 | 国产女人精品视频| 欧美精品18videos性欧美| 国产尤物91| 91精品久久久久久久久久入口| 久久久久久久久网站| 欧美精品一区二区三区久久| 91亚洲va在线va天堂va国 | 国产亚洲精品久久飘花| 国产精品久久久久av| 亚洲欧美日韩精品久久久| 97免费高清电视剧观看| 国产成+人+综合+亚洲欧洲| 伊人久久大香线蕉精品| 久久99精品久久久久久三级 | 国产成人精品日本亚洲| 亚洲欧洲一区二区在线观看| 国产伦一区二区三区色一情| 国产精品欧美日韩一区二区| 高清欧美电影在线| 日韩aⅴ视频一区二区三区| 成人av网站观看| 国产日韩欧美电影在线观看| 欧美一级电影久久| 中文字幕一区二区三区乱码| 欧美精品欧美精品| 国产精品一区免费观看| 成人午夜一级二级三级| 国产成人一区二区在线| 午夜精品一区二区三区在线视频| 日韩啊v在线| 久久久久久高清| 国产精品二区二区三区| 亚洲一区二区免费| 国产一区二区丝袜高跟鞋图片| 日韩av成人在线观看| 久久久久久久久久久久久久久久久久av | 91免费视频网站| 国产精品免费小视频| 日韩av免费在线| 欧美重口另类videos人妖| 国内精品小视频在线观看| 欧美国产精品人人做人人爱| 亚洲欧洲一区二区福利| 日韩精品一区二区三区色偷偷| 久久精品日产第一区二区三区| 国产精品青青草| 99视频在线播放| 97netav| 亚洲最大成人免费视频| 91免费看片在线| 91丝袜美腿美女视频网站| 成人国产精品一区| 91久久精品一区| 成人h猎奇视频网站| 国产精品丝袜久久久久久不卡| 国产成人久久久精品一区| 国产999视频| 国产精品成人品| 国产精品久久视频| 国产欧美日韩中文字幕| 成人网欧美在线视频| 91在线播放国产| 7777精品久久久大香线蕉小说| 成人久久久久爱| 92看片淫黄大片看国产片| 91大片在线观看| 国产精品三区www17con| 精品久久蜜桃| 日本视频一区在线观看| 天天爽天天狠久久久| 一本色道久久综合亚洲精品婷婷| 在线观看国产一区| 国内精久久久久久久久久人| 91产国在线观看动作片喷水| 欧美一区二区.| 日韩**中文字幕毛片| 国产精品久久国产精品99gif| 国产精品亚发布| 亚洲专区在线视频| 波多野结衣成人在线| 九9re精品视频在线观看re6 | 国产欧美va欧美va香蕉在线| 成人网欧美在线视频| 成人av资源|