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

歡迎訪問 生活随笔!

生活随笔

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

linux

linux usb ga驱动详解,Linux设备驱动之内存映射

發布時間:2023/12/19 linux 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux usb ga驱动详解,Linux设备驱动之内存映射 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 內存映射

所謂的內存映射就是把物理內存映射到進程的地址空間之內,這些應用程序就可以直接使用輸入輸出的地址空間,從而提高讀寫的效率。Linux提供了mmap()函數,用來映射物理內存。

在驅動程序中,應用程序以設備文件為對象,調用mmap()函數,內核進行內存映射的準備工作,生成vm_area_struct結構體,然后調用設備驅動程序中定義的mmap函數。

2. 映射的種類

把同一個物理地址映射為虛擬地址有兩種方法,第一種是mmap()函數將物理地址映射到進程的虛擬地址空間中去,第二種方法為ioremap()函數映射到內核虛擬地址上的方法。

應用程序中的mmap函數:

void *mmap(void *start,size_t length,int prot,int flags,int fd,off_t offset);

start 映射到進程空間的虛擬地址

length 映射空間的大小

prot 映射到內存的讀寫權限

flags flags可取MAP_SHARED,MAP_PRIVATE,MAP_FIXED,如果是MAP_SHARED,此進程對映射空間的內容修改會影響到其它的進程,即對其它的進程可見,而MAP_PRIVATE,此進程修改的內容對其它的進程不可見

fd? 要映射文件的文件標識符

offset 映射文件的位置,一般從頭開始。而在設備文件中,表示映射物理地址的起始地址

設備驅動程序的mmap函數:

int mmap(struct file*filp,struct vm_area_struct *vma);

首先調用應用程序的mmap函數,然后內核進行適當處理之后,進行相應的內存映射,即生成vm_area_struct結構體,然后傳遞給設備驅動程序的mmap函數。

關于vma中的一些參數說明:

(1)unsigned long vm_start 映射到進程空間的起始地址

(2)unsigned long vm_end?? 映射到進程空間的結束地址

(3)unsigned long vm_flags? 即包含在應用程序中mmap中的flags值,如VM_READ,VM_WRITE,VM_SHARED,VM_EXEC

(4)unsigned long vm_pgoff 映射到物理內存的偏移量

mmap映射的方法:

有兩種方法建立頁表,一次性建立頁表,可以調用函數remap_pfn_range和每次建立一個頁的頁表,調用函數nopage。

remap_pfn_range:

這個函數的功能是一次性建立新的頁表去映射物理地址。

int remap_pfn_range(struct vma_area_struct* vma,unsigned long virt_addr,unsigned long pfn,unsigned long size,pgprot_t prot);

返回值:映射成功時返回0,否則返回一個錯誤的負數代碼。

vma 物理地址被映射到的虛擬內存區域

virt_addr 被映射到進程空間的起始虛擬地址。頁表建立的范圍在virt_addr到virt_addr+size

pfn 對應物理地址的頁框號,一般是vma->vm_pgoff域。

size 被映射區域的字節大小

prot? vma->vm_page_prot

nopage:

struct page *(*nopage) (struct vm_area_struct *vma,unsigned long address,int *type);

vm_area_struct:虛擬內存區域

address:發生page fault的進程空間的虛擬地址

type? page fault的處理類型

get_page(struct page* pageptr);

增加被映射頁的使用次數。

3. remap_pfn_range與nopage的區別

(1)remap_pfn_range一次性建立頁表,而nopage通過缺頁中斷找到內核虛擬地址,然后通過內核虛擬地址找到對應的物理頁

(2)remap_pfn_range函數只對保留頁和物理內存之外的物理地址映射,而對常規RAM,remap_pfn_range函數不能映射,而nopage函數可以映射常規的RAM。

4. 例子

下面的例子分別采用remap_pfn_range與nopage建立內存映射

驅動程序memap.c:

#include #include #include #include #include #include #include #include #include #include #include #include #include #define SHARE_MEM_COUNT 4

#define SHARE_MEM_SIZE (PAGE_SIZE*SHARE_MEM_COUNT)

MODULE_LICENSE("GPL");

static char* reserve_virt_addr;

static int major;

char* share_memory=NULL;

int mmapdrv_open(struct inode*,struct file* filp); //驅動程序的open函數

int mmapdrv_release(struct inode*,struct file* filp);//驅動程序的release函數

int mmapdrv_mmap(struct file* file,struct vm_area_struct*vma);//驅動程序中的mmap函數

void simple_vma_open(struct vm_area_struct* vma );//vm_operations_struct對vma(虛擬內存區域)打開函數

void simple_vma_close(struct vm_area_struct *vma);//vma的關閉函數

struct page* simple_vma_nopage(struct vm_area_struct* vma,unsigned long address,int *type);//nopage映射

struct page* simple_vma_nopage1(struct vm_area_struct* vma,unsigned long address,int *type);

static int simple_nopage_mmap(struct file* filp,struct vm_area_struct *vma);//驅動程序中的mmap與上面的mmap可選擇其一

static struct file_operations mmapdrv_fops={

owner:THIS_MODULE,

mmap:simple_nopage_mmap,

open: mmapdrv_open,

release:mmapdrv_release,

};

static struct vm_operations_struct simple_remap_vm_ops={

.open=simple_vma_open,

.close=simple_vma_close,

.nopage=simple_vma_nopage1,

};

