当前位置: 首页 > article >正文

00 QEMU源码中文注释与架构讲解

QEMU源码中文注释与架构讲解

先占坑:等后续完善后再更新此文章

注释作者将狼才鲸
创建日期2025-05-30
更新日期NULL
  • CSDN阅读地址:00 QEMU源码中文注释与架构讲解
  • Gitee源码仓库地址:才鲸嵌入式/qemu

一、前言

  • 参考网址
    • QEMU 源码目录简介
    • qemu学习笔记:QOM
    • QEMU虚拟机关键源代码学习
    • QEMU源码分析系列(一)
    • qemu基本架构
    • NULL
    • NULL
    • NULL
    • 《QEMU/KVM源码分析与应用》读书笔记1 —— 第1章 QEMU与KVM概述

二、整体介绍

1、源码文件夹结构与简述

jim@virtual-pc:~/qemu$ tree -a -L 1
.
├── accel			# 加速
├── audio			# 音频
├── authz
├── backends
├── BAK_README.rst		# 原本仓库的readme文件
├── block
├── block.c
├── blockdev.c
├── blockdev-nbd.c
├── blockjob.c
├── bsd-user
├── chardev
├── common-user
├── configs
├── configure
├── contrib
├── COPYING			# 开源信息
├── COPYING.LIB			# 开源信息相关
├── cpu-common.c
├── cpu-target.c
├── crypto
├── .dir-locals.el
├── disas
├── docs			# 技术文档,英文的,而且对新手没什么用
├── docs_中文			# 字节写的一些中文文档
├── dump
├── ebpf
├── .editorconfig
├── event-loop-base.c
├── .exrc
├── fpu
├── fsdev
├── .gdbinit
├── gdbstub
├── gdb-xml
├── .git			# git代码管理仓库
├── .gitattributes		# git代码管理对比工具配置
├── .git-blame-ignore-revs	# git代码管理相关
├── gitdm.config		# git代码管理相关
├── .github			# git代码管理服务器相关
├── .gitignore			# git代码管理忽略的文件信息配置
├── .gitlab			# git代码管理服务器相关
├── .gitlab-ci.d		# git代码管理服务器自动测试相关
├── .gitlab-ci.yml		# git代码管理服务器自动测试相关
├── .gitmodules			# git代码管理相关
├── .gitpublish			# git代码管理相关
├── hmp-commands.hx
├── hmp-commands-info.hx
├── host
├── hw				# 所有支持的硬件设备
├── include			# 公用头文件
├── io
├── iothread.c
├── job.c
├── job-qmp.c
├── Kconfig			# 源码配置相关
├── Kconfig.host		# 源码配置相关
├── libdecnumber
├── LICENSE			# 开源信息相关
├── linux-headers
├── linux-user			# linux下的用户模式的代码
├── .mailmap
├── MAINTAINERS
├── Makefile			# 编译参数相关
├── memory_ldst.c.inc
├── meson.build
├── meson_options.txt
├── migration
├── module-common.c
├── monitor
├── nbd
├── net
├── os-posix.c
├── os-win32.c
├── page-vary-common.c
├── page-vary-target.c
├── .patchew.yml
├── pc-bios
├── plugins
├── po
├── python
├── pythondeps.toml
├── qapi
├── qemu-bridge-helper.c
├── qemu-edid.c
├── qemu-img.c
├── qemu-img-cmds.hx
├── qemu-io.c
├── qemu-io-cmds.c
├── qemu-keymap.c
├── qemu-nbd.c
├── qemu.nsi
├── qemu-options.hx
├── qemu.sasl
├── qga
├── qobject
├── qom
├── readme.md			# 本仓库新增的主页说明文件
├── .readthedocs.yml
├── replay
├── replication.c
├── roms
├── scripts			# 源码编译相关
├── scsi
├── semihosting
├── stats
├── storage-daemon
├── stubs
├── subprojects
├── system
├── target			# QEMU目前所支持guset端的处理器架构,将该guest架构的指令翻译成TCG OP代码,里面的目录占源码总目的很大一部分
├── tcg				# 动态翻译工具tcg的源码部分,主要是将TCG OP转化为host binary的部分;也就是俗称的软件加速,而我们一般装Ubuntu这种大系统时需要选KVM、WHPX等硬件加速
├── tests
├── tools
├── trace
├── trace-events
├── .travis.yml
├── ui
├── util
├── VERSION			# 开源信息相关
├── version.rc			# 开源信息相关
└── .vscode			# 编辑器相关60 directories, 61 files
jim@virtual-pc:~/qemu$

三、本仓库内其它主题文章介绍

  • Windows10下使用QEMU安装Ubuntu20.04虚拟机,并启用硬件加速

四、源码整体框架讲解

五、各子模块讲解

六、实战:加入一款芯片的模拟器功能

http://www.lryc.cn/news/2392652.html

相关文章:

  • ansible template 文件中如果包含{{}} 等非ansible 变量处理
  • Screen 连接远程服务器(Ubuntu)
  • 路由器、网关和光猫三种设备有啥区别?
  • vscode实时预览编辑markdown
  • 2505软考高项第一、二批真题终极汇总
  • 云原生安全基础:Linux 文件权限管理详解
  • A类地址中最小网络号(0.x.x.x) 默认路由 / 无效/未指定地址
  • [嵌入式实验]实验二:LED控制
  • 6.4.2_3最短路径问题_Floyd算法
  • <PLC><socket><西门子>基于西门子S7-1200PLC,实现手机与PLC通讯(通过websocket转接)
  • day 33 python打卡
  • 开发时如何通过Service暴露应用?ClusterIP、NodePort和LoadBalancer类型的使用场景分别是什么?
  • 【机械视觉】Halcon—【六、交集并集差集和仿射变换】
  • 深度学习核心网络架构详解(续):从 Transformers 到生成模型
  • AI智能混剪视频大模型开发方案:从文字到视频的自动化生成·优雅草卓伊凡
  • allWebPlugin中间件VLC专用版之截图功能介绍
  • 【JavaSE】异常处理学习笔记
  • Scratch节日 | 六一儿童节
  • 深度解析:跨学科论文 +“概念迁移表” 模板写作全流程
  • 深度剖析Node.js的原理及事件方式
  • VScode-使用技巧-持续更新
  • 主流 AI IDE 之一的 Windsurf 使用入门
  • 大数据量下的数据修复与回写Spark on Hive 的大数据量主键冲突排查:COUNT(DISTINCT) 的陷阱
  • Cursor 对话技巧 - 前端开发专版
  • 历年南京理工大学计算机保研上机真题
  • Web前端常用面试题,九年程序人生 工作总结,Web开发必看
  • HTML实战项目:高考加油和中考加油
  • Rk3568驱动开发_设备树点亮LED_11
  • 多功能文档处理工具推荐
  • 如何科学测量系统的最高QPS?