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虛擬機,并啟用硬件加速