ARM linux内核在内存中的布局

发布者:星光闪耀最新更新时间:2020-01-19 来源: eefocus关键字:ARM  linux内核  内存  布局 手机看文章 扫描二维码
随时随地手机看文章

Kernel Memory Layout on ARM Linux


Russell King

     November 17, 2005 (2.6.15)


This document describes the virtual memory layout which the Linux

kernel uses for ARM processors.  It indicates which regions are

free for platforms to use, and which are used by generic code.


The ARM CPU is capable of addressing a maximum of 4GB virtual memory

space, and this must be shared between user space processes, the

kernel, and hardware devices.


As the ARM architecture matures, it becomes necessary to reserve

certain regions of VM space for use for new facilities; therefore

this 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 result

in a non-bootable kernel, or may cause the kernel to (eventually) panic

at run time.


Since future CPUs may impact the kernel mapping layout, user programs

must not access any memory which is not mapped inside their 0x0001000

to TASK_SIZE address range.  If they wish to access these areas, they

must set up their own mappings using open() and mmap().


关键字:ARM  linux内核  内存  布局 引用地址:ARM linux内核在内存中的布局

上一篇:ARM命令LDREX和STREX实现spinlock
下一篇:ARMv8中branch指令分类、格式及用法

推荐阅读最新更新时间:2024-11-21 20:32

英特尔通过内存和存储创新 加速以数据为中心的技术发展
在全球影响力人士大会上,英特尔正式介绍了一系列新的技术里程碑,并强调了其在以数据为中心的计算时代,推动内存与存储技术进步的持续投资与坚定承诺,包括面向云、人工智能和网络边缘应用,为客户提供独特的英特尔®傲腾™技术以及英特尔3D NAND解决方案。 英特尔公司高级副总裁兼非易失性存储解决方案事业部总经理Rob Crooke表示:“当今世界正在以惊人的速度产生数据,让各类企业越来越难以高效处理数据。从所有这些数据中获取价值的能力将是决定成败的关键,而在内存和存储层级结构中实现突破性的前沿创新,正是英特尔在这一领域的驱动力所在。” 英特尔公司高级副总裁兼非易失性存储解决方案事业部总经
[嵌入式]
英特尔通过<font color='red'>内存</font>和存储创新 加速以数据为中心的技术发展
基于ARM9的1553B与CAN总线转换卡的设计与实现
  1 引 言   20世纪70年代诞生的1553B总线是一种主从式多冗余度总线对总线硬件有严格的规定,可靠性和实时性好,传输速率达到1 Mb/s,对于大多数的应用都能满足,通过几十年的发展,已经成为当今军用电子总线的首选。而由德国BOSCH公司开发的CAN总线,采用多主方式,最高速率为1 Mb/s,由于其在汽车电子系统中的卓越表现,现在受到了越来越多的用户的关注和认可。这两种总线都是传输速率高、可靠性高、实时性能好的总线,但是他们都存在一定的不足。1553B总线的任一次数据传输都是由主节点发出命令开始,从节点接到命令后解析并执行,同时把相应状态反馈给主节点,这使得网络上的数据传输率大大降低,并使主节点控制器非常繁忙,而且在下端出
