简介
这是一篇ARM官方出版的一篇文章的译文,原文可以参考《GICv3 and GICv4 Software Overview Release B》。文章主要是从软件的角度如何理解、使用GICv3/v4
架构,以及与GICv2
的一些差异。通过学习本文,尤其是当你在基于ARMv8
架构的SoC芯片上,开发裸机程序、安全软件、hypervisor
和各种操作系统内核的时候,大有裨益。
翻译本文的初衷,也是因为前段时间开发了一个基于ARMv8
架构的轻量级hypervisor
,在开发中断虚拟化的代码时,从头到尾把本文研读了好几遍,并将其翻译成中文。希望能够给大家提供一些学习上的助力。
目录内容
- 2 介绍→主要介绍GIC架构历史
- 3 GICv3基础→概念理解,尤其是编程模型的理解
- 4 GIC配置→如何配置GIC的各种寄存器,使其正常工作
- 5 处理中断→讲解中断的处理流程
- 6 LPI配置→理解ITS服务和基于消息的中断
- 7 SGI中断→如何发送接收软中断
- 8 虚拟化→如何在虚拟化环境下管理虚拟中断
- 9 GICv4→虚拟LPI的直接注入
文章内容
因为文章内容比较多,感觉用公众号阅读太长了,请点击下面的原文链接进行阅读。
下期预告
后面打算围绕如何开发一个轻量级hypervisor
,开展一个专题(直到完成一个可用的hypervisor为止),敬请期待。(因为工作的原因,更新有时候会慢,请大家多谅解!)
下期主题:AArch64虚拟化概述