static int __init memc_init(void){

if((major=(register_chrdev(0,"mapdrv",&mmapdrv_fops)))<0){

printk("register mapdrv failure/n");

return -EIO;

}

printk("register success,major=%d/n",major);

share_memory=vmalloc(SHARE_MEM_SIZE);//通過vmalloc分配內存,返回的是內核虛擬地址,然后將物理內存映射到進程的虛擬地址空間上去

int lp;

for(lp=0;lpsprintf(share_memory+PAGE_SIZE*lp,"Test %d",lp);

}

return 0;

}

static void __exit memc_exit(void){

if(reserve_virt_addr){

iounmap(reserve_virt_addr);

}

unregister_chrdev(major,"mapdrv");

return;

}

int mmapdrv_open(struct inode* inode,struct file* filp){

//MOD_INC_USE_COUNT;

return 0;

}

int mmapdrv_release(struct inode* inode,struct file* filp){

//MOD_DEC_USE_COUNT;

return(0);

}

//remap_pfn_range一次性建立頁表進行映射

int mmapdrv_mmap(struct file* filp,struct vm_area_struct *vma){

printk("vm_pgoff=0x%lx/n",vma->vm_pgoffvm_start);//進程地址空間的起始地址

printk("vm_end=0x%lx/n",vma->vm_end);//進程地址空間的結束地址

printk("vm_flags=0x%lx/n",vma->vm_flags);

unsigned long physical=vma->vm_pgoffvm_end-vma->vm_start; //映射的空間長度

vma->vm_flags|=VM_RESERVED;//remap只能對VM_RESERVED和物理內存之外的內存進行映射

vma->vm_flags|=VM_IO;

if(remap_pfn_range(vma,vma->vm_start,vma->vm_pgoff,size,PAGE_SHARED)){

printk("remap page range failed/n");

return -ENXIO;

}

printk("remap page range success/n");

return 0;

}

//nopage映射

static int simple_nopage_mmap(struct file* filp,struct vm_area_struct *vma){

unsigned long offset=vma->vm_pgoff=__pa(high_memory)||(filp->f_flags&O_SYNC)){

vma->vm_flags|=VM_IO;

}

vma->vm_flags|=VM_RESERVED;

vma->vm_ops=&simple_remap_vm_ops;//當發生page fault時會調用nopage函數進行缺頁處理

simple_vma_open(vma);

return 0;

}

void simple_vma_open(struct vm_area_struct *vma){

printk(KERN_NOTICE "simple VMA open virt %lx,phys %lx/n",vma->vm_start,vma->vm_pgoff

void simple_vma_close(struct vm_area_struct *vma){

printk(KERN_NOTICE "Simple VMA close./n");

}

//simple_vma_nopage是通過物理地址找到page,而simple_vma_nopage1通過內核虛擬地址找到page, 即vmalloc返回的內核虛擬地址

struct page* simple_vma_nopage(struct vm_area_struct* vma,unsigned long address,int *type){

printk("call nopage method/n");

struct page* pageptr;

unsigned long offset=vma->vm_pgoff

long physaddr=address-vma->vm_start+offset;

//address是缺頁進程地址空間的虛擬地址,vm_start是進程地址空間的起始映射地址,address-

vma->vm_start+offset要映射的物理地址

unsigned long pageframe=physaddr>>PAGE_SHIFT;

printk("offset is %lx, physaddr is %lx,pageframe is %lx/n",offset,physaddr,pageframe);

if(!pfn_valid(pageframe))

return NOPAGE_SIGBUS;

pageptr=pfn_to_page(pageframe);//根據頁框號,得到page

if(type)

*type=VM_FAULT_MINOR;

printk("pageptr is %lx/n",(unsigned long)pageptr);

return pageptr;

}

//首先根據page fault的進程地址空間的address找到內核虛擬地址,然后根據內核虛擬地址,即vmalloc返回的地址找到相對應的page

//對于address-vma->vm_start地址范圍的內容是通過vmalloc()+address-

vma->vm_start找到相應的頁取得的,所以對于用戶空間address-vma->vm_start存儲的內容就是

vmalloc()+address-vma->vm_start對應頁的內容

struct page* simple_vma_nopage1(struct vm_area_struct* vma,unsigned long address,int *type){

struct page *page;

unsigned long offset1;

void *page_ptr;

unsigned long offset=vma->vm_pgoffvm_start+offset;

unsigned long pageframe=physaddr>>PAGE_SHIFT;

printk("vm_pgoff

is %lx, PAGE_SHIFT is %lx,PAGE_SIZE is %lx,offset is %lx, physaddr is

%lx,pageframe is %lx/n",vma->vm_pgoff,PAGE_SHIFT,(unsigned

long)PAGE_SIZE,offset,physaddr,pageframe);

offset1=address-vma->vm_start; //映射的進程地址空間的偏移

if(offset1>=SHARE_MEM_SIZE)return NOPAGE_SIGBUS;

page_ptr=share_memory+offset1;//對應的缺頁的內核虛擬地址

printk("address

is %lx,vma->vm_start is %lx,offset1 is %lx,share_memory is

%lx,page_ptr is %lx/n",address,vma->vm_start,offset1,(unsigned long

)share_memory,(unsigned long)page_ptr);

page=vmalloc_to_page(page_ptr);

get_page(page);//增加該頁的使用計數

if(type) *type=VM_FAULT_MINOR;

return page;

}

module_init(memc_init);

module_exit(memc_exit);

測試程序:

test.c

#include #include #include #include #include #include #include #define SHARE_MEM_COUNT 4

#define SHARE_MEM_SIZE (4096*SHARE_MEM_COUNT)

