本文分析riscv AIA的基本逻辑。目前,相关的代码还在社区review,分析使用的代码为, qemu使用v7.1.50主线代码,内核使用https://github.com/avpatel/linux riscv_aia_v2分支。
opensbi设备驱动模型
本文简单分析下Opensbi里的设备驱动模型,分析基于opensbi 1.1版本。
riscv内存模型分析
本文整理riscv的内存模型,基于riscv unprivileged ISA 20191213这个版本。其实 对于使用弱内存序的构架,它们的内存模型都是比较相似的,无非是细节上有可能有 一点不一样,本文也可以做为弱内存序相关的一个基础介绍。
qemu tcg中riscv page table walk分析
本文分析riscv上page table walk的逻辑,这部分逻辑一般是硬件完成了,我们这里 分析qemu tcg对page table walk的模拟实现,从模拟中我们也可以看到其中的基本逻辑, 本文会分析整个page table walk的细节,并且分析整个两级地址翻译的流程,只有这样 才能彻底看清整个地址翻译流程。分析基于的qemu版本是v7.1.50。
qemu模拟ARM构架综合分析-TCG
本文分析qemu模拟ARM平台的方式,我们并不会深入分析相关的技术细节,只是大概 看下整体构架,点出各个模拟的关键点,保证我们在随后的深入分析中可以迅速找见 相关代码。
qemu中basic block以及tcg中各种变量的基本逻辑
在实现一个CPU架构的QEMU前端指令翻译的时候会用到各种tcg变量,本文整理这些 变量的基本语意,分析背后的qemu代码。本文分析基于的QEMU版本是6.2.0, 基于riscv CPU体系结构。
qemu tcg取指令逻辑分析
本文分析qemu tcg里vCPU取指令实现逻辑的分析,基于的qemu版本是v7.1.50,分析基于riscv平台。
qemu tlb实现分析
本文分析qemu tcg里tlb实现的逻辑,分析基于的qemu版本是v7.1.50, 基于riscv构架。
RISCV DTS描述分析
本文分析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构架。