⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 memory.txt

📁 linux 内核源代码
💻 TXT
字号:
		Kernel Memory Layout on ARM Linux		Russell King <rmk@arm.linux.org.uk>		     November 17, 2005 (2.6.15)This document describes the virtual memory layout which the Linuxkernel uses for ARM processors.  It indicates which regions arefree for platforms to use, and which are used by generic code.The ARM CPU is capable of addressing a maximum of 4GB virtual memoryspace, and this must be shared between user space processes, thekernel, and hardware devices.As the ARM architecture matures, it becomes necessary to reservecertain regions of VM space for use for new facilities; thereforethis document may reserve more VM space over time.Start		End		Use--------------------------------------------------------------------------ffff8000	ffffffff	copy_user_page / clear_user_page use.				For SA11xx and Xscale, this is used to				setup a minicache mapping.ffff1000	ffff7fff	Reserved.				Platforms must not use this address range.ffff0000	ffff0fff	CPU vector page.				The CPU vectors are mapped here if the				CPU supports vector relocation (control				register V bit.)ffc00000	fffeffff	DMA memory mapping region.  Memory returned				by the dma_alloc_xxx functions will be				dynamically mapped here.ff000000	ffbfffff	Reserved for future expansion of DMA				mapping region.VMALLOC_END	feffffff	Free for platform use, recommended.				VMALLOC_END must be aligned to a 2MB				boundary.VMALLOC_START	VMALLOC_END-1	vmalloc() / ioremap() space.				Memory returned by vmalloc/ioremap will				be dynamically placed in this region.				VMALLOC_START may be based upon the value				of the high_memory variable.PAGE_OFFSET	high_memory-1	Kernel direct-mapped RAM region.				This maps the platforms RAM, and typically				maps all platform RAM in a 1:1 relationship.TASK_SIZE	PAGE_OFFSET-1	Kernel module space				Kernel modules inserted via insmod are				placed here using dynamic mappings.00001000	TASK_SIZE-1	User space mappings				Per-thread mappings are placed here via				the mmap() system call.00000000	00000fff	CPU vector page / null pointer trap				CPUs which do not support vector remapping				place their vector page here.  NULL pointer				dereferences by both the kernel and user				space are also caught via this mapping.Please note that mappings which collide with the above areas may resultin a non-bootable kernel, or may cause the kernel to (eventually) panicat run time.Since future CPUs may impact the kernel mapping layout, user programsmust not access any memory which is not mapped inside their 0x0001000to TASK_SIZE address range.  If they wish to access these areas, theymust set up their own mappings using open() and mmap().

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -