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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

设备模型1

發布時間:2023/12/20 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 设备模型1 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作為開頭篇,我不想寫HELLLOWORLD驅動,甚至字符設備驅動的開發,這樣文章充斥在各大網站上的博客上,隨便搜搜,就可以找到幾百篇。這是最基本的東西,通過這些內容的學習,我們要掌握LINUX驅動的基本要素,比如初始化函數,退初函數,以及去理解簡單的驅動的MAKEFILE的編寫,推薦去看LDD,這方面有比較詳細的敘述。

但是我的理解,即使我們會寫這些東西,對我們的工作也沒有太大的用處,如果你深入去讀LINUX的驅動代碼,就會發現,你還是云里霧里。比如觸摸屏是字符設備,可是怎么我看到的觸摸屏驅動里根本看不到一點字符設備的影子。OHOH...,因此我覺得學習LINUX驅動,要跳出一個圈子,不能把自己局限在某個驅動的編寫上,而應該把重心放在模型或者架構的層次上去掌握它,只有這樣才能更快地深入地理解LINUX驅動的精髓。

因此在看過HELLWORLD或者寫過一個簡單的字符設備驅動之后,應該迅速地去學習LINUX的設備模型,這是我們必須第一個要學習的模型,也是最重要一個模型。如果你不能理解它,你將掉進驅動的泥潭里。

?

學習之前,不要忘記,源碼,源碼!!!在看任何關于LINUX的文章的時候,都要把SOURCEINSIGHT打開,隨時要做好準備去查源碼,源碼是理解任何LINUX驅動的捷徑。

不要忘記這個目錄Documentation,你會有意想不到的發現,這是LINUX開發者留給我們的精華。

?

LINUX設備模型四要素

linux設備模型的抽象是總線、設備、驅動,類。按照這個順序來分析就可以勾勒出linux設備模型。

很多人看設備模型,會選擇直接去學習Kobject、Kset 和Subsystem(在2.6其實也是KSET),進入了個大坑讓人直接對LINUX驅動模型的理解望而生畏。這么復雜的東西,實在太難以理解了。我們是不是可以試著先忽略掉它們,你們是誰呀,我不想知道你們,滾一邊去。

我們先簡單的講一下總線、設備、驅動的關系(類到下一節再來說)。在LINUX驅動的世界里,所有的設備和驅動都是掛在總線上的,也就是總線來管理設備和驅動的,總線知道掛在它上邊的所有驅動和設備的情況,由總線完成驅動和設備的匹配和探測。至于怎么實現,以后再講,現在只要姐的這一點就可以了。讓我們想象以前我們工作碰到的各種總線,I2C,SPI,PCI等等,看來總線也不神秘呀。如果你夠聰明的話,估計你要問,有些設備不是直接連在總線上的呀,LINUX如何管理的呢?比如RTC,那我先告訴你,針對SOC(什么是SOC,自己去BAIDU去)上一些外設,系統已經虛擬了一個PLATFORM總線,更準確的說,是一套PLATFORM總線,設備,驅動, 甚至I2C這些總線也是掛在這個PLARFORM上的。是不是迷糊了? 那就暫時忘記最后半句話。

在我們的腦海中,應該有這個概念,總線上掛著驅動和設備,一個驅動可以管理多個設備,一個設備保存一個對應驅動的信息,一般在初始化的時候,總線先初始化,然后設備先注冊,最后驅動去找設備,完成他們之間的銜接。

我們要不要去寫一個總線驅動呢?可以說99.999999%的人都不需要,系統已經給我們準備好了我們所學要的總線。對于我們來說,就是去學好怎么在系統中添加設備以及相關的驅動就行了。我是沒寫過任何總線的驅動,所以我們看看設備和驅動,回頭再看總線。

?

LINUX設備

在底層,LINUX設備都可以用DEVICE結構的一個實例來表示:

struct device {
?struct device_type?*type;

?structbus_type?*bus;??
?struct device_driver*driver;?
?void??*platform_data;?
?};

在這個節都中還包含著許多其他的結構成員,只是我們現在暫時不考慮,否則又要出現很多個為什么了。我們現在只關心這幾個成員:

1)設備類型

2)設備所掛的總線

3)設備的驅動

4)設備的私有數據

可以看出,描述設備的結構已經把自身和總線以及設備關聯起來,一般情況下,我們也不會這么定義一個設備。為了描述一個設備,常常把設備其他信息和這個結構定義在一起來描述特定的設備。以我們之前提到的虛擬的PLARFORMDEVICE為例:

struct platform_device {
?const char?* name;
?int??id;
?structdevice?dev;
?u32??num_resources;
?struct resource?* resource;

?const structplatform_device_id?*id_entry;

?
?structpdev_archdata?archdata;
};

在我們寫的驅動里,我們常常這么定義一個設備:platform_device?xxx_device,而不是直接device?dev。

在S3C系列中,它所支持的大部分設備都是在common-sdk.c和MACH-SMDK***.C中定義好,在板級初始化的時候通過smdkXXXX_init(void)把設備添加到系統中->調用platform_add_devices。而這個函數platform_add_devices的參數smdk_devs則包含系統了S3C上支持的設備。

//共用的

static struct platform_device __initdata *smdk_devs[] = {
?&s3c_device_nand,
?&smdk_led4,
?&smdk_led5,
?&smdk_led6,
?&smdk_led7,
};

//具體芯片的

static struct platform_device *smdk2410_devices[] __initdata ={
?&s3c_device_ohci,
?&s3c_device_lcd,
?&s3c_device_wdt,
?&s3c_device_i2c0,
?&s3c_device_iis,
};

