欧美亚洲韩国_av电影院在线看_久久久久97_台湾佬中文娱乐网欧美电影

站長(zhǎng)資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

linux驅(qū)動(dòng)程序運(yùn)行在什么空間

linux驅(qū)動(dòng)程序運(yùn)行在“內(nèi)核”空間。一般情況下驅(qū)動(dòng)程序中都是調(diào)用kmalloc()來(lái)給數(shù)據(jù)結(jié)構(gòu)分配內(nèi)存,調(diào)用vmalloc()為活動(dòng)的交換區(qū)分配數(shù)據(jù)結(jié)構(gòu),為某些I/O驅(qū)動(dòng)程序分配緩沖區(qū),或?yàn)槟K分配空間;kmalloc和vmalloc分配的是內(nèi)核的內(nèi)存。

linux驅(qū)動(dòng)程序運(yùn)行在什么空間

程序員必備接口測(cè)試調(diào)試工具:立即使用
Apipost = Postman + Swagger + Mock + Jmeter
Api設(shè)計(jì)、調(diào)試、文檔、自動(dòng)化測(cè)試工具
后端、前端、測(cè)試,同時(shí)在線協(xié)作,內(nèi)容實(shí)時(shí)同步

本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。

linux驅(qū)動(dòng)程序運(yùn)行在“內(nèi)核”空間。

對(duì)于一般編寫的單片機(jī)程序來(lái)說(shuō)應(yīng)用程序和驅(qū)動(dòng)程序往往是雜糅的,擁有一定能力水平的單片機(jī)程序編程人員可以實(shí)現(xiàn)應(yīng)用和驅(qū)動(dòng)的分層。而在Linux系統(tǒng)中已經(jīng)強(qiáng)制將應(yīng)用和驅(qū)動(dòng)進(jìn)行了分層。

在單片機(jī)程序中,應(yīng)用可以直接操作底層的寄存器。而在Linux系統(tǒng)中卻禁止這樣的行為,舉個(gè)例子:Linux應(yīng)用的編寫人員故意在應(yīng)用中調(diào)用了驅(qū)動(dòng)中關(guān)于電源管理的驅(qū)動(dòng),關(guān)閉了系統(tǒng),那不就得不償失了?

具體的Linux應(yīng)用程序?qū)︱?qū)動(dòng)的調(diào)用如圖所示:

linux驅(qū)動(dòng)程序運(yùn)行在什么空間

應(yīng)用程序運(yùn)行在用戶空間,驅(qū)動(dòng)程序運(yùn)行在內(nèi)核空間。處于用戶空間應(yīng)用程序如果想要實(shí)現(xiàn)對(duì)內(nèi)核的操作,必須經(jīng)過(guò)一種"系統(tǒng)調(diào)用"的方法,實(shí)現(xiàn)從用戶空間進(jìn)入內(nèi)核空間,實(shí)現(xiàn)對(duì)底層的操作。

Linux中的內(nèi)核空間

內(nèi)核也是程序,也應(yīng)該具有自己的虛存空間,但是作為一種為用戶程序服務(wù)的程序,內(nèi)核空間有它自己的特點(diǎn)。

內(nèi)核空間與用戶空間的關(guān)系

在一個(gè)32位系統(tǒng)中,一個(gè)程序的虛擬空間最大可以是4GB,那么最直接的做法就是,把內(nèi)核也看作是一個(gè)程序,使它和其他程序一樣也具有4GB空間。但是這種做法會(huì)使系統(tǒng)不斷的切換用戶程序的頁(yè)表和內(nèi)核頁(yè)表,以致影響計(jì)算機(jī)的效率。解決這個(gè)問(wèn)題的最好做法就是把4GB空間分成兩個(gè)部分:一部分為用戶空間,另一部分為內(nèi)核空間,這樣就可以保證內(nèi)核空間固定不變,而當(dāng)程序切換時(shí),改變的僅是程序的頁(yè)表。這種做法的唯一缺點(diǎn)便是內(nèi)核空間和用戶空間均變小了。

例如:在i386這種32位的硬件平臺(tái)上,Linux在文件page.h中定義了一個(gè)常量PAGE_OFFSET:

#ifdef CONFIG_MMU #define __PAGE_OFFSET  (0xC0000000)        //0xC0000000為3GB #else #define __PAGE_OFFSET  (0x00000000) #endif  #define PAGE_OFFSET		((unsigned long)__PAGE_OFFSET)
登錄后復(fù)制

Linux以PAGE_OFFSET為界將4GB的虛擬內(nèi)存空間分成了兩部分:地址0~3G-1這段低地址空間為用戶空間,大小為3GB;地址3GB~4GB-1這段高地址空間為內(nèi)核空間,大小為1GB。

當(dāng)系統(tǒng)中運(yùn)行多個(gè)程序時(shí),多個(gè)用戶空間與內(nèi)核空間的關(guān)系可以表示如下圖:

linux驅(qū)動(dòng)程序運(yùn)行在什么空間

如圖中所示,程序1、2……n共享內(nèi)核空間。當(dāng)然,這里的共享指得是分時(shí)共享,因?yàn)樵谌魏螘r(shí)刻,對(duì)于單核處理器系統(tǒng)來(lái)說(shuō),只能有一個(gè)程序在運(yùn)行。

內(nèi)核空間的總體布局

Linux在發(fā)展過(guò)程中,隨著硬件設(shè)備的更新和技術(shù)水平的提高,其內(nèi)核空間布局的發(fā)展也是一種不斷打補(bǔ)丁的方式。這樣的后果就是使得內(nèi)核空間被分成不同的幾個(gè)區(qū)域,而且在不同的區(qū)域具有不同的映射方式。通常,人們認(rèn)為L(zhǎng)inux內(nèi)核空間有三個(gè)區(qū)域,即DMA區(qū)(ZONE_DMA)、普通區(qū)(ZONE_NORMAL)和高端內(nèi)存區(qū)(ZONE_HIGHMEM)。

實(shí)際物理內(nèi)存較小時(shí)內(nèi)核空間的直接映射

早期計(jì)算機(jī)實(shí)際配置的物理內(nèi)存通常只有幾MB,所以為了提高內(nèi)核通過(guò)虛擬地址訪問(wèn)物理地址內(nèi)存的速度,內(nèi)核空間的虛擬地址與物理內(nèi)存地址采用了一種從低地址向高地址依次一一對(duì)應(yīng)的固定映射方式,如下圖所示:

linux驅(qū)動(dòng)程序運(yùn)行在什么空間

可以看到,這種固定映射方式使得虛擬地址與物理地址的關(guān)系變得很簡(jiǎn)單,即內(nèi)核虛擬地址與實(shí)際物理地址只在數(shù)值上相差一個(gè)固定的偏移量PAGE_OFFSET,所以當(dāng)內(nèi)核使用虛擬地址訪問(wèn)物理頁(yè)框時(shí),只需在虛擬地址上減去PAGE_OFFSET即可得到實(shí)際物理地址,比使用頁(yè)表的方式要快得多!

由于這種做法幾乎就是直接使用物理地址,所以這種按固定映射方式的內(nèi)核空間也就叫做“物理內(nèi)存空間”,簡(jiǎn)稱物理內(nèi)存。另外,由于固定映射方式是一種線性映射,所以這個(gè)區(qū)域也叫做線性映射區(qū)。

