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

歡迎訪問 生活随笔!

生活随笔

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

linux

Linux通常把设备对象抽象为,linux 设备模型(1)

發布時間:2025/3/21 linux 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux通常把设备对象抽象为,linux 设备模型(1) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

設備模型(一)

一、概述

從2.6內核引入了sysfs文件系統,與proc, devfs, devpty同類別,屬于虛擬的文件系統。目的是展示設備驅動模型中各組件的層次關系,第一層目錄:block, device, bus, drivers, class, power, firmware.

block 塊設備;devices 系統所有的設備并根據設備掛接的總線類型組織成層次結構;bus 系統所有的總線類型;drivers 內核中所有已經注冊的設備驅動程序;class 系統中的設備類型(如網卡 設備、聲卡設備、輸入設備等)。在/sys/bus下和/sys/bus/下也會有設備文件,但那只是符號鏈接,它指向/sys/devices/下的真實設備。此即為Linux設備模型。

總線(bus)、設備(device)、驅動(driver)3個數據結構構成了設備的上層建筑,而kobject、kset、kobj_type(ktype)這三個數據結構構成了設備模型的經濟基礎。內核引入內核這概念最主要的目的無非就是為了省電,便于管理。Linux設備模型的目的是:為內核建立起一個統一的設備模型,從而有一個對系統結構的一般性抽象描述。設備模型提供了這個抽象. 現在它用在內核來支持不同的任務, 包括:

1.電源管理,根據設備的層次關系,當系統進入睡眠的時候,不需要一個一個設備的關,只需要關一個總線設備,接在總線下的設備就都會關掉。

2.sysfs虛擬文件系統的實現與設備模型的緊密相關,并向外界展示它所表述的結構。向用戶空間提供系統信息、改變操作參數的接口正越來越多地通過 sysfs,也就是設備模型來完成。

3.關于熱插拔,這跟掃描有關系,比如說,你把一個設備直接接在USB上,系統就會去掃描設備,并且在USB總線上尋找匹配的設備驅動,最后初始化設備,等待用戶使用。

4.設備模型的實現需要創建一系列機制來處理對象的生命周期、對象間的關系和對象在用戶空間的表示。Linux設備模型是一個復雜的數據結構。但對模型的大部分來說,Linux設備模型代碼會處理好這些關系,而不是把他們強加于驅動作者。模型隱藏于交互的背后,與設備模型的直接交互通常由總線級的邏輯和其他的內核子系統處理。所以許多驅動作者可完全忽略設備模型, 并相信設備模型能處理好他所負責的事。

在具體實現方面分兩個層次:

一是底層數據結構來實現基本對象及其層次關系:kobjects和ksets。

二是基于這兩個底層數據結構上實現的設備模型:總線,設備,驅動。

二、底層數據結構:kobject,kset

1)Kobject

1.概念

Kobject實現基本的面向對象管理機制,是構成設備模型的核心結構。它與sysfs文件系統緊密相連,在內核中注冊每個kobject對象對應sysfs文件系統中的一個目錄。

內核通過kobject 結構將各個對象連接起來組成一個分層的結構體系,可以把kobject理解為面向對象的基類,確切的說kobject也可以理解為所有驅動對象的基類,作為基類的kobject并不關心自己是如何實現的,所以,在內核中,沒有用kobject直接定義的變量,kobject只是作為一個抽象的基類而存在,而由于Linux內核是C編寫的,通過查看device_driver、device等結構體中內嵌了kobject結構體。

2.結構,定義在

struct kobject {

const char * k_name;/*指向設備名稱的指針 */

char name[KOBJ_NAME_LEN];/*kobject 的名字數組,設備名稱*/

struct kref kref;/*kobject 的引用計數*/

struct list_head entry;/*kobject 之間的雙向鏈表,與所屬的kset形成環形鏈表*/

struct kobject * parent;/*在sysfs分層結構中定位對象,指向上一級kset中的struct kobject kobj*/

struct kset * kset;/*指向所屬的kset*/

struct kobj_type * ktype;/*負責對該kobject類型進行跟蹤的struct kobj_type的指針*/

struct dentry * dentry;/*sysfs文件系統中與該對象對應的文件節點路徑指針*/

wait_queue_head_t poll;/*等待隊列頭*/

};

2.1 kobj_type結構

//kobject的ktype對象是一個指向kobject_type結構的指針,該結構記錄了kobject對象的一些屬性。每個kobject都需要對應一個相應的kobj_type結構。

struct kobj_type{

void (*release)(struct kobject *kobj);//release方法用于釋放kobject占用的資源,當kobject引用計數為0時被調用。

struct sysfs_ops *sysfs_ops;

struct attribute **default_attrs;//對應于kobject的目錄下一個文件,name就是文件名。

};

2.1.1 kobje_type的attribute結構

struct attribute{

char*name;//屬性文件名

struct module *owner;//所屬的模塊

mode_t mode;//屬性文件的操作模式(可讀,可寫...)

}

2.1.2 kobje_type的struct sysfs_ops結構

struct sysfs_ops

{

ssize_t (*show)(structkobejct *, struct attribute *, char *name);//當用戶讀屬性文件時,該函數被調用,該函數將屬性值存入buffer中返回給用戶態;

ssize_t (*store)(structkobejct *, struct attribute *, char *name);//當用戶寫屬性文件時,該函數被調用,用于存儲用戶存入的屬性值。

}

3.這個在層次上處理最頂層的kobject結構提供了所有模型需要的最基本的功能:

(1)引用計數:跟蹤對象生命周期的一種方法是使用引用計數。當沒有內核代碼持有該對象的引用時, 該對象將結束自己的有效生命期并可被刪除。

(2)sysfs表示每個sys/下的對象對應著一個kobject。

(3)熱拔插事件處理。處理設備的熱拔插事件。

在 sysfs 中創建kobject的入口是kobject_add的工作的一部分,只要調用 kobject_add 就會在sysfs 中顯示,還有些知識值得記住:

(1)kobjects 的 sysfs 入口始終為目錄, kobject_add 的調用將在sysfs 中創建一個目錄,這個目錄包含一個或多個屬性(文件);

(2)分配給 kobject 的名字( 用 kobject_set_name ) 是 sysfs 中的目錄名,出現在 sysfs 層次的相同部分的 kobjects 必須有唯一的名字. 分配給 kobjects 的名字也應當是合法的文件名字: 它們不能包含非法字符(如:斜線)且不推薦使用空白。

(3)sysfs 入口位置對應 kobject 的 parent 指針。若 parent 是 NULL ,則它被設置為嵌入到新 kobject 的 kset 中的 kobject;若 parent 和 kset 都是 NULL, 則sysfs 入口目錄在頂層目錄,通常不推薦。

