中断/gic代码导读:在哪里配置安全中断的?
生活随笔
收集整理的這篇文章主要介紹了
中断/gic代码导读:在哪里配置安全中断的?
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
思考:在哪里配置安全中斷的? 在哪里配置中斷的G0、G1NS、G1S分組的?
1、optee
在optee中有一段默認(rèn)的配置,將0-7配置成G1NS,8-15配置成G1S,16-31配置成G1NS,32之后的也全部都是G1NS
但是這段配置不一定會(huì)被調(diào)用,gic_init()由平臺(tái)的main_init_gic()函數(shù)調(diào)用,在大多數(shù)的場(chǎng)景下,gic_init()是不會(huì)被調(diào)用的。
如下也只是列舉了plat-rockchip平臺(tái)對(duì)gic_init()的調(diào)用。
不過呢,在optee中新增一個(gè)中斷時(shí),會(huì)將該中斷號(hào)配置成G1S
2、ATF
ATF軟件中定義了三種類型的中斷
- INTR_TYPE_S_EL1 //給secure EL1使用的中斷,會(huì)設(shè)置成G1S
- INTR_TYPE_EL3 //給EL3使用的中斷,會(huì)設(shè)置成G0
- INTR_TYPE_NS //給non-secure EL1使用的中斷,會(huì)設(shè)置成G1NS
ATF中提供了一個(gè)API,可以設(shè)置中斷的類型
plat_ic_set_interrupt_type(map->intr, INTR_TYPE_EL3);
gicv3_set_interrupt_type()的原型如下所示:
總結(jié)
以上是生活随笔為你收集整理的中断/gic代码导读:在哪里配置安全中断的?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [HOW TO]-ubuntu20.04
- 下一篇: 思考: 什么时候需要disable MM