當(dāng)然,這種情況下(計(jì)算機(jī)實(shí)際物理內(nèi)存較小時(shí)),內(nèi)核固定映射空間僅占整個(gè)1GB內(nèi)核空間的一部分。例如:在配置32MB實(shí)際物理內(nèi)存的x86計(jì)算機(jī)系統(tǒng)時(shí),內(nèi)核的固定映射區(qū)便是PAGE_OFFSET~(PAGE_OFFSET+0x02000000)這個(gè)32MB空間。那么內(nèi)核空間剩余的內(nèi)核虛擬空間怎么辦呢?

當(dāng)然還是按照普通虛擬空間的管理方式,以頁(yè)表的非線性映射方式使用物理內(nèi)存。具體來(lái)說(shuō),在整個(gè)1GB內(nèi)核空間中去除固定映射區(qū),然后在剩余部分中再去除其開頭部分的一個(gè)8MB隔離區(qū),余下的就是映射方式與用戶空間相同的普通虛擬內(nèi)存映射區(qū)。在這個(gè)區(qū),虛擬地址和物理地址不僅不存在固定映射關(guān)系,而且通過(guò)調(diào)用內(nèi)核函數(shù)vmalloc()獲得動(dòng)態(tài)內(nèi)存,故這個(gè)區(qū)就被稱為vmalloc分配區(qū),如下圖所示:

linux驅(qū)動(dòng)程序運(yùn)行在什么空間

對(duì)于配置32MB實(shí)際物理內(nèi)存的x86計(jì)算機(jī)系統(tǒng)來(lái)說(shuō),vmalloc分配區(qū)的起始位置為PAGE_OFFSET+0x02000000+0x00800000。

這里說(shuō)明一下:這里說(shuō)的內(nèi)核空間與物理頁(yè)框的固定映射,實(shí)質(zhì)上是內(nèi)核頁(yè)對(duì)物理頁(yè)框的一種“預(yù)定”,并不是說(shuō)這些頁(yè)就“霸占”了這些物理頁(yè)框。即只有當(dāng)虛擬頁(yè)真正需要訪問(wèn)物理頁(yè)框時(shí),虛擬頁(yè)才與物理頁(yè)框綁定。而平時(shí),當(dāng)某個(gè)物理頁(yè)框不被與它對(duì)應(yīng)的虛擬頁(yè)所使用時(shí),該頁(yè)框完全可以被用戶空間以及后面所介紹的內(nèi)核kmalloc分配區(qū)使用。

總之,在實(shí)際物理內(nèi)存較小的系統(tǒng)中,實(shí)際內(nèi)存的大小就是內(nèi)核空間的物理內(nèi)存區(qū)與vmalloc分配區(qū)的邊界。

ZONE_DMA區(qū)與ZONE_NORMAL區(qū)

對(duì)于整個(gè)1GB的內(nèi)核空間,人們還把該空間頭部的16MB叫做DMA區(qū),即ZONE_DMA區(qū),因?yàn)橐酝布MA空間固定在了物理內(nèi)存的低16MB空間;其余區(qū)則叫做普通區(qū),即ZONE_NORMAL。

內(nèi)核空間的高端內(nèi)存

隨著計(jì)算機(jī)技術(shù)的發(fā)展,計(jì)算機(jī)的實(shí)際物理內(nèi)存越來(lái)越大,從而使得內(nèi)核固定映射區(qū)(線性區(qū))也越來(lái)越大。顯然,如果不加以限制,當(dāng)實(shí)際物理內(nèi)存達(dá)到1GB時(shí),vmalloc分配區(qū)(非線性區(qū))將不復(fù)存在。于是以前開發(fā)的、調(diào)用了vmalloc()的內(nèi)核代碼也就不再可用,顯然為了兼容早期的內(nèi)核代碼,這是不能允許的。

下圖就表示了這種內(nèi)核空間所面臨的局面:

linux驅(qū)動(dòng)程序運(yùn)行在什么空間

顯然,出現(xiàn)上述問(wèn)題的原因就是沒(méi)有預(yù)料到實(shí)際物理內(nèi)存可以超過(guò)1GB,因而沒(méi)有為內(nèi)核固定映射區(qū)的邊界設(shè)定限制,而任由其隨著實(shí)際物理內(nèi)存的增大而增大。

解決上述問(wèn)題的方法就是:對(duì)內(nèi)核空間固定映射區(qū)的上限加以限制,使之不能隨著物理內(nèi)存的增加而任意增加。Linux規(guī)定,內(nèi)核映射區(qū)的上邊界的值最大不能大于一個(gè)小于1G的常數(shù)high_menory,當(dāng)實(shí)際物理內(nèi)存較大時(shí),以3G+high_memory為邊界來(lái)確定物理內(nèi)存區(qū)。

例如:對(duì)于x86系統(tǒng),high_memory的值為896M,于是1GB內(nèi)核空間余下的128MB為非線性映射區(qū)。這樣就確保在任何情況下,內(nèi)核都有足夠的非線性映射區(qū)以兼容早期代碼并可以按普通虛存方式訪問(wèn)實(shí)際物理內(nèi)存的1GB以上的空間。

也就是說(shuō),高端內(nèi)存的最基本思想:借一段地址空間,建立臨時(shí)地址映射,用完后釋放,達(dá)到這段地址空間可以循環(huán)使用,訪問(wèn)所有物理內(nèi)存。當(dāng)計(jì)算機(jī)是物理內(nèi)存較大時(shí),內(nèi)核空間的示意圖如下:

linux驅(qū)動(dòng)程序運(yùn)行在什么空間

習(xí)慣上,Linux把內(nèi)核空間3G+high_memory~4G-1的這個(gè)部分叫做高端內(nèi)存區(qū)(ZONE_HIGHMEM)。

總結(jié)一下:在x86結(jié)構(gòu)的內(nèi)核空間,三種類型的區(qū)域(從3G開始計(jì)算)如下:

  • ZONE_DMA:內(nèi)核空間開始的16MB
  • ZONE_NORMAL:內(nèi)核空間16MB~896MB(固定映射)
  • ZONE_HIGHMEM :內(nèi)核空間896MB ~ 結(jié)束(1G)

根據(jù)應(yīng)用目標(biāo)不同,高端內(nèi)存區(qū)分vmalloc區(qū)、可持久映射區(qū)和臨時(shí)映射區(qū)。內(nèi)核空間中高端內(nèi)存的布局如下圖所示:

linux驅(qū)動(dòng)程序運(yùn)行在什么空間

vmalloc映射區(qū)

vmalloc映射區(qū)時(shí)高端內(nèi)存的主要部分,該區(qū)間的頭部與內(nèi)核線性映射空間之間有一個(gè)8MB的隔離區(qū),尾部與后續(xù)的可持久映射區(qū)有一個(gè)4KB的隔離區(qū)。

vmalloc映射區(qū)的映射方式與用戶空間完全相同,內(nèi)核可以通過(guò)調(diào)用函數(shù)vmalloc()在這個(gè)區(qū)域獲得內(nèi)存。這個(gè)函數(shù)的功能相當(dāng)于用戶空間的malloc(),所提供的內(nèi)存空間在虛擬地址上連續(xù)(注意,不保證物理地址連續(xù))。

可持久內(nèi)核映射區(qū)

如果是通過(guò) alloc_page() 獲得了高端內(nèi)存對(duì)應(yīng)的 page,如何給它找個(gè)線性空間?

內(nèi)核專門為此留出一塊線性空間,從PKMAP_BASE開始,用于映射高端內(nèi)存,就是可持久內(nèi)核映射區(qū)。