4.相關函數:

void kobjet_init(struct kobject*kobj)//初始化Kobject

int kobject_add(struct kobject*kobj)//將Kobject對象注冊到linux系統,如果失敗則返回一個錯誤碼.

struct kobject *kobject_get(struct kobject *kobj);/*若成功,遞增 kobject 的引用計數并返回一個指向 kobject 的指針,否則返回 NULL。必須始終測試返回值以免產生競態*/

void kobject_put(struct kobject *kobj);/*遞減引用計數并在可能的情況下釋放這個對象*/

int kobject_init_and_add(structkobject *kobj, kobj_type *ktype, struct kobject *parent, const *fmt…)

//初始化并注冊kobject,kobject傳入要初始化的Kobject對象,ktype將在后面介紹到,parent指向上級的kobject對象,如果指定位NULL,將在/sys的頂層創建一個目錄。*fmt為kobject對象的名字。

5.實例

#include

#include

#include

#include

#include

#include

#include

void obj_test_release(struct kobject *kobject);

ssize_t kobj_test_show(struct kobject *kobject, struct attribute *attr,char *buf);

ssize_t kobj_test_store(struct kobject *kobject,struct attribute *attr,const char *buf, size_t count);

struct attribute test_attr = {

.name = "kobj_config",

.mode = S_IRWXUGO,

};

static struct attribute *def_attrs[] = {

&test_attr,

NULL,

};

struct sysfs_ops obj_test_sysops =

{

.show = kobj_test_show,

.store = kobj_test_store,

};

struct kobj_type ktype =

{

.release = obj_test_release,

.sysfs_ops=&obj_test_sysops,

.default_attrs=def_attrs,

};

void obj_test_release(struct kobject *kobject)

{

printk("eric_test: release .\n");

}

ssize_t kobj_test_show(struct kobject *kobject, struct attribute *attr,char *buf)

{

printk("have show.\n");

printk("attrname:%s.\n", attr->name);

sprintf(buf,"%s\n",attr->name);

return strlen(attr->name)+2;

}

ssize_t kobj_test_store(struct kobject *kobject,struct attribute *attr,const char *buf, size_t count)

{

printk("havestore\n");

printk("write: %s\n",buf);

return count;

}

struct kobject kobj;

static int kobj_test_init()

{

printk("kboject test init.\n");

kobject_init_and_add(&kobj,&ktype,NULL,"kobject_test");

return 0;

}

static int kobj_test_exit()

{

printk("kobject test exit.\n");

kobject_del(&kobj);

return 0;

}

module_init(kobj_test_init);

module_exit(kobj_test_exit);

在/sys目錄下創建了kobject_test目錄,在kobject_test目錄下有kobj_config文件。

讀kobject_config文件則調用了show函數。并在用戶空間顯示了show返回的kobject對象名字。寫kobject_config文件調用了store函數。

2)kset

1.概念

Kset是具有相同類型的kobject的集合,在sysfs中體現成一個目錄,在內核中用kset數據結構表示。

一個kset的主要功能是容納;它可被當作頂層的給kobjects的容器類.實際上,每個kset在內部容納它自己的 kobject,并且它可以,在許多情況下,如同一個kobject相同的方式被對待.值得注意的是ksets一直在sysfs中出現,一旦一個 kset已被建立并且加入到系統, 會有一個sysfs目錄給它.kobjects沒有必要在sysfs中出現, 但是每個是 kset 成員的 kobject 都出現在那里.

通俗的講,kobject建立一級的子目錄里面只能包含文件,kset可以為kobject建立多級的層次性的父目錄。

2.結構體

如果這個 kobject 是一個kset的成員, kset會提供kobj_type指針。通常情況下kobject只需要在葉節點里使用,上層的節點要使用kset。

struct kset {

struct kobj_type * ktype; /*指向該kset對象類型的指針*/

struct list_head list;/*用于連接該kset中所有kobject以形成環形鏈表的鏈表頭*/

spinlock_t list_lock;/*用于避免競態的自旋鎖*/

struct kobject kobj; /*嵌入的kobject*/

struct kset_uevent_ops * uevent_ops; //指向熱插拔操作表的指針

};

包含在kset中的所有的kobject被組織成一個上相的循環鏈表list域是該鏈表的頭指針,ktype域指向一個kobj_type結構,被該kset中的所有kobject共享,表示這些對象的類型,kset數據結構還內嵌了一個kobject對象,所有屬于這個kset的kobject對象的parent域指向這個內嵌的對象,此外kset還依賴于kobj維護引用計數:這就明了,kset的引用計數其實就是其內嵌對象kobject對象的的引用計數,具有相同類型的kobject集合在一起組成了kset,許多kset集合在一起組成了子系統subsystem。

kset 在一個標準的內核鏈表中保存了它的子節點,在大部分情況下, 被包含的 kobjects 在它們的 parent 成員中保存指向 kset內嵌的 kobject的指針,關系如下:

(1)ksets 有類似于kobjects初始化和設置接口。

(2)ksets 還有一個指針指向kobj_type結構來描述它包含的kobject,這個類型優先于kobject自身中的ktype。因此在典型的應用中, 在 struct kobject中的ktype成員被設為 NULL, 而kset中的ktype是實際被使用的。

(3)在新的內核里, kset不再包含一個子系統指針struct subsystem * subsys, 而且subsystem已經被kset取代。

(4)子系統是對整個內核中一些高級部分的表述。子系統通常出現在sysfs分層結構中的頂層,內核子系統包括 block_subsys(/sys/block 塊設備)、 devices_subsys(/sys/devices 核心設備層)以及內核已知的用于各種總線的特定子系統。對于新的內核已經不再有subsystem數據結構了,用kset代替了。每個 kset 必須屬于一個子系統,子系統成員幫助內核在分層結構中定位kset。

3.Kset操作:

struct kset *kset_create_and_add(const char *name,const struct kset_uevent_ops *uevent_ops,struct kobject *parent_kobj)

int kset_register(struct kset*kset)//注冊kset

void kset_unregister(struct kset*kset)//注銷kset

4.實例

#include

#include

#include

#include

#include

#include

#include

#include

struct kset kset_p;

struct kset kset_c;

int kset_filter(struct kset *kset, struct kobject *kobj)

{

printk("Filter: kobj %s.\n",kobj->name);

return 1;

}

const char *kset_name(struct kset *kset, struct kobject *kobj)

{

static char buf[20];

printk("Name: kobj %s.\n",kobj->name);

sprintf(buf,"%s","kset_name");

return buf;

}

int kset_uevent(struct kset *kset, struct kobject *kobj,struct kobj_uevent_env *env)

