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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux设备模型之kset/kobj/ktype分析

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

1. 概述

今天來聊一下Linux設(shè)備模型的基石:kset/kobject/ktype。


  • sysfs文件系統(tǒng)提供了一種用戶與內(nèi)核數(shù)據(jù)結(jié)構(gòu)進行交互的方式,可以通過mount -t sysfs sysfs /sys來進行掛載;

  • Linux設(shè)備模型中,設(shè)備、驅(qū)動、總線組織成拓撲結(jié)構(gòu),通過sysfs文件系統(tǒng)以目錄結(jié)構(gòu)進行展示與管理;

  • Linux設(shè)備模型中,總線負責(zé)設(shè)備和驅(qū)動的匹配,設(shè)備與驅(qū)動都掛在某一個總線上,當(dāng)它們進行注冊時由總線負責(zé)去完成匹配,進而回調(diào)驅(qū)動的probe函數(shù);

  • SoC系統(tǒng)中有spi, i2c, pci等實體總線用于外設(shè)的連接,而針對集成在SoC中的外設(shè)控制器,Linux內(nèi)核提供一種虛擬總線platform用于這些外設(shè)控制器的連接,此外platform總線也可用于沒有實體總線的外設(shè);

  • 在/sys目錄下,bus用于存放各類總線,其中總線中會存放掛載在該總線上的驅(qū)動和設(shè)備,比如serial8250,devices存放了系統(tǒng)中的設(shè)備信息,class是針對不同的設(shè)備進行分類;

上邊這些功能的實現(xiàn),離不開kobject/kset/ktype機制的支撐,開始旅程吧。

2. 數(shù)據(jù)結(jié)構(gòu)


2.1 kobject

  • kobject代表內(nèi)核對象,結(jié)構(gòu)體本身不單獨使用,而是嵌套在其他高層結(jié)構(gòu)中,用于組織成拓撲關(guān)系;

  • sysfs文件系統(tǒng)中一個目錄對應(yīng)一個kobject;

看看結(jié)構(gòu)體吧:

struct?kobject?{const?char??*name;??????????????????/*?名字,對應(yīng)sysfs下的一個目錄?*/struct?list_head?entry;???????????????/*?kobject中插入的?list_head結(jié)構(gòu),用于構(gòu)造雙向鏈表?*/struct?kobject??*parent;????????????/*?指向當(dāng)前kobject父對象的指針,體現(xiàn)在sys中就是包含當(dāng)前kobject對象的目錄對象?*/struct?kset??*kset;????????????????????/*?當(dāng)前kobject對象所屬的集合?*/struct?kobj_type?*ktype;????????????/*?當(dāng)前kobject對象的類型?*/struct?kernfs_node?*sd;??????????????/*?VFS文件系統(tǒng)的目錄項,是設(shè)備和文件之間的橋梁,sysfs中的符號鏈接是通過kernfs_node內(nèi)的聯(lián)合體實現(xiàn)的?*/struct?kref??kref;?????????????????????/*?kobject的引用計數(shù),當(dāng)計數(shù)為0時,回調(diào)之前注冊的release方法釋放該對象?*/ #ifdef?CONFIG_DEBUG_KOBJECT_RELEASEstruct?delayed_work?release; #endifunsigned?int?state_initialized:1;????????????????/*?初始化標(biāo)志位,初始化時被置位?*/unsigned?int?state_in_sysfs:1;??????????????????/*?kobject在sysfs中的狀態(tài),在目錄中創(chuàng)建則為1,否則為0?*/unsigned?int?state_add_uevent_sent:1;??????/*?添加設(shè)備的uevent事件是否發(fā)送標(biāo)志,添加設(shè)備時向用戶空間發(fā)送uevent事件,請求新增設(shè)備?*/unsigned?int?state_remove_uevent_sent:1;??/*?刪除設(shè)備的uevent事件是否發(fā)送標(biāo)志,刪除設(shè)備時向用戶空間發(fā)送uevent事件,請求卸載設(shè)備?*/unsigned?int?uevent_suppress:1;??????????????/*?是否忽略上報(不上報uevent)?*/ };

2.2 kset

  • kset是包含多個kobject的集合;

  • 如果需要在sysfs的目錄中包含多個子目錄,那需要將它定義成一個kset;

  • kset結(jié)構(gòu)體中包含struct kobject字段,可以使用該字段鏈接到更上一層的結(jié)構(gòu),用于構(gòu)建更復(fù)雜的拓撲結(jié)構(gòu);

  • sysfs中的設(shè)備組織結(jié)構(gòu)很大程度上根據(jù)kset組織的,/sys/bus目錄就是一個kset對象,在Linux設(shè)備模型中,注冊設(shè)備或驅(qū)動時就將kobject添加到對應(yīng)的kset中;

struct?kset?{struct?list_head?list;????????/*?包含在kset內(nèi)的所有kobject構(gòu)成一個雙向鏈表?*/spinlock_t?list_lock;struct?kobject?kobj;???????/*?歸屬于該kset的所有的kobject的共有parent?*/const?struct?kset_uevent_ops?*uevent_ops;????/*?kset的uevent操作函數(shù)集,當(dāng)kset中的kobject有狀態(tài)變化時,會回調(diào)這個函數(shù)集,以便kset添加新的環(huán)境變量或過濾某些uevent,如果一個kobject不屬于任何kset時,是不允許發(fā)送uevent的?*/ }?__randomize_layout;

2.3 ktype

  • kobj_type用于表征kobject的類型,指定了刪除kobject時要調(diào)用的函數(shù),kobject結(jié)構(gòu)體中有struct kref字段用于對kobject進行引用計數(shù),當(dāng)計數(shù)值為0時,就會調(diào)用kobj_type中的release函數(shù)對kobject進行釋放,這個就有點類似于C++中的智能指針了;