在MACH-SMDK***.C文件(比如MACH-SMDK2410.C)的最后幾行看看MACHINE_START->smdk2410_init->smdk_machine_init()->platform_add_devices,就這樣完成了板子上主要設備的注冊,掛在PLATFORM總線上了。

關于換個PLATFORMDEVICE,還有一個很關鍵的地方就是該結構一個重要的元素是resource,該元素存入了最為重要的設備資源信息,定義在kernel\include\linux\ioport.h中,
struct resource {
?const char *name;
?unsigned long start, end;
?unsigned long flags;
?struct resource *parent, *sibling, *child;
};
具體可以這么定義:

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,
?}

};
這里定義了兩組resource,它描述了一個LCD設備的資源,第1組描述了這個LCD設備所占用的
總線地址范圍,也就是DATASHEET上LCD控制器的寄存器地址的范圍IORESOURCE_MEM表示第1組描述的是內存類型的資源信息,第2組描述了這個LCD設備的中斷號,IORESOURCE_IRQ表示第2組描述的是中斷資源信息。設備驅動會根據flags來獲取相應的資源信息。

?

設備驅動

在LINUX中,一個設備驅動是以device_driver這個結構描述的(還包含著許多其他的結構成員,只是我們現在暫時不考慮)。

struct device_driver {
?constchar??*name;
?structbus_type??*bus;

?int (*probe) (struct device *dev);
?struct driver_private *p;
};

driver_register用來把去總掛接到總線上。

和DEVICE類似,在寫驅動的時候,我們也會把device_driver 包裝一下,比如platform_driver。

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_driverdriver;
?const structplatform_device_id *id_table;
};

我們定義一個LCD驅動:

static struct platform_driver s3c_fb_driver = {
?.probe??=s3c_fb_probe,
?.remove??=__devexit_p(s3c_fb_remove),
?.id_table?=s3c_fb_driver_ids,
?.driver??={
??.name?="s3c-fb",
??.owner?=THIS_MODULE,
??.pm?=&s3cfb_pm_ops,
?},
};

在模塊初始化的時候,調用platform_driver_register調用driver_register把注冊platform_driver到PLATFORM總線上,去看看platform_driver_register的實現就什么都清楚了。

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;

?returndriver_register(&drv->driver);
}

在一個驅動中,最最重要的一個接口就是probe函數,它負責去獲取對應DEVICE的數據信息,然后初始化這個設備。如果完成這個函數,我們就完成了驅動的大部分工作了。暫時先停住,在具體的驅動分析中,我們再來考慮這個問題。

到目前為止,我們還沒有說清楚這個DEVICE和DRIVER是怎么聯系起來的。正如你想到的,我們要去總線那里去看看,它是設備模型中的管理者嘛,因此把驅動和設備聯系起來,就是它主要的工作了。

?

?

總線

我們直接看代碼,看看總線在系統中是如何表述的:

struct bus_type {
?constchar??*name;
?int (*match)(struct device *dev, structdevice_driver *drv);
?int (*probe)(struct device *dev);
};

name 就是總線的名字,比如PLATFORM,PCI,I2C等等。

對于總線,PLATFORM總線倒是沒有封裝,直接采用下邊方法定義:

struct bus_type platform_bus_type = {
?.name??="platform",
?.match??=platform_match,
?};

?

這條總線在系統初始化的時候通過platform_bus_init來初始化,顯然這個動作應該驅動注冊之前完成。

總線是用MATCH方法來完成驅動和設備的聯系的。當總線上的新設備或者新的驅動程序被添加的時候,會來調用這個函數。如果指定的驅動程序能夠處理指定的設備,干函數就返回非0,去執行驅動的PROBE函數.

?

我們結合驅動的注冊來看看這個過程是什么樣子的?

在驅動初始化函數中調用函數platform_driver_register()注冊platform_driver,需要注意的是
platform_device結構中name元素和platform_driver結構中driver.name必須是相同的,這樣
在platform_driver_register()注冊時會對所有已注冊的所有platform_device中的name和當前注
冊的platform_driver的driver.name進行比較,只有找到相同的名稱的platfomr_device才能注冊
成功,當注冊成功時會調用platform_driver結構元素probe函數指針。

?

platform_driver_register

????driver_register

????????bus_add_driver
???????????driver_attach

??????????????__driver_attach

????????????????driver_match_device

?????如果MATCH成功,測開始PROBE.

????????????????driver_probe_device

?????????????really_probe

??????????dev->bus->probe(dev)

???????dev->probe
platform_driver->probe

?

這樣就直接走到我們驅動PROBE函數中,這個過程很負責,但是對于我們來說只要記住亮點:

1)MATCH的標準: NAME 要相同,或者有的驅動和設備支持ID

2)MATCH成功,我們就轉向驅動的PROBE函數。

?

我們來看一個驅動的PROBE函數:

