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.pswp.cn/news/907550.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/907550.shtml
英文地址,請注明出處:http://en.pswp.cn/news/907550.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

一、Sqoop歷史發展及原理

作者:IvanCodes 日期:2025年5月30日 專欄:Sqoop教程 在大數據時代,數據往往分散存儲在各種不同類型的系統中。其中,傳統的關系型數據庫 (RDBMS) 如 MySQL, Oracle, PostgreSQL 等,仍然承載著大量的關鍵業務…

【Halcon】圖像分割中的 regiongrowing 與dyn_threshold 動態閾值 算法詳解對比

圖像分割中的 regiongrowing 與動態閾值算法詳解對比 在使用 HALCON 進行圖像處理時,圖像分割是最常見也最關鍵的操作之一。本文將深入講解 regiongrowing 算子的原理與使用方法,并與另一常見方法——動態閾值 (dyn_threshold) 進行詳細對比&#xff0c…

Docker部署項目無法訪問,登錄超時完整排查攻略

項目背景:遷移前后端應用,prod環境要求保留443端口,開發環境37800端口,后端容器端口為8000,前端為80,fastAPI對外端口為41000 生產環境部署在VM01,開發環境部署在VM03,在VM01配置nginx轉發 [r…

充電便捷,新能源汽車移動充電服務如何預約充電

隨著新能源汽車的普及,充電便捷性成為影響用戶體驗的關鍵因素之一。傳統的固定充電樁受限于地理位置和數量,難以完全滿足用戶需求,而移動充電服務的出現,為車主提供了更加靈活的補能方式。通過手機APP、小程序或在線平臺&#xff…

探索C++標準模板庫(STL):從容器到底層奧秘-全面解析String類高效技巧(上篇)

前引:在現代軟件開發中,字符串處理是幾乎所有程序的核心需求之一。無論是文本解析、網絡通信,還是用戶交互,高效且安全的字符串操作能力直接決定了代碼的質量與可維護性。而C標準模板庫(Standard Template Library, ST…

Python爬蟲實戰:抓取百度15天天氣預報數據

🌐 編程基礎第一期《9-30》–使用python中的第三方模塊requests,和三個內置模塊(re、json、pprint),實現百度地圖的近15天天氣信息抓取 記得安裝 pip install requests📑 項目介紹 網絡爬蟲是Python最受歡迎的應用場景之一&…

HTML常見事件詳解:從入門到實戰應用

前言 在Web開發中,事件是用戶與網頁交互的核心機制。HTML事件讓我們能夠響應用戶的各種操作,如點擊、鼠標移動、鍵盤輸入等。掌握HTML事件是前端開發的基礎技能之一,本文將深入探討HTML中的常見事件類型及其實際應用。 HTML事件概覽總結 H…

模具制造業數字化轉型:精密模塑,以數字之力鑄就制造基石

模具被譽為 “工業之母”,是制造業的重要基石,其精度直接決定了工業產品的質量與性能。在工業制造向高精度、智能化發展的當下,《模具制造業數字化轉型:精密模塑,以數字之力鑄就制造基石》這一主題,精準點明…

深度解讀漏洞掃描:原理、類型與應用實踐

在網絡安全領域,漏洞就像隱藏在系統中的定時炸彈,隨時可能被攻擊者利用,導致數據泄露、服務癱瘓等嚴重后果。而漏洞掃描作為發現這些潛在威脅的 “偵察兵”,是保障網絡安全的重要防線。本文將全面介紹漏洞掃描的相關知識&#xff…

[HNCTF 2022 Week1]silly_zip

下載附件 解壓發現需要密碼 用010打開看看,發現是偽加密 改成00點擊保存 解壓后得到圖片 感覺圖片看著怪怪的,修改一下高度看看有沒有其他線索 把47改成78 最后得到flag

Facebook 的隱私保護措施是否足夠?技術觀點

在數字時代,隱私保護成為了公眾關注的焦點,尤其是對于擁有數十億用戶的社交媒體巨頭 Facebook 來說,其隱私保護措施的有效性更是備受矚目。本文將從技術角度探討 Facebook 的隱私保護措施是否足夠。 數據收集與使用 Facebook 收集用戶數據的…

cocosCreator 1.8 升級到 2.4

現在負責的一個運營中的商業項目,使用的是 cocosCreator1.8,之前沒有做好設計,所以東西都是直接加載在內存中的,到了現在性能問題逐漸暴露出來,討論之后想進行引擎升級,升級到cocosCreator 2.4。 官方的升…

ubuntu 制作 ssl 證書

安裝 openssl sudo apt install openssl 生成 SSL 證書 # 生成私鑰 (Private Key) openssl genrsa -out private.key 2048 在當前目錄生成 private.key # 生成證書簽名請求 (CSR - Certificate Signing Request) openssl req -new -key private.key -out certificate.csr -…

【Java基礎-環境搭建-創建項目】IntelliJ IDEA創建Java項目的詳細步驟

在Java開發的世界里,選擇一個強大的集成開發環境(IDE)是邁向高效編程的第一步。而IntelliJ IDEA無疑是Java開發者中最受歡迎的選擇之一。它以其強大的功能、智能的代碼輔助和簡潔的用戶界面,幫助無數開發者快速構建和部署Java項目…

WEB3——什么是ABI

怎么獲得ABI? 在編譯完合約后,可以在左邊下面點擊復制ABI ABI(Application Binary Interface,應用二進制接口)是用來讓前端或服務端 JavaScript 代碼與智能合約進行交互的橋梁,它描述了合約的函數、事件和…

移動安全Android——客戶端數據安全

本地文件權限配置 測試流程 (1)手機運行待測APP應用,adb執行命令找到APP包名 adb shell dumpsys activity top|findstr ACTIVITY (2)adb shell 進入設備,以Root權限進入/data/data/package包名目錄下 c…

拉普拉斯噪聲

1. 概念 拉普拉斯噪聲是一種連續概率分布生成的隨機噪聲,其核心特點是符合拉普拉斯分布。這種噪聲被特意添加到數據(尤其是查詢結果或統計量)中,以實現差分隱私這一嚴格的隱私保護框架。 核心目的: 在保護數據集中的個…

django項目開啟debug頁面操作有數據操作記錄

在項目的主文件中setting中配置 """ Django settings for ProjectPrictice project.Generated by django-admin startproject using Django 3.0.1.For more information on this file, see https://docs.djangoproject.com/en/3.0/topics/settings/For the ful…

【科研繪圖系列】R語言繪制森林圖(forest plot)

禁止商業或二改轉載,僅供自學使用,侵權必究,如需截取部分內容請后臺聯系作者! 文章目錄 介紹加載R包數據下載導入數據數據預處理畫圖系統信息介紹 本文介紹使用R語言繪制森林圖(forest plot)的方法。首先加載必要的R包(grid、forestploter、openxlsx、stringr),導入并預處…

MySQL-8.0.42 主從延遲常見原因及解決方法

目錄 1 查看從庫延時方法 2 如何分析主從延遲 3 主從延遲的常見原因及解決方法 1 查看從庫延時方法 mysql> show slave status \G *************************** 1. row *************************** Slave_IO_Running: Yes #兩個yes說明主從復制正常 …