  • kobj_type指定了通過sysfs顯示或修改有關(guān)kobject的信息時要處理的操作,實際是調(diào)用show/store函數(shù);

struct?kobj_type?{void?(*release)(struct?kobject?*kobj);?????/*?釋放kobject對象的接口,有點類似面向?qū)ο笾械奈鰳?gòu)?*/const?struct?sysfs_ops?*sysfs_ops;????????/*?操作kobject的方法集?*/struct?attribute?**default_attrs;const?struct?kobj_ns_type_operations?*(*child_ns_type)(struct?kobject?*kobj);const?void?*(*namespace)(struct?kobject?*kobj); };struct?sysfs_ops?{??????/*?kobject操作函數(shù)集?*/ssize_t?(*show)(struct?kobject?*,?struct?attribute?*,?char?*);ssize_t?(*store)(struct?kobject?*,?struct?attribute?*,?const?char?*,?size_t); };/*?所謂的attribute就是內(nèi)核空間和用戶空間進行信息交互的一種方法,例如某個driver定義了一個變量,卻希望用戶空間程序可以修改該變量,以控制driver的行為,那么可以將該變量以sysfs?attribute的形式開放出來?*/ struct?attribute?{const?char??*name;umode_t???mode; #ifdef?CONFIG_DEBUG_LOCK_ALLOCbool???ignore_lockdep:1;struct?lock_class_key?*key;struct?lock_class_key?skey; #endif };

可以看一下kobject創(chuàng)建的時候,與ktype的關(guān)系,這樣理解起來更順:


  • kobject在創(chuàng)建的時候,默認設(shè)置kobj_type的值為dynamic_kobj_ktype,通常kobject會嵌入在其他結(jié)構(gòu)中來使用,因此它的初始化跟特定的結(jié)構(gòu)相關(guān),典型的比如struct device和struct device_driver;

  • 在/sys文件系統(tǒng)中,通過echo/cat的操作,最終會調(diào)用到show/store函數(shù),而這兩個函數(shù)的具體實現(xiàn)可以放置到驅(qū)動程序中;

2.4 結(jié)構(gòu)關(guān)系

為了更形象的說明這幾個結(jié)構(gòu)體的關(guān)系,再來一張圖:


  • kset既是kobject的集合,本身又是一個kobject,進而可以添加到其他的集合中,從而就可以構(gòu)建成復(fù)雜的拓撲結(jié)構(gòu),滿足/sys文件夾下的文件組織需求;

如果只看kset/kobject的數(shù)據(jù)結(jié)構(gòu)組織,可能還是會迷惑,它怎么跟Linux的設(shè)備模型相關(guān)?這時就不得不提到Linux內(nèi)核中一個很精妙的存在container_of,它可以通過成員變量的地址來獲取所在結(jié)構(gòu)的地址信息。前文提到過kobject/kset結(jié)構(gòu)本身不會單獨使用,通常都是會嵌套在其他結(jié)構(gòu)中,既然kobjcet/kset能組織成拓撲結(jié)構(gòu),那么包含它們的結(jié)構(gòu)同樣可以構(gòu)建這個關(guān)系,因為可以通過container_of就可以找到結(jié)構(gòu)體的首地址。


  • 結(jié)構(gòu)體A、B、C、D、E同樣可以構(gòu)建拓撲結(jié)構(gòu)關(guān)系;

  • struct device和struct device_driver結(jié)構(gòu)體中都包含了struct kobject,而struct bus_type結(jié)構(gòu)體中包含了struct kset結(jié)構(gòu),這個也就對應(yīng)到前文提到的設(shè)備和驅(qū)動都添加到總線上,由總線來負責(zé)匹配;

3. 流程分析

kobject/kset的相關(guān)代碼比較簡單,畢竟它只是作為一個結(jié)構(gòu)體嵌入其他high-level的結(jié)構(gòu)中,充當(dāng)紐帶的作用。不過,我還是簡單的上一張圖吧:


  • 完成的工作基本就是分配結(jié)構(gòu)體,初始化各個結(jié)構(gòu)體字段,構(gòu)建拓撲關(guān)系(主要是添加到kset的list中,parent的指向等)等,看懂了結(jié)構(gòu)體的組織,這部分的代碼理解起來就很輕松了;

4. 示例

先上一個原理圖:


4.1 代碼

#include?<linux/kernel.h> #include?<linux/module.h> #include?<linux/slab.h> #include?<linux/kobject.h>//自定義一個結(jié)構(gòu),包含了struct?kobject子結(jié)構(gòu) struct?test_kobj?{int?value;struct?kobject?kobj; };//自定義個屬性結(jié)構(gòu)體,包含了struct?attribute結(jié)構(gòu) struct?test_kobj_attribute?{struct?attribute?attr;ssize_t?(*show)(struct?test_kobj?*obj,?struct?test_kobj_attribute?*attr,?char?*buf);ssize_t?(*store)(struct?test_kobj?*obj,?struct?test_kobj_attribute?*attr,?const?char?*buf,?size_t?count); };//聲明一個全局結(jié)構(gòu)用于測試 struct?test_kobj?*obj;//用于初始化sysfs_ops中的函數(shù)指針 static?ssize_t?test_kobj_attr_show(struct?kobject?*kobj,?struct?attribute?*attr,?char?*buf) {struct?test_kobj_attribute?*test_kobj_attr;ssize_t?ret?=?-EIO;test_kobj_attr?=?container_of(attr,?struct?test_kobj_attribute,?attr);//回調(diào)到具體的實現(xiàn)函數(shù)if?(test_kobj_attr->show)ret?=?test_kobj_attr->show(container_of(kobj,?struct?test_kobj,?kobj),?test_kobj_attr,?buf);return?ret; }//用于初始化sysfs_ops中的函數(shù)指針 static?ssize_t?test_kobj_attr_store(struct?kobject?*kobj,?struct?attribute?*attr,?const?char?*buf,?size_t?count) {struct?test_kobj_attribute?*test_kobj_attr;ssize_t?ret?=?-EIO;test_kobj_attr?=?container_of(attr,?struct?test_kobj_attribute,?attr);//回調(diào)到具體的實現(xiàn)函數(shù)if?(test_kobj_attr->store)ret?=?test_kobj_attr->store(container_of(kobj,?struct?test_kobj,?kobj),?test_kobj_attr,?buf,?count);return?ret; }//用于初始化kobj_ktype const?struct?sysfs_ops?test_kobj_sysfs_ops?=?{.show?=?test_kobj_attr_show,.store?=?test_kobj_attr_store, };//用于初始化kobj_ktype,最終用于釋放kobject void?obj_release(struct?kobject?*kobj) {struct?test_kobj?*obj?=?container_of(kobj,?struct?test_kobj,?kobj);printk(KERN_INFO?"test?kobject?release?%s\n",?kobject_name(&obj->kobj));kfree(obj); }//定義kobj_ktype,用于指定kobject的類型,初始化的時候使用 static?struct?kobj_type?test_kobj_ktype?=?{.release?=?obj_release,.sysfs_ops?=?&test_kobj_sysfs_ops, };//show函數(shù)的具體實現(xiàn) ssize_t?name_show(struct?test_kobj?*obj,?struct?test_kobj_attribute?*attr,?char?*buffer) {return?sprintf(buffer,?"%s\n",?kobject_name(&obj->kobj)); }//show函數(shù)的具體實現(xiàn) ssize_t?value_show(struct?test_kobj?*obj,?struct?test_kobj_attribute?*attr,?char?*buffer) {return?sprintf(buffer,?"%d\n",?obj->value); }//store函數(shù)的具體實現(xiàn) ssize_t?value_store(struct?test_kobj?*obj,?struct?test_kobj_attribute?*attr,?const?char?*buffer,?size_t?size) {sscanf(buffer,?"%d",?&obj->value);return?size; }//定義屬性,最終注冊進sysfs系統(tǒng) struct?test_kobj_attribute?name_attribute?=?__ATTR(name,?0664,?name_show,?NULL); struct?test_kobj_attribute?value_attribute?=?__ATTR(value,?0664,?value_show,?value_store); struct?attribute?*test_kobj_attrs[]?=?{&name_attribute.attr,&value_attribute.attr,NULL, };//定義組 struct?attribute_group?test_kobj_group?=?{.name?=?"test_kobj_group",.attrs?=?test_kobj_attrs, };//模塊初始化函數(shù) static?int?__init?test_kobj_init(void) {int?retval;printk(KERN_INFO?"test_kobj_init\n");obj?=?kmalloc(sizeof(struct?test_kobj),?GFP_KERNEL);if?(!obj)?{return?-ENOMEM;}obj->value?=?1;memset(&obj->kobj,?0,?sizeof(struct?kobject));//添加進sysfs系統(tǒng)kobject_init_and_add(&obj->kobj,?&test_kobj_ktype,?NULL,?"test_kobj");//在sys文件夾下創(chuàng)建文件retval?=?sysfs_create_files(&obj->kobj,?(const?struct?attribute?**)test_kobj_attrs);if?(retval)?{kobject_put(&obj->kobj);return?retval;}//在sys文件夾下創(chuàng)建groupretval?=?sysfs_create_group(&obj->kobj,?&test_kobj_group);if?(retval)?{kobject_put(&obj->kobj);return?retval;}return?0; }//模塊清理函數(shù) static?void?__exit?test_kobj_exit(void) {printk(KERN_INFO?"test_kobj_exit\n");kobject_del(&obj->kobj);kobject_put(&obj->kobj);return; }module_init(test_kobj_init); module_exit(test_kobj_exit);MODULE_AUTHOR("LoyenWang"); MODULE_LICENSE("GPL");

4.2 Makefile

ifneq??($(KERNELRELEASE),) obj-m:=test_kobject.o else KERDIR?:=?/lib/modules/$(shell?uname?-r)/build PWD:=$(shell?pwd) all:make?-C?$(KERDIR)?M=$(PWD)?modules clean:rm?-f?*.ko?*.o?*.symvers?*.cmd?*.cmd.o?modules.*?*.mod.c endif
  • Makefile沒有太多好說的,注意Tab的使用,否則容易出錯;

4.3 測試結(jié)果


  • 在/sys目錄下創(chuàng)建了test_kobj文件夾,在該文件夾下除了name和value外,還有一個test_kobj_group的子文件夾;

  • 可以通過cat/echo的操作,來操作name和value,分別會調(diào)用到底層的xxx_show和xxx_store函數(shù);

