本文分析riscv的dts描述格式,分析用的是riscv qemu virt平台,我们将分析不同 启动参数下生成的dts格式,重点分析CPU、中断控制器以及PCIe控制器的相关定义。 依赖的qemu版本是v7.1.50,依赖的内核版本是v6.1。
qemu tcg goto_tb分析
发表于
更新于
分析goto tb什么要在一个page内,使用的qemu代码的版本是v7.1.50,分析基于riscv构架。
git submodule的使用
发表于
更新于
本文介绍git中submodule的基本逻辑以及使用方法。
Linux内核镜像头分析
发表于
更新于
本文分析Linux内核镜像中Image头部格式的一些相关问题,使用的硬件构架是riscv, 分析中使用的内核版本使用v6.1
riscv qemu virt平台CPU拓扑分析
发表于
更新于
本文分析riscv qemu virt平台上和CPU相关的拓扑,分析基于qemu v7.1.50代码。
CPU核中断设计基本逻辑
发表于
更新于
本文梳理CPU核在中断上的高层逻辑,分析围绕软硬件接口,而不关注硬件内部的实现 逻辑。本文是高层逻辑上的分析,不会涉及具体体系架构上的中断设计,如果有必要, 我们用riscv作为具体体系构架分析具体内容。
riscv plic基本逻辑分析
发表于
更新于
本文分析riscv下plic中断控制器的基本逻辑,分析基于plic-1.0.0_rc5, qemu代码基于v7.1.50, Linux内核代码基于v6.1。
riscv AIA逻辑分析
发表于
更新于
本文分析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。