虚拟化(7):kvm+kernel kvm子系统初始化流程(GIC)

0.总流程

来看,依然回到这个函数上

https://elixir.bootlin.com/linux/v6.6/source/arch/arm64/kvm/arm.c#L2397

初始化子系统:

其中就包括CPU的hyp_init, cpu低功耗init, virt gic初始化,virt timer初始化

一行行解释我们会碰到的log:

1.GICv3: no GICV resource entry

这里 是指并未提供GICV的物理基址资源,它可以兼容GICv2, 实际我们并没有打算支持v2, v3 在 arm64上仍是主流

2.disabling GICv2 emulation

https://elixir.bootlin.com/linux/v6.6/source/arch/arm64/kvm/vgic/vgic-v3.c#L685

这里是disable GICv2 emulation(仿真)

3.GIC system register CPU interface enabled

https://elixir.bootlin.com/linux/v6.6/source/arch/arm64/kvm/vgic/vgic-init.c#L586

GIC打开

4.vgic interrupt IRQ%d

https://elixir.bootlin.com/linux/v6.6/source/arch/arm64/kvm/vgic/vgic-init.c#L613

调用request_percpu_irq把vgic_maintenance_handler 绑定到per CPU 独立的中断线

qemu+kernel 文章被收录于专栏

qemu+kernel

全部评论

相关推荐

2025-12-15 14:16
门头沟学院 Java
回家当保安:发offer的时候会背调学信网,最好不要这样。 “27届 ”和“28届以下 ”公司招聘的预期是不一样的。
实习简历求拷打
点赞 评论 收藏
分享
2025-11-13 20:16
已编辑
厦门理工学院 软件测试
专业嗎喽:硕佬,把学校背景放后面几段,学校背景双非还学院,让人看了就不想往下看。 把实习经历和个人奖项放前面,用数字化简述自己实习的成果和掌握的技能,比如负责项目一次通过率90%,曾4次发现项目潜在问题风险为公司减少损失等等
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务