潮声隔雨深 · 2020年03月08日

Arm 各个exception level 都可以访问 sp_el0, 这么做的原因是什么?

最近在看ATF的代码,发现他会用到sp_el0, 翻了下文档,看到各个exception level都可以访问到。

请问这么设计的原因是什么?

1 个回答 得票排序 · 时间排序
一知半解 · 2020年03月08日

例如调用SMC进入到EL3时,默认是用的SP_EL3,然后切换到SP_EL0,我的理解这样的目的是可以把核心的堆栈设计的很小,当处理其他信息时用的是另外一个堆栈,但是这个只是用了SP_EL0来存储地址,回到EL1或者EL0时并不会实际访问到堆栈的内容。

你的回答