0%

本文分析riscv的dts描述格式,分析用的是riscv qemu virt平台,我们将分析不同 启动参数下生成的dts格式,重点分析CPU、中断控制器以及PCIe控制器的相关定义。 依赖的qemu版本是v7.1.50,依赖的内核版本是v6.1。

阅读全文 »

本文分析Linux内核镜像中Image头部格式的一些相关问题,使用的硬件构架是riscv, 分析中使用的内核版本使用v6.1

阅读全文 »

本文梳理CPU核在中断上的高层逻辑,分析围绕软硬件接口,而不关注硬件内部的实现 逻辑。本文是高层逻辑上的分析,不会涉及具体体系架构上的中断设计,如果有必要, 我们用riscv作为具体体系构架分析具体内容。

阅读全文 »

本文分析riscv下plic中断控制器的基本逻辑,分析基于plic-1.0.0_rc5, qemu代码基于v7.1.50, Linux内核代码基于v6.1。

阅读全文 »

本文分析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的代码逻辑。分析基于的内核版本是v6.0,qemu版本是v7.1.50。

阅读全文 »