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

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虚拟机,并启用硬件加速

四、源码整体框架讲解

五、各子模块讲解

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

相关文章:

  • 宝塔部署 Vue + NestJS 全栈项目
  • 【开源工具】音频格式转换大师:基于PyQt5与FFmpeg的高效格式转换工具开发全解析
  • (一)微服务(垂直API)
  • 大疆上云API+流媒体服务器部署实现直播功能
  • 中国移动咪咕助力第五届全国人工智能大赛“AI+数智创新”专项赛道开展
  • JAVA单商户易联云小票打印替换模板
  • java对接bacnet ip协议(跨网段方式)
  • ⭐ Unity AVProVideo插件自带播放器 脚本重构 实现视频激活重置功能
  • azure web app创建分步指南
  • WPF响应式UI的基础:INotifyPropertyChanged
  • WPF的交互核心:命令系统(ICommand)
  • 工控机安装lubuntu系统
  • 跨平台浏览器集成库JxBrowser 支持 Chrome 扩展程序,高效赋能 Java 桌面应用
  • 玛哈特校平机实战指南:选型、应用痛点
  • Java String的使用续 -- StringBuilder类和StringBuffer
  • OpenCV---minAreaRect
  • Java八股-数据类型转换有哪些?类型互转会有什么问题?为什么用bigDecimal 不用double ?自动装箱和拆箱?包装类?
  • QML 滑动与翻转效果(Flickable与Flipable)
  • 随记 配置服务器的ssl整个过程
  • 华为云Flexus+DeepSeek征文 | 基于Dify和DeepSeek-R1开发企业级AI Agent全流程指南
  • 怎么样用html做asp网站/微信推广软件哪个好
  • 牧童蝉网站建设/怎样查询百度收录和排名情况
  • 如何建设影视网站/网站宣传推广文案
  • 购物网站html/郑州网站关键词优化公司
  • 信息流广告文案/宁波seo营销
  • 学校网站怎么做/一般的电脑培训班要多少钱