在可持久內(nèi)核映射區(qū),可通過(guò)調(diào)用函數(shù)kmap()在物理頁(yè)框與內(nèi)核虛擬頁(yè)之間建立長(zhǎng)期映射。這個(gè)空間通常為4MB,最多能映射1024個(gè)頁(yè)框,數(shù)量較為稀少,所以為了加強(qiáng)頁(yè)框的周轉(zhuǎn),應(yīng)及時(shí)調(diào)用函數(shù)kunmap()將不再使用的物理頁(yè)框釋放。

臨時(shí)映射區(qū)

臨時(shí)映射區(qū)也叫固定映射區(qū)和保留區(qū)。該區(qū)主要應(yīng)用在多處理器系統(tǒng)中,因?yàn)樵谶@個(gè)區(qū)域所獲得的內(nèi)存空間沒(méi)有所保護(hù),故所獲得的內(nèi)存必須及時(shí)使用;否則一旦有新的請(qǐng)求,該頁(yè)框上的內(nèi)容就會(huì)被覆蓋,所以這個(gè)區(qū)域叫做臨時(shí)映射區(qū)。

關(guān)于高端內(nèi)存區(qū)一篇很不錯(cuò)的文章:linux 用戶空間與內(nèi)核空間——高端內(nèi)存詳解。

內(nèi)核內(nèi)存分配修飾符gfp

為了在內(nèi)核內(nèi)存請(qǐng)求函數(shù)對(duì)請(qǐng)求進(jìn)行必要的說(shuō)明,Linux定義了多種內(nèi)存分配修飾符gfp。它們是行為修飾符、區(qū)修飾符、類型修飾符。

行為修飾符

在內(nèi)存分配函數(shù)中的行為修飾符說(shuō)明內(nèi)核應(yīng)當(dāng)如何分配內(nèi)存。主要行為修飾符如下:

Linux的主要內(nèi)核內(nèi)存分配行為修飾符
修飾符 說(shuō)明
__GFP_WAIT 分配器可以休眠
__GFP_HIGH 分配器可以訪問(wèn)緊急事件緩沖池
__GFP_IO 分配器可以啟動(dòng)磁盤IO
__GFP_FS 分配器可以啟動(dòng)文件系統(tǒng)IO
__GFP_COLD 分配器應(yīng)該使用高速緩沖中快要淘汰的頁(yè)框
__GFP_NOWARN 分配器不發(fā)出警告
__GFP_REPEAT 分配失敗時(shí)重新分配
__GFP_NOFAILT 分配失敗時(shí)重新分配,直至成功
__GFP_NORETRY 分配失敗時(shí)不再重新分配

區(qū)修飾符

區(qū)修飾符說(shuō)明需要從內(nèi)核空間的哪個(gè)區(qū)域中分配內(nèi)存。內(nèi)存分配器默認(rèn)從內(nèi)核空間的ZONE_NORMAL開始逐漸向高端獲取為內(nèi)存請(qǐng)求者分配內(nèi)存區(qū),如果用戶特意需要從ZONE_DMA或ZONE_HOGNMEM獲得內(nèi)存,那么就需要內(nèi)存請(qǐng)求者在內(nèi)存請(qǐng)求函數(shù)中使用以下兩個(gè)區(qū)修飾符說(shuō)明:

Linux的主要內(nèi)核內(nèi)存分配區(qū)修飾符
修飾符 說(shuō)明
__GFP_DMA 從ZONE_DMA區(qū)分配內(nèi)存
__GFP_HIGHMEM 從ZONE_HIGHMEM區(qū)分配內(nèi)存

類型修飾符

類型修飾符實(shí)質(zhì)上是上述所述修飾符的聯(lián)合應(yīng)用。也就是:將上述的某些行為修飾符和區(qū)修飾符,用“|”進(jìn)行連接并另外取名的修飾符。這里就不多介紹了。

內(nèi)核常用內(nèi)存分配及地址映射函數(shù)

函數(shù)vmalloc()

函數(shù)vmalloc()在vmalloc分配區(qū)分配內(nèi)存,可獲得虛擬地址連續(xù),但并不保證其物理頁(yè)框連續(xù)的較大內(nèi)存。與物理空間的內(nèi)存分配函數(shù)malloc()有所區(qū)別,vmalloc()分配的物理頁(yè)不會(huì)被交換出去。函數(shù)vmalloc()的原型如下:

void *vmalloc(unsigned long size) {        return __vmalloc(size, GFP_KERNEL | __GFP_HIGHMEM, PAGE_KERNEL); }
登錄后復(fù)制

void *__vmalloc(unsigned long size, gfp_t gfp_mask, pgprot_t prot) { 	return kmalloc(size, (gfp_mask | __GFP_COMP) & ~__GFP_HIGHMEM); }
登錄后復(fù)制

其中,參數(shù)size為所請(qǐng)求內(nèi)存的大小,返回值為所獲得內(nèi)存虛擬地址指針。

與vmalloc()配套的釋放函數(shù)如下:

void vfree(const void *addr) { 	kfree(addr); }
登錄后復(fù)制

其中,參數(shù)addr為待釋放內(nèi)存指針。

函數(shù)kmalloc()

kmalloc()是內(nèi)核另一個(gè)常用的內(nèi)核分配函數(shù),它可以分配一段未清零的連續(xù)物理內(nèi)存頁(yè),返回值為直接映射地址。由kmalloc()可分配的內(nèi)存最大不能超過(guò)32頁(yè)。其優(yōu)點(diǎn)是分配速度快,缺點(diǎn)是不能分配大于128KB的內(nèi)存頁(yè)(出于跨平臺(tái)考慮)。

在linux/slab.h文件中,該函數(shù)的原型聲明如下:

