在分析seL4中断的投递过程的过程中,发现始终有几个函数在source insight中怎么搜也搜索不到它的实现。已下记录下解决过程:
怀疑方向
- 宏定义用字符拼接方式
- 库文件里面
- 脚本生成
现象
在将官方未更改的项目加入到source insight中后,发现seL4_IRQHandler_SetNotification等接口,总是找不到。再将编译后的项目也加入后,发现在项目目录sel4_client.h文件里面接口就能找到了,证明确实是自动生成的。
结果
起初搜索的SetNotification字段在sel4.xml中的interface字段中,有详细的说明。还有对于的Python文件用类似字段,可能是官方采用的脚本生成的方式,将所需要的通用接口统一放置到了sel4_client.h这种类似的文件中,并以static inline修饰这些函数。具体如何实现,暂不研究,太复杂。
网友评论