{

int i = 0;

printk("uevent: kobj %s.\n",kobj->name);

while( i < env->envp_idx){

printk("%s.\n",env->envp[i]);

i++;

}

return 0;

}

struct kset_uevent_ops uevent_ops =

{

.filter = kset_filter,

.name = kset_name,

.uevent = kset_uevent,

};

int kset_test_init()

{

printk("kset test init.\n");

kobject_set_name(&kset_p.kobj,"kset_p");

kset_p.uevent_ops = &uevent_ops;

kset_register(&kset_p);

kobject_set_name(&kset_c.kobj,"kset_c");

kset_c.kobj.kset = &kset_p;

kset_register(&kset_c);

return 0;

}

int kset_test_exit()

{

printk("kset test exit.\n");

kset_unregister(&kset_p);

kset_unregister(&kset_c);

return 0;

}

module_init(kset_test_init);

module_exit(kset_test_exit);

可以看出當kset加載時,在/sys下創建了一個kset_p目錄,在kset_p下面創建了kset_c目錄,當kset模塊被加載和卸載時都產生了熱插拔事件。

三、代碼分析

/*****************************************************************************************************/

1.kobject對象的初始化以及添加到sysfs文件系統中

/*****************************************************************************************************/

int kobject_init_and_add(struct kobject *kobj, struct kobj_type *ktype,struct kobject *parent, const char *fmt, ...)

{

va_list args;

int retval;

//初始化kobject

kobject_init(kobj, ktype);

va_start(args, fmt);

//為kobjcet設置名稱,在sysfs中建立相關信息

retval = kobject_add_varg(kobj, parent, fmt, args);

va_end(args);

return retval;

}

//上面的流程主要分為兩部份。一部份是kobject的初始化。在這一部份,它將kobject與給定的ktype關聯起來。初始化kobject中的各項結構。

//另一部份是kobject的名稱設置。空間層次關系的設置,具體表現在sysfs文件系統中.

void kobject_init(struct kobject *kobj, struct kobj_type *ktype)

{

char *err_str;

if (!kobj) {//指針不能為空

err_str = "invalid kobject pointer!";

goto error;

}

if (!ktype) {//kobj_type指針也不能為空

err_str = "must have a ktype to be initialized properly!\n";

goto error;

}

if (kobj->state_initialized) {//標志為1表示kobject已經初始化過

printk(KERN_ERR "kobject (%p): tried to init an initialized ""object, something is seriously wrong.\n", kobj);

dump_stack();

}

kobject_init_internal(kobj);//初始化

kobj->ktype = ktype;//將kobject與給定的ktype關聯起來

return;

error:

printk(KERN_ERR "kobject (%p): %s\n", kobj, err_str);

dump_stack();

}

static void kobject_init_internal(struct kobject *kobj)

{

if (!kobj)

return;

kref_init(&kobj->kref);//初始化kobject的計數器,計數器設為1

INIT_LIST_HEAD(&kobj->entry);//初始化鏈表

kobj->state_in_sysfs = 0;

kobj->state_add_uevent_sent = 0;

kobj->state_remove_uevent_sent = 0;

kobj->state_initialized = 1;//表示kobject已經初始化過

}

static inline void kref_init(struct kref *kref)

{

atomic_set(&kref->refcount, 1);

}

//另一部份是kobject的名稱設置。空間層次關系的設置,具體表現在sysfs文件系統中.

static int kobject_add_varg(struct kobject *kobj, struct kobject *parent,const char *fmt, va_list vargs)

{

va_list aq;

int retval;

va_copy(aq, vargs);

//設置kobject的名字。即設置kobject的name成員

retval = kobject_set_name_vargs(kobj, fmt, aq);

va_end(aq);

if (retval) {

printk(KERN_ERR "kobject: can not set name properly!\n");

return retval;

}

//設置kobject的parent。

kobj->parent = parent;

//在sysfs中添加kobjcet信息

return kobject_add_internal(kobj);

}

//設置好kobject->name后,轉入kobject_add_internal()。在sysfs中創建空間結構.

static int kobject_add_internal(struct kobject *kobj)

{

int error = 0;

struct kobject *parent;

if (!kobj)

return -ENOENT;

//如果kobject的名字為空.退出

if (!kobj->name || !kobj->name[0]) {

pr_debug("kobject: (%p): attempted to be registered with empty ""name!\n", kobj);

WARN_ON(1);

return -EINVAL;

}

//取kobject的父結點,并遞增父kobject的計數

parent = kobject_get(kobj->parent);

//如果kobject的父結點沒有指定,而且kobj->kset已設定,就將kobj->kset->kobject做為它的父結點

if (kobj->kset) {

if (!parent)

parent = kobject_get(&kobj->kset->kobj);//遞增計數,返回kset->kobject

kobj_kset_join(kobj);//遞增kobj對象中的kset計數,并且將kobj->kset連接到kobj->entry隊列中

kobj->parent = parent;//設定父kobject

}

//在sysfs中創建kobject的相關信息

error = create_dir(kobj);

if (error) {

//v如果創建失敗。減少相關的引用計數

kobj_kset_leave(kobj);

kobject_put(parent);

kobj->parent = NULL;

/* be noisy on error issues */

if (error == -EEXIST)

printk(KERN_ERR "%s failed for %s with ""-EEXIST, don't try to register things with ""the same name in the same directory.\n",__FUNCTION__, kobject_name(kobj));

else

printk(KERN_ERR "%s failed for %s (%d)\n",__FUNCTION__, kobject_name(kobj), error);

dump_stack();

} else

//如果創建成功。將state_in_sysfs建為1。表示該object已經在sysfs中了

kobj->state_in_sysfs = 1;

return error;

}

static int create_dir(struct kobject *kobj)

{

int error = 0;

if (kobject_name(kobj)) {//kobject名稱不為空

error = sysfs_create_dir(kobj);//為kobject創建目錄

if (!error) {

error = populate_dir(kobj);//創建目錄成功,為kobject->ktype中的屬性創建屬性文件

if (error)

sysfs_remove_dir(kobj);

}

}

return error;

}

//kobject所表示的目錄創建過程,這是在sysfs_create_dir()中完成的。

int sysfs_create_dir(struct kobject * kobj)

{

struct sysfs_dirent *parent_sd, *sd;

int error = 0;

BUG_ON(!kobj);

/*如果kobject的parnet存在。就在目錄點的目錄下創建這個目錄。如果沒有父結點不存在,就在/sys下面創建結點。在上面的流程中,我們可能并沒有為其指定父結點,也沒有為其指定kset。*/

if (kobj->parent)

parent_sd = kobj->parent->sd;

else

parent_sd = &sysfs_root;

//在sysfs中創建目錄,參見sysfs文件系統解析

error = create_dir(kobj, parent_sd, kobject_name(kobj), &sd);

if (!error)

kobj->sd = sd;

return error;

}