int main(){

int fd;

char *data;

int loop;

fd=open("/dev/mapdrv",O_RDWR|O_NDELAY);

if(fd>=0){

data=(char*)mmap(0,SHARE_MEM_SIZE,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0);

printf("data is %lx/n",(unsigned long)data);

printf("[%s]/n",data+4096*loop);

}

munmap(data,SHARE_MEM_SIZE);

close(fd);

}

return 0;

}

運行:

(1)將memap.c與test.c文件放到/usr/src/kernels/linux-2.6.20/drivers/char目錄下。

并在Makefile文件中添加obj-m? +=memap.o

(2)返回到/usr/src/kernels/linux-2.6.20下make.

(3)插入模塊insmod memap.ko,然后 mknod /dev/globalvar c 252 0

252是動態生成的major值。

(4)編譯test gcc -o test test.c

(5)./test,可以打印出寫入的值。

[Test 0]

[Test 1]

[Test 2]

[Test 3]

總結:

1.對于mmap的內存映射,是將物理內存映射到進程的虛擬地址空間中去,那么進程對文件的訪問就相當于直接對內存的訪問,從而加快了讀寫操作的效

率。在這里,remap_pfn_range函數是一次性的建立頁表,而nopage函數是根據page

fault產生的進程虛擬地址去找到內核相對應的邏輯地址,再通過這個邏輯地址去找到page。完成映射過程。remap_pfn_range不能對常規

內存映射,只能對保留的內存與物理內存之外的進行映射。

2.在這里,要分清幾個地址,一個是物理地址,這個很簡單,就是物理內存的實際地址。第二個是內核虛擬地址,即內核可以直接訪問的地址,如

kmalloc,vmalloc等內核函數返回的地址,kmalloc返回的地址也稱為內核邏輯地址。內核虛擬地址與實際的物理地址只有一個偏移量。第三

個是進程虛擬地址,這個地址處于用戶空間。而對于mmap函數映射的是物理地址到進程虛擬地址,而不是把物理地址映射到內核虛擬地址。而ioremap函

數是將物理地址映射為內核虛擬地址。

3.用戶空間的進程調用mmap函數,首先進行必要的處理,生成vma結構體,然后調用remap_pfn_range函數建立頁表。而用戶空間的

mmap函數返回的是映射到進程地址空間的首地址。所以mmap函數與remap_pfn_range函數是不同的,前者只是生成mmap,而建立頁表通

過remap_pfn_range函數來完成。

總結

以上是生活随笔為你收集整理的linux usb ga驱动详解,Linux设备驱动之内存映射的全部內容,希望文章能夠幫你解決所遇到的問題。

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