static int?s3c_fb_probe(struct platform_device*pdev)
{


?struct s3c_fb_driverdata *fbdrv;
?struct device *dev =&pdev->dev;
?struct s3c_fb_platdata *pd;
?struct s3c_fb *sfb;
?struct resource *res;
?int win;
?int ret = 0;

//這個數據是在設備定義的時候定義的,就是我們前面看到的內存,IRQ等資源

?fbdrv = (struct s3c_fb_driverdata*)platform_get_device_id(pdev)->driver_data;

?pd =pdev->dev.platform_data;
?sfb = kzalloc(sizeof(struct s3c_fb),GFP_KERNEL);
?dev_dbg(dev, "allocate new framebuffer %p\n",sfb);

?sfb->dev = dev;
?sfb->pdata = pd;
?sfb->variant =fbdrv->variant;

//獲取時鐘,并且ENABLE它

?sfb->bus_clk = clk_get(dev,"lcd");
?clk_enable(sfb->bus_clk);

//處理來自驅動的資源,記著去ioremap,為什么呢?見下邊。

?res = platform_get_resource(pdev,IORESOURCE_MEM, 0);
?sfb->regs_res =request_mem_region(res->start,resource_size(res),
???????dev_name(dev));
?sfb->regs =ioremap(res->start, resource_size(res));
?res = platform_get_resource(pdev, IORESOURCE_IRQ,0);
?sfb->irq_no =res->start;
?ret = request_irq(sfb->irq_no,s3c_fb_irq,
????0, "s3c_fb", sfb);
?platform_set_drvdata(pdev, sfb);

?

//初始化硬件
?

?pd->setup_gpio();

?writel(pd->vidcon1,sfb->regs + VIDCON1);

?

?for (win = 0; win <fbdrv->variant.nr_windows; win++)
??s3c_fb_clear_win(sfb, win);

?
?for (win = 0; win <(fbdrv->variant.nr_windows - 1); win++) {
??void __iomem *regs =sfb->regs + sfb->variant.keycon;

??regs += (win * 8);
??writel(0xffffff, regs +WKEYCON0);
??writel(0xffffff, regs +WKEYCON1);
?}

?

?for (win = 0; win <fbdrv->variant.nr_windows; win++) {
??if(!pd->win[win])
???continue;

??if(!pd->win[win]->win_mode.pixclock)
???s3c_fb_missing_pixclock(&pd->win[win]->win_mode);

??ret = s3c_fb_probe_win(sfb,win, fbdrv->win[win],
??????????&sfb->windows[win]);
??if (ret < 0){
???dev_err(dev,"failed to create window %d\n", win);
???for (; win>= 0; win--)
????s3c_fb_release_win(sfb,sfb->windows[win]);
???gotoerr_irq;
??}
?}

?platform_set_drvdata(pdev, sfb);
?pm_runtime_put_sync(sfb->dev);

?return 0;

//出錯處理

?return ret;
}

這里說明一下如何獲取資源的:

當進入probe函數后,需要獲取設備的資源信息,獲取資源的函數有:
struct resource * platform_get_resource(struct platform_device*dev, unsigned int type, unsigned int num);
根據參數type所指定類型,例如IORESOURCE_MEM,來獲取指定的資源。
struct int platform_get_irq(struct platform_device *dev, unsignedint num);
獲取資源中的中斷號。
struct resource * platform_get_resource_byname(structplatform_device *dev, unsigned int type, char *name);
根據參數name所指定的名稱,來獲取指定的資源。
int platform_get_irq_byname(struct platform_device *dev, char*name);
根據參數name所指定的名稱,來獲取資源中的中斷號。

ioremap是用來把資源中定義的物理地址轉換成內核虛擬地址的,我們的代碼中用到的地址是虛擬地址,必須做這樣的轉換喲。還有一種靜態的轉換方法,我們以后再來看。

在ioremap之后,我們就可以讀寫外設的寄存器了,比如控制寄存器,狀態寄存器,數據寄存器等等,這樣就可以操作外圍設備了。

?

當然,還有一些其他東西沒有提,對應各種注冊,添加函數,同樣存在注銷,移除等函數,基本就是做相反的操作,只要稍微看看就行了。

?

上邊的例子是以PLATFORM 的總線,設備和驅動來講的,其實I2C等等總線以及設備也采取的是大致的流程。


總結

以上是生活随笔為你收集整理的设备模型1的全部內容,希望文章能夠幫你解決所遇到的問題。

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

