kvm-kmod目录结构与编译依赖

本文介绍了KVM-kmod的源码目录结构,包括Kvm-kmod-2.6.32.7版本的各子目录功能,如arch/x86, include-compat等。此外,还详细阐述了编译过程,包括配置、编译步骤,最终生成kvm.ko, kvm-amd.ko和kvm-intel.ko三个模块。" 114605640,10329936,Tomcat源码解析:Pipeline与Valve初始化,"['Java Web', 'Tomcat源码', 'Valve']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

kvm-kmod目录结构与编译依赖


     下面针对kvm-kmod-2.6.32.7作一下简要说明。
      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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值