免费观看黄色12片一级视频 | 国产免费影院 | 国产精品久久久久久久av大片 | 久久久久国产精品一区 | 国产精品一区二区久久精品 | 国产精品日韩在线 | 成人91视频 | 国产精品免费一区二区三区在线观看 | 99精品电影 | 国产黄大片在线观看 | 绯色av一区 | 99久久9 | 亚洲aⅴ免费在线观看 | 在线免费视频你懂的 | 天天操人人干 | 六月丁香婷婷网 | 国产综合香蕉五月婷在线 | 国产精品美女久久久久久久 | 91精品在线免费观看视频 | 亚州日韩中文字幕 | 久久视频热| 国产精品色在线 | 波多野结衣在线视频免费观看 | 国产一级一级国产 | 欧美最猛性xxxx | 国产97在线播放 | 午夜色婷婷 | a级片网站| 91成人精品一区在线播放69 | 综合在线色 | 麻花豆传媒一二三产区 | 超碰公开在线观看 | 91精品国产92久久久久 | 国产少妇在线观看 | 丁香六月中文字幕 | 99热九九这里只有精品10 | 一区 在线 影院 | 国产精品久久久久久久久蜜臀 | www.色五月.com| 97超碰资源站 | 久久国产精品一区二区三区四区 | 亚洲一区二区三区毛片 | 色永久免费视频 | 91亚洲综合 | 毛片1000部免费看 | 成人黄色电影在线播放 | 黄色www免费 | 久久综合久久综合久久综合 | 国产福利精品视频 | 亚洲综合在线一区二区三区 | 91系列在线观看 | 久久人人射 | 永久av免费在线观看 | 国产成人免费精品 | 操夜夜操| 欧美日韩国产二区三区 | 91av在线国产 | 蜜臀av免费一区二区三区 | 久久久精品免费看 | 不卡av在线 | 在线免费观看视频你懂的 | 国产精品久久久久久妇 | 不卡的av在线播放 | 欧美亚洲精品一区 | 五月综合久久 | 欧美成人精品三级在线观看播放 | 国产视频手机在线 | 国产女v资源在线观看 | 亚洲在线成人精品 | 人人cao | 午夜精品久久久久久久99水蜜桃 | 免费看十八岁美女 | 久久日本视频 | 999久久久免费精品国产 | 波多野结衣视频一区 | 男女免费av | 久久成人午夜视频 | 国产99久久久精品 | 日狠狠 | 国产生活一级片 | 激情五月在线视频 | 日韩丝袜在线观看 | 亚洲作爱视频 | 精品视频在线免费观看 | 深夜成人av | 草久视频在线 | 国产成人一级电影 | 91在线一区 | 国产一级在线 | 天天操天天添天天吹 | 亚洲成人网在线 | 国产99精品在线观看 | 欧美二区三区91 | 综合在线色 | 欧美高清成人 | 亚洲国产精品推荐 | 久久亚洲精品电影 | 亚洲精品一区二区三区高潮 | 激情欧美在线观看 | 免费看的黄色小视频 | 精品久久一区二区三区 | 97福利在线 | 亚洲综合最新在线 | a在线v| 麻豆一精品传二传媒短视频 | 精品国产一二三四区 | 91av在线免费视频 | 久草在线资源观看 | 亚洲成人资源在线观看 | 91片黄在线观看 | 久久综合久色欧美综合狠狠 | 国产成人精品一区二区三区网站观看 | 亚洲va韩国va欧美va精四季 | 成 人 黄 色 视频免费播放 | 婷婷久久综合九色综合 | 亚洲精品中文字幕视频 | 日韩午夜在线 | 97超碰在 | 超碰在线日韩 | 麻豆精品91| 99久久精品免费视频 | 波多野结衣理论片 | 97色婷婷 | 久久涩涩网站 | 国产91对白在线播 | avove黑丝 | 国产精品久久久久久超碰 | 成年人免费看av | 亚洲久草视频 | 亚洲国产精品500在线观看 | 女人18毛片a级毛片一区二区 | 国产精品无av码在线观看 | 在线免费观看亚洲视频 | 国语对白少妇爽91 | 免费看搞黄视频网站 | a天堂中文在线 | 中文国产成人精品久久一 | 嫩嫩影院理论片 | 超碰国产在线播放 | 国产日韩精品在线观看 | 涩涩网站在线看 | 国产青草视频在线观看 | 天天操天天干天天摸 | 综合久色| 91一区啪爱嗯打偷拍欧美 | 午夜免费电影院 | 欧美极度另类 | 久久亚洲精品国产亚洲老地址 | 2023亚洲精品国偷拍自产在线 | 天天干亚洲 | 91精品国产高清自在线观看 | 国产黄a三级三级 | 日韩av一区二区三区 | 国产精品99在线观看 | 久久一线 | 久久毛片高清国产 | 国产伦精品一区二区三区四区视频 | 久久av黄色| www.成人sex| 日日躁夜夜躁xxxxaaaa | 亚洲精品观看 | 日韩在线精品视频 | 亚洲国产精品成人女人久久 | 久久久久久久久久久久久久av | 最近中文字幕大全中文字幕免费 | 干狠狠| 国产在线播放不卡 | 亚洲天天干 | 国产精品一区二区三区电影 | 欧美久久久久久久久中文字幕 | 狠狠干夜夜爽 | 日韩视频1 | 婷婷色综 | 黄污视频网站大全 | 久久久久久久久亚洲精品 | 亚洲视频网站在线观看 | 日韩电影一区二区三区在线观看 | 成人在线观看免费视频 | 欧美性一级观看 | 亚洲天堂精品视频在线观看 | 国产极品尤物在线 | 国产在线视频在线观看 | 激情av在线播放 | 综合色久| 成人午夜黄色影院 | 日日日日| 亚洲成人第一区 | 韩国av一区二区三区在线观看 | 久久久久久高潮国产精品视 | 日韩一级黄色大片 | 国产最新福利 | 在线免费成人 | 一本—道久久a久久精品蜜桃 | x99av成人免费 | 午夜美女福利直播 | 日日草天天干 | 在线日韩 | 97国产一区 | 免费中文字幕在线观看 | 亚洲天天在线日亚洲洲精 | 久99精品 | 亚洲精品一区二区三区新线路 | 精品亚洲一区二区三区 | 91中文字幕网 | 国产精品福利无圣光在线一区 | 在线国产精品视频 | 五月在线 | 日本精品视频在线观看 | 国产麻豆精品一区二区 | 久久中文字幕视频 | 亚洲国产视频在线 | 国产精品久久久久久久久费观看 | 久草剧场 | 亚洲欧美国产精品18p | 有码中文在线 | 黄www在线观看 | 97视频在线观看免费 | 在线视频观看成人 | 久色免费视频 | 国产精品福利在线观看 | 91久久精品日日躁夜夜躁国产 | 亚洲成a人片在线观看网站口工 | 亚洲精品在线网站 | 日韩黄色软件 | av在线网站免费观看 | 日韩精品一区二区三区电影 | 亚洲天堂网站视频 | 91在线超碰 | 日韩免费区 | 日一日操一操 | 一区二区精品国产 | av免费网站 | 在线视频你懂 | 中文字幕在线影院 | 超碰人人乐 | 免费在线观看成年人视频 | 亚洲综合在线观看视频 | 欧美极品少妇xbxb性爽爽视频 | 免费av免费观看 | 狠狠ri | 超碰97人人爱 | 中文字幕第一页在线 | 国产香蕉在线 | 91爱爱视频| aaa免费毛片 | 91视频链接 | 国产一区视频在线 | 欧美日韩高清一区二区 国产亚洲免费看 | 久久一区国产 | 日日精品 | 91精品国产高清自在线观看 | 色999在线 | 黄色视屏在线免费观看 | 91亚洲精品乱码久久久久久蜜桃 | 91亚洲精品久久久 | 国产一区二区在线观看视频 | 免费亚洲视频 | 婷婷激情久久 | 久草在线精品观看 | 国产.精品.日韩.另类.中文.在线.播放 | 久久免费视频播放 | 97超碰在线久草超碰在线观看 | 午夜av大片 | 色综合狠狠干 | 天天射天天干天天插 | 欧美激情视频一二区 | 国产精品资源 | 热久久这里只有精品 | 久久久免费 | 五月天婷婷在线播放 | 99视频偷窥在线精品国自产拍 | 国产精选视频 | 国产精品免费大片视频 | 国产精品一区二区免费视频 | 国产精品1区2区3区在线观看 | 亚洲精品动漫久久久久 | 婷婷综合视频 | 狠狠色丁香婷婷综合 | 国产精品99久久久久久久久久久久 | 欧美韩日在线 | 激情视频一区 | 丁香花中文字幕 | 欧美色黄| 午夜影院在线观看18 | 国产精品一区二区av麻豆 | 99精品视频播放 | 国产一级黄大片 | 日韩在线高清免费视频 | 日本精品视频在线播放 | 日韩大片在线播放 | 久草亚洲视频 | 日韩在线观看的 | 久热电影 | 黄视频网站大全 | 久草在线播放视频 | 国产三级精品三级在线观看 | 成人h视频在线播放 | 偷拍精品一区二区三区 | 亚洲乱亚洲乱亚洲 | 亚洲精品动漫在线 | 国产精品成人av久久 | 亚洲免费不卡 | 免费黄色在线播放 | 97精品在线 | 五月婷av| 亚洲一级电影在线观看 | 成人99免费视频 | 精品91 | 国产精品完整版 | 国产精品ⅴa有声小说 | 久久久在线 | 黄色毛片在线观看 | 夜夜躁日日躁狠狠久久88av | 久久久2o19精品 | 国产成人精品一区二区三区网站观看 | 亚洲激色 | 最近最新mv字幕免费观看 | 国产精品手机视频 | 欧美日韩精品在线 | 亚洲精品国偷自产在线91正片 | 国产色视频一区二区三区qq号 | www.狠狠干| www.久久99 | 麻豆91精品视频 | 午夜手机看片 | 超碰免费在线公开 | 久久99久久99精品免观看软件 | 亚洲五月婷婷 | 亚洲国产三级在线观看 | 国产精品日韩高清 | 久久亚洲综合色 | 精品国产电影一区二区 | 国内视频一区二区 | 中文字幕亚洲综合久久五月天色无吗'' | 黄色1级毛片 | 天天操天天干天天爽 | 色综合天天天天做夜夜夜夜做 | 99视频| 丁香婷婷深情五月亚洲 | 中文字幕 国产精品 | 黄色免费看片网站 | 色综合色综合久久综合频道88 | 日韩不卡高清视频 | 国产成人一区二区三区在线观看 | 不卡的一区二区三区 | 精品影院一区二区久久久 | 日韩精品无码一区二区三区 | 狠狠综合网 | 国产中文字幕国产 | 午夜精品久久久久久久99热影院 | 91精品在线播放 | 亚洲精品视频免费看 | 午夜久久影视 | www.com久久久| 国产高清无av久久 | 亚洲男男gaygayxxxgv | 手机av永久免费 | 在线观看一区二区精品 | 天天舔天天搞 | 日日夜夜人人精品 | 爱色av.com| 热久久国产 | 亚洲在线视频播放 | 亚洲天堂在线观看完整版 | 69久久99精品久久久久婷婷 | 国内精品久久久久影院男同志 | 韩日av一区二区 | 美女国产网站 | 国产人成一区二区三区影院 | 亚洲国产操 | 97在线看片 | 不卡精品 | 91成版人在线观看入口 | 九九视频热| 在线观看免费黄色 | 在线观看一级片 | 国产亚洲视频在线免费观看 | 狠狠躁天天躁综合网 | 韩国在线视频一区 | 麻豆果冻剧传媒在线播放 | 狠狠躁日日躁夜夜躁av | 欧美精品三级在线观看 | 最近更新好看的中文字幕 | 91视频在线免费下载 | 亚洲一级理论片 | 久草a在线| a视频在线观看 | 国产精品99久久久久久武松影视 | 免费看一级一片 | 黄色网址中文字幕 | 人人超碰免费 | 日韩中午字幕 | 玖玖精品在线 | 欧美精品免费视频 | 97在线免费视频观看 | 国产午夜精品av一区二区 | 欧美精品被 | av成人动漫| av在线最新 | 97在线视频免费 | 亚洲三级在线播放 | 亚洲欧美国内爽妇网 | 天堂av观看 | 九月婷婷综合网 | av电影中文字幕在线观看 | 国内精品久久久久影院优 | 久久久久久蜜桃一区二区 | 色九九在线 | 天天爽夜夜爽精品视频婷婷 | 天天操夜夜曰 | 成人在线视频一区 | 91成人精品一区在线播放 | 亚洲jizzjizz日本少妇 | 久久精品96 | 欧美日韩观看 | 日韩一级电影在线 | 亚洲日b视频 | 日本动漫做毛片一区二区 | 久草免费福利在线观看 | 亚洲一区二区精品3399 | 国产精品婷婷午夜在线观看 | 中文字幕永久免费 | 在线精品在线 | 午夜性色| 国产精品av免费在线观看 | 综合视频在线 | 免费试看一区 | 91精品国产综合久久婷婷香蕉 | 999成人免费视频 | 精品久久影院 | 亚洲精选99 | 中文字幕在线免费 | 亚洲在线视频观看 | 国产麻豆视频免费观看 | 在线视频91 | 久久久91精品国产一区二区精品 | 亚洲精品免费观看 | 欧美日韩国产免费视频 | 亚洲国产精品第一区二区 | 久草在线视频免费资源观看 | 久久久免费精品 | 久草爱视频 | av丝袜制服 | 成人三级视频 | 永久免费精品视频网站 | 人人爽人人搞 | 日本中文字幕在线播放 | 午夜视频免费 | 亚洲精品乱码久久久久久9色 | 欧美精品久久久久久久免费 | 国产黄a三级三级三级三级三级 | .精品久久久麻豆国产精品 亚洲va欧美 | 欧美视频网址 | 国产精品美女免费看 | 成人亚洲精品久久久久 | 久久久婷 | 天天激情在线 | 欧美精品久久久久久久久久 | 五月婷婷色综合 | 丁香久久五月 | 精品国产乱码久久久久久久 | 亚洲最大成人网4388xx | 在线视频欧美日韩 | 亚洲永久字幕 | 欧美淫视频| 深爱激情婷婷网 | 字幕网在线观看 | 激情电影影院 | 天天搞夜夜骑 | 久久久久久网址 | 在线成人观看 | 色婷婷国产精品 | 国产色a在线观看 | 人人藻人人澡人人爽 | 久久一区二区三区国产精品 | 国产黄色成人av | 亚洲成人999 | 一级欧美黄 | 九九热99视频 | 中文字幕.av.在线 | 99久久精品免费一区 | 亚洲精品免费观看 | 日韩成人一级大片 | 欧美性生活大片 | 国产精品女人久久久久久 | 久久久国产一区二区三区四区小说 | 丝袜+亚洲+另类+欧美+变态 | 亚洲日本黄色 | 一区二区高清在线 | 天天鲁一鲁摸一摸爽一爽 | 中文字幕高清av | 欧美-第1页-屁屁影院 | 日韩高清一二三区 | 日韩视频中文字幕在线观看 | 色综合久久久久综合99 | 91黄视频在线观看 | 伊人天天| 国产无套一区二区三区久久 | 99在线视频免费观看 | 国产黄a三级三级三级三级三级 | 亚洲综合成人在线 | 国产精品24小时在线观看 | 久久精品视频网站 | www.在线观看av | 少妇av片| 欧美激情综合五月 | av成人免费在线看 | 男女激情免费网站 | 在线成人性视频 | 成年人视频免费在线播放 | av在线网站观看 | 成人四虎影院 | 五月导航 | 国产主播大尺度精品福利免费 | 国产精品 中文字幕 亚洲 欧美 | 久草在线在线视频 | 碰超在线 | 亚洲日本欧美在线 | 国产精品一区二区三区免费视频 | 免费在线国产视频 | 中文字幕2021 | 在线国产一区二区 | av黄网站 | 美女网站视频色 | 国产精品成人一区二区三区吃奶 | 日韩视频中文字幕 | 91欧美在线 | 国产精品成人免费精品自在线观看 | 麻豆91网站 | 韩国av一区二区 | 亚洲欧美日本国产 | 亚洲第一成网站 | 精品99在线视频 | 一区在线电影 | 中文字幕国产亚洲 | 久久噜噜少妇网站 | 国产99久久精品一区二区300 | 国产精久久久久久久 | av电影在线免费 | 成全在线视频免费观看 | 亚洲欧美国产视频 | 91在线免费播放视频 | 91中文在线视频 | 伊人国产女 | 成年人免费在线播放 | 91视频免费看片 | 成人电影毛片 | 97久久精品午夜一区二区 | 欧美在线观看视频一区二区三区 | 一区二区三区四区五区在线 | 99热在线观看免费 | 探花视频在线版播放免费观看 | 午夜精品麻豆 | www.天天色| 99成人精品 | 一区二区不卡 | 久久久国产影视 | 日韩成人免费在线观看 | 日韩高清在线一区二区三区 | 日本中文字幕在线观看 | 玖玖玖影院 | 天天综合91 | 国产手机在线观看 | 国产精品一区二区免费 | 永久黄网站色视频免费观看w | 日本精品视频一区二区 | 六月婷婷网 | 国偷自产中文字幕亚洲手机在线 | 国产天天综合 | 色六月婷婷 | 在线免费黄色 | 菠萝菠萝在线精品视频 | 在线免费黄网站 | 丁香在线视频 | 精品国模一区二区 | 天天操天天操天天操天天操天天操天天操 | 国产视频色 | 亚洲精品456在线播放乱码 | 亚洲日本国产精品 | 国产精品免费观看在线 | 亚洲欧洲成人精品av97 | 久热电影| 特级毛片网| 五月天色婷婷丁香 | 在线香蕉视频 | 色com| 久久免费资源 | 五月天久久激情 | 久久激情日本aⅴ | 91av综合| 激情五月婷婷激情 | 五月激情丁香图片 | 色婷婷综合久久久久中文字幕1 | 日韩v在线91成人自拍 | 777视频在线观看 | 欧美日韩精品在线播放 | 黄色三级在线观看 | 国产精品av电影 | 国产精品一区二区在线 | 国产一区二区影院 | 黄色免费在线视频 | 婷婷丁香社区 | 国产在线播放一区 | 婷婷久久久久 | 天天操偷偷干 | 正在播放亚洲精品 | 亚洲天堂精品视频 | 人人添人人澡人人澡人人人爽 | 九九热在线播放 | 日本一区二区三区免费看 | 97国产在线观看 | adc在线观看 | 玖玖在线免费视频 | 欧美精品少妇xxxxx喷水 | 婷婷色网视频在线播放 | 久久精品毛片基地 | 毛片网在线播放 | 911精品视频 | 久久视频这里有久久精品视频11 | 久久精品一二三区 | 久草综合在线 | 成人午夜电影免费在线观看 | 久久99精品国产91久久来源 | 久久精品99| 一级免费看 | 国产成人一区二区三区久久精品 | 一级片免费观看视频 | 9999国产精品 | 人人干人人草 | 99久久精品电影 | 欧美一级片在线免费观看 | 国产999精品久久久久久 | 一区二区三区中文字幕在线观看 | 亚洲精品h | 久久精品视频在线观看 | 夜夜视频欧洲 | 成年人视频在线免费 | 久草在线免费色站 | 欧美一区二区三区四区夜夜大片 | 日本爱爱免费 | 亚洲国产精品久久久久久 | 国产精品99久久久久久大便 | 高清免费在线视频 | 国产在线p | 探花视频免费观看高清视频 | 亚洲精品一区中文字幕乱码 | av免费在线看网站 | 天天爽人人爽夜夜爽 | 日韩精品中文字幕久久臀 | 久色 网| 国产最新视频在线观看 | 二区精品视频 | 玖玖精品在线 | 日韩在线大片 | 黄色大全在线观看 | 96精品视频 | 二区三区中文字幕 | 婷婷色视频 | 日韩精品不卡在线 | 波多野结衣精品在线 | 在线日韩中文字幕 | 天天干天天操天天拍 | 成人资源在线观看 | 成人国产精品免费观看 | 亚洲黄色在线播放 | 在线免费av电影 | 国产精品不卡在线播放 | 91中文字幕在线播放 | 日韩午夜电影网 | 国产不卡高清 | 久久综合久久综合这里只有精品 | 午夜资源站 | 中文字幕电影在线 | 在线播放亚洲激情 | 国产手机视频在线观看 | 亚洲欧美国产视频 | 日韩伦理片一区二区三区 | 一级黄色在线免费观看 | 中文字幕在线观看视频网站 | 一二区精品 | 日韩伦理片一区二区三区 | 手机在线黄色网址 | 亚洲一级电影在线观看 | 国产精品一区二区无线 | 色婷婷在线视频 | 在线电影 一区 | 日韩视频图片 | 国产精品免费一区二区三区在线观看 | 日韩精品一区二区在线观看 | 五月天久久 | 天天爱天天| 久久精品影视 | 在线看国产精品 | 久久综合精品国产一区二区三区 | 日韩电影精品 | 国产五月| 精品国产乱码久久久久久1区二区 | 国产精品久久久久久久久久直播 | 国产精品久久久久av免费 | 日韩电影精品一区 | 人人爽人人片 | 成人av一区二区在线观看 | 国内精品久久久久国产 | 缴情综合网五月天 | 免费精品在线观看 | 色综合中文字幕 | 超碰公开97 | 九九久久免费视频 | 一区二区三区视频网站 | 婷婷www| 久久久www免费电影网 | 久久视频99 | 黄色高清视频在线观看 | 精品国产一区二区三区男人吃奶 | 国产精品网站 | 久久免费视频这里只有精品 | 在线高清av | 久久国产精品免费视频 | av中文在线 | 在线观看亚洲免费视频 | 成年人网站免费观看 | 日日摸日日 | 国产精品麻豆99久久久久久 | 天天操天天操天天操天天操天天操天天操 | 九草视频在线 | 99中文视频在线 | 一区二区三区四区免费视频 | 国产色啪 | 五月激情五月激情 | 中文字幕一区二区三区视频 | 超碰成人av | 欧美一级电影免费观看 | 91免费视频黄 | 97国产| 日韩精品一区二区三区在线播放 | 国产成人福利在线 | 国产精品国产三级国产专区53 | 亚洲一级片在线看 | av高清在线| 国产精品免费一区二区三区在线观看 | 久久久综合 | 婷婷六月久久 | 国产精品日韩久久久久 | 91精品国产福利在线观看 | 日韩黄色中文字幕 | 日本三级香港三级人妇99 | 国产精品区免费视频 | 999电影免费在线观看2020 | 一区二区三区在线视频111 | 91中文字幕网 | 亚洲最大在线视频 | 91在线一区二区 | 国产麻豆视频网站 | 国产又粗又猛又爽又黄的视频免费 | 操少妇视频 | 精品国产视频在线 | 久久试看| 91精品国产自产老师啪 | se婷婷| 丁香高清视频在线看看 | 婷婷视频导航 | 欧美日韩精品在线一区二区 | 国产在线观看你懂得 | 亚洲国产中文字幕 | 欧美在线视频一区二区三区 | 五月婷婷视频在线 | 91片网| 国产精品视频99 | 欧美日韩免费观看一区二区三区 | 91视频久久久久久 | 久久亚洲影视 | 国产大片黄色 | 亚洲人人av| 2019中文在线观看 | 欧美精品中文在线免费观看 | 人人射网站 | 精品国偷自产国产一区 | a午夜电影| 久久免费视频播放 | 国产 日韩 在线 亚洲 字幕 中文 | 涩涩爱夜夜爱 | www.在线观看视频 | 日韩欧美区 | 欧美另类z0zx | 久久久久亚洲国产精品 | 成人黄色小说视频 | 一区二区电影网 | 波多野结衣精品视频 | www99久久 | 婷婷播播网 | 国产99精品 | 人人爽人人爽人人片av免 | 99色免费视频 | 精品伦理一区二区三区 | 日本精品视频网站 | 久久草草影视免费网 | 日本黄色大片免费 | 亚洲精品美女久久久久 | 国产精品久久二区 | 精品久久一级片 | 97色噜噜 | 日韩大片在线免费观看 | 久久久电影网站 | 999久久精品| 欧美精品久久久久久久久久丰满 | 国产视频日本 | 国产一级片免费播放 | 天天综合日 | 亚洲免费婷婷 | 日韩免费看的电影 | 中文av资源站 | 色婷婷综合久久久 | 久久视讯 | 久久久久久久久久久久影院 | 日本精品中文字幕 | 一区二区中文字幕在线播放 | 久久伊人精品一区二区三区 | 久久99精品波多结衣一区 | 欧美国产不卡 | 97在线观看免费观看高清 | 狠狠色丁香婷婷综合最新地址 | 久草视频观看 | 日韩av电影一区 | 久久精品久久久精品美女 | 九九免费观看全部免费视频 | 黄在线免费观看 | 91大神免费视频 | 亚洲视频观看 | 这里只有精彩视频 | 日韩免费一级a毛片在线播放一级 | 国产高清免费 | 中文字幕在线免费看 | 91丨九色丨高潮丰满 | 中文亚洲欧美日韩 | 爱av在线网 | 永久免费毛片在线观看 | 欧美精品久久久久久久久久 | 天天伊人网 | 国产精品一区二区在线播放 | 久久久www免费电影网 | 国产一区二区高清视频 | 4p变态网欧美系列 | 高清视频一区 | 国产成人精品999在线观看 | 久久亚洲综合国产精品99麻豆的功能介绍 | 992tv人人网tv亚洲精品 | 成人午夜在线电影 | 国产精品久久婷婷六月丁香 | 天天综合视频在线观看 | 亚洲一区二区精品3399 | 特级黄色片免费看 | 国产一区二区三区在线免费观看 | 亚洲婷婷免费 | 国产精品av久久久久久无 | 成人cosplay福利网站 | 69久久久久久久 | 久久99精品国产99久久6尤 | 亚洲自拍自偷 | 伊人中文在线 | 黄色在线看网站 | 国产精品夜夜夜一区二区三区尤 | 国产在线观看免费观看 | 精品国产乱码一区二 | 一级片视频在线 | 国产精品www | 成人毛片在线视频 | 一级电影免费在线观看 | 成人福利在线 | 久久高清 | 精品国产伦一区二区三区 | 亚洲一区二区三区在线看 | 天天综合网入口 | 天天操夜操 | 黄色不卡av | 精品一区二区精品 | 毛片精品免费在线观看 | 国产精品福利久久久 | 日本免费一二三区 | 国产91区 | 日韩精品在线观看av | 91精品免费在线 | 欧美日韩99 | 麻豆国产在线视频 | 国产精品免费观看在线 | 九草视频在线 | 中文字幕在线高清 | 精品一二三四五区 | 亚洲成人中文在线 | 国产香蕉97碰碰碰视频在线观看 | 99精品久久99久久久久 | 国产精品情侣视频 | 伊人成人久久 | 日韩精品久久久久 | 黄色日本免费 | 亚洲午夜久久久久久久久电影网 | 特级西西444www高清大视频 | 91精品黄色| 免费观看性生活大片3 | 成人午夜电影网站 | 日韩午夜精品 | 久久成人免费视频 | 亚洲午夜久久久综合37日本 | 欧美特一级片 | 久久久国产一区二区三区 | 69精品在线观看 | 亚洲高清视频在线 | www.色com| 婷婷中文在线 | 日韩精品一区二区三区免费视频观看 | 九九热国产 | 91中文字幕在线视频 | 国产精品白浆 | 欧美精品久久久久久久久久久 | 久久久免费少妇 | 国产免费国产 | 国产高清视频免费最新在线 | 久久天堂影院 | 国产精品永久在线 | 999成人免费视频 | 91成人在线视频 | 久久在线看 | 久久久久欠精品国产毛片国产毛生 | 夜夜嗨av色一区二区不卡 | 国产午夜精品久久久久久久久久 | 狠狠色丁香久久婷婷综合五月 | 在线免费色 | 九九视频这里只有精品 | 奇米影视777影音先锋 | 五月激情av| 久久伊人婷婷 | 中文字幕中文中文字幕 | 国产91免费在线观看 | 久久久精品国产免费观看一区二区 | www久久国产 | 久久神马影院 | 高清免费在线视频 | 国产一区二区三区久久久 | 天天干天天干天天干天天干天天干天天干 | 日韩中文字幕免费看 | 婷婷六月在线 | 超碰97公开 | 日日摸日日添日日躁av | 九色精品免费永久在线 | 日韩欧美视频在线免费观看 | 免费亚洲黄色 | 日韩精品视频在线免费观看 | 国产99在线免费 | 久久久久久毛片 | 国产精品久久久久久久久搜平片 | 99精品久久久久 | 久久成人麻豆午夜电影 | 91麻豆文化传媒在线观看 | 成人免费在线播放 | 粉嫩高清一区二区三区 | 日日碰狠狠躁久久躁综合网 | 国产精品99久久免费观看 | 有码中文字幕在线观看 | 亚洲黄色高清 | 国产日韩在线视频 | 久久99精品国产麻豆婷婷 | www.91成人 | 日韩久久久久久久久 | 看片的网址 | 91成人蝌蚪 | 成人视屏免费看 | 99热这里只有精品8 久久综合毛片 | 天堂在线免费视频 | 国产麻豆果冻传媒在线观看 | 久久精品www人人爽人人 | 欧美日韩一区二区在线观看 | 国产精品入口传媒 | 日韩成人黄色 | 在线观看av片 | 日韩欧美视频一区二区三区 | 国产精品成人一区二区三区吃奶 | 欧美一级在线观看视频 | 成人久久免费 | 久草在线视频首页 | 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 成人av在线播放网站 | 正在播放 国产精品 | 色网站视频 | 一区二区三区在线观看免费视频 | 精品国产一区二区三区四区在线观看 | 久久国产一二区 | 亚洲天堂网在线播放 | 日一日操一操 | 久精品一区| 九九三级毛片 | 久久免费国产精品 | 久久综合毛片 | 在线视频第一页 | 欧美色综合天天久久综合精品 | 亚洲精品视频网址 | 色综合久久66 | 99国产精品视频免费观看一公开 | 国产资源免费在线观看 | 日本护士三级少妇三级999 |