//為kobject->ktype中的屬性創建文件,在populate_dir()中完成的。

static int populate_dir(struct kobject *kobj)

{

struct kobj_type *t = get_ktype(kobj);//得到kobject的kobj_type結構

struct attribute *attr;

int error = 0;

int i;

if (t && t->default_attrs) {

for (i = 0; (attr = t->default_attrs[i]) != NULL; i++) {//遍歷ktype中的屬性

error = sysfs_create_file(kobj, attr);//在sysfs文件系統kobject目錄下創建屬性文件,參見sysfs文件系統解析

if (error)

break;

}

}

return error;

}

/****************************************************************************************************/

2.kset對象的初始化以及添加到sysfs文件系統中

/****************************************************************************************************/

struct kset *kset_create_and_add(const char *name,const struct kset_uevent_ops *uevent_ops,struct kobject *parent_kobj)

{

struct kset *kset;

int error;

//創建一個kset容器

kset = kset_create(name, uevent_ops, parent_kobj);

if (!kset)

return NULL;

//注冊創建的kset容器

error = kset_register(kset);

if (error) {

kfree(kset);

return NULL;

}

return kset;

}

static struct kset *kset_create(const char *name,const struct kset_uevent_ops *uevent_ops,struct kobject *parent_kobj)

{

struct kset *kset;

int retval;

kset = kzalloc(sizeof(*kset), GFP_KERNEL);//為kset分配內存空間

if (!kset)

return NULL;

//設置kset中kobject的名字

retval = kobject_set_name(&kset->kobj, name);

if (retval) {

kfree(kset);

return NULL;

}

kset->uevent_ops = uevent_ops;//設置uevent操作集

kset->kobj.parent = parent_kobj;//設置父對象

kset->kobj.ktype = &kset_ktype;//設置容器操作集

kset->kobj.kset = NULL;//設置父容器為空

return kset;

}

//創建好了kset之后,會調用kset_register().這個函數就是kset操作的核心代碼了.

int kset_register(struct kset *k)

{

int err;

if (!k)

return -EINVAL;

//繼續初始化

kset_init(k);

//向sysfs文件系統添加該容器,即為k內嵌的kobject結構建立空間層次結構,代碼見上

err = kobject_add_internal(&k->kobj);

if (err)

return err;

//因為添加了kset,會產生一個事件,這個事件是通過用戶空間的hotplug程序處理的,這就是kset明顯不同于kobject的地方.

kobject_uevent(&k->kobj, KOBJ_ADD);//參見udev原理

return 0;

}

void kset_init(struct kset *k)

{

kobject_init_internal(&k->kobj);//初始化kset中的kobject結構

INIT_LIST_HEAD(&k->list);//初始化鏈表

spin_lock_init(&k->list_lock);

}

總結

以上是生活随笔為你收集整理的Linux通常把设备对象抽象为,linux 设备模型(1)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

