日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux platform 驱动模型分析

發(fā)布時間:2023/12/20 linux 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux platform 驱动模型分析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一. 概述
? ? platform設(shè)備和驅(qū)動與linux設(shè)備模型密切相關(guān)。platform在linux設(shè)備模型中,其實就是一種虛擬總線沒有對應的硬件結(jié)構(gòu)。它的主要作用就是管理系統(tǒng)的外設(shè)資源,比如io內(nèi)存,中斷信號線?,F(xiàn)在大多數(shù)處理器芯片都是soc,如s3c2440,它包括處理器內(nèi)核(arm920t)和系統(tǒng)的外設(shè)(lcd接口,nandflash接口等)。linux在引入了platform機制之后,內(nèi)核假設(shè)所有的這些外設(shè)都掛載在platform虛擬總線上,以便進行統(tǒng)一管理。
二. platform 總線
? ?1. 在系統(tǒng)中platform對應的文件drivers/base/platform.c,它不是作為一個模塊注冊到內(nèi)核的,關(guān)鍵的注冊總線的函數(shù)由系統(tǒng)初始化部分,對應/init/main.c中的do_basic_setup函數(shù)間接調(diào)用。這里可以看出platform非常重要,要在系統(tǒng)其他驅(qū)動加載之前注冊。下面分析platform總線注冊函數(shù)
[cpp]?view plaincopy
  • int?__init?platform_bus_init(void)??
  • {??
  • ????int?error;??
  • ????early_platform_cleanup();??
  • ????error?=?device_register(&platform_bus);??
  • ????????//總線也是設(shè)備,所以也要進行設(shè)備的注冊??
  • ????if?(error)??
  • ????????return?error;??
  • ????error?=??bus_register(&platform_bus_type);??
  • ????????//注冊platform_bus_type總線到內(nèi)核??
  • ????if?(error)??
  • ????????device_unregister(&platform_bus);??
  • ????return?error;??
  • }??
  • ? ? 這個函數(shù)向內(nèi)核注冊了一種總線。他首先由/drivers/base/init.c中的driver_init函數(shù)調(diào)用,driver_init函數(shù)由/init/main.c中的do_basic_setup函數(shù)調(diào)用,do_basic_setup這個函數(shù)由kernel_init調(diào)用,所以platform總線是在內(nèi)核初始化的時候就注冊進了內(nèi)核。
    ? ?2. platform_bus_type 總線結(jié)構(gòu)與設(shè)備結(jié)構(gòu)
    ? ? (1) platform總線 設(shè)備結(jié)構(gòu)
    [cpp]?view plaincopy
  • struct?device?platform_bus?=?{??
  • ????.init_name??=?"platform",??
  • };??
  • ? ? platform總線也是一種設(shè)備,這里初始化一個device結(jié)構(gòu),設(shè)備名稱platform,因為沒有指定父設(shè)備,所以注冊后將會在/sys/device/下出現(xiàn)platform目錄。
    ? ? (2) platform總線 總線結(jié)構(gòu)
    [cpp]?view plaincopy
  • struct?bus_type?platform_bus_type?=?{??
  • ????.name???????=?"platform",??
  • ????.dev_attrs??=?platform_dev_attrs,???
  • ????.match??????=?platform_match,??
  • ????.uevent?????=?platform_uevent,??
  • ????.pm?????=?&platform_dev_pm_ops,??
  • };??
  • ? ? platform_dev_attrs ? ?設(shè)備屬性
    ? ? platform_match ? ? ? ?match函數(shù),這個函數(shù)在當屬于platform的設(shè)備或者驅(qū)動注冊到內(nèi)核時就會調(diào)用,完成設(shè)備與驅(qū)動的匹配工作。
    ? ? platform_uevent ? ? ? 熱插拔操作函數(shù)
    三. platform 設(shè)備
    ? ?1. platform_device 結(jié)構(gòu)
    [cpp]?view plaincopy
  • struct?platform_device?{??
  • ????const?char??*?name;??
  • ????int?????id;??
  • ????struct?device???dev;??
  • ????u32?????num_resources;??
  • ????struct?resource?*?resource;??
  • ????struct?platform_device_id???*id_entry;??
  • ????/*?arch?specific?additions?*/??
  • ????struct?pdev_archdata????archdata;??
  • };??
  • ? ? (1)platform_device結(jié)構(gòu)體中有一個struct resource結(jié)構(gòu),是設(shè)備占用系統(tǒng)的資源,定義在ioport.h中,如下
    [cpp]?view plaincopy
  • struct?resource?{??
  • ????resource_size_t?start;??
  • ????resource_size_t?end;??
  • ????const?char?*name;??
  • ????unsigned?long?flags;??
  • ????struct?resource?*parent,?*sibling,?*child;??
  • };??
  • ? ? (2) num_resources 占用系統(tǒng)資源的數(shù)目,一般設(shè)備都占用兩種資源,io內(nèi)存和中斷信號線。這個為兩種資源的總和。
    ? ?2. 設(shè)備注冊函數(shù) platform_device_register
    [cpp]?view plaincopy
  • int?platform_device_register(struct?platform_device?*pdev)??
  • {??
  • ????device_initialize(&pdev->dev);??
  • ????return?platform_device_add(pdev);??
  • }??
  • ? ? 這個函數(shù)首先初始化了platform_device的device結(jié)構(gòu),然后調(diào)用platform_device_add,這個是注冊函數(shù)的關(guān)鍵,下面分析platform_device_add:
    [cpp]?view plaincopy
  • int?platform_device_add(struct?platform_device?*pdev)??
  • {??
  • ????int?i,?ret?=?0;??
  • ??
  • ????if?(!pdev)??
  • ????????return?-EINVAL;??
  • ??
  • ????if?(!pdev->dev.parent)??
  • ????????pdev->dev.parent?=?&platform_bus;??
  • ????????//可以看出,platform設(shè)備的父設(shè)備一般都是platform_bus,所以注冊后的platform設(shè)備都出現(xiàn)在/sys/devices/platform_bus下??
  • ????pdev->dev.bus?=?&platform_bus_type;??
  • ????????//掛到platform總線上??
  • ????if?(pdev->id?!=?-1)??
  • ????????dev_set_name(&pdev->dev,?"%s.%d",?pdev->name,??pdev->id);??
  • ????else??
  • ????????dev_set_name(&pdev->dev,?"%s",?pdev->name);??
  • ????????//設(shè)置設(shè)備名字,這個名字與/sys/devices/platform_bus下的名字對應??
  • ????for?(i?=?0;?i?<?pdev->num_resources;?i++)?{?//下面操作設(shè)備所占用的系統(tǒng)資源??
  • ????????struct?resource?*p,?*r?=?&pdev->resource[i];??
  • ??
  • ????????if?(r->name?==?NULL)??
  • ????????????r->name?=?dev_name(&pdev->dev);??
  • ??
  • ????????p?=?r->parent;??
  • ????????if?(!p)?{??
  • ????????????if?(resource_type(r)?==?IORESOURCE_MEM)??
  • ????????????????p?=?&iomem_resource;??
  • ????????????else?if?(resource_type(r)?==?IORESOURCE_IO)??
  • ????????????????p?=?&ioport_resource;??
  • ????????}??
  • ??
  • ????????if?(p?&&?insert_resource(p,?r))?{??
  • ????????????printk(KERN_ERR??
  • ???????????????????"%s:?failed?to?claim?resource?%d\n",??
  • ???????????????????dev_name(&pdev->dev),?i);??
  • ????????????ret?=?-EBUSY;??
  • ????????????goto?failed;??
  • ????????}??
  • ????}??
  • ???????//上面主要是遍歷設(shè)備所占用的資源,找到對應的父資源,如果沒有定義,那么根據(jù)資源的類型,分別賦予iomem_resource和ioport_resource,然后調(diào)用insert_resource插入資源。??
  • ???????//這樣系統(tǒng)的資源就形成了一個樹形的數(shù)據(jù)結(jié)構(gòu),便于系統(tǒng)的管理??
  • ????pr_debug("Registering?platform?device?'%s'.?Parent?at?%s\n",??
  • ?????????dev_name(&pdev->dev),?dev_name(pdev->dev.parent));??
  • ??
  • ????ret?=?device_add(&pdev->dev);??
  • ????????//注冊到設(shè)備模型中??
  • ????if?(ret?==?0)??
  • ????????return?ret;??
  • ?failed:??
  • ????while?(--i?>=?0)?{??
  • ????????struct?resource?*r?=?&pdev->resource[i];??
  • ????????unsigned?long?type?=?resource_type(r);??
  • ????????if?(type?==?IORESOURCE_MEM?||?type?==?IORESOURCE_IO)??
  • ????????????release_resource(r);??
  • ????}??
  • ????return?ret;??
  • }??
  • ? ?3. mini2440內(nèi)核注冊platform設(shè)備過程
    ? ? 因為一種soc確定之后,其外設(shè)模塊就已經(jīng)確定了,所以注冊platform設(shè)備就由板級初始化代碼來完成,在mini2440中是mach-mini2440.c的mini2440_machine_init函數(shù)中調(diào)用platform_add_devices(mini2440_devices, ARRAY_SIZE(mini2440_devices))來完成注冊。這個函數(shù)完成mini2440的所有platform設(shè)備的注冊:
    ? ? (1) platform_add_devices函數(shù)是platform_device_register的簡單封裝,它向內(nèi)核注冊一組platform設(shè)備
    ? ? (2) mini2440_devices是一個platform_device指針數(shù)組,定義如下:
    [cpp]?view plaincopy
  • static?struct?platform_device?*mini2440_devices[]?__initdata?=?{??
  • ????&s3c_device_usb,??
  • ????&s3c_device_rtc,??
  • ????&s3c_device_lcd,??
  • ????&s3c_device_wdt,??
  • ????&s3c_device_i2c0,??
  • ????&s3c_device_iis,??
  • ????&mini2440_device_eth,??
  • ????&s3c24xx_uda134x,??
  • ????&s3c_device_nand,??
  • ????&s3c_device_sdi,??
  • ????&s3c_device_usbgadget,??
  • };??
  • ? ? 這個就是mini2440的所有外設(shè)資源了,每個外設(shè)的具體定義在/arch/arm/plat-s3c24xx/devs.c,下面以s3c_device_lcd為例說明,其他的類似。s3c_device_lcd在devs.c中它定義為:
    [cpp]?view plaincopy
  • struct?platform_device?s3c_device_lcd?=?{??
  • ????.name?????????=?"s3c2410-lcd",??
  • ????.id???????=?-1,??
  • ????.num_resources????=?ARRAY_SIZE(s3c_lcd_resource),??
  • ????.resource?????=?s3c_lcd_resource,??
  • ????.dev??????????????=?{??
  • ????????.dma_mask???????=?&s3c_device_lcd_dmamask,??
  • ????????.coherent_dma_mask??=?0xffffffffUL??
  • ????}??
  • };??
  • ? ? 可以看出,它占用的資源s3c_lcd_resource,定義如下:
    [cpp]?view plaincopy
  • static?struct?resource?s3c_lcd_resource[]?=?{??
  • ????[0]?=?{??
  • ????????.start?=?S3C24XX_PA_LCD,??
  • ????????.end???=?S3C24XX_PA_LCD?+?S3C24XX_SZ_LCD?-?1,??
  • ????????.flags?=?IORESOURCE_MEM,??
  • ????},??
  • ????[1]?=?{??
  • ????????.start?=?IRQ_LCD,??
  • ????????.end???=?IRQ_LCD,??
  • ????????.flags?=?IORESOURCE_IRQ,??
  • ????}??
  • };??
  • ? ?這是一個數(shù)組,有兩個元素,說明lcd占用了系統(tǒng)兩個資源,一個資源類型是IORESOURCE_MEM代表io內(nèi)存,起使地址S3C24XX_PA_LCD,這個是LCDCON1寄存器的地址。另外一個資源是中斷信號線。
    四. platform設(shè)備驅(qū)動
    ? ?如果要將所寫的驅(qū)動程序注冊成platform驅(qū)動,那么所做的工作就是初始化一個platform_driver,然后調(diào)用platform_driver_register進行注冊。
    ? ?1. 基本數(shù)據(jù)機構(gòu)platform_driver
    [cpp]?view plaincopy
  • struct?platform_driver?{??
  • ????int?(*probe)(struct?platform_device?*);??
  • ????int?(*remove)(struct?platform_device?*);??
  • ????void?(*shutdown)(struct?platform_device?*);??
  • ????int?(*suspend)(struct?platform_device?*,?pm_message_t?state);??
  • ????int?(*resume)(struct?platform_device?*);??
  • ????struct?device_driver?driver;??
  • ????struct?platform_device_id?*id_table;??
  • };??
  • ? ? 這是platform驅(qū)動基本的數(shù)據(jù)結(jié)構(gòu),在驅(qū)動程序中我們要做的就是聲明一個這樣的結(jié)構(gòu)并初始化。下面是lcd驅(qū)動程序?qū)λ某跏蓟?#xff1a;
    [cpp]?view plaincopy
  • static?struct?platform_driver?s3c2412fb_driver?=?{??
  • ????.probe??????=?s3c2412fb_probe,??
  • ????.remove?????=?s3c2410fb_remove,??
  • ????.suspend????=?s3c2410fb_suspend,??
  • ????.resume?????=?s3c2410fb_resume,??
  • ????.driver?????=?{??
  • ????????.name???=?"s3c2412-lcd",??
  • ????????.owner??=?THIS_MODULE,??
  • ????},??
  • };??
  • ? ? 上面幾個函數(shù)是我們要實現(xiàn)的,它將賦值給device_driver中的相關(guān)成員,probe函數(shù)是用來查詢特定設(shè)備是夠真正存在的函數(shù)。當設(shè)備從系統(tǒng)刪除的時候調(diào)用remove函數(shù)。
    ? ?2. 注冊函數(shù)platform_driver_register
    [cpp]?view plaincopy
  • int?platform_driver_register(struct?platform_driver?*drv)??
  • {??
  • ????drv->driver.bus?=?&platform_bus_type;??
  • ????if?(drv->probe)??
  • ????????drv->driver.probe?=?platform_drv_probe;??
  • ????if?(drv->remove)??
  • ????????drv->driver.remove?=?platform_drv_remove;????
  • ????if?(drv->shutdown)??
  • ????????drv->driver.shutdown?=?platform_drv_shutdown;??
  • ????return?driver_register(&drv->driver);??
  • }??
  • ? ? 這個函數(shù)首先使驅(qū)動屬于platform_bus_type總線,將platform_driver結(jié)構(gòu)中的定義的probe,remove,shutdown賦值給device_driver結(jié)構(gòu)中的相應成員,以供linux設(shè)備模型核心調(diào)用,然后調(diào)用driver_regster將設(shè)備驅(qū)動注冊到linux設(shè)備模型核心中。
    五. 各環(huán)節(jié)的整合
    ? ? 前面提到mini2440板級初始化程序?qū)⑺械膒latform設(shè)備注冊到了linux設(shè)備模型核心中,在/sys/devices/platform目錄中都有相應的目錄表示。platform驅(qū)動則是由各個驅(qū)動程序模塊分別注冊到系統(tǒng)中的。但是他們是如何聯(lián)系起來的呢,這就跟linux設(shè)備模型核心有關(guān)系了。在ldd3中的linux設(shè)備模型的各環(huán)節(jié)的整合中有詳細的論述。這里簡要說明一下platform實現(xiàn)的方法。每當注冊一個platform驅(qū)動的時候就會調(diào)用driver_register,這個函數(shù)的調(diào)用會遍歷設(shè)備驅(qū)動所屬總線上的所有設(shè)備,并對每個設(shè)備調(diào)用總線的match函數(shù)。platform驅(qū)動是屬于platform_bus_type總線,所以調(diào)用platform_match函數(shù)。這個函數(shù)實現(xiàn)如下:
    [cpp]?view plaincopy
  • static?int?platform_match(struct?device?*dev,?struct?device_driver?*drv)??
  • {??
  • ????struct?platform_device?*pdev?=?to_platform_device(dev);??
  • ????struct?platform_driver?*pdrv?=?to_platform_driver(drv);??
  • ??
  • ????/*?match?against?the?id?table?first?*/??
  • ????if?(pdrv->id_table)??
  • ????????return?platform_match_id(pdrv->id_table,?pdev)?!=?NULL;??
  • ????/*?fall-back?to?driver?name?match?*/??
  • ????return?(strcmp(pdev->name,?drv->name)?==?0);??
  • }??
  • ? ? 這個函數(shù)將device結(jié)構(gòu)轉(zhuǎn)換為platform_devcie結(jié)構(gòu),將device_driver結(jié)構(gòu)轉(zhuǎn)換為platform_driver結(jié)構(gòu),并調(diào)用platform_match_id對設(shè)備與驅(qū)動相關(guān)信息進行比較。如果沒有比較成功會返回0,以便進行下一個設(shè)備的比較,如果比較成功就會返回1,并且將device結(jié)構(gòu)中的driver指針指向這個驅(qū)動。然后調(diào)用device_driver中的probe函數(shù),在lcd驅(qū)動中就是s3c2412fb_probe。這個函數(shù)是我們要編寫的函數(shù)。這個函數(shù)檢測驅(qū)動的狀態(tài),并且測試能否真正驅(qū)動設(shè)備,并且做一些初始化工作。

    總結(jié)

    以上是生活随笔為你收集整理的linux platform 驱动模型分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    久久国产精品系列 | 黄色福利网 | 国内精品福利视频 | 91九色porny蝌蚪视频 | 在线免费视频一区 | 在线观看深夜视频 | 婷婷婷国产在线视频 | 日韩精品一区二区三区三炮视频 | 国产视频2021| 亚洲精品18p | 国产一级视频 | 日韩手机在线观看 | 久久夜色精品国产欧美乱极品 | 日韩精品电影在线播放 | 成人av久久 | 美女久久视频 | 欧美精品在线观看一区 | 日韩两性视频 | 97色资源 | 99视频在线看 | 国产精品com | 免费涩涩网站 | 国产专区在线看 | www.国产在线| 狠狠躁日日躁狂躁夜夜躁 | 国产精品初高中精品久久 | 国产一区免费视频 | 91在线看视频免费 | 制服丝袜在线91 | 黄视频色网站 | 欧美尹人| 久久精品免视看 | 久久综合精品国产一区二区三区 | 在线精品一区二区 | 天天爽人人爽 | 免费a视频在线 | 99久久精品国产一区二区成人 | 五月婷婷综合在线视频 | 网站在线观看日韩 | 国内视频在线 | 成人免费共享视频 | 国精产品999国精产 久久久久 | 粉嫩一二三区 | 九九九热精品免费视频观看 | 麻豆视传媒官网免费观看 | 一级c片| 狠狠干五月天 | 国产一区二区三区视频在线 | 国产成人精品日本亚洲999 | 狠狠干中文字幕 | 日韩精品一区二区三区第95 | 久久久高清视频 | 超碰在线亚洲 | 最新国产精品亚洲 | 日韩欧美视频二区 | 久久综合精品一区 | 欧美最猛性xxxxx亚洲精品 | 在线观看精品视频 | 国产最新在线观看 | 婷婷视频导航 | 国产精品91一区 | 免费高清av在线看 | 亚洲.www| 天天做夜夜做 | 国产精品大尺度 | 又黄又色又爽 | 97人人超碰在线 | 精品不卡av | 久久婷婷一区二区三区 | 亚洲精品免费在线播放 | 一本大道久久精品懂色aⅴ 五月婷社区 | 欧美巨大荫蒂茸毛毛人妖 | 国产三级视频 | 特黄一级毛片 | 欧美性生交大片免网 | 久久免费视频8 | 又黄又刺激又爽的视频 | 在线观看一区二区精品 | 97超碰人人| 免费成人黄色 | 日韩专区视频 | 超碰av在线| 色com网 | 国产中文字幕免费 | 色偷偷网站视频 | 91香蕉视频720p | 一区二区视频播放 | 亚洲国产精品人久久电影 | 中文字幕在线成人 | 成人免费观看a | 天天做天天爱天天爽综合网 | 午夜久久久精品 | 夜夜爽www | 黄色软件网站在线观看 | 成人aⅴ视频| 色婷婷久久久 | 色综合久久综合网 | 久久久网站 | 亚洲区另类春色综合小说 | 99久久精品日本一区二区免费 | 免费一级片视频 | 精品伊人久久久 | 国产精品大片免费观看 | 国产精品久久久久久久久毛片 | 国产黄色精品视频 | 中文字幕一区二区三 | 欧美激情视频在线观看免费 | 久久久精品欧美一区二区免费 | 国产成人精品不卡 | 日本在线视频一区二区三区 | 免费a网| 欧美精品首页 | 干亚洲少妇 | 国产精品久久久久久久久岛 | 久久综合狠狠综合久久综合88 | 狠狠色丁香婷婷 | 精品中文字幕在线观看 | 九九爱免费视频在线观看 | 国产中文字幕网 | 国产精品18久久久久久久网站 | 天天射综合 | 精品成人网 | 毛片黄色一级 | 91入口在线观看 | 亚洲精品乱码久久久久久高潮 | 午夜国产福利视频 | 久热av在线 | 天天干视频在线 | 国产黄网站在线观看 | 亚洲精品乱码久久久一二三 | 国产无限资源在线观看 | 国产在线中文字幕 | 久久国产精品免费一区二区三区 | 日韩精品一区二区三区高清免费 | 四虎国产精品永久在线国在线 | 欧美网站黄色 | 激情五月婷婷激情 | 啪啪精品 | 欧美激情精品久久久久久变态 | 国产精品va在线观看入 | 最近中文字幕在线中文高清版 | 在线亚洲欧美日韩 | 99中文字幕 | 99av国产精品欲麻豆 | 国产精品视频免费在线观看 | 久久综合九色综合久久久精品综合 | 超碰在线观看av.com | 日日夜夜免费精品视频 | 视频 国产区 | 菠萝菠萝在线精品视频 | 国产精品一区二区三区在线看 | 九九在线国产视频 | 免费人成在线观看网站 | 久久国产精品色婷婷 | 五月激情天 | 亚洲精品裸体 | 成人高清在线 | 男女视频国产 | 黄色av在 | 四虎精品成人免费网站 | 香蕉久久久久久久 | 欧美日韩精品在线视频 | 国产九九九九九 | 欧美精品一区二区三区一线天视频 | 国产成人精品亚洲精品 | 2020天天干夜夜爽 | 欧美福利片在线观看 | a黄色片 | 色婷婷av国产精品 | 中文字幕av电影下载 | 欧美久久久久久久久久久久久 | 69av免费视频 | 国产日韩欧美视频在线观看 | 免费日韩电影 | 奇米影音四色 | 韩国一区二区三区在线观看 | 亚洲天堂在线观看完整版 | 久久久久婷 | 2024国产精品视频 | 日日操天天射 | 超碰大片 | 国产xxxx做受性欧美88 | 亚洲精品视频一二三 | 国产人成免费视频 | 色a网| 日韩精品一区在线观看 | 成人一区二区三区在线观看 | 成 人 黄 色视频免费播放 | 久久毛片视频 | 婷婷激情站 | 亚洲高清网站 | 在线观看精品国产 | 久久优| v片在线看 | 免费看三级黄色片 | 日韩欧美69 | 欧美日韩1区2区 | 国产精品乱码久久久久久1区2区 | 国产美女在线精品免费观看 | 九色视频网址 | 欧美日韩后 | 青青草华人在线视频 | 日韩一区二区三 | 国产一级片免费观看 | 特级黄录像视频 | 午夜精品一二区 | 国产在线观看你懂的 | 免费成人在线观看 | 五月天最新网址 | 91九色视频观看 | 草久在线观看视频 | 在线视频欧美精品 | 亚洲永久精品一区 | 在线观看日韩精品视频 | 成人久久亚洲 | 精品在线观看视频 | 国产在线观看免费av | 波多野结衣电影一区 | 一区二区三区电影在线播 | 99国内精品 | 色六月婷婷 | 日韩免费电影网 | 日韩大片在线看 | 丁香久久久 | 粉嫩av一区二区三区四区在线观看 | 黄色视屏av | 色偷偷中文字幕 | 久久久久免费精品视频 | 天天干,天天干 | 一区二区三区视频在线 | 在线观看亚洲视频 | 日韩av高潮 | 美女性爽视频国产免费app | 日韩av进入 | 91秒拍国产福利一区 | 亚洲欧美国产精品久久久久 | 人人模人人爽 | 黄色成人91 | 久久免费在线观看视频 | 国内精品久久影院 | 在线观看久草 | 久久综合精品一区 | 黄色av免费在线 | 国产高清视频在线免费观看 | 久草免费资源 | 人操人| 色干干| 99精品在线视频观看 | 国产精品自产拍在线观看中文 | 综合久久婷婷 | 91丨九色丨国产在线 | 久久五月婷婷丁香 | 久久久高清 | 国产精品a久久久久 | 国产在线免费 | 97超碰国产在线 | 中文字幕亚洲在线观看 | 国产中文字幕在线观看 | 天天操天天色天天射 | 亚洲精品国产精品国自产观看浪潮 | 精品一区二区在线观看 | 欧美午夜精品久久久久久孕妇 | 国产精品久久9 | 久久久久久久久久久久影院 | 99精品免费观看 | 狠狠色伊人亚洲综合网站色 | 成人激情开心网 | 久久久久国产精品免费网站 | 欧美黄在线| 亚洲伊人网在线观看 | 综合久久精品 | 视频直播国产精品 | 黄色小说视频网站 | 久久99久久99精品免观看粉嫩 | 高清不卡毛片 | 中文字幕在线观看亚洲 | 日韩专区一区二区 | 亚洲欧美国产精品 | 超碰资源在线 | 亚洲乱码一区 | 国产网红在线观看 | 国产精品久久久久久a | 国产精品久久久久久久久蜜臀 | 亚洲小视频在线观看 | 国产精品一区二区免费在线观看 | 特级a老妇做爰全过程 | 国产色视频一区二区三区qq号 | 国产精品免费一区二区三区在线观看 | 97视频入口免费观看 | 国产精品久久久久久久久久白浆 | 亚洲综合视频在线观看 | 亚洲国产三级在线观看 | 国产精品99久久久精品免费观看 | 久久成视频 | 国产精品手机在线 | 免费视频一级片 | 最近av在线| 最新日本中文字幕 | 国产精品福利午夜在线观看 | 欧美最猛性xxxxx免费 | 久草视频免费在线观看 | 国产黄大片| 免费91麻豆精品国产自产在线观看 | 色吊丝在线永久观看最新版本 | 在线天堂8√ | 99视频在线精品国自产拍免费观看 | 中日韩在线视频 | 日本韩国精品在线 | 2018亚洲男人天堂 | 国产精品99免费看 | 久久久久激情电影 | 免费在线观看av网址 | 精品久久在线 | 91在线一区二区 | 国产成人av免费在线观看 | 96精品高清视频在线观看软件特色 | 日韩免费观看一区二区三区 | 四虎www.| 久久综合导航 | 97超视频| 夜夜操狠狠操 | 五月婷婷黄色网 | 五月婷丁香 | 久草在线看片 | 狠狠色网 | 免费视频久久久 | 亚洲国产精品激情在线观看 | 香蕉在线视频观看 | 国产超碰在线 | 国产69久久精品成人看 | 天天干天天干天天色 | 亚洲精品久久久久中文字幕m男 | 精品久久久久久亚洲 | 国产精品久久久久久久久婷婷 | 最近免费中文视频 | 久久这里精品视频 | 99在线精品视频 | 久久99精品久久只有精品 | 在线观看免费一级片 | 精品国产乱码一区二 | 成人a视频在线观看 | 日韩理论片中文字幕 | 日韩久久久久久久久 | 中文字幕超清在线免费 | a级片久久久 | 国产黄大片在线观看 | 日日日爽爽爽 | 亚洲一区二区黄色 | 日韩中文幕| 国产一二三区在线观看 | 超碰在线色 | 96亚洲精品久久 | 天天干天天摸天天操 | 国产精品久久久久久久久久久久久久 | 日本三级国产 | 天堂在线一区二区 | 国产成人久久精品 | 国产片网站 | 中文字幕av最新 | 亚洲精品动漫在线 | 精品国产精品国产偷麻豆 | 国产在线a | 色婷婷狠 | 国产免费不卡av | 欧美一区二区三区在线观看 | 在线视频一区二区 | 韩日精品视频 | 日韩欧美视频一区 | 国产精品毛片久久蜜 | 97精品伊人 | 狠狠网站| 一级片色播影院 | 一区二区三区在线观看 | 亚洲理论影院 | 夜夜视频资源 | 久草香蕉在线视频 | 操操操夜夜操 | 在线电影日韩 | 国产成人在线免费观看 | 日日日干 | 国产成人99av超碰超爽 | www四虎影院| 四虎国产精 | 麻豆视频一区二区 | 日韩精品偷拍 | 午夜视频二区 | 久久这里只有精品视频首页 | 97精品久久| 日操干 | 丝袜网站在线观看 | 在线视频 影院 | 亚洲最新视频在线播放 | 午夜 久久 tv | 高清国产午夜精品久久久久久 | 久久精品视频在线观看 | 久久精品电影 | 欧美精品国产精品 | 又黄又色又爽 | 国产精品福利在线观看 | 五月宗合网 | 在线观看黄色av | 国产成人a亚洲精品v | 精品黄色在线 | 黄色性av | 国产免费看 | 成人国产精品久久久春色 | 国产高清视频在线免费观看 | 99久久99久久精品 | 国内外成人在线视频 | 久久九精品| 韩国av免费观看 | 免费在线观看毛片网站 | www.777奇米| 成人免费在线播放视频 | 中文字幕黄色 | 久草在线视频免赞 | 精品一区二区在线免费观看 | 国产一级电影在线 | 中文字幕在线电影 | 97在线看 | www.婷婷com| 操操操干干干 | 黄色网中文字幕 | 97国产电影 | 欧美黑人性爽 | 天天操天天操天天操天天操天天操 | 996久久国产精品线观看 | 久久夜av | www.人人草 | 成人国产精品久久久春色 | 99精品视频在线播放观看 | 国产成本人视频在线观看 | 美女黄频视频大全 | 成人免费在线播放视频 | 久久精品专区 | 成人国产精品一区 | 精品视频在线免费 | 色久天| 久久精品资源 | 在线观看www.| 久草在线最新视频 | 国产午夜亚洲精品 | 香蕉视频亚洲 | 国产一线二线三线在线观看 | 国产高清视频在线播放一区 | 免费午夜av | 久久婷婷五月综合色丁香 | 国产精品99久久久精品 | 亚洲精品五月天 | 久久精品网站视频 | 精品黄色在线 | 午夜影院一区 | 国产一级电影在线 | 色哟哟国产精品 | www.在线观看视频 | 九九热99视频 | 在线看国产视频 | 成人xxxx | 欧美成人精品欧美一级乱 | 91精品国产自产在线观看 | 综合网av | 91在线亚洲 | 日韩乱理 | 日本成人a| 日本一区二区免费在线观看 | 日韩毛片在线播放 | 91麻豆精品一区二区三区 | 中文字幕国产精品一区二区 | 午夜精品一区二区国产 | 中文字幕在线看片 | 久久中文字幕导航 | 日韩在线观看一区二区三区 | 国产精品九九久久99视频 | 国产精品电影一区 | 中文字幕91在线 | 国产精品美女久久久网av | 欧美日韩一区二区三区在线观看视频 | 欧美福利精品 | 久热免费 | 欧美激情精品久久久久久免费 | 亚洲视频免费在线观看 | av不卡网站| a级国产乱理伦片在线播放 久久久久国产精品一区 | 69av视频在线观看 | 97超级碰碰碰视频在线观看 | 99久久婷婷 | 欧美视频一区二 | 又黄又爽的视频在线观看网站 | 91在线观看视频网站 | 91在线91 | 亚洲另类久久 | 一区二区三区国产精品 | 久久性生活片 | a级国产乱理论片在线观看 特级毛片在线观看 | 一区中文字幕在线观看 | 99精品视频在线观看视频 | 国产一区二区播放 | 亚在线播放中文视频 | 中文字幕一区二 | 91精彩在线视频 | 精品欧美一区二区三区久久久 | 久久免费福利视频 | 欧美日韩中文国产 | 91精品在线免费观看视频 | 日日夜夜天天操 | 亚州成人av在线 | 国内精品久久久精品电影院 | 日日精品 | 超碰在线人人艹 | 五月婷婷欧美视频 | 国产亚洲成av人片在线观看桃 | 天天综合狠狠精品 | 91精品国产一区 | www色婷婷com | 久久日韩精品 | 五月激情在线 | 精品二区视频 | 色偷偷88欧美精品久久久 | 一区中文字幕 | 国产视频精品网 | 亚洲欧洲成人精品av97 | 国产精品成人免费精品自在线观看 | 天天射天天干天天插 | 色婷婷一区 | 天天摸天天操天天舔 | 男女视频91 | 天堂视频中文在线 | 国产精品专区在线 | 久久在线精品视频 | 日韩av三区 | 91av在线不卡 | 在线观看免费成人av | 欧洲性视频 | 成人午夜免费剧场 | 成人免费在线视频观看 | 欧美精品你懂的 | 91自拍视频在线观看 | 久久五月激情 | 午夜av不卡| 91人人澡人人爽 | 亚洲国产网址 | 国产99久久久国产精品成人免费 | 九九热免费视频在线观看 | 视频在线99re| 婷婷免费在线视频 | av三区在线 | 天天干天天操 | 911亚洲精品第一 | 天天操婷婷 | 四虎在线观看网址 | 在线观看视频97 | 亚洲一级黄色片 | 日韩二区三区在线 | 久久久这里有精品 | 国产精品成人久久久久久久 | 97成人精品视频在线观看 | 国产精品一区二区久久 | 亚洲视频1 | 色久天 | 中文字幕国产一区 | 国产精品男女视频 | 久久亚洲私人国产精品 | 久久精品国产亚洲精品 | 国产不卡av在线播放 | 国产91在线播放 | 91九色国产 | 久久精品伊人 | 黄色免费大全 | 日韩欧美精品在线观看 | 色婷五月| 日韩动态视频 | 97久久久免费福利网址 | www.eeuss影院av撸 | 免费观看一区二区 | a久久久久久 | 伊人五月综合 | 欧美一区二区三区免费观看 | 免费麻豆 | 日韩免费看视频 | 五月开心婷婷 | 成年人黄色免费视频 | 999成人网 | 五月综合激情 | 福利一区视频 | 成年人视频在线免费观看 | 久久成人一区 | 深爱五月激情五月 | 国产69熟 | 97久久精品午夜一区二区 | 久久99精品国产99久久 | 99久久久国产精品免费99 | 国产精品 日韩精品 | 欧美精品三级在线观看 | 国产一区二区三区免费在线 | 深夜国产在线 | 美女黄频在线观看 | 欧美色精品天天在线观看视频 | 色婷婷成人网 | 久久久五月婷婷 | 探花视频在线观看免费版 | 69xxxx欧美 | 欧美日韩免费一区 | 青青草在久久免费久久免费 | 91一区啪爱嗯打偷拍欧美 | 97视频免费在线看 | 超碰免费在线公开 | 美女免费网站 | 国内精品久久久久久久久久久久 | 66av99精品福利视频在线 | 日韩在线视 | 久久9视频| 成人资源在线观看 | 免费97视频| 九九久久国产精品 | 最近2019好看的中文字幕免费 | 欧美a影视 | 日韩高清观看 | www.亚洲激情.com| 91av色| 91在线视频免费观看 | 一区二区电影在线观看 | 久久久久久久99 | 欧美成年人在线观看 | 欧美一区二区精美视频 | 亚洲影视九九影院在线观看 | 国产人成在线观看 | 久久精品久久精品久久39 | 人人看人人草 | 91麻豆国产福利在线观看 | 91超级碰碰| 国产亚洲精品女人久久久久久 | 欧美日产一区 | 国产日本亚洲 | 懂色av懂色av粉嫩av分享吧 | 国产在线精品国自产拍影院 | a视频免费看 | 91激情小视频| 欧美日韩国产一区二区三区在线观看 | 96精品在线 | 欧美一级片免费播放 | 久久国产精品一区二区三区四区 | 国产成人福利片 | a√资源在线| 综合色中文 | 日本黄区免费视频观看 | 成 人 黄 色视频免费播放 | 亚洲欧美日韩一区二区三区在线观看 | 久久免费视频观看 | 精品毛片一区二区免费看 | 日韩视频在线不卡 | 免费在线一区二区三区 | 中文字幕在线观看视频一区二区三区 | 夜色资源站wwwcom | 成人a免费看 | 色婷婷福利视频 | 久久精品综合视频 | 99热精品久久| 波多野结衣日韩 | av天天澡天天爽天天av | 毛片网免费| 天天激情天天干 | 国产精品久久久久久久久久久久午夜 | 三级a视频 | 亚洲蜜桃在线 | 欧美极度另类性三渗透 | 91女人18片女毛片60分钟 | 日韩大片在线免费观看 | 成 人 黄 色 视频 免费观看 | 免费电影一区二区三区 | 一区二精品 | 国产精品资源 | 久久免费视频99 | 欧美日韩精品综合 | 亚洲va男人天堂 | 亚洲欧美成aⅴ人在线观看 四虎在线观看 | av中文天堂 | 不卡电影一区二区三区 | 国产成人精品亚洲日本在线观看 | 麻豆视频免费在线 | 91精品国自产在线观看欧美 | 免费看一及片 | 亚洲免费在线播放视频 | 午夜久久久久久久 | 综合天堂av久久久久久久 | 午夜视频一区二区三区 | 国产精品 999| 日韩av免费一区二区 | 欧美性高跟鞋xxxxhd | 91精品日韩 | 亚洲成人中文在线 | 美女黄网站视频免费 | 91在线精品视频 | 中文字幕丝袜一区二区 | 久久精品久久久久 | 一级黄色免费 | 在线国产黄色 | 激情视频一区 | 亚洲影音先锋 | 国产精品麻豆视频 | 日本久久精品视频 | 色综合天天综合网国产成人网 | 国产精品成人一区二区三区吃奶 | 亚洲精品午夜一区人人爽 | 日韩在线电影 | 欧美色噜噜噜 | 欧美 日韩 成人 | 久久久久久免费毛片精品 | 在线看免费 | 色多多污污在线观看 | 欧美日韩国产一区二区三区在线观看 | 国产一区自拍视频 | 国产高清中文字幕 | 久久久久久久久久久久久影院 | 精品国产1区二区 | 免费在线观看国产精品 | 色婷婷狠狠操 | 日韩亚洲在线观看 | 国产亚洲小视频 | 久久久噜噜噜久久久 | av日韩不卡 | 四虎永久免费 | 中文字幕在线观看91 | 日韩午夜网站 | 欧美日韩在线网站 | 国产又粗又硬又长又爽的视频 | 日韩视频免费观看高清完整版在线 | 一区 二区电影免费在线观看 | 亚洲一区二区高潮无套美女 | 黄色av网站在线观看免费 | 国产黄a三级三级 | 99久久精品电影 | 天天色天天艹 | 97精品国产97久久久久久久久久久久 | av大片免费看 | 日韩中文字幕一区 | 久久在线免费 | 最近中文字幕久久 | 丁香六月在线 | 在线视频 91 | 四虎国产免费 | av高清在线观看 | 人人爽人人 | av 在线观看 | 免费在线观看的av网站 | 99精品免费久久久久久日本 | 人人射av | 草久中文字幕 | 色综合天天做天天爱 | 亚洲精品小视频在线观看 | 青草视频在线免费 | 国产精品视频在线看 | 亚洲aⅴ久久精品 | 粉嫩av一区二区三区四区 | 亚洲.www| 网站在线观看日韩 | 亚洲欧洲xxxx | 免费观看福利视频 | 日韩在线国产精品 | 国产精品第三页 | 国产精品视频免费观看 | 亚洲第一中文字幕 | 不卡视频一区二区三区 | 成人免费视频观看 | 日本一区二区三区免费观看 | 91视频免费观看 | 婷婷色综 | 色婷婷激情五月 | 国产资源网站 | 国产一级片免费播放 | www.久久成人 | 国产高清视频免费观看 | 久久久久久久久久久久久影院 | 天天天干天天射天天天操 | 中日韩在线视频 | 欧美精品九九 | 精品久久综合 | 国产高清在线免费观看 | 国产麻豆精品一区 | 91色网址 | 在线超碰av | 日韩大片在线播放 | 亚洲中字幕| 91亚洲综合 | 欧美日韩免费在线观看视频 | 日韩中文字幕免费视频 | 亚洲第一中文网 | 丁香花在线观看免费完整版视频 | av免费高清观看 | 国产高清av免费在线观看 | 成人免费ⅴa | av免费在线观看网站 | 国产精品破处视频 | 久草a视频 | 深夜男人影院 | 国产精品一区二区三区99 | 日本激情视频中文字幕 | 日日爽| 亚洲无线视频 | 中文字幕在线免费看线人 | 久久国产精品二国产精品中国洋人 | 国产精品完整版 | 午夜黄网 | 日日久视频 | 激情婷婷亚洲 | 超碰人在线 | 日韩理论 | 亚洲欧美在线观看视频 | 中文av在线天堂 | 在线中文字幕电影 | 精品91在线 | 韩日av一区二区 | 亚洲女同videos | 国产一区免费视频 | 99热在线精品观看 | 欧美乱淫视频 | 久久大视频 | 国产麻豆精品传媒av国产下载 | 亚洲成aⅴ人片久久青草影院 | 黄色avwww| 亚洲成人中文在线 | 激情五月婷婷综合网 | 一级黄色片毛片 | 午夜色大片在线观看 | 国产高清中文字幕 | 97福利在线 | 日韩免费视频网站 | 国产xvideos免费视频播放 | 中文资源在线播放 | 天天色天天射天天干 | 手机看片国产日韩 | 不卡日韩av | 色免费在线| 91欧美日韩国产 | 91中文字幕在线视频 | 久久天天躁狠狠躁亚洲综合公司 | 中文字幕一区二区三区四区 | 片网站 | 久草免费手机视频 | 欧美日韩视频一区二区三区 | 久久99国产精品久久99 | 国产大尺度视频 | 色五月成人| 少妇bbw搡bbbb搡bbbb | 91国内在线视频 | 91看片淫黄大片一级在线观看 | 国产免费中文字幕 | 日日射av | 激情五月av | 天天干天天操天天 | 欧美一级免费高清 | 97超碰中文字幕 | 国产精品久久嫩一区二区免费 | 伊人久操 | 欧美日韩精品在线播放 | 国产高清中文字幕 | 亚洲高清精品在线 | 手机在线观看国产精品 | 美女视频久久久 | 天天操夜夜拍 | 免费三级在线 | 日日夜夜人人精品 | 美女视频永久黄网站免费观看国产 | 99久久精品一区二区成人 | 国产在线精品视频 | 色www精品视频在线观看 | 国产伦精品一区二区三区无广告 | 激情视频一区二区三区 | 久久国产综合视频 | 91超在线| 成全在线视频免费观看 | 成人亚洲欧美 | 日韩欧美v| av国产在线观看 | 91超国产| av丁香| 99c视频高清免费观看 | 久久9999久久免费精品国产 | 精品久久1| 国产亚洲片 | av3级在线 | 激情综合狠狠 | 色悠悠久久综合 | 麻豆久久久久 | 婷婷综合 | 五月婷婷影院 | 99热亚洲精品 | 国产精品成人一区二区三区 | 992tv成人免费看片 | 人人舔人人爱 | 中文在线天堂资源 | 色播激情五月 | 色姑娘综合网 | 色综合夜色一区 | 97在线观视频免费观看 | 亚洲一级电影在线观看 | 伊人天天色 | 超碰在线观看99 | 在线观看视频福利 | 天天操天天操天天操天天操天天操天天操 | 久久久久久久影视 | 中文字幕在线观看日本 | 久久精品高清 | 天天天综合 | 91av在线国产 | 在线精品亚洲一区二区 | 亚洲精品免费在线观看视频 | 久久久久久久久久久久久久av | 激情五月看片 | 国产一二三四在线视频 | 最新av网址在线观看 | 久久免费电影网 | 亚洲码国产日韩欧美高潮在线播放 | 久久一区国产 | 婷婷激情综合五月天 | 国产一级a毛片视频爆浆 | 午夜精品久久久久久久99婷婷 | 国产精品色婷婷 | 亚洲中字幕 | 中文一二区 | 国产成人一区在线 | 激情综合网五月 | 国产精品毛片久久久久久 | 二区中文字幕 | 国产视频第二页 | 国产手机在线精品 | 日韩高清一二三区 | 亚洲精品免费观看视频 | 精品久操 | 中文超碰字幕 | 精品久久国产 | 日日爱影视 | 欧美淫aaa免费观看 日韩激情免费视频 | 黄色的网站在线 | 国产高清视频免费最新在线 | 亚洲经典精品 | 国产精品国产亚洲精品看不卡 | 成人毛片a | 午夜三级毛片 | 国产精品日韩在线播放 | 亚洲欧洲在线视频 | 国产不卡一二三区 | 天天玩天天操天天射 | 操久在线 | av片在线观看| 亚洲成人欧美 | 国产主播大尺度精品福利免费 | 一区二区三区在线观看中文字幕 | 999视频网 | 一区中文字幕 | 久久久精品国产一区二区三区 | 久久公开视频 | 国产精品18久久久久久久久 | 亚洲精品午夜国产va久久成人 | 五月婷婷综合激情 | 精品久久久久久国产91 | 欧美日韩一级久久久久久免费看 | 日韩三区在线观看 | 96视频在线| 日韩在线视频不卡 | 国产一级免费视频 | 日韩欧美亚州 | 亚洲丝袜一区 | 中文字幕有码在线播放 | 日韩videos高潮hd | 日韩精品电影在线播放 | www.com.黄| 欧美日韩精品综合 | 人人澡人人澡人人 | 人人艹视频 | 婷婷丁香社区 | 波多野结衣在线观看视频 | 亚洲精品黄色片 | 精品国产一区二区三区男人吃奶 | 99视频这里只有 | 中文字幕av免费在线观看 | 免费看三级黄色片 | 欧美精品在线观看一区 | 久章草在线 | 精品女同一区二区三区在线观看 | 夜又临在线观看 | 亚洲国产免费 | 干狠狠 | 亚洲女欲精品久久久久久久18 | 欧美 日韩 成人 | 国产中文 | 国产手机在线精品 | 天天拍天天干 | 视频在线观看99 | 日本黄色免费大片 | 国产一级视屏 | 奇米先锋| 欧美有色| 日韩视频中文字幕 | 五月婷婷,六月丁香 | 久久精选视频 | 久艹视频在线免费观看 | a视频在线播放 | 国产精品色婷婷 |