  • 對著代碼看這個圖,一目了然;

草草收場,洗洗睡了。

如果覺得對你有幫助,那就點個在看吧。

參考

https://lwn.net/Articles/263200/

推薦閱讀:

? ??專輯|Linux文章匯總

? ??專輯|程序人生

? ??專輯|C語言

嵌入式Linux

微信掃描二維碼,關(guān)注我的公眾號?

總結(jié)

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

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

97视频中文字幕 | 国产精品视频免费 | 五月天六月丁香 | 色综合夜色一区 | 成人h视频在线播放 | 国产精品久久久久久爽爽爽 | 中文字幕乱偷在线 | 亚洲电影院| 麻豆国产视频下载 | 久久日本视频 | 久久一二三四 | 日韩一区二区三 | 久久久国产一区 | 91丨porny丨九色 | 在线观看国产成人av片 | 五月婷香蕉久色在线看 | а天堂中文最新一区二区三区 | 亚洲视频大全 | 亚洲专区视频在线观看 | 免费国产在线精品 | 国内小视频在线观看 | 91成人在线网站 | 欧美一区二区三区在线播放 | 成人a视频| 日韩理论电影在线观看 | 久久久www成人免费精品张筱雨 | 国产精品成人a免费观看 | 九九热在线视频免费观看 | 日本在线视频一区二区三区 | 国产在线小视频 | 在线观看日韩视频 | 久久久久免费看 | 九色琪琪久久综合网天天 | 免费a v视频 | 国产伦精品一区二区三区无广告 | 久草色在线观看 | 五月激情片 | 五月婷婷激情综合 | 999久久久久久久久久久 | 一区在线观看 | 久热免费在线观看 | 国产精品久久久久婷婷二区次 | 欧美日韩在线观看一区二区 | 乱男乱女www7788 | 麻豆影视在线播放 | 精品久久一级片 | 色香蕉在线视频 | 91大神免费视频 | 4p变态网欧美系列 | 最近最新mv字幕免费观看 | 久久久久亚洲精品国产 | 亚洲电影一区二区 | 在线观看国产 | 天天草天天摸 | 久久久久亚洲精品中文字幕 | 香蕉视频在线播放 | 天天躁日日躁狠狠躁av中文 | 一区二区三区免费看 | 玖玖精品在线 | 五月婷婷六月丁香 | 麻豆久久一区 | 亚洲成av人片在线观看www | 四虎免费在线观看视频 | 国内揄拍国产精品 | 久久亚洲免费 | 草免费视频 | 精品国产一区二区三区av性色 | 色综合综合 | www色网站 | 日韩精品最新在线观看 | 国产在线看一区 | 99视频国产精品免费观看 | 久久99亚洲精品 | 97在线播放视频 | 欧美日韩精品久久久 | se婷婷 | 在线观看av网站 | 99久久久国产精品免费99 | 日韩综合色 | 精品久久美女 | 久久免费视频网站 | av免费看在线 | 国产成人福利在线观看 | 国产麻豆视频 | 在线天堂中文www视软件 | 麻豆国产精品永久免费视频 | 久久96国产精品久久99漫画 | 久草精品视频在线观看 | 久久久久久久毛片 | 国产精品免费在线播放 | 96亚洲精品久久久蜜桃 | 日韩欧美一区二区三区视频 | 91视频链接 | 久久久久久久免费 | 精品国内 | 久久深夜福利免费观看 | 日本mv大片欧洲mv大片 | 精品国产一区二区三区免费 | 亚洲激情在线视频 | 一区二区三区四区精品视频 | 国产精品九九视频 | 精品久久久久一区二区国产 | 91黄色视屏 | 色com| 国产99久久久欧美黑人 | 最新av在线网站 | 国产精品专区一 | 亚洲综合在| 在线99| 精品电影一区 | 欧美激情视频一区二区三区 | 精品国产人成亚洲区 | 五月婷婷综合激情 | 久久久久免费网 | 精品在线播放 | 日韩精品一区二区三区水蜜桃 | 99精品视频一区二区 | 人人狠狠综合久久亚洲婷 | 免费男女羞羞的视频网站中文字幕 | av片子在线观看 | 国产九九九九九 | 四虎国产精 | 日日干夜夜骑 | 人人澡人人舔 | 国产日韩欧美在线影视 | 91理论电影| 欧美精品久久 | 免费看毛片在线 | 亚洲成人二区 | 国产日韩精品一区二区在线观看播放 | 97超碰人人在线 | se婷婷 | 91亚洲影院 | 色中色综合 | 99成人免费视频 | 国产不卡精品视频 | 成人免费视频播放 | 91在线视频免费91 | 国产中文字幕在线 | 久久躁日日躁aaaaxxxx | 五月天久久综合网 | 欧美日韩中文在线观看 | 五月天丁香综合 | 国产精品久久久久久久久久妇女 | 久久国产一区二区三区 | 日韩高清国产精品 | 日本在线观看黄色 | 亚洲自拍偷拍色图 | 在线天堂中文在线资源网 | 欧美成人在线免费观看 | 国产高清视频色在线www | 99久久999久久久精玫瑰 | 色播激情五月 | 91亚洲激情 | 亚洲精品免费观看视频 | a在线一区 | 4438全国亚洲精品在线观看视频 | 成人午夜精品久久久久久久3d | 久久综合九色99 | 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 一区二区三区在线播放 | 久久免费a | 亚洲国产精品日韩 | 中文字幕亚洲国产 | 不卡的av在线播放 | 亚洲h在线播放在线观看h | 久久精品日本啪啪涩涩 | 干干干操操操 | 国产精品第52页 | 成人av一区二区三区 | 国产一区欧美日韩 | 91亚洲成人| 最近高清中文在线字幕在线观看 | www亚洲精品 | 狠狠色狠狠色综合日日小说 | 一区二区三区手机在线观看 | 精品国产乱码久久久久久天美 | 在线免费看片 | 成人黄色大片在线免费观看 | 激情久久一区二区三区 | 91av视频网站 | 国产麻豆精品一区二区 | 日本黄色免费网站 | 免费精品在线 | 国产精品久久在线观看 | 综合久久网站 | 99热这里只有精品久久 | 亚洲视频999 | 日韩在线视频播放 | 91大神免费视频 | 国产99在线免费 | 五月婷婷综合久久 | 99精品国产99久久久久久97 | 成人免费观看电影 | bbbb操bbbb| 久久久久99精品成人片三人毛片 | 日韩精品最新在线观看 | 欧美性大战久久久久 | 免费在线观看日韩视频 | 91最新国产 | 久久在线一区 | www.黄色片网站 | 美女视频免费精品 | 国产a免费 | av在线电影网站 | 人人爽人人爽av | 国产在线更新 | 天天操福利视频 | 久久久五月天 | 日韩高清不卡在线 | 久久草在线视频国产 | 久久五月激情 | 国产成人免费高清 | 久久精品中文字幕免费mv | 日本精品一区二区三区在线观看 | 人人插人人舔 | 亚洲成人av电影 | 91成人在线观看喷潮 | 午夜国产福利在线 | 精品欧美乱码久久久久久 | 日韩精品黄 | 国产在线一区观看 | 国产成人在线精品 | 日韩精品中文字幕在线 | www视频在线观看 | 亚洲欧美国产视频 | 国产99久久久国产精品成人免费 | 韩国精品视频在线观看 | 毛片a级片 | 国产三级在线播放 | 国产 在线观看 | 91亚洲在线 | 特级黄色视频毛片 | 全黄网站| 欧美成人在线网站 | 久久视频在线免费观看 | 天天射天天干天天爽 | 国产精品一区二区三区在线播放 | 特级黄色一级 | 精品久久久久久久久久久久久 | 一区二区三区中文字幕在线 | 国产网站色 | 91成人免费看片 | 九九热视频在线播放 | 久久久久免费精品国产小说色大师 | 欧美福利精品 | 久久草 | 9999毛片| 激情五月开心 | 少妇激情久久 | 天天插天天狠天天透 | 国产精品手机播放 | av网址最新 | 麻豆精品在线视频 | 日韩精品一区二区在线观看视频 | h视频日本| 午夜久久久久久久久 | 国产精品久久久久久久久久 | 欧美一区二区免费在线观看 | 日本少妇高清做爰视频 | 丁香五月缴情综合网 | 九九免费在线观看视频 | 国产精品一区二区果冻传媒 | 69精品在线| 久久综合五月 | 免费高清在线视频一区· | 久久久精品免费看 | 久久看片网| 99热官网| 婷婷综合成人 | 国产日韩精品一区二区三区 | 久久国产精品99精国产 | 91一区啪爱嗯打偷拍欧美 | 色网站黄 | 天天av资源 | 91在线免费观看国产 | 日韩在线观看一区 | 永久免费的av电影 | 日韩二区精品 | 久久a久久 | 免费亚洲视频在线观看 | 天堂av在线网址 | 天天摸天天舔 | 97香蕉视频 | 欧美一级视频免费看 | 国产成人三级在线观看 | 久久av免费观看 | 国产一级在线观看 | a v在线观看 | 久久综合给合久久狠狠色 | 天天射网站 | 国产精品精品久久久 | 久久久伊人网 | 天天av在线播放 | 久久人人爽爽人人爽人人片av | 99热9| 66av99精品福利视频在线 | 亚洲九九精品 | 大片网站久久 | 欧美一二三四在线 | 91豆麻精品91久久久久久 | 久草热久草视频 | 午夜久久精品 | 久久免费看av | 99婷婷狠狠成为人免费视频 | 九色免费视频 | 黄色软件大全网站 | 99精品视频在线观看视频 | 国产一二三四在线视频 | 国产1区2| 97国产一区 | 亚洲精品久久久久www | 手机在线看a | 日韩一区二区免费播放 | 免费看的黄色录像 | 在线观看视频免费播放 | 亚洲精品免费观看视频 | 亚洲a资源 | 6080yy午夜一二三区久久 | 日韩网页| 丁香激情网 | 日韩免费电影网站 | 午夜三级理论 | 日韩免费在线 | 天天综合网 天天 | 麻豆手机在线 | 日韩动态视频 | 国产精品一区二区美女视频免费看 | 亚洲欧洲一级 | 九热精品 | 中午字幕在线 | 国产精品麻豆99久久久久久 | 麻豆激情电影 | 国产日韩精品在线观看 | 91在线一区| 超级碰碰免费视频 | 96超碰在线| 日本公妇色中文字幕 | 日日日日 | 国产高清在线观看 | 高清不卡一区二区三区 | av黄色在线播放 | 亚洲在线激情 | 成年人视频在线免费 | 天堂在线成人 | www.久久视频 | 在线免费高清一区二区三区 | 丁香婷婷激情 | 亚洲精品小视频在线观看 | 99国产情侣在线播放 | 亚洲国产中文字幕在线 | 美女黄频视频大全 | 亚洲人成人99网站 | 丁香婷婷久久 | 91视频91色 | 黄色国产精品 | 国产a高清 | 亚洲另类在线视频 | 久久国产精品免费视频 | 婷婷色中文| 天天躁天天狠天天透 | 日本精品一区二区三区在线播放视频 | 亚洲国产av精品毛片鲁大师 | 中文字幕一区二区三区在线播放 | 在线日韩av | 91av超碰| 天天射天天搞 | 日本不卡一区二区三区在线观看 | 在线观看 亚洲 | 中日韩欧美精彩视频 | 99综合久久 | 免费亚洲精品视频 | 最近中文字幕完整高清 | 高清av网 | 国产精品激情偷乱一区二区∴ | 夜夜视频欧洲 | 99一级片 | 亚洲精品视频免费在线观看 | 天堂av高清 | 国产精品久久久久久久久久不蜜月 | 99综合久久 | 久久综合丁香 | 成人小视频在线观看免费 | 在线观看亚洲专区 | 亚洲视频久久久久 | 色a网| 亚洲美女视频网 | 亚洲一级黄色大片 | 成人动图 | 日本精品一区二区在线观看 | 国产精品刺激对白麻豆99 | 欧美另类xxx | 久久久999 | 91九色最新| 丁香婷婷射 | 国产精品久久久久毛片大屁完整版 | 天天av资源| 国产精品综合久久久久久 | 亚洲 欧美 变态 国产 另类 | 婷婷六月天在线 | 在线观看一区二区精品 | 手机av在线网站 | 7777精品伊人久久久大香线蕉 | 久久九九影视 | 成年人免费电影在线观看 | 三级av在线播放 | 美女网站一区 | 特级a老妇做爰全过程 | 免费激情在线电影 | 成年人免费观看在线视频 | av中文字幕第一页 | 欧美成人基地 | 国产精国产精品 | 国产亚洲久一区二区 | 精品一二三四五区 | 亚洲成 人精品 | 国内精品久久久久久久久 | 日本在线观看中文字幕 | 国产亚洲精品久久久久久电影 | 色网站在线看 | 亚洲国产精彩中文乱码av | 久久久免费看 | 国产精品爽爽久久久久久蜜臀 | 亚洲男男gaygay无套同网址 | 国产精品久久久久久久毛片 | 黄色app网站在线观看 | 日韩亚洲在线观看 | 18网站在线观看 | 精品亚洲二区 | 国产精品久久视频 | 日韩精品一区二区三区丰满 | 国内精品久久久久影院日本资源 | avlulu久久精品| 91香蕉视频好色先生 | 国产午夜一级毛片 | 精品国产一区二区三区久久久 | a天堂免费 | 国产激情电影综合在线看 | 免费观看成人网 | 久久国产精品精品国产色婷婷 | 97超碰精品 | 友田真希x88av | 亚洲精品视频网址 | 日韩av不卡在线播放 | 午夜精品久久久99热福利 | 国产一区二区高清视频 | 91视频最新网址 | 久久久久久久网 | 99久久久国产精品免费99 | 免费亚洲精品 | 中文字幕成人在线观看 | 精品欧美小视频在线观看 | 日日操夜夜操狠狠操 | 国产在线999| 天天干天天操天天做 | 最新国产福利 | 国产欧美精品一区二区三区 | 国产视频在线免费观看 | 午夜在线日韩 | 天天天干天天射天天天操 | 久久久一本精品99久久精品66 | 视频直播国产精品 | 亚洲最新av在线网站 | 一级黄色片在线观看 | 欧美成人精品欧美一级乱 | 国产精品久久久久久久久毛片 | 日韩av偷拍 | 超碰个人在线 | 中文字幕一区二区三区四区在线视频 | 99热国内精品 | 精品国产人成亚洲区 | 中文字幕在线观看资源 | 国产不卡在线观看视频 | 国产精品私拍 | 久久久免费播放 | 天天爽夜夜操 | 日韩理论电影在线 | 午夜成人免费影院 | 91私密保健| 色综合久久99 | 在线韩国电影免费观影完整版 | 久久国产热视频 | 最近中文字幕国语免费av | 亚洲精品一区二区精华 | 色综合久久88色综合天天人守婷 | 成年人在线播放视频 | 免费看三级网站 | 天天操天天拍 | 国产精品综合久久久 | 国产精品免费久久久 | 美女网站视频一区 | 超级碰99 | 天天色成人网 | 亚洲成a人片77777kkkk1在线观看 | 麻豆免费视频观看 | 97国产精品亚洲精品 | 韩日精品在线 | 视色网站 | 天天操天天舔天天干 | 麻豆久久久久久久 | 成人av片免费看 | 在线欧美小视频 | 久久躁日日躁aaaaxxxx | 激情影音先锋 | 久久国精品| 在线观看免费av网 | 欧美极品xxx| 国产网站在线免费观看 | 97超碰精品| 久操视频在线观看 | 69国产精品视频 | 欧美激情va永久在线播放 | 亚洲精品久久在线 | 国产欧美精品一区二区三区 | 国产高清在线观看 | 日日干日日 | 少妇av网 | 中文字幕在线网 | 成年人视频在线免费播放 | 97视频在线观看免费 | 国产精品99久久久久人中文网介绍 | 国产黄色精品视频 | 久久精品国产亚洲aⅴ | 在线精品视频免费播放 | 亚洲最新毛片 | 91av电影在线观看 | 亚洲综合色丁香婷婷六月图片 | 日韩在线免费高清视频 | 香蕉91视频 | 中文字幕在线高清 | 色综合久久久久久久久五月 | 国产伦精品一区二区三区免费 | 国内精品久久久久久久久 | 久久午夜电影 | 国产精品嫩草影院99网站 | 国产精品 日韩精品 | 99中文在线 | 久久精品999 | 日本中文在线 | 日韩精品中文字幕在线不卡尤物 | 伊人网综合在线观看 | 手机在线欧美 | 日日干综合 | 国产麻豆精品在线观看 | 久要激情网 | 狠狠色噜噜狠狠狠狠 | 久久99精品久久久久久久久久久久 | 91精品欧美 | 五月天亚洲婷婷 | 亚洲天堂网在线视频 | 国产精品自产拍在线观看蜜 | 成年人天堂com | 日韩在线视频精品 | 日韩性片 | 久久综合五月婷婷 | av黄色在线播放 | 69精品在线 | 99视频网站| 久久久久人人 | 天天干天天怕 | 欧美一级久久久 | 国产精品精品国产色婷婷 | 国产美女久久久 | 久久伊人操 | 在线观看91精品视频 | 国产精品一区二区三区在线播放 | 久久8精品| 热久久最新地址 | 国产精品一区二区久久国产 | 久久www免费人成看片高清 | 91成人网在线播放 | 狠狠五月天 | 国产淫片| 亚洲成人av在线 | 欧美成人h版 | 成人午夜毛片 | 一本一道久久a久久综合蜜桃 | 久久tv| 亚洲精品av中文字幕在线在线 | 人人澡人人添人人爽一区二区 | 久热av在线 | 天天色棕合合合合合合 | 欧美一区二区三区在线播放 | 96超碰在线 | 欧美日韩伦理一区 | 午夜精品视频一区 | 91视频午夜 | 国产专区精品 | 色视频在线| 国产精品久久久久久久久久久久午夜 | 中文久草| 日韩在线电影 | 九九九国产 | 日韩一区二区三区免费视频 | 成年在线观看 | 91色国产在线 | 国产日韩欧美中文 | 在线视频app | 婷婷色在线视频 | 免费福利片2019潦草影视午夜 | 91系列在线| 久久国产网 | www久久99 | 色97在线 | 激情av在线播放 | 色中色资源站 | 久久国产精品免费观看 | 欧美激情精品久久久久 | 免费看成年人 | 国产精品久久久久久久久免费 | 天天射网站| 99精品国产在热久久下载 | 色中文字幕在线观看 | 国产精品入口麻豆 | 中文字幕二区在线观看 | 91视频91蝌蚪 | 99久久婷婷 | 激情综合中文娱乐网 | 国产一区二区三区免费观看视频 | 免费在线观看av | 久久精品8 | 日韩精品中文字幕在线播放 | 中文字幕在线观看完整版电影 | 久久9999久久 | 久久久免费毛片 | 欧美在线一二 | 狂野欧美激情性xxxx | 欧美最猛性xxxxx免费 | 国产高清在线观看av | 久久私人影院 | 五月婷婷激情综合网 | 欧美a级在线播放 | 国产精品国内免费一区二区三区 | 激情视频在线高清看 | 国语精品久久 | 久草视频中文 | 久久美女电影 | 波多野结衣视频一区二区三区 | 天天操天天草 | 久久a视频 | 国产欧美精品xxxx另类 | 久久久免费少妇 | 激情图片区 | 欧美精品一区二区免费 | 高清有码中文字幕 | 青春草视频| 久久精品免费播放 | 精品国产伦一区二区三区观看说明 | 97免费在线视频 | 欧美成人日韩 | 国产精品99久久久久久小说 | 成人四虎影院 | 在线免费视频 你懂得 | 国产中出在线观看 | 国产综合精品一区二区三区 | 国产不卡精品视频 | 亚洲伦理一区二区 | 国产91欧美 | 99精品视频在线播放免费 | 国产91影视 | 日韩成人精品一区二区三区 | 国产精品毛片一区二区在线看 | 色综合亚洲精品激情狠狠 | 欧美一区三区四区 | 日韩亚洲精品电影 | 激情综合五月天 | 天天干天天操天天做 | 91在线日韩 | 亚洲美女免费精品视频在线观看 | 探花视频免费观看 | 日韩在线免费看 | 国产精品久久久久久久久久直播 | 国产在线不卡一区 | 蜜桃久久久| 在线观看国产高清视频 | 操操综合网 | 色黄www小说 | 欧美极度另类性三渗透 | 日韩色在线 | 国产一区影院 | 视频一区视频二区在线观看 | av网址aaa | 久久久精品一区二区三区 | 亚洲国产午夜 | 69精品人人人人 | 久久久久久久久久久久av | 日韩网站在线播放 | 日韩电影一区二区在线 | 国产a网站 | 欧美国产视频在线 | 在线导航av | 日韩在线激情 | av先锋中文字幕 | 国产不卡免费av | 91av视频免费观看 | 色婷婷激情综合 | 色吧久久 | 亚洲精品福利视频 | 成人av在线直播 | 日韩在线视频免费播放 | 97品白浆高清久久久久久 | 久久久久久久久久久久久国产精品 | 日韩色综合网 | 91视频久久 | 三级午夜片 | 久久免费的视频 | 中文字幕在线观看视频免费 | 亚洲成a人片77777kkkk1在线观看 | 欧美激情va永久在线播放 | 国产高清免费在线观看 | 国产日韩欧美在线免费观看 | 中文字幕日韩国产 | 综合国产视频 | 色视频国产直接看 | 亚洲精品xxx| 中文字幕在线免费观看视频 | 国产精品一区电影 | 国产精品粉嫩 | 九色porny真实丨国产18 | 久久艹人人 | 国产视频2| 久久激情五月婷婷 | 又黄又刺激视频 | 99热九九这里只有精品10 | 国产精品网红直播 | 成人片在线播放 | 亚洲欧洲精品在线 | 欧美日韩国产综合一区二区 | 亚洲天堂精品视频 | 97国产小视频 | 成人在线黄色 | 久久久91精品国产一区二区三区 | 久久国产精品免费 | 不卡的av在线播放 | 免费福利在线视频 | 精品在线视频一区二区三区 | av线上免费看 | 国产精品1区2区3区 久久免费视频7 | 日本高清久久久 | 狠狠干夜夜爱 | 亚洲国产午夜精品 | 国产日韩精品一区二区三区在线 | 天天插视频 | 久久久午夜精品理论片中文字幕 | 日韩视频在线不卡 | 亚洲精品乱码久久久久久蜜桃91 | 久久久久久黄 | 91精品1区2区 | 奇米导航 | 日韩在线观看视频在线 | 亚洲综合最新在线 | 久久综合国产伦精品免费 | 国产日韩欧美视频在线观看 | 欧美有色 | 久草线| 亚洲精品九九 | 欧美性网站 | 日韩av在线看 | 日韩av资源站 | 丁香婷婷社区 | 91免费在线 | 亚洲理论片在线观看 | 欧美精品亚州精品 | 亚洲 欧美 另类人妖 | 亚洲一级片在线观看 | 久久免费片 | 久久久久久久久久久福利 | 波多野结衣视频网址 | 亚洲综合五月天 | 国产精品久久久久9999吃药 | 国产精品久久久久久久久岛 | 久久视讯 | 久久久久久免费 | 国产在线视频资源 | 天天综合色网 | 久久久久国 | 欧美一级日韩三级 | 欧美成人精品三级在线观看播放 | 免费观看一级成人毛片 | 99re久久精品国产 | 午夜久久久精品 | 精品在线观看免费 | 免费福利在线播放 | 国产69精品久久久久久久久久 | 国产精品露脸在线 | 草久久精品 | 国产亚洲精品电影 | 国产亚洲字幕 | av在线免费在线 | 日日干干夜夜 | 91男人影院 | 久久久午夜精品理论片中文字幕 | 91九色pron| 日韩手机在线观看 | 国产精品白浆视频 | 亚洲高清av | 婷婷伊人网 | 97天天干 | 久久精品www人人爽人人 | 欧美成人在线网站 | 97热视频| 婷婷福利影院 | 一区二区三区四区在线免费观看 | 成人久久视频 | 天天操天天干天天操天天干 | 国产三级精品三级在线观看 | 日韩在线无 | 日韩网站免费观看 | 99视频黄 | 色狠狠综合天天综合综合 | 中文av影院 | 天天想夜夜操 | 久久婷婷五月综合色丁香 | 久久毛片视频 | 亚洲黄色av网址 | 亚洲人在线视频 | 精品国产_亚洲人成在线 | 69久久99精品久久久久婷婷 | 亚洲精品午夜久久久久久久久久久 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 日韩av视屏在线观看 | 日日天天干| 狠狠干免费 | 最近中文字幕高清字幕免费mv | 久久艹免费 | 成人午夜av电影 | 久久久久久久久久久久久久电影 | 精品在线视频一区二区三区 | 深爱激情av | 中文字幕在线观看免费高清电影 | www国产亚洲精品久久麻豆 | 911久久 | 亚洲成a人片在线观看网站口工 | 亚洲天堂网在线观看视频 | 九九九视频在线 | 狠狠色免费 | 欧美色综合久久 | 亚洲电影久久 | 最近高清中文在线字幕在线观看 | 欧美坐爱视频 | 66av99精品福利视频在线 | 国产又粗又硬又爽的视频 | 五月天婷亚洲天综合网鲁鲁鲁 | 欧美a级免费视频 | 精品国产资源 | 在线观看午夜av | 久草网在线观看 | 国产精品大片在线观看 | 国产精品99久久久久久有的能看 | 五月婷婷综合色拍 | 亚洲va在线va天堂va偷拍 | 丁香婷婷综合激情五月色 | 国产高清一区二区 | 成人精品视频久久久久 | 亚洲综合色丁香婷婷六月图片 | 国产一级做a | 六月丁香久久 | 国产精品综合久久久久 | 国产人免费人成免费视频 | 香蕉在线视频观看 | www.天天射| 亚洲精品在线一区二区三区 | 亚色视频在线观看 | 国产精品久久久久av免费 | 色伊人网| 国产日韩中文字幕在线 | 男女啪啪网站 | 激情小说久久 | 久青草视频 | 成人在线黄色电影 | 久久综合狠狠综合久久激情 | 91麻豆精品国产91久久久久久久久 | 亚洲在线视频播放 | 69热国产视频 | 九七在线视频 | av黄色免费在线观看 | 日韩高清在线不卡 | 欧美激情视频一二区 | 欧美日韩1区| 五月婷婷综合久久 | 日本精油按摩3 | 国产精品免费观看国产网曝瓜 | 精品在线观看一区二区 | 2023亚洲精品国偷拍自产在线 | 午夜视频在线观看一区二区三区 | 久热国产视频 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 亚洲精品中文字幕视频 | 欧美极品xxxx | 国产96精品 | 久久综合九色99 | 欧美一级黄色网 | 在线免费三级 | 国产精品二区在线观看 | 国产中文在线观看 | 黄色软件在线看 | 久久久久久毛片 | 日韩电影精品 | 国产99自拍 | 五月开心色 | 亚洲成人xxx | 在线免费观看视频一区二区三区 | 又黄又爽又湿又无遮挡的在线视频 | 久久午夜影院 | 国产精品美女久久久免费 | 亚洲激情综合网 | 日韩视频在线一区 | 国产成人av免费在线观看 | 超碰在线日韩 | 99久久99视频只有精品 | av电影不卡| 五月婷婷视频在线 | 久久久精品小视频 | 欧美日一级片 | 欧美污污视频 | 天天爱天天射 | 探花视频免费观看高清视频 | 天堂va欧美va亚洲va老司机 | 欧美激情视频一二区 | 国产尤物在线观看 | 天天干天天干天天色 | 国产999精品久久久久久 | 最近中文字幕视频完整版 | 91av手机在线观看 | 韩国三级在线一区 | 久草在线观看视频免费 | 五月婷网站| 99久久99久久精品国产片 | 精品中文字幕在线 | 91麻豆精品91久久久久同性 | 久久中文字幕视频 | 黄色高清视频在线观看 | 国产精品久久毛片 | 日本一区二区免费在线观看 | 天天看天天干 | 香蕉视频久久 | 日韩一级黄色大片 | 亚洲一区美女视频在线观看免费 | 精品国产伦一区二区三区观看说明 | 激情欧美丁香 | 亚洲作爱 | 国产黄色在线网站 | 色精品视频 | 在线高清av | 夜色资源站wwwcom | 91精品91 | 亚洲精品国产自产拍在线观看 | 香蕉视频18 | 欧美一级片免费观看 | 欧美日韩不卡一区二区三区 | 99久久久国产精品 | 一区二区三区免费在线 | 亚洲欧美日韩一区二区三区在线观看 | 久久精品久久久精品美女 | 91.麻豆视频| 91看片在线 | 亚洲成人蜜桃 | 毛片网站在线观看 | 午夜视频在线观看一区二区 | 亚洲国产网站 | 97av视频在线观看 | 91专区在线观看 | 亚洲精品乱码久久久久久 | 九九激情视频 | 精品国产资源 | 韩国在线视频一区 | 黄色小说免费观看 | 亚洲精品乱码白浆高清久久久久久 | 欧美极品xxxxx| 国产一线在线 | 九九视频精品免费 | 在线免费av网 | 亚洲一区网站 | 国产免费久久久久 | 国产精品99久久久久人中文网介绍 | 久草在线免费播放 | 久久综合视频网 | 国产国语在线 | 麻豆国产电影 | 精品国自产在线观看 | 日本在线观看中文字幕 | 超碰在线网 | 亚洲精品久久久久58 | 欧美性猛片 | 97超碰总站 | 国产成人精品a | 在线看免费 | 黄色三级免费片 | 婷婷www| 久久毛片网站 | 国产成人精品午夜在线播放 | 人人干人人做 | 久久这里 | 婷婷综合成人 | 在线播放 日韩专区 | a在线免费观看视频 | 黄色片网站免费 | 久草网在线视频 |