没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论















文件编号:01
版本号:1.0
ARMv8 内核异常处理分析
部 门:
作 者:
联系方式:
日 期:

文件修订记录
文件修订记录
时间
作者
主要修订内容

目录
目录
文件修订记录 .............................................................................................................................. 2
目录 .............................................................................................................................................. 3
摘要 .............................................................................................................................................. 4
ARMv8 Linux 内核异常处理过程分析 .................................................................................... 5
1.1 Linux 内核异常处理相关文件 ............................................................................................. 5
1.2 执行 kernel_entry 之前的栈 ................................................................................................ 5
1.3 执行 kernel_entry 时的栈 .................................................................................................... 6
1.4 执行 kernel_exit 时的栈 ..................................................................................................... 6
1.5 entry.s 代码分析 .................................................................................................................... 7
1.6 traps.c 代码分析 .................................................................................................................. 31
结论 ............................................................................................................................................ 33
参考文献 .................................................................................................................................... 34
问题总结及解答 ........................................................................................................................ 35
附录 ............................................................................................................................................ 36

摘要
摘要

ARMv8 Linux 内核异常处理过程分析
ARMv8 Linux 内核异常处理过程分析
看了 Linaro 提供的开源 ARMv8 Linux 内核源码,发现 ARMv8 异常处理与 ARMv7
及之前的架构有所不同,详细分析之。
Linaro ARMv8 工程:http://www.linaro.org/engineering/engineering-projects/armv8
1.1 Linux 内核异常处理相关文件
Linux 内核中,异常处理主要由两个文件完成,entry.S 和 traps.c,当然还有一些其它
异常处理函数分布于 fault.c, memory.c 等等。entry.S 包含异常的入口、进入异常处理 C 函
数前的压栈、退出 C 函数前的出栈、一些 fork 函数相关的处理代码(暂不分析)、任务切
换汇编处理过程(cpu_switch_to 函数,暂不分析)。traps.c 主要包含异常处理 C 函数。
本文主要分析 entry.S,对于 traps.c 作简要介绍。
1.2 执行 kernel_entry 之前的栈
原始 SP 指向的位置
地址增长方向
图 1 没执行 kernel_entry 之前的栈图
剩余35页未读,继续阅读
资源评论

- binarystar20062016-02-05还不错 解释了一部分异常处理的内容

乾龙_Heron
- 粉丝: 544
- 资源: 5
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制