[嵌入式]
一图看懂各大企业无人驾驶布局,特斯拉阴影怎么破?
近日,美国佛罗里达州的一起车祸引起了世界的关注,主要在于发生车祸时,该车正处于 自动驾驶 模式,该起事故是全球范围内使用自动驾驶技术造成的第一 起致死车祸,人们最为关注的是,以实现安全驾驶为目的的 无人驾驶 技术是否安全?自动驾驶模式控制的汽车是否有能力应对复杂的交通状况,能否做出有效的驾驶 决策?   无人驾驶真的安全吗? 无人驾驶是伴随智能汽车的发展而来,相关研究数据表明,采用智能汽车前三个层次的辅助驾驶技术、半自动驾驶技术、高度自动驾驶技术,可以减少 50%-80%的汽车交通安全事故。无人驾驶汽车不仅能够解决酒后驾车、疲劳驾驶、开车打电话,以及残疾人开车等问题,还可避免严重交通意外发生,每年可 拯救3万-15万人的性命
[嵌入式]
LG Q92 5G现跑分库:骁龙765G+6GB内存+Android 10
7 月下旬,LG Q92 5G 现身 Google Play Console 网站,正面谍照和关键规格参数被曝光。现在,这款型号为“LGE LM-Q920N”的 5G 手机现身 GeekBench 跑分库,确认搭载高通骁龙 765G 处理器,6GB 的内存,Android 10 系统。   渲染图显示 Q92 正面将会采用打孔屏,里面为一枚自拍相机。根据列出的详细信息显示,LG Q92 将搭载高通骁龙 765 芯片组,该移动平台是基于 ARM 的中端 SoC,也是首批集成 5G 调制解调器的芯片组-Snapdragon X5。 该调制解调器支持高达 3.7 / 1.6 Mbps(下行和上载)以及 mmWave 和 S
[手机便携]
LG Q92 5G现跑分库:骁龙765G+6GB<font color='red'>内存</font>+Android 10
ARM雄鹰展翅:挑战英特尔
  导读:国外媒体今天撰文称,ARM即将凭借新款“Eagle”(鹰)处理器挑战英特尔在服务器市场的地位。   以下为文章全文:   当ARM高管发布新款Eagle处理器时,他们还不能说这款产品已经成型。但他们却毫不讳言,这款全新的设计将帮助这家英国公司进军一些新的市场。   与英特尔的竞争对手不同,ARM并没有直接将发明转化成产品,而是将技术授权给芯片制造商,而这些制造商则会在此基础上增加其他一些内容,从而生产出可以处理大量应用的芯片。最为知名的便是手机市场,ARM在这一市场占据主导。   ARM CEO沃伦·伊斯特(Warren East)周三晚间在在旧金山表示,自从20年前创立至今,ARM的处理器“核心”出货量已经达到
[嵌入式]
linux-2.6.26内核中ARM中断实现详解(2)
三、中断处理过程 这一节将以S3C2410为例,描述linux-2.6.26内核中,从中断开始,中断是如何一步一步执行到我们注册函数的。 3.1 中断向量表 archarmkernelentry-armv.S __vectors_STart: swi SYS_ERROR0 b vector_und + stubs_offset ldr pc, .LCvswi + stubs_offset b vector_pa^ + stubs_offset b vector_da^ + stubs_offset b vector_addrexcptn + stubs_offset b vector_IRq
[单片机]
英特尔布局可穿戴市场 迂回发力移动芯片业务
 导语:美国科技博客DigitalTrends今天撰文指出,虽然付出了很大努力,但英特尔仍然是移动芯片市场的“小角色”。不过,英特尔现在正布局可穿戴设备市场,试图以这项当前炙手可热的技术为先导,上演一出“曲线救国”的好戏,最终在移动芯片市场的争夺中掌握主动权。    以下为文章概要:    曲线救国   英特尔希望在移动芯片领域有一番作为,但似乎运气不佳。虽然英特尔是台式机和笔记本电脑芯片市场的霸主,不过在移动芯片市场只是一个“小角色”。高通、Nvidia、MediaTek等竞争对手控制着智能手机芯片市场95%的份额,而英特尔则在这一领域举步维艰,难以取得实质性进展。   英特尔已经错过了智能手机这艘船,但另一艘船也在驶来,而
[手机便携]
凌华科技推出采用AMD Geode LX 800 处理器的ETX 模块
    适合医疗设备、游戏机、工厂自动化、POS系统及行动装置应用 2007年8月 日,北京讯 产业应用平台供货商-凌华科技推出低功耗且符合ETX 3.02修正版规格的嵌入式模块ETX-GLX。ETX 3.02修正版为了可以完全兼容于ETX 2.X版本,特别增加两个SATA端口连接器,因此目前ETX载板并不需要经过任何修正即可支持新的SATA储存功能。凌华科技ETX-GLX低功耗、中端效能表现以及支持图像等功能,特别适合医疗仪器,游戏机,工厂自动化,POS系统以及行动装置等应用。ETX-GLX本(8)月底开始供货。详细资料请浏览凌华网站: http://www.adlinktech.com 。 凌华科技嵌入式计算机产品协理柏汉克
[嵌入式]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved