博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OK6410A 开发板 (八) 33 linux-5.11 OK6410A 内存管理第一阶段
阅读量:4285 次
发布时间:2019-05-27

本文共 1250 字,大约阅读时间需要 4 分钟。

A arch/arm/kernel/head.S 中的 stext符号 - __turn_mmu_on 符号----此时开了MMU,开启了虚拟内存时代

流程

mrc p15, 0, r9, c0, c0	// 将 cpuid 存储到 r9__lookup_processor_type	// 根据 r9 中的值 ,获取 procinfo 并存储到 r5movs    r10, r5	// 获取 procinfo 并存储到 r10__vet_atags	// 验证 atags__create_page_tables			//	 内存管理相关1	// clear 50004000 - 50007fffc	// at 50005400 , Create identity mapping to cater for __enable_mmu.	// at 50007000 - 50007020 , Map our RAM from the start to the end of the kernel .bss section.	// at 50007fe0 - 50007fe4 , map boot params address in r2ldr r12, [r10, #PROCINFO_INITFUNC]add r12, r12, r10ret r12 						//	 内存管理相关2	// 跳转到 arch/arm/mm/proc-v6.S 中的 __v6_setup	// 设置  D cache , I cache , write buffer __enable_mmu					//	 内存管理相关3	// load domain access register	// load page table pointer__turn_mmu_on	// write control reg , 即 开 MMU //	 内存管理相关4
  • 内存管理相关1
在 50004000 - 50007fffc 地址 为 下列 部分所在的物理地址 做 到 虚拟地址 的 映射1. 当前pc处相关代码2. 整个kernel的代码3. atags的数据
  • 内存管理相关2
arch/arm/mm/proc-v6.S 中的 __v6_setup设置  D cache , I cache , write buffer
  • 内存管理相关3
__enable_mmu 写 cp15 协处理器load domain access register	// 该寄存器 在 MMU开启后的访问内存流程中 会被使用load page table pointer	// 该寄存器 在 MMU开启后的访问内存流程中 会被使用
  • 内存管理相关4
__turn_mmu_on 写 cp15 寄存器write control reg	// 开MMU	// 此语句一开始执行,就代表MMU开启了	// 下一句就是 MMU开启后的访问内存流程

转载地址:http://ecigi.baihongyu.com/

你可能感兴趣的文章
DOM笔记(九):引用类型、基本包装类型和单体内置对象
查看>>
也谈学习
查看>>
DOM笔记(十):JavaScript正则表达式
查看>>
如何高效编写可维护代码?
查看>>
DOM笔记(十一):JavaScript对象的基本认识和创建
查看>>
DOM笔记(十二):又谈原型对象
查看>>
DOM笔记(十三):JavaScript的继承方式
查看>>
CSS:响应式下的折叠菜单(条纹式)
查看>>
响应式设计三部曲
查看>>
45种Javascript技巧大全
查看>>
PDO学习笔记
查看>>
MarkDown语法
查看>>
Linux的文件权限
查看>>
全屏滚动实现:fullPage.js和fullPage
查看>>
SASS小结
查看>>
一个js闭包问题的解答
查看>>
Responsive Design常用的媒体查询
查看>>
45个必备的JavaScript Web开发工具
查看>>
CSS3实现酷炫导航
查看>>
编写更好的CSS必备的40个工具
查看>>