在线日韩视频 | 亚洲精品合集 | 国产成人久久av免费高清密臂 | 国产69精品久久99不卡的观看体验 | 国产一区二区久久久久 | av亚洲产国偷v产偷v自拍小说 | 久久伊99综合婷婷久久伊 | 久久国产精品一区二区 | 欧美资源 | 波多野结衣在线观看视频 | 夜夜爽88888免费视频4848 | av网址最新| 色婷婷啪啪免费在线电影观看 | 国产69精品久久99不卡的观看体验 | 久久久激情网 | a黄色一级片 | 亚洲精品国产日韩 | 国产精品丝袜在线 | 久久亚洲在线 | 九九热免费精品视频 | 午夜精品福利一区二区 | 91精品国自产在线观看欧美 | 欧美日韩性视频 | 国产精品高潮呻吟久久av无 | 久精品在线 | 麻豆免费视频观看 | 黄a网站 | 日本久久免费视频 | 久久精品电影 | 亚洲精品自拍视频在线观看 | a极黄色片 | 99精品热视频只有精品10 | 成年人在线观看免费视频 | 最新中文字幕在线播放 | 天天综合网久久综合网 | 中文字幕一区二区三区视频 | 深夜福利视频一区二区 | 探花在线观看 | 中文字幕在线日 | 麻豆视频入口 | 免费观看视频的网站 | 日韩av五月天 | 一区二区激情 | 91av视频免费在线观看 | 免费看一级特黄a大片 | 麻豆国产精品va在线观看不卡 | 五月婷婷在线视频观看 | 中文字幕av在线免费 | 日韩综合第一页 | 狠狠激情中文字幕 | 黄色av电影在线观看 | 亚洲精品午夜国产va久久成人 | 欧美一区二区三区在线视频观看 | 91丨九色丨91啦蝌蚪老版 | 欧美一区二区日韩一区二区 | 91在线免费视频观看 | 国产精品 中文字幕 亚洲 欧美 | 日本三级吹潮在线 | 国产免费叼嘿网站免费 | 黄色在线观看网站 | 欧美另类一二三四区 | 激情文学综合丁香 | 欧美激情第八页 | 国产成人av在线影院 | 久草在线高清视频 | 最新av在线网站 | 欧美激情视频久久 | 视频二区在线 | 国产资源免费在线观看 | 成人久久毛片 | 色综久久 | 国产精品99久久免费黑人 | 国产第页 | 91精品国产91久久久久久三级 | 日本三级不卡视频 | 久久精品观看 | 日韩影视在线 | 激情综合五月天 | 蜜臀av夜夜澡人人爽人人桃色 | 日韩视 | 久草视频国产 | 久久久精品 | 成人97视频 | 国产精品毛片久久久久久久久久99999999 | 亚洲一区二区视频在线播放 | 五月婷婷狠狠 | 久久免费视频在线观看30 | 色五婷婷| 四虎成人在线 | 精品久久网| 色香天天 | 六月久久婷婷 | 久久久久www| 欧美在线视频a | 久久免费国产电影 | 成人午夜电影久久影院 | 欧美在线观看视频免费 | 久久国产香蕉视频 | 激情欧美一区二区免费视频 | www日韩| 国产精品日韩在线播放 | 97成人精品视频在线观看 | 黄色毛片视频免费观看中文 | 日韩av在线高清 | 首页av在线 | 在线看国产精品 | 国产成人精品久久二区二区 | 91中文字幕在线 | 中文字幕中文字幕在线中文字幕三区 | 色偷偷av男人天堂 | 久久久久综合 | av在线网站免费观看 | 国产在线播放观看 | 久久久久久久久网站 | 99精品国产高清在线观看 | 久久99亚洲网美利坚合众国 | 国产精品你懂的在线观看 | 日韩精品一区二区免费视频 | 国产色区 | 国产色 在线| 九九热久久免费视频 | 97在线视频免费观看 | 大荫蒂欧美视频另类xxxx | 97成人超碰 | 国产不卡毛片 | 在线99 | 亚洲日本一区二区在线 | 五月婷婷影视 | 成人黄色电影在线播放 | 91精品国自产在线偷拍蜜桃 | 在线免费av电影 | 国产精品电影一区二区 | a√国产免费a| 亚洲观看黄色网 | 97色噜噜 | 久久久久久蜜av免费网站 | 久草视频免费 | 黄污在线观看 | 亚州国产精品 | 人人艹人人 | 在线三级av| 国色天香av| 欧美在线视频日韩 | 久久 亚洲视频 | 国产96精品 | 久久99精品国产 | 午夜黄色大片 | 久久久久久国产精品久久 | 91亚洲精品乱码久久久久久蜜桃 | 色婷婷色| 国产一区二区在线影院 | 密桃av在线 | 久草在线视频在线观看 | 久久精品99久久 | 超碰夜夜 | www.97色.com| 欧美成人精品xxx | 精品一区二区在线播放 | 久久精品www人人爽人人 | a级国产乱理伦片在线播放 久久久久国产精品一区 | 日韩成人av在线 | 91精品国产自产91精品 | 国产精品久久久久久久久久免费看 | 亚洲最新av网站 | 中文字幕成人 | 五月天婷婷免费视频 | 日韩中文在线观看 | 四虎在线影视 | 国产在线理论片 | 久久精品久久综合 | 美女视频黄的免费的 | 日韩av影视在线观看 | 色婷婷av一区二 | 中文字幕一区二区三区久久蜜桃 | a√天堂中文在线 | 午夜精品久久久久久久爽 | 国产精品久久嫩一区二区免费 | 欧美精品乱码99久久影院 | 久香蕉 | 亚洲资源在线 | 亚洲成人黄色av | 国产在线国产 | 欧美韩国日本在线观看 | 狠狠的日 | 丁香综合激情 | 亚洲综合最新在线 | 久久久穴 | 狠狠伊人 | 狠狠色综合网站久久久久久久 | 九九久久影视 | 欧美一级久久久久 | 色播激情五月 | www.狠狠操| 福利视频网站 | 国产精品成人一区二区三区吃奶 | 久久久久色 | 久久久久高清毛片一级 | 99在线免费视频 | japanese黑人亚洲人4k | 国产一区二区视频在线播放 | 国内外成人在线 | 91香蕉视频好色先生 | 欧美日在线| 91精品入口 | 天天插日日操 | 91免费黄视频| 日本久久久精品视频 | 97看片网| 亚洲精品午夜久久久久久久久久久 | 国产三级av在线 | 国产精品日韩欧美一区二区 | 国产精品综合久久久久久 | 日韩中文在线播放 | 在线精品亚洲一区二区 | 国产在线免费 | 日韩黄色免费 | 国产无遮挡又黄又爽馒头漫画 | 在线黄色免费av | 国产精品自产拍在线观看中文 | 在线观看片 | 中文一区在线观看 | 国产精品福利在线播放 | 亚洲人成影院在线 | 国产精品久久久久久婷婷天堂 | 狠狠狠色 | 欧美亚洲成人xxx | 日韩一二区在线观看 | 亚洲日本欧美在线 | 激情五月婷婷网 | 久久国语 | 色视频成人在线观看免 | 欧美日韩高清免费 | 日韩在线视频线视频免费网站 | 国产精品久久久久久久久久久久午夜 | 亚洲欧美日韩精品一区二区 | 国产精品青草综合久久久久99 | 亚洲视频 中文字幕 | 91中文字幕在线观看 | 久久免费激情视频 | 欧美激情精品久久 | 成人国产精品入口 | 97超碰资源网 | 在线观看亚洲免费视频 | 激情五月色播五月 | 欧美日韩高清免费 | 国产精品久久久久久吹潮天美传媒 | 亚洲天天在线日亚洲洲精 | 色综合狠狠干 | 日本三级大片 | 亚洲欧美日韩国产一区二区三区 | 久久免费大片 | 91亚洲欧美 | 91亚洲国产成人 | 午夜美女网站 | 欧美成人精品欧美一级乱 | 久久久亚洲精华液 | 亚洲极色 | 日韩午夜在线 | 亚欧洲精品视频在线观看 | 国产成人精品亚洲精品 | 国产精品视频免费 | 操一草| 国产精品18久久久久久首页狼 | 国产不卡在线 | 欧美在线视频不卡 | 国产成人一区在线 | 国产一级黄色免费看 | 婷婷五月在线视频 | 欧美 日韩 国产 成人 在线 | 高清色免费 | 五月婷婷亚洲 | 亚洲欧美偷拍另类 | 在线观看视频免费播放 | 免费久久网 | 九九综合在线 | 国产一区二区手机在线观看 | av在线影视| 免费黄色小网站 | 91在线观看高清 | 欧美在线观看视频一区二区三区 | 91精品视频免费观看 | 五月婷婷伊人网 | www.天天综合 | 亚洲专区在线视频 | 欧美激情视频一区二区三区 | 51久久成人国产精品麻豆 | 国产精品第72页 | 国产精品99久久久久 | 亚洲免费视频观看 | 国产69精品久久99的直播节目 | 麻豆久久久久 | 中文字幕精品一区久久久久 | 亚洲 综合 激情 | 欧美视频日韩 | 亚洲欧美成人网 | 高清一区二区三区 | 亚洲精品小区久久久久久 | 一区二区三区 亚洲 | 97夜夜澡人人双人人人喊 | 国产精品麻豆99久久久久久 | 久久一区二区三区超碰国产精品 | 91视频 - v11av| 色www免费视频 | 久久久69 | 91精品在线免费观看视频 | 六月激情丁香 | www.天天干.com | 日韩伦理一区二区三区av在线 | 久久女教师 | 波多野结衣视频一区二区 | 日韩一级黄色av | 欧美不卡视频在线 | 国产午夜精品理论片在线 | 91精品久久久久久久久久久久久 | 精品一二三四五区 | 婷婷丁香激情网 | 黄色亚洲片| 天天草天天干天天射 | 中文字幕在线观看一区二区三区 | 国产亚洲视频在线免费观看 | www.五月婷 | 国产明星视频三级a三级点| 91pony九色丨交换 | 久久电影网站中文字幕 | 婷婷99| 草久电影| 九色91福利| 97国产精品久久 | 黄色成年| 免费观看完整版无人区 | 久久亚洲国产精品 | www五月天com | 激情五月激情综合网 | 91看片淫黄大片在线播放 | 免费看日韩片 | 成人午夜性影院 | 国产综合精品一区二区三区 | 在线观看一级片 | 草久在线 | 天天舔天天搞 | 亚洲免费公开视频 | 日韩在线第一 | 色综合久久天天 | 色欧美成人精品a∨在线观看 | 欧美日韩有码 | 欧美一区二区在线免费看 | 一区二区三区四区精品视频 | 日本精品一区二区三区在线播放视频 | 亚洲一区美女视频在线观看免费 | 最近中文字幕高清字幕在线视频 | 国内精品在线一区 | av免费片 | 亚洲人成精品久久久久 | 日本黄色黄网站 | 波多野结衣电影一区 | 亚洲影视九九影院在线观看 | 国产 在线观看 | 国产精品成人在线 | 欧美中文字幕第一页 | av高清免费在线 | a级一a一级在线观看 | 亚洲国产一区二区精品专区 | 国产色爽 | 91香蕉久久 | 国产精品99久久久久久人免费 | www91在线观看 | 国产精品免费视频网站 | 天天做天天爽 | 99久久精品久久久久久清纯 | 午夜成人免费影院 | 最近日本韩国中文字幕 | 国产视频2区 | 亚洲综合色激情五月 | 97精品国自产拍在线观看 | 国产黄色在线网站 | 日韩中文字幕免费电影 | 欧美亚洲另类在线视频 | 免费韩国av | 国产精品电影一区二区 | 在线观看黄色免费视频 | av大全在线播放 | 四虎影视精品永久在线观看 | 亚洲电影一级黄 | 国产不卡免费av | 亚洲性少妇性猛交wwww乱大交 | 九色精品免费永久在线 | 91一区啪爱嗯打偷拍欧美 | 欧美国产不卡 | 亚洲视频一 | www.日本色 | 国产精品免费av | 久久久免费毛片 | 三级av免费看 | 午夜精品视频免费在线观看 | 亚洲韩国一区二区三区 | 亚洲成人av电影在线 | 国产成人在线观看 | 人人射人人澡 | 在线久久 | 国产一区在线观看视频 | 国产精品电影在线 | 免费亚洲视频在线观看 | 成人91视频 | 国产欧美三级 | 九九久久视频 | 日韩网站在线看片你懂的 | 夜夜躁日日躁狠狠躁 | 2023年中文无字幕文字 | 日韩一级电影在线 | 美女在线观看网站 | 久久久久久久久久久久久国产精品 | 久久只精品99品免费久23小说 | 国产黄色看片 | 国产一区二区三区免费在线观看 | 丁香六月国产 | 日本韩国精品一区二区在线观看 | 午夜精品一区二区三区在线视频 | 激情视频久久 | 97电影网站 | 天堂激情网 | 最近免费中文字幕 | 国产.精品.日韩.另类.中文.在线.播放 | 精品国产免费一区二区三区五区 | 久久亚洲影视 | 久久久久国产视频 | 久久草草热国产精品直播 | 成人av观看| 97狠狠操| 嫩草91影院| 香蕉免费在线 | 97超视频 | 日韩精品一区二区免费视频 | 国产视频丨精品|在线观看 国产精品久久久久久久久久久久午夜 | 精品美女国产在线 | 国产麻豆电影在线观看 | 最新日本中文字幕 | 亚洲午夜久久久综合37日本 | sesese图片| 97av影院| 成人午夜电影在线 | 91传媒激情理伦片 | 国内99视频 | 日本中文在线 | 欧美视频日韩视频 | 中文字幕免| 欧美了一区在线观看 | 国产精品免费观看网站 | 国产一区在线观看免费 | 久久小视频 | 国产视频99 | 在线小视频国产 | 日韩理论片在线 | 日日干美女 | 美国人与动物xxxx | 日韩在线免费电影 | 成人在线视频观看 | 亚洲视频一 | 欧美做受69 | 欧美日韩性视频在线 | wwxxxx日本 | 亚洲男男gaygayxxxgv | 中文字幕久久久精品 | 欧美精品免费在线观看 | 四川妇女搡bbbb搡bbbb搡 | 久久精品久久精品久久39 | 国产亚洲成av片在线观看 | 国产精品av免费在线观看 | 天天干天天草 | 亚洲激情国产精品 | 国产精品涩涩屋www在线观看 | 四虎www | 亚洲视频 中文字幕 | 欧美日韩高清在线一区 | av超碰在线| 久在线 | 亚洲精品视频在 | 人人干人人草 | 久草在线视频首页 | 999久久国产 | 网站免费黄 | 免费在线观看黄网站 | 午夜在线免费观看 | 曰本三级在线 | 玖玖视频国产 | av网站手机在线观看 | 深夜免费福利 | 日韩在线观看一区二区三区 | 毛片一级免费一级 | 欧美日韩在线视频观看 | 久久tv视频 | 国产视频一区二区在线播放 | 色婷婷激情五月 | 免费观看一级一片 | 免费看国产曰批40分钟 | 久久精品视频在线播放 | 国产精品99免视看9 国产精品毛片一区视频 | 伊人久操 | 91成人看片 | 国产在线观看不卡 | 免费黄色网址大全 | 久久亚洲二区 | 久久黄色免费视频 | 久久久高清一区二区三区 | 免费黄色看片 | 女人高潮特级毛片 | 欧美一级特黄高清视频 | 精品成人在线 | 99精品欧美一区二区 | 亚洲日本黄色 | 91精品久久久久久久久久入口 | 精品天堂av | 亚洲视频免费在线观看 | 在线免费视频一区 | 成人av高清| 亚洲在线资源 | 亚洲免费色 | 欧美另类xxx | 国产一级二级av | 国产亚洲激情视频在线 | 日韩精品久久一区二区 | 九九热中文字幕 | 久久人人看| 97麻豆视频| 国产精品视频永久免费播放 | 国产精品成人久久久久 | 国产精品黄色 | www.xxx.性狂虐 | 欧美在线观看禁18 | 国产一区二区精 | 五月婷婷六月综合 | 日韩欧美91 | 在线免费性生活片 | 三级动态视频在线观看 | 91丝袜美腿 | 久久综合九色综合网站 | 在线蜜桃视频 | 久草久草久草久草 | 欧洲不卡av | 免费视频你懂的 | 久久精彩免费视频 | 日韩欧美aaa| 亚洲国产精品传媒在线观看 | 六月丁香综合 | 亚洲精品黄色片 | 中文字幕在线播放第一页 | 国产视频一区二区在线 | 色婷婷狠狠干 | 久久久免费观看 | 91成人免费视频 | 久草网视频在线观看 | www.天天综合 | 91香蕉久久| 久久综合狠狠综合久久狠狠色综合 | 日韩精品在线视频免费观看 | 精品久久久久久久久久久久久久久久久久 | 在线看的毛片 | 91免费版成人 | 亚一亚二国产专区 | 99热99 | 久草在线综合网 | 麻花天美星空视频 | 久久精品亚洲国产 | 亚洲九九九在线观看 | 精品成人网| 又黄又爽又湿又无遮挡的在线视频 | 六月丁香激情网 | 美女久久久久久久久久久 | 婷婷亚洲最大 | 久久精品国产精品亚洲精品 | 豆豆色资源网xfplay | 久草在线免费看视频 | 欧美激情精品 | 中文字幕在线观看视频一区二区三区 | 亚洲一区免费在线 | 日韩影视在线观看 | 成人免费观看电影 | 国产女人免费看a级丨片 | 亚洲精品黄色在线观看 | 精品一区二区6 | 精品视频久久久 | 免费精品久久久 | 青草草在线 | 麻豆传媒电影在线观看 | 中文字幕在线播放第一页 | 美女视频网站久久 | 天天玩天天干天天操 | 粉嫩一区二区三区粉嫩91 | 中文字幕二区三区 | 日韩区欠美精品av视频 | 精品久久久久国产 | 日韩视频免费观看高清完整版在线 | 日韩欧美一区二区三区在线 | 久久免费视频网站 | 久久亚洲热 | 国内精品久久久久影院优 | 亚洲综合视频在线观看 | 免费看搞黄视频网站 | 久久久免费观看视频 | 97av.com | 日韩一级理论片 | 日韩久久精品一区二区三区 | 丁香六月色 | 看污网站| 国产精品a久久久久 | 一区二区三区高清在线 | 日本性xxx | 久久毛片网站 | 国偷自产视频一区二区久 | 日本久久综合视频 | 日韩免费电影网 | 十八岁免进欧美 | 国产a级精品 | 亚洲精品乱码久久久久久 | 国产丝袜制服在线 | 久久99热这里只有精品 | 999久久久精品视频 日韩高清www | 国产伦理精品一区二区 | 国产最顶级的黄色片在线免费观看 | 日韩中文久久 | 日韩3区| 亚洲精品视频在线观看免费视频 | 精品一区二区亚洲 | 亚洲男男gaygay无套 | 9999激情| 97av在线视频免费播放 | 超碰人在线 | 国产男女无遮挡猛进猛出在线观看 | 国产精品一区二区av日韩在线 | 亚洲高清视频一区二区三区 | 91探花在线 | 99热超碰| 中文字幕在线观看第二页 | av黄色av| 日韩精品电影在线播放 | 日韩国产欧美在线视频 | 欧美成人手机版 | 欧美午夜久久 | 欧美日本不卡视频 | 久久久精品一区二区三区 | 中文字幕在线资源 | 久久97久久97精品免视看 | 中文字幕第一页在线视频 | 日本爱爱免费视频 | 久久一区二区三区超碰国产精品 | 婷婷深爱网 | 午夜精品一区二区三区免费视频 | 国产99久久九九精品免费 | 日韩精品一区二区三区在线播放 | 国语久久| www.com.黄| 亚洲精品久久久久久国 | 日韩精品一区二区三区在线播放 | 在线观看免费一级片 | 国内精品久久久久久久久久久久 | 国产成人精品一区二区三区免费 | 月下香电影 | 狠狠躁夜夜av | 九九视频精品在线 | 色婷婷综合久久久久中文字幕1 | 亚洲性xxxx | av成人免费观看 | 91免费视频网站在线观看 | 在线观看中文字幕一区二区 | 伊人天天狠天天添日日拍 | 麻豆国产网站 | 中文字幕精品一区 | 一区二区精品视频 | 欧美 亚洲 另类 激情 另类 | 人人爱爱人人 | 国产精品a成v人在线播放 | 亚洲japanese制服美女 | 中文字幕五区 | 在线免费中文字幕 | 一本一本久久a久久精品牛牛影视 | 就要干b| 伊人资源站 | 国产精品mm | 蜜桃视频成人在线观看 | 欧美在线视频一区二区三区 | 四虎www com | 亚洲女同ⅹxx女同tv | 免费看色网站 | 日韩在线二区 | 粉嫩av一区二区三区入口 | 国产一区精品在线 | 久久公开视频 | 人人插人人玩 | 国产麻豆果冻传媒在线观看 | 久久人人97超碰com | 中文字幕在线看视频国产中文版 | 九九三级毛片 | 日韩欧美一区二区不卡 | 黄色一级影院 | av日韩精品| 91av视频在线播放 | 丁香资源影视免费观看 | 手机成人av | 久久激情五月丁香伊人 | 午夜av一区二区三区 | 亚洲清纯国产 | 成人精品福利 | 黄色av电影一级片 | 日韩欧美成| 免费看毛片网站 | 国模精品在线 | 911国产在线观看 | 97超级碰碰碰碰久久久久 | 啪啪小视频网站 | 国产免费观看视频 | 丁香激情综合 | 婷婷视频在线观看 | 中文字幕av全部资源www中文字幕在线观看 | 亚洲欧美日韩精品久久久 | 麻豆91精品| 91精品国产自产在线观看 | 在线免费观看黄色av | 在线观看a视频 | 久久免费视频在线 | .国产精品成人自产拍在线观看6 | 91精品蜜桃| 久久激情五月婷婷 | 美女网站视频一区 | 欧美国产不卡 | 色综合久久久久久中文网 | 国产手机视频 | 狠狠色丁香婷婷综合 | 久久久久久国产精品999 | av电影免费 | 久久免费a| 中文av字幕在线观看 | 日韩精品一区二区三区中文字幕 | 深爱开心激情 | 国产一级黄色av | 国产亚洲精品日韩在线tv黄 | 日韩欧美精品在线 | aⅴ视频在线| 欧美色综合 | 国产日本高清 | 中文字幕一区二区三区在线视频 | 免费视频二区 | 亚洲天堂社区 | 久久久久高清毛片一级 | 91精品国产入口 | 99九九99九九九视频精品 | 日日夜夜干 | 欧美中文字幕久久 | 国产91精品一区二区 | 亚洲精品玖玖玖av在线看 | 欧美日韩高清一区二区三区 | 一区二区三区高清 | 久久综合网色—综合色88 | 久久99婷婷 | 天天操天天拍 | 欧美人交a欧美精品 | 欧美性生活一级片 | 久久久国产一区二区三区四区小说 | 在线黄色国产电影 | 天堂在线一区二区三区 | 在线免费性生活片 | av短片在线观看 | 精品高清视频 | 黄色三级网站 | 国产成人综合精品 | 欧美在线视频不卡 | 亚洲精品视频在线观看视频 | 制服丝袜成人在线 | 日韩欧美在线观看一区 | 91精品一区在线观看 | 国产日韩av在线 | 久久午夜羞羞影院 | 日韩免费一区二区在线观看 | 久久久久久不卡 | 国产精品一区二区在线看 | 中文字幕在线精品 | 国模一二三区 | 天天拍天天干 | 大片网站久久 | 国产欧美日韩视频 | 成年人视频免费在线播放 | 国产精品久久久久久久av电影 | 中文字幕高清在线播放 | 久久久国产精品一区二区中文 | 久久激情视频 久久 | av不卡中文 | 国产丝袜 | 国产精品久久久久免费观看 | 日韩成人在线一区二区 | 四虎影视精品永久在线观看 | 日韩在线视频免费播放 | 激情综合网天天干 | 九九有精品 | 日本黄色大片儿 | 久久久久久久久久网站 | 天天射天 | 日本中文乱码卡一卡二新区 | 国产精品18久久久久久久网站 | 黄色天堂在线观看 | 午夜精品久久久 | 午夜精品久久久久久中宇69 | www.天天草 | 三级黄色在线观看 | 国产91精品一区二区麻豆网站 | 午夜av免费观看 | 国产五月婷 | 在线国产高清 | 国产美女搞久久 | 免费在线观看成人小视频 | 婷婷久久久 | 国产精品福利在线观看 | 亚洲a成人v| 西西444www| 国产又粗又硬又长又爽的视频 | 天天色欧美| 在线国产小视频 | 五月激情综合婷婷 | 视频在线观看入口黄最新永久免费国产 | 亚洲a成人v| 久久久色| 久久久免费 | 天天色天天艹 | 99热手机在线观看 | 婷婷色视频 | 国产亚洲激情视频在线 | 国产中文伊人 | 香蕉一区 | 久草在线观看 | 久久久久女人精品毛片九一 | 九九免费在线看完整版 | 视频在线观看入口黄最新永久免费国产 | 91av影视| 午夜在线观看影院 | 成人影片在线播放 | 久久a久久 | 欧美日韩免费一区 | 成人一区二区三区在线观看 | 国产成人精品福利 | 日韩一二区在线观看 | 久草资源在线 | 免费看三级网站 | 玖玖爱在线观看 | 免费观看av | 久久精品日产第一区二区三区乱码 | 日日夜夜噜 | 天天综合网久久综合网 | 天天艹天天操 | 国产精品一区二区三区四区在线观看 | 一级性av| 欧美日韩另类视频 | 亚洲开心激情 | 日日操天天操狠狠操 | 在线观看小视频 | 亚洲精品一区中文字幕乱码 | 久亚洲 | 99欧美精品| bbw av| 亚洲国产大片 | 国产中文欧美日韩在线 | 在线视频观看国产 | 午夜精品电影一区二区在线 | av在线电影免费观看 | 久久久久久久99 | av解说在线观看 | 91日韩免费| 日日干影院| 青青河边草手机免费 | 久久综合之合合综合久久 | 欧美资源在线观看 | 色噜噜日韩精品欧美一区二区 | 久久久久久99精品 | 伊人午夜 | 男女激情免费网站 | 中文字幕在线观看第一区 | 亚洲少妇xxxx | 欧美精品一二 | 日日狠狠 | 色.www | 黄色精品网站 | 久久亚洲热 | 国产黄大片在线观看 | 午夜电影 电影 | av免费观看在线 | 久日视频 | 久久精品影片 | 九七视频在线观看 | 免费国产在线视频 | 日本黄色免费播放 | 97成人在线免费视频 | 久久精品国产免费 | 久久久免费看 | 免费看成人a| 黄色av一级 | 国产精品国产三级国产专区53 | 521色香蕉网站在线观看 | 高清精品视频 | 久草视频在线资源 | 天天想夜夜操 | 日韩av午夜 | 久久www免费人成看片高清 | 国产成人黄色网址 | 成人免费在线播放视频 | a在线观看免费视频 | 久久99久久精品国产 | 在线a人片免费观看视频 | 免费69视频 | 国产护士hd高朝护士1 | 国产成人一区二区三区久久精品 | 国产乱对白刺激视频不卡 | 中文字幕在线专区 | 五月天伊人| 精品久久久久久久久久久久久久久久久久 | 日韩日韩日韩日韩 | 992tv成人免费看片 | 久久精品欧美一区 | 亚洲精品大片www | 日韩欧美xxxx | 香蕉视频最新网址 | 高清av在线免费观看 | 亚洲精品自拍视频在线观看 | 精品91视频 | av在线一| 国内精品福利视频 | 久久久久久毛片 | 国产日韩欧美在线观看 | 久久国产精品小视频 | 亚洲最快最全在线视频 | 国产一区二区三区黄 | 国产精品h在线观看 | 精品国产免费一区二区三区五区 | 亚洲亚洲精品在线观看 | 成人观看视频 | 在线观看av网 | 亚洲自拍偷拍色图 | 玖玖在线看| 在线视频欧美精品 | 欧美日韩在线视频免费 | 成人免费在线视频 | 亚洲精品国产综合99久久夜夜嗨 | 91av在线国产 | 亚洲丝袜中文 | 婷婷亚洲五月 | 天天射天天干天天操 | 91成年人视频 | av在线最新| 黄色影院在线免费观看 | av电影免费观看 | 久久99国产综合精品免费 | 久久国产精品一区二区三区 | 免费看麻豆 | 激情综合啪 | 色综合久久综合中文综合网 | 97偷拍在线视频 | 激情导航 | 国产精品国产三级国产不产一地 | 丝袜美腿亚洲综合 | 日本特黄特色aaa大片免费 | 欧美日韩成人 | 99国产成+人+综合+亚洲 欧美 | 狠狠的日日 | 97色资源| 亚洲一区二区三区在线看 | 亚洲影音先锋 | www婷婷| 午夜久久久久久久久久影院 | 日日日日日 | 久久久久国产精品一区 | 天天天干天天射天天天操 | 三级黄色a | www.五月天婷婷.com | 98超碰在线 | 亚洲精品一区二区网址 | 国产精品ⅴa有声小说 | 91视频免费播放 | 国产 日韩 欧美 在线 | 涩涩网站在线看 | 91成版人在线观看入口 | 成人蜜桃 | 成人av片免费看 | 男女激情麻豆 | 波多野结衣在线播放一区 | 精品人妖videos欧美人妖 | 欧美一级电影免费观看 | 国产精品久久99综合免费观看尤物 | 国产黄色观看 | 色www.| 91视频首页| 超碰人人草 | 亚洲日本三级 | 免费在线观看a v | 国产欧美在线一区 | 国产黄色在线网站 | 成人黄色小说网 | 国产免费一区二区三区网站免费 | 天天拍夜夜拍 | 午夜av大片| 成人欧美一区二区三区在线观看 | 日韩黄色网络 | 成人午夜久久 | 99视频在线精品免费观看2 |