本文分析riscv AIA的基本逻辑。目前,相关的代码还在社区review,分析使用的代码为, qemu使用v7.1.50主线代码,kvmtool使用https://github.com/avpatel/kvmtool riscv_aia_v1分支, 内核使用https://github.com/avpatel/linux riscv_kvm_aia_v1分支。
多核启动基本逻辑分析
发表于
更新于
本文分析CPU多核启动的基本逻辑,我们分析基于riscv的qemu虚拟机,固件基于opensbi, 内核采用Linux。各个分析内容的版本是:qemu v7.1.50, opensbi v1.0, Linux v6.0。
Linux initramfs分析
发表于
更新于
本文分析Linux内核里initramfs的代码逻辑。分析基于的内核版本是v6.0,qemu版本是v7.1.50。
riscv内存管理相关指令整理
发表于
更新于
本文分析riscv内存管理相关的指令,主要包括,内存序、TLB无效化以及cache无效化 的相关指令。分析使用的内核版本是v6.0,qemu版本是7.1.50,opensbi的版本是v1.1, riscv privilige ISA的版本是20211203,CMO的版本是20220513。
opensbi逻辑分析
发表于
本文分析opensbi的基本逻辑,分析基于opensbi 1.1版本。
riscv中断异常委托关系分析
发表于
更新于
本文分析riscv构架下,中断和异常在各个特权级下的委托关系。
riscv aclint逻辑分析
发表于
本文主要分析riscv aclint的定义和内核实现。aclint使用https://github.com/riscv/riscv-aclint 上发布的版本,内核使用v5.19-rc8,qemu使用7.1.50。
riscv qemu virt平台外设分析
发表于
更新于
本文分析riscv架构qemu virt虚拟机上各种外设的逻辑,分析基于qemu v7.1.50(d29201ff3), Linux内核基于v5.19。
Linux软中断基本概念
发表于
更新于
本文介绍Linux内核里软中断的基本逻辑,分析基于内核代码v5.19-rc8,体系结构基于 riscv。目前,没有实际案例帮助继续分析细节。
riscv kvm中断虚拟化的基本逻辑
发表于
本文分析riscv kvm中断虚拟化的相关逻辑,分析基于qemu v7.0.0,Linux内核基于v5.19。 中断直通没有分析。