1. 程式人生 > >QEMU1.3.0的原始碼分析一 : 原始碼目錄簡介

QEMU1.3.0的原始碼分析一 : 原始碼目錄簡介

最近在研究QEMU,讀了一些QEMU的原始碼,因為涉及的東西比較多,找到的資料又都比較破碎,不太完整。所以將最近的成果總結一下。
相比其他的開源軟體來說,QEMU原始碼下面目錄比較多,下面就先把這些目錄的內容大致整理一下。
docs/ 包含了一些文件,說實話,對初學者來說,讀這些文件壓根沒有頭緒
hw/   包含了所有支援的硬體裝置
include/  包含了一些標頭檔案
linux-user/  包含了linux下的使用者模式的程式碼
target-XXX/   包含了QEMU目前所支援guset端的處理器架構。包括:alpha,arm,cris,i386,lm32,m68k,microblaze,mips,openrisc,ppc,s390x,sh4,sparc,unicore32,xtensa. 此處的XXX就是指這其中的一種架構。包含的程式碼的主要功能是將該guest架構的指令翻譯成TCG OP程式碼。也就是target-arm下的程式碼就是將arm架構的指令翻譯成TCG OP。這些目錄佔了原始碼目錄的很大一部分。
tcg/   包含了動態翻譯工具tcg的原始碼部分,主要是將TCG OP轉化為host binary的部分。這個目錄下也包含了多個架構名字命名的目錄,每個目錄下存放著針對該架構的程式碼。後續會詳細介紹。
test/ 從名字上可以看出,應該是存放測試部分的程式碼,但是目前這部分程式碼還沒讀。