static __always_inline void *kmalloc(size_t size, gfp_t flags) { 	struct kmem_cache *cachep; 	void *ret;  	if (__builtin_constant_p(size)) { 		int i = 0;  		if (!size) 			return ZERO_SIZE_PTR;  #define CACHE(x)  		if (size <= x)  			goto found;  		else  			i++; #include <linux/kmalloc_sizes.h> #undef CACHE 		return NULL; found: #ifdef CONFIG_ZONE_DMA 		if (flags & GFP_DMA) 			cachep = malloc_sizes[i].cs_dmacachep; 		else #endif 			cachep = malloc_sizes[i].cs_cachep;  		ret = kmem_cache_alloc_notrace(cachep, flags);  		trace_kmalloc(_THIS_IP_, ret, 			      size, slab_buffer_size(cachep), flags);  		return ret; 	} 	return __kmalloc(size, flags); }
登錄后復(fù)制

其中,參數(shù)size為以字節(jié)為單位表示的所申請(qǐng)空間的大小;參數(shù)flags決定了所分配的內(nèi)存適合什么場(chǎng)合。

與函數(shù)kmalloc()對(duì)應(yīng)的釋放函數(shù)如下:

void kfree(const void *objp) { 	struct kmem_cache *c; 	unsigned long flags;  	trace_kfree(_RET_IP_, objp);  	if (unlikely(ZERO_OR_NULL_PTR(objp))) 		return; 	local_irq_save(flags); 	kfree_debugcheck(objp); 	c = virt_to_cache(objp); 	debug_check_no_locks_freed(objp, obj_size(c)); 	debug_check_no_obj_freed(objp, obj_size(c)); 	__cache_free(c, (void *)objp); 	local_irq_restore(flags); }
登錄后復(fù)制

小結(jié)一下,kmalloc、vmalloc、malloc的區(qū)別:

  • kmalloc和vmalloc是分配的是內(nèi)核的內(nèi)存,malloc分配的是用戶的內(nèi)存;
  • kmalloc保證分配的內(nèi)存在物理上是連續(xù)的,vmalloc保證的是在虛擬地址空間上的連續(xù),malloc不保證任何東西;
  • kmalloc能分配的大小有限,vmalloc和malloc能分配的大小相對(duì)較大;
  • vmalloc比kmalloc要慢。

也就是說(shuō):kmalloc、vmalloc這兩個(gè)函數(shù)所分配的內(nèi)存都處于內(nèi)核空間,即從3GB~4GB;但位置不同,kmalloc()分配的內(nèi)存處于3GB~high_memory(ZONE_DMA、ZONE_NORMAL)之間,而vmalloc()分配的內(nèi)存在VMALLOC_START~4GB(ZONE_HIGHMEM)之間,也就是非連續(xù)內(nèi)存區(qū)。一般情況下在驅(qū)動(dòng)程序中都是調(diào)用kmalloc()來(lái)給數(shù)據(jù)結(jié)構(gòu)分配內(nèi)存,而vmalloc()用在為活動(dòng)的交換區(qū)分配數(shù)據(jù)結(jié)構(gòu),為某些I/O驅(qū)動(dòng)程序分配緩沖區(qū),或?yàn)槟K分配空間。

linux驅(qū)動(dòng)程序運(yùn)行在什么空間

可參考文章:Kmalloc和Vmalloc的區(qū)別。

函數(shù)alloc_pages()

與上述在虛擬空間分配內(nèi)存的函數(shù)不同,alloc_pages()是在物理內(nèi)存空間分配物理頁(yè)框的函數(shù),其原型如下:

static inline struct page * alloc_pages(gfp_t gfp_mask, unsigned int order) { 	if (unlikely(order >= MAX_ORDER)) 		return NULL;  	return alloc_pages_current(gfp_mask, order); }
登錄后復(fù)制

其中,參數(shù)order表示所分配頁(yè)框的數(shù)目,該數(shù)目為2^order。order的最大值由include/Linux/Mmzone.h文件中的宏MAX_ORDER決定。參數(shù)gfp_mask為說(shuō)明內(nèi)存頁(yè)框分配方式及使用場(chǎng)合。

函數(shù)返回值為頁(yè)框塊的第一個(gè)頁(yè)框page結(jié)構(gòu)的地址。

調(diào)用下列函數(shù)可以獲得頁(yè)框的虛擬地址:

void *page_address(struct page *page) { 	unsigned long flags; 	void *ret; 	struct page_address_slot *pas;   	if (!PageHighMem(page)) 		return lowmem_page_address(page);   	pas = page_slot(page); 	ret = NULL; 	spin_lock_irqsave(&pas->lock, flags); 	if (!list_empty(&pas->lh)) { 		struct page_address_map *pam;   		list_for_each_entry(pam, &pas->lh, list) { 			if (pam->page == page) { 				ret = pam->virtual; 				goto done; 			} 		} 	} done: 	spin_unlock_irqrestore(&pas->lock, flags); 	return ret; }
登錄后復(fù)制

使用函數(shù)alloc_pages()獲得的內(nèi)存應(yīng)該使用下面的函數(shù)釋放:

void __free_pages(struct page *page, unsigned int order) { 	if (put_page_testzero(page)) { 		if (order == 0) 			free_hot_page(page); 		else 			__free_pages_ok(page, order); 	} }
登錄后復(fù)制

函數(shù)kmap()

kmap()是一個(gè)映射函數(shù),它可以將一個(gè)物理頁(yè)框映射到內(nèi)核空間的可持久映射區(qū)。這種映射類似于內(nèi)核ZONE_NORMAL的固定映射,但虛擬地址與物理地址的偏移不一定是PAGE_OFFSET。由于內(nèi)核可持久映射區(qū)的容量有限(總共只有4MB),因此當(dāng)內(nèi)存使用完畢后,應(yīng)該立即釋放。

函數(shù)kmap()的函數(shù)原型如下:

void *kmap(struct page *page) { 	might_sleep(); 	if (!PageHighMem(page)) 		return page_address(page); 	return kmap_high(page); }
登錄后復(fù)制

小結(jié)

由于CPU的地址總線只有32位, 32的地址總線無(wú)論是從邏輯上還是從物理上都只能描述4G的地址空間(232=4Gbit),在物理上理論上最多擁有4G內(nèi)存(除了IO地址空間,實(shí)際內(nèi)存容量小于4G),邏輯空間也只能描述4G的線性地址空間。

為了合理的利用邏輯4G空間,Linux采用了3:1的策略,即內(nèi)核占用1G的線性地址空間,用戶占用3G的線性地址空間。所以用戶進(jìn)程的地址范圍從0~3G,內(nèi)核地址范圍從3G~4G,也就是說(shuō),內(nèi)核空間只有1G的邏輯線性地址空間。

如果Linux物理內(nèi)存小于1G的空間,通常內(nèi)核把物理內(nèi)存與其地址空間做了線性映射,也就是一一映射,這樣可以提高訪問(wèn)速度。但是,當(dāng)Linux物理內(nèi)存超過(guò)1G時(shí),線性訪問(wèn)機(jī)制就不夠用了,因?yàn)橹荒苡?G的內(nèi)存可以被映射,剩余的物理內(nèi)存無(wú)法被內(nèi)核管理,所以,為了解決這一問(wèn)題,Linux把內(nèi)核地址分為線性區(qū)和非線性區(qū)兩部分,線性區(qū)規(guī)定最大為896M,剩下的128M為非線性區(qū)。從而,線性區(qū)映射的物理內(nèi)存成為低端內(nèi)存,剩下的物理內(nèi)存被成為高端內(nèi)存。與線性區(qū)不同,非線性區(qū)不會(huì)提前進(jìn)行內(nèi)存映射,而是在使用時(shí)動(dòng)態(tài)映射。

低端內(nèi)存又分成兩部分:ZONE_DMA:內(nèi)核空間開始的16MB、ZONE_NORMAL:內(nèi)核空間16MB~896MB(固定映射)。剩下的就是高端內(nèi)存:ZONE_HIGHMEM :內(nèi)核空間896MB ~ 結(jié)束(1G)。

根據(jù)應(yīng)用目標(biāo)不同,高端內(nèi)存區(qū)分vmalloc區(qū)、可持久映射區(qū)和臨時(shí)映射區(qū)三部分。vmalloc區(qū)使用vmalloc()函數(shù)進(jìn)行分配;可持久映射區(qū)使用allc_pages()獲得對(duì)應(yīng)的 page,在利用kmap()函數(shù)直接映射;臨時(shí)映射區(qū)一般用于特殊需求。

用戶空間和內(nèi)核空間
內(nèi)核空間(3G~4G)

高端內(nèi)存(3G+high_memory~4G)ZONE_HIGHMEM

非線性映射區(qū)

臨時(shí)映射區(qū)
可持久映射區(qū)
vmalloc區(qū)

低端內(nèi)存(3G~3G+high_memory-1)

線性映射區(qū)(固定映射區(qū))

ZONE_NORMAL
ZONE_DMA
用戶空間(0~3G-1) 頁(yè)目錄–>中間頁(yè)目錄–>頁(yè)表

