Kvm-Kmod目錄結構與編譯依賴(轉)

 針對版本:kvm-kmod-2.6.32.7

Kmod簡要說明:kvm-kmod是KVM VMM的內核模塊部分,在內核中體現爲一個驅動程序模塊;在用戶空間表徵爲一個字符設備/dev/kvm。KVM虛擬機的用戶空間部分qemu-kvm(對qemu模擬器的修改版,主要修改是替換了qemu的指令的動態二進制翻譯部分)通過使用ioctl系統調用來創建和啓動虛擬機。
Kmod部分主要負責處理虛擬機的”敏感指令”,而qemu-kvm主要負責虛擬機的非敏感指令及設備虛擬化。【CPU非特權模式,內存,IO】
一、            Kmod源碼目錄結構
Kmod源碼樹目錄結構如下:(+號表示目錄下還有子目錄,-號表示沒有子目錄)
+Kvm-kmod-2.6.32.7
+Include 
+arch
+x86      到根目錄下的X86源代碼目錄的符號鏈接。
                     -asm-ia64     intel 安騰體系結構的kmod頭文件定義
                     -asm-x86      X86的kmod頭文件定義(x86+x86_64;intel+amd)
                     -linux            平臺無關,/dev/kvm(KVM)的用戶空間接口
                     -trace           用於事件跟蹤的頭文件定義
              +include-compat 用於兼容舊版本Linux內核的頭文件定義
                     -asm-ia64
                     -asm-x86
                     -linux
                     -trace           裏面的文件用於滿足include
-Ia64           此目錄包含ia64體系結構有關的kmod實現。跳過不必看。
-Powerpc     此目錄與powerpc體系結構相關的,跳過不必看。
-Scripts         腳本目錄僅包含2個文件,
65-kvm.rules     udev(動態設備管理)用於動態增加/dev/kvm設備的規則。
Make-release    在代碼裏面沒什麼用,好像是用來同步並打包代碼的。
+usr  此目錄包含用戶態可使用的頭文件,基本上與include/linux/下的頭文件相同。
-X86 此目錄爲kmod的核心目錄,包含x86體系結構上的kvm-kmod的實現。
         
二、            Kmod編譯依賴
編譯步驟:
       #cd  ./kvm-kmod-2.6.32.16/
       #./configure
              生成了config.mak kvm-kmod-config.h兩個文件
       #./make
                     最後編譯出三個文件:kvm.ko kvm-amd.ko 和 kvm-intel.ko【都是在x86目錄下。編譯時會自動判斷系統的體系結構,從而根據系統結構來進行相應的編譯工作。】
其中:
       kvm.ko:
kvm.mod.o kvm.o
       kvm-amd.ko:
kvm-amd.mod.o kvm-amd.o
       kvm-intel.ko:
kvm-intel.mod.o kvm-amd.o
       而:
              Kvm.o:
Kvm_main.o x86.o mmu.o emulate.o ..anon_inodes.o irp.o i8259.o lapic.o ioapic.o preempt.o i8254.o coalesced_mmio.o irp_comm.o timer.o eventfd.o ../external-module-compat.o 
../request-irp-compat.o [iommu.o] ../srcu.o
                            Kvm-intel.o:
                                   Vmx.o vmx.debug.o
                            Kvm-amd.o
                                   Svm.o
                            Kvm.mod.o:
                                   Kvm.mod.c
                            Kvm-intel.mod.o:
                                   Kvm-intel.mod.c
                            Kvm-amd.mod.o
                                   Kvm-amd.mod.c

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章