韩国av不卡 | 日韩欧美在线视频一区二区 | 久久国产经典 | 亚洲夜夜爽 | 久久久久久久久久久影院 | 91av九色| 极品美女被弄高潮视频网站 | a级片韩国 | 久久婷婷一区二区三区 | 日韩免费 | 99热高清| 久草在线久 | 成人免费观看视频网站 | 国产 欧美 日本 | 亚洲精品国偷自产在线91正片 | 美女视频永久黄网站免费观看国产 | 人人澡人摸人人添学生av | 超碰人人91 | 免费在线观看成人 | 国产精选视频 | 国产在线一区观看 | 99热在线国产 | 91视频电影 | 在线观看一区二区精品 | 一区二区三区日韩视频在线观看 | 天天色天天草天天射 | 69性欧美| 色在线亚洲 | 色综合天天 | 日韩欧美一区二区三区视频 | 国产成人久久av | 国产精选在线 | 国产生活一级片 | 日韩a在线| 欧美精品视 | 色资源在线 | av免费在线免费观看 | 99精品视频99 | 精品久久久成人 | 午夜精品久久久久久久久久久 | 久久99在线视频 | 99视屏| 在线久热 | 亚洲网站在线 | 国产色爽 | 中文字幕一区在线观看视频 | 久久免费国产精品 | 日本中文字幕网址 | 欧美一二三区在线观看 | av中文国产 | 99视频在线看 | 性日韩欧美在线视频 | 国产香蕉视频 | 亚洲成人麻豆 | 日韩最新av在线 | www.久久久 | 狠狠躁日日躁狂躁夜夜躁av | 精品视频123区在线观看 | 天天色天天射天天干 | 国产精品麻豆视频 | 激情综合网色播五月 | 成年人视频在线免费观看 | 免费黄色看片 | 亚洲精品色视频 | 亚洲免费成人av电影 | 亚洲精品在线观看网站 | 精品一区二区精品 | 久久伊人综合 | 亚洲女人av| 精品视频免费看 | 久久综合久久久久88 | 黄色片毛片 | 大片网站久久 | 国产精品成人免费 | 99中文字幕视频 | 在线影院中文字幕 | 婷婷av色综合| 最新av电影网站 | 999久久久久久| 久久免费看 | 欧美日韩免费一区二区三区 | 午夜视频在线网站 | 999在线观看视频 | 国产做aⅴ在线视频播放 | 久久免费av电影 | 日韩精品91偷拍在线观看 | 国产精品久久久久久一区二区三区 | 91重口视频 | 欧美午夜精品久久久久久孕妇 | 狠狠躁日日躁狂躁夜夜躁 | 少妇av片 | 黄色a一级视频 | 97精品国产一二三产区 | 欧美在线18 | 免费看片色 | 天天干天天做天天爱 | 一级a毛片高清视频 | 99精品视频在线看 | 日韩高清免费观看 | 久久精品综合网 | 三级黄色网络 | 久久久久久精 | 精品国产伦一区二区三区观看体验 | 欧美日韩精品免费观看视频 | 在线免费观看成人 | 97香蕉超级碰碰久久免费软件 | 国产96av| 天天天干天天射天天天操 | 久久久激情网 | 日本黄网站 | 日韩二区三区 | 在线播放第一页 | 日韩精品一区二区免费 | 夜夜骑天天操 | 狠狠色狠狠色综合日日92 | 国产成人精品久久久 | 69国产在线观看 | av永久网址 | 伊人天天干 | 国产在线久草 | 免费在线成人av电影 | 伊人欧美| 成人一级片免费看 | 久久国产精品免费一区二区三区 | 我要看黄色一级片 | 欧美乱码精品一区 | 国产亚洲精品久久久久久久久久久久 | 欧美激情视频在线免费观看 | 免费在线观看成人av | 97超碰免费在线观看 | 国产99免费 | 国产精品一区在线观看你懂的 | 国产成人av在线 | 激情影音| 国产精品久久久久影视 | 福利视频在线看 | 亚洲 成人 欧美 | 国产91勾搭技师精品 | 亚洲日本va午夜在线影院 | 又黄又爽的视频在线观看网站 | 中文字幕欧美三区 | 综合久久婷婷 | 欧美一级裸体视频 | 麻豆 91 在线 | 人交video另类hd | 国产精品嫩草影院99网站 | 午夜.dj高清免费观看视频 | 天天搞天天 | 成人手机在线视频 | 99爱在线观看 | 免费观看xxxx9999片 | 午夜电影久久 | 黄在线免费看 | 国产亚洲高清视频 | 久久久久久久久久影视 | 国产高清视频在线播放一区 | 在线观看免费一级片 | 成人黄色片在线播放 | 国产一区国产精品 | 国产精品一级视频 | 亚洲一级特黄 | 亚洲成人av片在线观看 | 欧美日韩国产欧美 | 婷婷香蕉 | 精品一区二区在线免费观看 | 久久不卡国产精品一区二区 | 国产日韩欧美在线看 | 玖玖在线资源 | 日韩欧美国产精品 | 日韩激情影院 | 国产免费黄色 | 黄色91在线 | 欧美日韩国产精品一区二区 | 久久a视频 | 国产精品久久久久久久久毛片 | 日本美女xx | 亚洲电影一区二区 | 亚洲精品国产区 | 九九亚洲视频 | 99国产精品免费网站 | 在线 欧美 日韩 | 波多野结衣理论片 | av在线在线 | 久久se视频 | 久草五月 | 在线小视频你懂的 | 国产精品视频久久久 | 欧美aⅴ在线观看 | 日韩深夜在线观看 | 色av男人的天堂免费在线 | 天天操天天色天天射 | 一区二区三区日韩在线观看 | 91视频高清免费 | 成人黄色影片在线 | 一区中文字幕电影 | 五月婷婷天堂 | 日日爱av | a色视频| 久久av伊人 | 在线免费观看国产黄色 | 一级片黄色片网站 | 草久久精品| 成人三级网站在线观看 | av在线免费不卡 | 色综合天天色 | 免费看色视频 | 人人干,人人爽 | 国产a级精品 | 国产视频一区二区在线 | 永久免费毛片 | 亚洲手机天堂 | 亚洲夜夜网| 精品福利av | 日韩黄色影院 | 91麻豆精品国产91久久久久久久久 | 欧美在线观看视频 | 久草在线免费色站 | 久久精品91久久久久久再现 | 在线精品视频免费播放 | 国产123区在线观看 国产精品麻豆91 | 好看的国产精品视频 | 久久久亚洲精华液 | 免费国产黄线在线观看视频 | 精品视频免费久久久看 | 色婷婷成人网 | 蜜臀av一区二区 | 日韩一区二区三区在线观看 | 成人国产精品久久久久久亚洲 | 欧美精品久久久久性色 | 18性欧美xxxⅹ性满足 | www久久久| 亚洲国产精品电影在线观看 | 色停停五月天 | 丁香婷婷色月天 | www.五月婷 | 亚洲精品久久久久久久不卡四虎 | 欧美日韩天堂 | 欧洲精品码一区二区三区免费看 | 中文在线亚洲 | 99久久一区 | 四虎永久免费网站 | 日韩欧美精品一区 | 91最新地址永久入口 | 韩国av免费观看 | 天天搞天天干 | 天天操天天操天天爽 | 亚洲一级片在线观看 | 国产精品免费小视频 | 日韩精品你懂的 | 中文在线8新资源库 | 911免费视频| 国产视频一区二区在线观看 | 天天射射天天 | 777视频在线观看 | 久久精品国产一区二区三区 | 免费在线播放黄色 | 国产精品久久久久亚洲影视 | 国产精品久久久久久电影 | 国产精彩在线视频 | www日| 国产精品毛片久久久久久久久久99999999 | 美女精品国产 | 亚洲成人网在线 | 国产成人在线免费观看 | 深夜国产在线 | 亚洲情感电影大片 | a级国产乱理论片在线观看 伊人宗合网 | 狠狠色狠狠色综合日日92 | 中文一二区 | 亚洲精品av在线 | 日韩一级黄色片 | 在线免费高清一区二区三区 | 91精品少妇偷拍99 | 欧美影片| 99re国产视频| 国产精品免费不卡 | 久草在线视频国产 | 亚洲一区欧美激情 | 97在线超碰 | 亚洲在线视频免费观看 | 国产探花 | 日韩久久精品一区 | 中文字幕亚洲欧美 | 91成人破解版 | 射久久 | 久久色网站 | 美女网站在线观看 | 天天色天天色天天色 | 久久久www| 国内精品久久久精品电影院 | 欧美亚洲国产精品久久高清浪潮 | 18久久久 | 久久久久久国产精品 | 激情综合五月 | 日本女人逼 | 国产精品毛片久久蜜 | 2020天天干天天操 | 最新日韩在线观看 | 国内精品久久久久影院优 | 在线91观看 | 国产精品精品国产 | 99色亚洲| 亚洲国产精品va在线 | 欧美日韩在线视频一区 | 国产一区二区免费在线观看 | 国产视频亚洲 | 高清视频一区二区三区 | 中文字幕在线视频一区二区三区 | 91福利免费 | 992tv又爽又黄的免费视频 | 热久久电影 | 五月婷婷综合久久 | 最近免费在线观看 | 国产精品久久久一区二区 | 欧美一区成人 | 久久视频这里有久久精品视频11 | 香蕉网址| 二区三区在线视频 | 一区三区视频在线观看 | 99在线视频播放 | 欧美激情视频一区二区三区 | 91麻豆精品国产91久久久更新时间 | 午夜精品久久久久久久99 | 色噜噜日韩精品一区二区三区视频 | 日韩三级成人 | 精品久久九九 | 成人黄色电影在线播放 | 狂野欧美激情性xxxx欧美 | 天天综合网天天 | 成人黄色小说在线观看 | 在线日韩亚洲 | 久久试看 | 色综合欧洲 | 最新国产一区二区三区 | 国产精品99久久免费黑人 | 狠狠五月天| 午夜国产福利在线观看 | 久草剧场 | 国产一区福利 | 免费观看av网站 | 黄色小网站免费看 | 69精品 | 日韩在线观看你懂的 | 中文字幕在线中文 | 久久免费视频一区 | www.五月天婷婷| 美女黄视频免费 | 国产色网 | 色婷婷综合久久久久中文字幕1 | www.五月激情.com| 毛片激情永久免费 | 99视频国产在线 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 国产精品婷婷午夜在线观看 | 成人在线视频网 | 久久午夜电影网 | 中文字幕av最新 | 国产一卡在线 | 亚洲综合欧美激情 | 亚洲国产欧美一区二区三区丁香婷 | 欧美精彩视频在线观看 | 天天艹天天爽 | 伊人精品在线 | 精品字幕 | 日韩一区二区三区免费电影 | 久久久久久麻豆 | 亚洲一级黄色av | 五月婷婷黄色网 | 成人av资源 | av成人在线网站 | www.97色.com| 久久免费视频在线观看 | 成人午夜网址 | 亚洲天堂网在线观看视频 | 亚洲五月婷婷 | 久艹视频免费观看 | 91一区啪爱嗯打偷拍欧美 | 欧美在线视频一区二区三区 | 444av| 久久精国产| 丁香六月中文字幕 | 91久久久国产精品 | 免费在线观看一区 | 亚洲午夜不卡 | 综合激情婷婷 | 国产精品粉嫩 | 亚洲免费资源 | 亚洲精品自在在线观看 | 丝袜美腿亚洲 | 国产69精品久久久久久久久久 | av在线播放中文字幕 | 久久免费观看少妇a级毛片 久久久久成人免费 | 超碰人人草人人 | 亚洲欧洲国产日韩精品 | 国产中文欧美日韩在线 | 99成人精品 | 久久夜色精品国产欧美乱 | 国产一级不卡视频 | 一区二区三区在线视频111 | 国产日韩欧美自拍 | 亚洲精品中文字幕在线 | 亚洲毛片视频 | av免费观看网址 | 99精品乱码国产在线观看 | 日韩精品一区二区在线 | 99精品欧美一区二区 | 精品久久精品久久 | 欧美一级淫片videoshd | 日韩成人精品一区二区 | 国产69精品久久app免费版 | 中文字幕888 | 狠狠干夜夜爽 | 国产高清视频免费在线观看 | 成人免费在线看片 | 在线观看国产中文字幕 | 欧美福利精品 | 色婷婷成人网 | 久久久久久国产精品亚洲78 | 国产福利免费看 | 日韩av区 | 欧美日韩精品在线观看 | 亚洲国产69| 国产麻豆精品久久一二三 | 国产精品久久久久久久久久久久 | avhd高清在线谜片 | 欧美a在线免费观看 | aⅴ视频在线 | 久久九九影视网 | 天天干,天天射,天天操,天天摸 | 麻豆视频www | 超碰97在线资源站 | 婷婷99 | www.五月天激情| 久久超级碰视频 | 国产色婷婷精品综合在线手机播放 | 狠狠狠的干 | 欧美日本在线观看视频 | 中文字幕人成人 | 草久在线观看视频 | 日韩高清精品免费观看 | 亚洲国产一区av | 国产一区二区影院 | 久久伊人精品一区二区三区 | 成人啪啪18免费游戏链接 | 久久久久久久久久免费视频 | 国产高清在线免费 | 日韩精品一区二区三区三炮视频 | 中文字幕免费一区 | 综合伊人av | 中文字幕亚洲精品在线观看 | 最新精品国产 | 久久久精品网站 | 色狠狠久久av五月综合 | 国产精品女人久久久 | 成人亚洲网 | 99久久精品免费看国产麻豆 | 99午夜| 在线看成人 | 亚洲国产成人精品电影在线观看 | 国产视频日韩 | 五月激情五月激情 | 亚洲成人av在线播放 | 亚洲精品中文字幕视频 | 国产成人综合精品 | av再线观看| 久久99精品波多结衣一区 | 97超碰国产精品女人人人爽 | 欧美日韩午夜 | 国产在线毛片 | 日韩综合色 | 日韩在线观看网址 | 国产特级毛片 | 国产色视频网站 | 久久国产精品99久久久久久丝袜 | 在线日韩中文字幕 | 91精品国产91久久久久久三级 | 国产精品一区在线观看 | 久久九九影视 | 麻豆va一区二区三区久久浪 | 2018亚洲男人天堂 | 中文字幕成人 | 黄色成人在线 | 国产精品每日更新 | 精品国产乱码久久久久久久 | 激情影音| 人人插人人玩 | 国产欧美中文字幕 | caobi视频 | 西西4444www大胆无视频 | 久久字幕网 | 久草在线视频在线观看 | 人人超碰在线 | 久热精品国产 | 中文字幕乱码视频 | 丁香婷婷色月天 | 国际精品久久久久 | 2019免费中文字幕 | 激情五月婷婷丁香 | 国产精品自产拍在线观看网站 | 亚洲黄色在线播放 | 亚洲少妇xxxx | 亚洲成年人免费网站 | 特级毛片在线免费观看 | 久久久久久久久久国产精品 | 天天拍天天操 | 国产在线欧美在线 | 在线观看视频97 | 久久久综合香蕉尹人综合网 | 九九热只有这里有精品 | 在线成人免费电影 | 日韩成人在线免费观看 | 成人亚洲精品国产www | 99中文字幕 | 欧美一级艳片视频免费观看 | 999男人的天堂| 亚洲精品白浆高清久久久久久 | 在线观看亚洲成人 | 日本精品久久久久中文字幕 | 私人av | 99久久精品免费看 | 精品久久久久一区二区国产 | 欧洲性视频 | 日日爽夜夜操 | 久草在线免费色站 | 亚洲激情综合 | 免费av在线网站 | 亚洲精品国产麻豆 | 国产精品欧美一区二区三区不卡 | 国产视频欧美视频 | 毛片网免费| 天天色天天搞 | 精品在线二区 | 亚一亚二国产专区 | 国产在线色视频 | 午夜av在线电影 | 日韩精品在线看 | 婷婷精品在线视频 | 久久成人18免费网站 | 中文字幕免费国产精品 | 丁香六月av | 91九色蝌蚪国产 | 国产97av | 国产福利电影网址 | 五月天.com | 国产99re| 日韩一二三 | 亚洲国内精品在线 | 欧美极品一区二区三区 | 日韩一二区在线观看 | 一区二区三区www | 欧美性脚交 | 亚洲欧美视频一区二区三区 | 五月天天色 | 亚洲乱亚洲乱妇 | 久久免费观看视频 | 中文字幕一区二区三区四区在线视频 | 三级免费黄色 | 99国产一区二区三精品乱码 | 操高跟美女 | 免费视频一区 | 久久精品视频3 | 亚洲成色| 欧美一级性 | 欧美作爱视频 | 久久精品麻豆 | 免费a级观看 | 国产最新福利 | 日韩欧美高清在线观看 | 91漂亮少妇露脸在线播放 | 99久久99久国产黄毛片 | 午夜免费福利视频 | av在线播放观看 | 人人爽人人爽人人片av | 国产精品成人一区二区 | 天天射天天搞 | 草久视频在线观看 | 久久香蕉国产精品麻豆粉嫩av | 9999国产精品 | 视频在线观看一区 | 亚洲综合在线一区二区三区 | 在线观看中文字幕第一页 | 亚洲人成免费网站 | 国产在线资源 | 免费观看国产成人 | 国产99久久久国产 | 一区二区三区中文字幕在线 | 国产日韩精品久久 | 国产亚洲精品久久久久久移动网络 | 午夜电影一区 | 午夜免费视频网站 | 午夜美女影院 | 久久在现 | 西西4444www大胆视频 | 中文字幕888| 狠狠操精品 | 国产视频九色蝌蚪 | 国产黄色网 | 三级性生活视频 | 伊人天堂网 | 欧美精品生活片 | 国产精品成| 国产精品久久精品 | 国产高清第一页 | 亚洲成人免费在线 | 97涩涩视频| 91免费高清在线观看 | 亚洲人成精品久久久久 | 日韩色av色资源 | 国产中文字幕在线 | 国产剧情av在线播放 | 免费av观看 | 日韩成人精品一区二区三区 | 自拍超碰在线 | 国内成人av| 国产亚洲字幕 | 欧美aa级 | 欧美精品中文在线免费观看 | 中文字幕视频一区二区 | 日韩免 | 91人网站| 久久久精品欧美一区二区免费 | 91精品色 | 日韩在线观看的 | 91视频xxxx| 18女毛片| 456免费视频 | 丁香狠狠 | 99视频久| 91视频久久久久 | 狠狠躁夜夜a产精品视频 | 色97在线| 欧美日韩18 | 在线观看av中文字幕 | 亚洲a免费| 国产一区不卡在线 | 午夜在线观看影院 | 三级av中文字幕 | 天堂av一区二区 | 国内丰满少妇猛烈精品播放 | 国产精品99久久久精品 | 成人av资源网 | 日韩中文字幕在线 | 又黄又色又爽 | 久久夜靖品 | 日韩在线免费电影 | 91高清视频在线 | 日韩欧美国产激情在线播放 | 日韩精品中文字幕久久臀 | 91精品国产91久久久久 | 欧美日韩中文字幕在线视频 | 日韩免费一级电影 | 日本在线成人 | 成人一区影院 | 五月婷婷色综合 | 欧美日韩裸体免费视频 | 午夜精品一区二区三区在线观看 | 国产成人精品国内自产拍免费看 | 国产精品美女网站 | 亚洲综合丁香 | 国产高清免费在线观看 | 成人小视频在线观看免费 | 色五婷婷 | 国产中文在线观看 | 麻豆免费视频观看 | 在线免费日韩 | 国内综合精品午夜久久资源 | 中文字幕网站视频在线 | 国产精品成人av在线 | 国产欧美精品一区二区三区四区 | 久草在线资源观看 | 免费在线观看视频a | 国产在线精品国自产拍影院 | 中文字幕色在线视频 | 日本中文字幕久久 | 日本字幕网 | 亚洲午夜精品久久久久久久久久久久 | 日韩免费在线观看 | 2019中文字幕网站 | 一区二区三区免费在线观看视频 | 久久夜色精品国产亚洲aⅴ 91chinesexxx | 国产精品毛片一区二区三区 | 国产精品二区在线观看 | 亚洲美女免费精品视频在线观看 | 日韩一级网站 | 成人国产精品 | 色偷偷88欧美精品久久久 | 国产剧情一区二区 | 日韩综合在线观看 | 夜添久久精品亚洲国产精品 | 91在线中文 | 国产精品1区2区3区在线观看 | 日韩在观看线 | 一区二区三区韩国免费中文网站 | 看全黄大色黄大片 | 狠狠干婷婷色 | 一区二区三区在线视频观看58 | 综合网伊人 | 亚洲精区二区三区四区麻豆 | 日韩午夜电影院 | 国产精品美女免费 | 国产女做a爱免费视频 | 婷婷色中文 | 久久优 | 91在线入口 | 免费看十八岁美女 | 永久免费精品视频 | 99热精品在线 | 欧美日韩国产综合一区二区 | 中文字幕文字幕一区二区 | 欧美精品成人在线 | 国产麻豆剧果冻传媒视频播放量 | 91九色国产| 天天射天天干天天插 | 成人a视频 | 亚洲一区二区三区在线看 | 成 人 黄 色 片 在线播放 | 日日夜夜网 | 99久久精品免费一区 | 久久国产综合视频 | 国产亚洲精品女人久久久久久 | 免费黄av| 中文字幕传媒 | 欧美日韩高清一区二区三区 | 久久 地址 | 国产精品欧美日韩在线观看 | 日韩在线视频一区 | 日韩系列在线观看 | 亚洲精品乱码白浆高清久久久久久 | 日日夜夜噜噜噜 | 九九色在线观看 | 97视频免费 | 奇米影视8888在线观看大全免费 | 欧美日韩视频在线一区 | 久久久久久久久久久免费 | 九九一级片 | 91精品人成在线观看 | 亚洲国产精品人久久电影 | 韩国av电影网 | 高清有码中文字幕 | 亚洲激情小视频 | 国产又粗又猛又黄又爽 | 国产精品一区二区美女视频免费看 | 九九热免费在线视频 | 日韩在线视频精品 | 中文字幕日韩精品有码视频 | 天天av天天 | 色永久免费视频 | 国产 成人 久久 | 最新国产在线 | 国产精品美女视频 | 超碰九九| 欧美国产日韩一区二区三区 | 久久官网| 在线小视频 | 欧美激情视频一区 | 久久成人高清 | 精品国偷自产在线 | 麻豆免费观看视频 | 成人免费视频在线观看 | www.亚洲视频.com | 99热最新精品 | 九九免费精品视频在线观看 | 日日夜夜天天干 | 精品一区二区综合 | 日韩欧美精品一区 | 99视频精品在线 | 九色91av| 欧美小视频在线观看 | 欧美性网站| 国产99久久久国产 | 亚洲女欲精品久久久久久久18 | 亚洲激情影院 | 亚洲综合色激情五月 | 欧美激情另类 | 99精品视频在线观看免费 | 麻豆成人精品 | 色网免费观看 | 91精品老司机久久一区啪 | 九九九电影免费看 | 综合网伊人 | 天天色影院 | 91成人精品一区在线播放69 | 中文字幕在线电影 | 亚洲在线视频网站 | 精品一区精品二区高清 | 亚洲久草网 | 久久精品国产一区二区电影 | 亚洲激情在线观看 | 综合激情久久 | 麻豆一精品传二传媒短视频 | 国产一区在线不卡 | 亚洲欧洲精品在线 | 人人干网 | japanesexxxhd奶水 91在线精品一区二区 | 日韩电影中文字幕 | 亚洲伊人婷婷 | 亚洲 成人 欧美 | 在线之家免费在线观看电影 | 亚洲三级av | 精品久久久久久久久久岛国gif | 精品综合久久久 | 国产永久免费高清在线观看视频 | 伊人婷婷网 | av中文字幕电影 | 免费99精品国产自在在线 | 日韩av美女 | 色婷婷99 | 99精品国产免费久久久久久下载 | 在线视频区 | 国产精品一区二区三区在线免费观看 | 成人app在线播放 | 国产一级视频在线免费观看 | 黄色三级网站在线观看 | 精品久久网| 国产成人精品一区二三区 | 中文字幕av全部资源www中文字幕在线观看 | 99c视频高清免费观看 | 中文字幕国产精品 | 国产99久久久国产精品成人免费 | 亚洲欧美日韩不卡 | 亚洲黄网址 | 亚洲日日日 | 激情视频一区二区 | 国产品久精国精产拍 | 三级黄色免费 | 国产91免费看 | 亚洲毛片在线观看. | 精品你懂的 | 93久久精品日日躁夜夜躁欧美 | 91亚洲精品国偷拍 | 国产精品在线看 | 黄色aaa毛片 | 中文字幕乱码在线播放 | 97国产情侣爱久久免费观看 | 欧美日韩精品影院 | 久久久国际精品 | 国产精品中文 | 在线观看av麻豆 | 日韩电影在线观看一区二区 | 欧美精品在线视频 | 国产成人精品综合久久久 | 日韩电影在线观看中文字幕 | 毛片永久免费 | 又黄又网站 | 亚洲欧洲在线视频 | 91麻豆精品国产91久久久无限制版 | 日本久久高清视频 | 中文一二区| 精品91久久久久 | 天天摸夜夜操 | 碰超在线| 欧美一区二区免费在线观看 | 国产成人精品一区一区一区 | 日韩在线| 久热久草| 97香蕉超级碰碰久久免费软件 | 国产97在线播放 | 日韩精品最新在线观看 | 俺要去色综合狠狠 | av一区在线播放 | av大片网址 | 亚洲视频99| 97香蕉超级碰碰久久免费软件 | 韩国在线一区 | 免费在线看成人av | 日韩精品视频免费专区在线播放 | 欧美极品少妇xbxb性爽爽视频 | 久久久久久99精品 | 精品久久久久久国产 | 色哟哟国产精品 | 国内精品视频一区二区三区八戒 | 天天色天天艹 | 国产精品高潮呻吟久久av无 | 香蕉在线视频观看 | 成人综合免费 | 97超碰伊人| 激情开心色 | 国产精品都在这里 | 国产精品白丝av | 久久精品视频在线 | 久久1电影院 | 婷婷激情站 | 国产美女网 | 在线免费成人 | 91色在线观看 | 免费网站看v片在线a | 在线中文字幕一区二区 | 免费久久99精品国产 | 国产一区成人在线 | www.国产视频 | 日韩在线观看视频免费 | 96久久 | 亚洲免费在线播放视频 | 91干干干| 正在播放亚洲精品 | 国产成人亚洲在线观看 | 黄色精品一区二区 | 91污污 | 在线免费观看视频你懂的 | 69欧美视频| 亚洲免费视频观看 | 亚洲电影成人 | 亚州日韩中文字幕 | 亚洲成a人片77777潘金莲 | 亚洲免费国产视频 | 不卡av免费在线观看 | 91激情视频在线播放 | 久久激情综合 | 国产成人一区二区三区影院在线 | 久久天天综合网 | 国产a网站| 国产精品欧美久久久久三级 | 人人插人人爱 | 国产自偷自拍 | 国产码电影 | 日韩中文字幕视频在线 | 欧美亚洲久久 | 久久人人爽av | 91免费网站在线观看 | 国产精品九九久久久久久久 | 在线观看免费福利 | 日本精品久久久久中文字幕 | 夜夜夜 | 久久不射电影院 | 午夜婷婷网 | 在线天堂视频 | 99久久精品免费 | 91网址在线 | 六月激情网 | 国产精品黑丝在线观看 | 中文字幕中文 | 色中色亚洲| 久久久免费在线观看 | av在线免费观看不卡 | 久久精品国产精品 | 91探花国产综合在线精品 | 国产99久久久欧美黑人 | 国产手机视频精品 | 激情黄色一级片 | 国产91精品一区二区绿帽 | 国产精品成人免费精品自在线观看 | 久久99精品热在线观看 | 日韩在线免费播放 | 91亚洲精品久久久中文字幕 | 中文在线www | 久久综合九色综合97婷婷女人 | 在线黄色av电影 | 97人人模人人爽人人喊网 | 激情黄色av | 免费观看mv大片高清 | 亚洲成 人精品 | 国产黄色理论片 | 99精品美女 | 在线观看免费 | 久久午夜精品影院一区 | 国产午夜三级一区二区三桃花影视 | 欧美日一级片 | 欧美天天射 | 狠狠精品 | 久久99精品国产91久久来源 | 亚洲国产电影在线观看 | 国产一级视频在线观看 | 午夜精品一区二区三区在线播放 | 日韩欧美在线视频一区二区 | 欧美一级免费黄色片 | 久久精品一二三区白丝高潮 | 免费高清无人区完整版 | 亚洲成人黄| 亚洲国产精品va在线 | 888av | 国产高清视频在线观看 | 欧美一区二区三区在线视频观看 | 久久久久亚洲精品成人网小说 | 99人成在线观看视频 | 五月开心激情 | 狠狠的干狠狠的操 | 日韩 精品 一区 国产 麻豆 | 免费在线观看成人av | 亚洲精品中文字幕在线观看 | 久久不射电影院 | 一区 二区 精品 | 日韩精品一区二区三区高清免费 | 亚洲狠狠丁香婷婷综合久久久 | 久久精品伊人 | 丁香午夜| 综合激情婷婷 | 成年人毛片在线观看 | 免费日韩一区二区三区 | 99久久久国产精品 | 久久一区国产 | 亚洲激情校园春色 | 欧亚日韩精品一区二区在线 | 欧美日韩高清在线 | 色婷婷六月天 | 狠狠操天天操 | 99热在线观看免费 | 色com| 亚洲天堂自拍视频 |