贊(0)
分享到: 更多 (0)
網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
主站蜘蛛池模板: 久操操 | 99久久免费精品高清特色大片 | 国产一级黄色大片 | 国产精品久久人人做人人爽 | 中文字幕在线观看线人 | 欧美三级小视频 | 久久成人国产精品入口 | 奇米四色在线观看 | 毛片一级免费 | 日批视频免费在线观看 | 国产视频大全 | 成人天堂网| 一区在线播放 | 欧美人一级淫片a免费播放 www.日韩高清 | 国产成人av网 | 日韩黄色三级 | 狠狠干成人 | 在线观看aa | 欧类av怡春院 | 久久精品国产三级 | 欧美日韩精品一区二区三区 | 亚洲午夜精品一区二区 | 日本三级久久 | 亚洲精品一区14p | 伊人久久网站 | 激情文学av | 中文字幕av在线播放 | 黄色录像毛片 | 亚洲婷婷在线 | 黑人vs亚洲人在线播放 | 伊人资源网 | 亚洲影视在线 | 成人午夜影院在线观看 | 天天操天天射天天 | 成人网视频 | 91在线视频国产 | 美女精品网站 | 亚洲一区影视 | 国产精品成人品 | 亚洲资源av | 亚洲成人免费在线 | 日韩一区二区免费看 | 亚洲一区二区综合 | 草av| 国产女无套免费视频 | 日本肉体xxxx裸体137大胆图 | 狠狠操影视 | 国产校园春色 | 天天爽夜夜爽夜夜爽精品 | 色在线看 | 韩国精品久久久 | 亚洲 国产 日韩在线 精品 | 国产又粗又猛 | 国产乱人乱偷精品视频a人人澡 | 午夜精品999 | 久热这里只有精品6 | 亚洲天堂视频网站 | 蜜臀在线观看 | 亚洲综合二区 | 国产一区二区黄 | 国产99精品 | 亚洲午夜视频 | 亚洲视频在线观看网站 | 岛国裸体写真hd在线 | 午夜精品区 | 国产一区二区三区91 | 日韩精品一二区 | 夜夜骑日日操 | 亚洲影院在线播放 | 国产理论 | 国产一级av毛片 | 精品毛片| 久草视频免费在线 | 青娱乐国产在线 | 亚洲第九十九页 | 毛片av中文字幕一区二区 | 黄色av影院 | 亚洲欧美爱爱 | 成人无遮挡 | 国产剧情精品 | 在线观看你懂的网站 | 五月在线 | 国产精品久久久久桃色tv | 亚洲成人欧美 | 欧美高清精品 | gogogo日本免费观看电视动漫 | 久久频 | 国产精品一线 | 国产大片黄| 91成人看 | 国产欧美不卡 | 男女黄床上色视频 | 久久激情综合网 | 日本免费一级片 | 成人网在线视频 | 超碰激情 | 在线观看不卡的av | av手机在线免费观看 | 欧美日韩国产免费观看 | 亚洲另类一二三区 | 亚洲h视频在线观看 | 九色视频在线观看 | 在线www色 | 国产精品高清网站 | 午夜国产免费 | 国产精品69久久久久水密桃 | 久操资源网 | 亚洲天堂成人在线 | 亚洲乱码国产乱码精品 | 国产精品成人一区二区三区 | 曰韩黄色一级片 | 中文字幕欧美日韩 | 波多野结衣av在线免费观看 | 国产村民一二三区 | 在线97视频| 尤物网站在线 | 一级片视频网站 | 蜜桃av一区二区三区 | 国产精品第一国产精品 | 国产精品一区二区在线 | 日韩另类| 欧美一级黄色片 | 日韩免费观看视频 | 欧美精品二区三区四区免费看视频 | 黄色av日韩 | 激情一区二区 | 青青操视频在线播放 | exo妈妈mv在线播放高清免费 | 欧美做爰猛烈床戏大尺度 | 国产欧美高清视频 | 亚洲天堂婷婷 | 久操超碰 | 99国产精品久久久久久久日本竹 | h片网站在线观看 | 久久亚洲精品国产 | 嫩草影院一区二区三区 | 毛片久久久久 | 99极品视频| 亚洲视频综合 | 素人一区| 国产奶水涨喷在线播放 | av 一区二区三区 | 久久精品国产免费看久久精品 | 青娱乐在线视频免费观看 | 少妇一级淫片免费看 | 国产丰满大乳奶水在线视频 | 淫语在线观看 | 亚洲图片综合网 | 淫僧荡尼巨乳(h)小说 | 天堂在线官网 | 国产精品18久久久久久久久 | 婷婷久久精品 | 99精品国产一区二区三区蜜臀 | 久久欧美视频 | 岛国二区 | 午夜亚洲 | 性欧美最猛 | 日韩1区| 欧洲精品一区 | jizz成人 | 性俄罗斯交xxxxx免费视频 | 网站在线播放 | 亚洲网在线观看 | 日韩免费专区 | 久色精品| 国产第一网站 | 国产毛片自拍 | 黄a在线| 午夜毛片视频 | 国产乱淫av片免费观看 | 久久99激情 | 97看片网 | 亚洲成人乱码 | 日本精品成人 | 校园春色亚洲激情 | 亚洲一级成人 | 嫩草网站在线观看 | 成人国产综合 | 日日操夜夜爱 | 亚洲欧美日韩中文在线 | 色婷婷香蕉在线一区二区 | 午夜在线国语中文字幕视频 | 欧美日韩一级视频 | 男人的av| 欧洲性猛交 | 都市激情综合 | 欧洲亚洲天堂 | 奇米久久 | 国产三级在线观看 | 国产成人精品a视频一区 | 久久人人精 | 国产精品国产三级国产专业不 | 日本特黄一级片 | 成人女同在线观看 | 欧美日韩理论 | 一区自拍| 在线观看av网站 | 天天做夜夜做 | 亚洲一级片| 中文天堂网 | 国产性xxx | 伊人色综合久久天天 | 欧美h网站 | 久久久久看片 | 国产乱xxxxx国语对白 | 亚洲视频在线观看免费 | 亚洲欧洲色 | 国产在线视频91 | 自拍偷拍欧美 | 亚洲精品自拍偷拍视频 | 少妇一级淫片免费观看 | 91黄色免费网站 | 伊人影院在线播放 | 久久99视频 | 狠狠躁日日躁夜夜躁老司机 | 欧洲一区二区在线 | 国产日韩欧美自拍 | 中文字幕精品一二三四五六七八 | 白白色在线观看 | 午夜激情四射 | 国产精品中文 | 国产精品美女久久久久高潮 | 青青青手机视频在线观看 | 4438xx亚洲五月最大丁香 | 中文字幕国产 | 日韩高清不卡 | 水果视频污 | 日韩一级片在线 | 亚洲天堂免费 | 激情文学av | 蜜桃视频一区二区 | 欧美伦理影院 | 欧美黄色短视频 | www.国产毛片 | 天堂网视频 | 久久色婷婷 | 久久99精品国产麻豆91樱花 | 老司机福利精品 | 夜夜操天天干 | www.av导航 | 性の欲びの女javhd | 日本黄色大片视频 | 亚洲国产精品国自产拍久久 | 一本在线 | 大伊人网 | 筱田优全部av免费观看 | 蜜臀久久99精品久久久久久宅男 | 91免费视频入口 | 日韩国产一级 | 韩国三级三级三级a三级 | 日韩国产成人在线 | 聚色屋 | 尤物视频在线播放 | 日韩视频播放 | 综合网国产 | 99热超碰在线 | 动漫3d精品一区二区三区乱码 | 在线观看黄 | 男女啪啪免费网站 | 久久精品123 | 欧美在线看 | 免费在线视频一区二区 | 久久久久精 | 中国精品妇女性猛交bbw | 精品国产自 | 2015成人永久免费视频 | 国产精品高潮呻吟av久久4虎 | 日日精 | 伊甸园精品区 | 操操操操操操操操操操 | 日本在线观看 | 免费观看理伦片在线播放视频软件 | 国产精品成人免费一区久久羞羞 | 日韩精品系列 | 国产精品免费一区二区三区 | 国产毛片a级 | 日韩二区三区 | 国产日韩欧美在线播放 | 中文字幕综合在线分类 | 久久这里只有精品99 | 国产女人爽到高潮久久久4444 | 黄视频在线免费看 | 久久免费看少妇高潮av影视 | 亚洲精品中文字幕乱码三区 | 亚洲男同视频网站 | 精品亚洲成人 | 中文幕无线码中文字蜜桃 | 亚洲视频福利 | 九色国产精品 | 日韩不卡在线 | 久久高清国产 | 午夜视频网站在线观看 | 亚洲二区一区 | 影音先锋在线视频观看 | 久久亚洲天堂 | 乱淫av| 96在线视频| 91久久爽久久爽爽久久片 | 亚洲国产日韩在线 | 刺激性视频黄页 | 久久网页| 精品久久久久久久久久久久久久久久 | 91国内视频 | 九九影视理伦片 | 国产女优在线播放 | 欧美日韩精品一区二区在线播放 | 精品91在线 | 91鲁| 日韩欧美视频一区二区三区 | 摸摸摸bbb毛毛毛片 熊猫成人网 | 国产性自拍 | 国产在线综合网 | av日韩不卡 | 九九精品网 | 91禁蘑菇在线看 | 合集lunjian挨cao双性 | 久久国产香蕉视频 | 国产福利网 | 国产精品资源在线 | 免费一级片视频 | 亚洲欧美在线播放 | 国产免费一区二区三区 | 久久两性视频 | www国产com | 日韩在线观看免费 | 久久中文视频 | 你懂的在线网站 | 伊人情人综合 | 亚洲爱爱综合网 | 亚洲成人18 | 国产粉嫩白浆 | 国产午夜精品一区二区理论影院 | 激情综合婷婷 | 亚洲专区一区 | 欧美亚韩一区二区三区 | 377人体粉嫩噜噜噜 亚洲欧美色图片 | 2019中文字幕在线视频 | 91久久网| 骚婷婷 | 国产又粗又长又黄视频 | 日本激情网 | 亚洲精品久久久久久久久久久久久久 | 九一国产精品 | 国产精品成人3p一区二区三区 | 狠狠a| 91丨九色| 天堂在线中文资源 | 肉丝美脚视频一区二区 | 制服.丝袜.亚洲.中文.综合 | 日韩视频在线观看一区二区 | 日本性生活一级片 | 亚洲欧美精品一区二区三区 | 伊人久久一区二区三区 | 免费av网址大全 | 日日干av| 经典杯子蛋糕日剧在线观看免费 | 中文字幕偷拍 | 欧美日韩成人在线视频 | 好男人www免费高清视频在线观看 | 在线免费观看av网站 | 这里有精品视频 | 大伊人网| 成人黄色免费 | 久久人人干 | 天天做天天爱 | 乳揉みま痴汉4在线播放 | 超碰久草| 欧美日韩大片在线观看 | 中文字幕 国产精品 | 国产成人高清成人av片在线看 | aⅴ精品av导航 | 午夜精品久久久久久久99热浪潮 | 欧美大黑b | 天天色综合色 | 大学生第一次破女处视频国产 | 国产精品毛片一区视频播 | 久久九九热视频 | 亚洲欧美日韩精品 | 伊人久久一区 | 免费不卡av | 日韩在线免费视频观看 | 91精品福利在线 | 亚洲最新在线观看 | 国产三级av在线 | 一级免费片 | 国产精品19乱码一区二区三区 | 欧美国产日韩在线 | 日韩在线视频第一页 | 天天干夜夜爽 | 欧美日韩激情视频 | 噜噜噜网站 | 日日艹| xxxx日本高清| 色网站免费观看 | 国产一区二区免费在线 | 欧美手机在线视频 | 男人天堂视频在线观看 | 日韩骚片 | 婷婷99| 99视频在线精品免费观看2 | 中文字幕av久久爽一区 | 久久资源在线 | 2017狠狠干 | 91免费福利 | 92看片淫黄大片看国产片 | 小嫩嫩12欧美 | 国产精品一区二区三区免费视频 | 亚洲黄色成人网 | av香蕉| 亚洲精品国产精品乱码不卡 | 国产福利av在线 | 99er8| 国产精品日韩高清 | 亚洲国产精品视频一区 | 青草草在线视频 | av在线免费在线 | 国产色区 | 午夜视频网 | 成人综合久久 | 这里只有久久精品视频 | 青草久久久久 | 日本少妇色视频 | 金瓶狂野欧美性猛交xxxx | 日批网站在线观看 | 中文字幕在线一 | 国产福利一区二区三区在线观看 | 亚洲精品乱码久久久久久蜜桃动漫 | 不卡的av在线 | 在线看黄网 | 久久538| 最近日韩中文字幕 | 色视频免费在线观看 | 99久久成人 | 91精品国产91久久久久久久久久久久 | 看全色黄大色黄大片大学生 | 亚洲成人网在线观看 | 亚洲一区二区三区黄色 | 免费在线播放av | 欧美在线观看视频一区 | 理论片午午伦夜理片影院99 | 中文字幕av久久爽 | 亚洲精品国产a久久久久久 一级片999 | 国产网友自拍 | 性开放视频 | 天天干天 | 国产片91| 免费又黄又爽又猛大片午夜 | 国产wwwxxx| 佐佐木明希99精品久久 | 日日弄天天弄美女bbbb | 欧美日韩中文字幕一区二区 | 国内精品久久久久久 | 日本国产在线视频 | 天堂资源站 | 98久久| 亚洲精品天堂在线 | 中日韩在线观看视频 | 国产粉嫩av | 综合网在线视频 | 综合久久av| 91蝌蚪91密月 | 成年人在线视频免费观看 | www.欧美在线 | 日韩精品在线观看一区 | 丰满少妇中文字幕 | 亚洲爱视频 | 久久成人午夜 | 国产黄色录像 | 日本久久99 | 狠狠干天天干 | 欧美 亚洲 另类 激情 另类 | 岛国av大片 | 神马久久香蕉 | 色老头综合 | 在线中文字日产幕 | 美女免费毛片 | 成人免费在线看片 | 亚色综合 | 国产精品成人久久久久久久 | 99re久久 | 国产精品任我爽爆在线播放, | 美女插插视频 | 亚洲色大成网站www 国产四区视频 | 黄色欧美视频 | 免费男女视频 | 悠悠色综合网 | 超碰香蕉 | 亚洲春色校园 | 国产一区二区在线视频聊天 | 久操中文 | 亚洲久久色 | 天天色天天干天天 | 情侣av| 97成人资源 | 精品国产xxx | 中文字幕日韩在线播放 | 中文字幕在线资源 | 性开放永久免费视频 | xxxxxx日本| 夜夜小视频 | www.射 | 六月丁香激情综合 | 亚洲男人的天堂在线视频 | 亚洲毛片在线观看 | 成人午夜精品福利 | 茄子视频懂你更多在线观看 | 国产一级做a爰片在线看免费 | 免费看黄色一级片 | 欧美性猛交xxxx乱 | 亚色中文 | 西西大胆午夜视频 | 91丨九色丨海角社区 | 国产精品视频一区二区三区不卡 | 成人动漫一区 | 麻豆成人在线观看 | 国产精品久久免费视频 | 国产欧美日韩在线播放 | 精品国产户外野外 | 成年人黄色大全 | 蜜桃久久久 | 美女激情网站 | 国产精品久久久久久久9999 | 毛片在线免费 | 337p日本大胆噜噜噜噜 | 99re国产精品 | 欧美在线激情 | 成人av亚洲 | 一级片在线播放 | 久久中文网 | 国产一区在线视频观看 | 久久精品8| 在线一区视频 | 精品一区二区三区自拍图片区 | 日本亚洲最大的色成网站www | 国产欲妇 | 午夜久久乐 | 成年人看片网站 | 国产精品搬运 | 99av国产精品欲麻豆 | 草草色 | 日本性爱视频在线观看 | 嫩草影院一区二区 | 色小姐com| 国产欧美日本在线 | 亚洲激情区 | 爱情岛亚洲首页论坛小巨 | 国产三级三级三级 | 久热伊人 | 亚洲乱码一区av黑人高潮 | 久久久国产亚洲精品 | 波多野结衣视频网址 | 超碰一区二区 | 波多野结衣视频一区 | 亚洲天堂久久久 | 黄色网址在线免费观看 | 一级二级三级视频 | 免费啪啪网址 | 日韩激情一区 | 91人人爱| 国产xxx在线观看 | 免费在线看a | 国产精美视频 | 成人黄色在线 | 国产精品乱子伦 | 日韩乱码在线观看 | 久久精品视频8 | 男人的天堂黄色 | 国产精品拍拍 | 在线观看免费视频黄 | 91免费看黄| 亚洲另类交| 午夜偷拍视频 | 亚洲四虎影院 | 另类天堂网 | 亚洲性生活大片 | 国产青青视频 | 韩国三级hd中文字幕的背景音乐 | 青青操视频在线 | 日日爱影视 | 91娇羞白丝| 四虎影院色| 精品视频网 | 久久中文免费 | 日韩123区 | 亚洲精品国产第一综合99久久 | 日韩免费播放 | 婷婷在线看 | 国产一级片精品 | 视频一二三区 | 性猛交富婆╳xxx乱大交天津 | 天天综合天天做天天综合 | 久久久精品综合 | 亚洲精品理论 | 精品伊人久久 | 最近日韩中文字幕中文 | 汇聚全球精美吹潮色xx | 四虎少妇做爰免费视频网站四 | 波多野结衣一区二区三区在线 | √天堂在线 | 影音先锋男人的天堂 | www五月| 久草免费在线观看视频 | 日韩欧美国产一区二区 | 国产精品欧美久久 | 成人午夜视频在线播放 | 狠狠干夜夜爽 | 蜜桃av鲁一鲁一鲁一鲁俄罗斯的 | 亚州男人的天堂 | 97福利影院 | 亚洲美女高潮久久久 | 四虎永久在线精品免费网址 | 久久久一本精品 | 手机在线成人av | 亚洲视频在线观看免费视频 | 激情视频免费在线观看 | 五月天婷婷导航 | 久久在线免费 | 毛片a区| 亚洲一区欧美在线 | 日韩精品一级 | 中文字幕理论片 | 免费在线 | 精品福利片 | 亚洲永久免费视频 | 久草视频在线播放 | 91在线无精精品一区二区 | 天天激情 | 亚洲啪啪av | 亚洲国产婷婷 | 国产精品羞羞答答在线 | 天天做天天爱天天爽 | 成人性生活视频 | 亚洲一区二区三 | 日本免费在线观看视频 | 中文字幕日产乱码中 | 毛片视频网站在线观看 | 依依综合网 | 黄色特级大片 | 8090理论片午夜理伦片 | 一级黄色片免费播放 | 激情五月婷婷小说 | 黑白配高清国语在线观看 | 打开免费观看视频在线播放 | 亚洲国产婷婷 | 自拍偷拍中文字幕 | 奇米网在线观看 | 欧美一区二区三区视频 | 亚洲v在线观看 | 91黄色免费视频 | 成人午夜精品福利 | 欧美日韩高清一区二区 | 波多野结衣一区二区在线 | 亚洲骚片| 国产日韩片 | 麻豆精品视频在线 | 久草资源在线 | 中文字幕乱视频 | 中文 欧美 日韩 | 最新中文字幕免费 | 91激情网| 温柔少妇的高潮呻吟 | 久久精品男人的天堂 | 国产精品久久久久久亚洲调教 | 理论片91 | 亚洲国产成人在线 | 欧美bbbbbbbbbbbb1 日本女人黄色 | 欧美精品在线视频 | 国产尤物在线观看 | 色播在线视频 | 免费av毛片 | 一区二区三区成人 | 香蕉视频黄色片 | 亚洲码无人客一区二区三区 | 成人天堂av| 亚洲 欧美 另类 综合 偷拍 | av大全在线播放 | 亚洲3atv精品一区二区三区 | 久久久蜜桃一区二区人 | 337p日本大胆噜噜噜噜 | 另类老妇性bbwbbw高清 | 天天伊人网| 五月天婷婷网站 | av毛片一区二区 | bbbbbxxxxx性欧美 | 亚洲第一免费视频 | 男人天堂亚洲天堂 | 日韩av福利 | 亚洲一区二区三区婷婷 | 91国内精品久久久 | 日韩有码专区 | 黑人精品一区二区 | 国产毛片在线 | a级片在线观看 | 在线观看免费高清 | 99热.com | 国产女人爽的流水毛片 | 久久婷婷网站 | 久久精品视频网 | 亚洲国产视频网站 | 91亚洲国产成人久久精品麻豆 | 日韩网| 日韩欧美在线免费 | 婷婷丁香激情五月 | 天天操bb| 久久久久国产精品一区二区三区 | 国产精品13p | 天天操天天弄 | 成人啪啪 | 五月婷婷婷婷 | 久久久国产一区 | 一级二级三级黄色片 | 中文字幕免费视频观看 | 狠狠狠狠狠 | 久久一级片 | 色婷婷亚洲 | 男人猛进女人爽的大叫 | 视频精品一区二区 | 91毛片观看 | 一级黄色激情片 | 婷婷精品在线 | 久久精品5| 欧美在线亚洲 | 欧日韩在线 | 不卡视频免费在线观看 | 亚洲毛片视频 | 亚洲情射 | 高h校园不许穿内裤h调教 | 黄色香蕉网 | 在线观看超碰 | 三级黄视频 | 成熟女人毛片www免费版在线 | 亚洲日本在线观看 | 国产乱色 | 一区二区三区四区欧美 | 国产精品黄色大片 | 日韩不卡在线 | 久久久夜 | 亚洲综合天堂 | 国产又粗又长又黄 | 97国产超碰| 在线a亚洲视频播放在线观看 | 国产区精品| 第一页国产 | 日韩精品中文字幕在线 | 亚洲自拍天堂 | 好色综合 | 99热这里只有精品66 | 亚洲成年网站 | 亚洲麻豆一区二区三区 | 成人啪啪网站 | 国产香蕉久久精品综合网 | 欧美在线免费视频 | 天堂v在线观看 | 精品国产黄色片 | 97香蕉超级碰碰久久免费软件 | 成人短视频在线免费观看 | 国产精品高潮呻吟久久av黑人 | 视频成人免费 | 亚欧在线观看视频 | 国语对白真实视频播放 | 狠狠操婷婷 | 欧美日韩视频 | 99免费在线观看视频 | 国产精品呻吟久久 | 色婷婷在线视频 | 欧美内谢 | 婷婷六月丁 | 亚洲国产日韩av | 能看的毛片 | 亚洲毛片一区二区三区 | 亚洲v天堂 | 黄色国产视频 | 中文字幕在线观看视频一区 | 特黄视频免费看 | www.com欧美 | 综合精品视频 | 日本xxxxxxxxx | 亚洲成av人片在www色猫咪 | 操亚洲 | 狠狠地日 | 亚洲欧美韩国 | 伊人色av | 黄色片免费观看 | 超碰婷婷| 亚洲精品一区14p | 亚洲区小说区 | 亚洲国产精品视频一区 | 少妇性高潮视频 | 国产高清黄色 | 国产精品资源在线 | 黄色一级视屏 | 亚洲小说图片区 | 天天摸夜夜爽 | 女性向小h片资源在线观看 嫩草视频在线 | 国产精品久久久久久久不卡 | 国产精品伦一区二区三级视频 | 九草视频在线观看 | 国语对白真实视频播放 | 久久久久久高清 | 超碰资源总站 | 国产一级片毛片 | 一级黄色片在线播放 | 亚洲天堂免费观看 | 国产污片在线观看 | 欧美国产精品一二三 | 午夜激情视频在线观看 | 91捆绑91紧缚调教91 | 亚洲欧洲在线播放 | 欧美国产一区二区 | 高清久久 | 精品久久久精品 | 人人舔人人爽 | 日韩欧美国产精品 | 蜜桃成人在线视频 | 99re在线视频播放 | 99资源网| av一级黄色片 | 日本黄图| 色香色香欲天天天影视综合网 | 欧美日韩在线视频免费 | 日韩免费不卡视频 | 成人精品免费视频 | 天天透天天操 | 日韩精品视频在线免费观看 | 婷婷精品视频 | 中文av网 | 中文字幕在线观看第二页 | 狠狠干视频在线 | 狼人综合伊人 | 亚洲最大免费视频 | 中日韩欧美在线观看 | 五月婷综合网 | 九九热视频免费观看 | 欧洲精品在线观看 | 啪啪导航 | 成av在线| 99re国产精品 | 成人深夜福利在线观看 | 色播在线播放 | 久久久久香蕉 | 一区二区三区高清视频在线观看 | 第四色在线视频 | 91视频污在线观看 | 亚洲欧美一区二区久久 | 成人h动漫精品一区二区器材 | 国产精品―色哟呦 | 国产精品乱码一区二区 | 快色在线观看 | 4438x亚洲最大 | 亚洲区免费 | 亚洲精品二三区 | 久久久久久久一 | 伊人五月综合 | 午夜不卡在线 | 亚洲国产精品一区二区第一页 | 久久免费看少妇高潮 | 黑人中文字幕一区二区三区 | 亚洲午夜网站 | 欧美区国产区 | 国产超薄肉色丝袜足j | 国产伦子伦对白视频 | 久久99深爱久久99精品 | 国产精品suv一区二区 | 福利视频一区二区 | 欧美日韩国产免费 | 台湾性dvd性色av | 亚洲情侣在线 | 天天射天天拍 | 中国一级免费毛片 | av中文在线播放 | 婷婷视频在线观看 | 夜夜操夜夜操 | 日日夜夜免费精品 | 日本黄色大片视频 | 性欧美一区 | 伊人久久一区 | 永久在线视频 | 自拍亚洲一区 | 一级免费在线 | 九色在线91 | 欧美精品久久久久久久久老牛影院 | 欧美日韩另类在线 | www奇米影视com| 国产精品三 | 国产视频第一区 | av在线免费在线观看 | 精产国品一二三产区区别在线观看 | 自拍偷拍精品视频 | 国产精品久久久久久久久久妞妞 | 国产精品久久久久久久久久久久久久久久久 | 久久免费看少妇高潮 | 亚洲黑丝在线 | 亚洲国产欧美自拍 | 午夜久久乐 | 国产黑丝在线播放 | 国产91高清 | 亚洲综合福利 | 在线视频精品播放 | 日韩欧美网站 | 久久久精品国产sm调教网站 | 欧美成人精品在线 | 日韩福利网站 | 国产精品-色哟哟 | 性色生活片 | 色偷偷888欧美精品久久久 | 草草在线观看视频 | 在线不卡中文字幕 | 日韩欧美一级片 | 亚洲综合在线色 | 伊人一级 | 男女激情实录 | 污网站在线播放 | 久久伊人超碰 | 天天视频黄色 | 久久久久久久久久久免费av | 天堂在线官网 | 成在线免费观看av | 99精品视频一区二区三区 | 欧美日韩xxxx | 国产精品亚洲视频 | 久久久毛片 | 亚洲综合图区 | 国产精品视频久久久久 | 六月婷婷激情 | 精品91久久久久久 | 中文字幕一区一区三区 | 网爆门在线 | 成人aaa视频 | www一级片| 亚洲欧美日韩国产一区二区 | 日本a在线播放 | 一级少妇精品久久久久久久 | 欧美性粗暴 | 日韩视频区| 91蝌蚪91九色| jzzijzzij日本成熟少妇 | 男人天堂新地址 | 在线免费毛片 | 黄色大片a级| 成人在线欧美 | 日韩av在线天堂 | 黑人巨大精品欧美久久 | 日韩在线三级 | 夜夜嗨网站 | 在线天堂中文字幕 | 日本乱偷中文字幕 | 在线视频中文字幕一区 | www五月婷婷 | 久久国产小视频 | 能直接看的av网站 | 日韩91| 97超碰站| 浪浪视频在线观看 | 精品国产网 | 亚洲精品国产精品乱码不99按摩 | 国产乱色精品成人免费视频 | 亚洲va国产天堂va久久 en | 亚洲国产一区二区三区 | 天天干夜操 | 成人1区2区3区 | 中国av毛片 | 成人av免费在线观看 | 秋霞网一区二区 | 久久久人人爽 | 亚洲综合中文 | 成人手机视频 | 亚洲手机在线 | 秋霞毛片少妇激情免费 | 黑人巨大精品欧美黑白配亚洲 | 北条麻妃久久 | www操| 亚洲一线在线观看 | 日韩不卡| 国产51视频 | 在线亚洲成人 | 北条麻妃一区二区三区在线观看 | 淫语在线观看 | 婷婷免费| 香蕉久久夜色精品国产使用方法 | 狠狠狠狠狠狠狠干 | 亚洲免费在线观看视频 | 一级黄色片毛片 | 国产91av视频| 四虎成人av | 影音先锋在线国产 | 日韩啪啪网站 | 在线小视频你懂的 | 欧美成人精品激情在线观看 | 丰满岳妇乱一区二区三区 | 国产精品免费视频观看 | 中文字幕久久一区二区三区 | 亚洲午夜剧场 | ww欧美| 亚洲国产精品国自产拍久久 | 国产精品综合一区二区 | 中文字幕在线三区 | 女警白嫩翘臀呻吟迎合 | 免费在线 | 五月六月丁香 |