免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3752 | 回复: 4
打印 上一主题 下一主题

KVM in chart [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-05 14:42 |只看该作者 |倒序浏览

  1. goto please read "kvm: the Linux Virtual Machine Monitor"
  2. by Avi Kivity at Proceedings of the Linux Symposium, Ottawa, 2007.


  3.        --------    ----------
  4.        | Qemu |    | Lguest |
  5.        --------    ----------
  6.           |            |
  7.           X            X
  8.           |            |
  9.        ----------------------
  10.        |        KVM         |     abstract layer
  11.        ----------------------
  12.           |            |
  13.           X            X
  14.           |            |
  15.        -------       -------
  16.        | PPC |       | X86 |      arch layer
  17.        -------       -------
  18.                         |
  19.                         X
  20.                         |
  21.                   --------------  hardware layer
  22.                   |            |
  23.                  Vmx          Svm




  24.                           CPU
  25.                            |
  26.                 -----------------------               |-- BUS
  27.   APIC -- | arch virtualization | -- I/O --|
  28.                 -----------------------               |-- DEV
  29.                            |
  30.                           MMU
  31.                         


  32. kvm on cmdline is a misc char device,

  33.         struct miscdevice kvm_dev;

  34. its fops is defined only with ioctl = kvm_dev_ioctl.


  35.                  |-- KVM_GET_API_VERSION
  36. kvm_dev_ioctl --|-- KVM_CHECK_EXTENSION
  37.                  |      |
  38.                  |      |-- KVM_CAP_USER_MEMORY
  39.                  |      |-- KVM_CAP_DESTROY_MEMORY_REGION_WORKS
  40.                  |      |-- KVM_CAP_JOIN_MEMORY_REGIONS_WORKS:
  41.                  |      |-- KVM_CAP_IRQ_ROUTING
  42.                  |      |-- kvm_dev_ioctl_check_extension()
  43.                  |             |- KVM_CAP_IRQCHIP
  44.                  |             |- KVM_CAP_HLT
  45.                  |             |- KVM_CAP_MMU_SHADOW_CACHE_CONTROL
  46.                  |             |- KVM_CAP_SET_TSS_ADDR
  47.                  |             |- KVM_CAP_EXT_CPUID
  48.                  |             |- KVM_CAP_CLOCKSOURCE
  49.                  |             |- KVM_CAP_PIT
  50.                  |             |- KVM_CAP_NOP_IO_DELAY
  51.                  |             |- KVM_CAP_MP_STATE
  52.                  |             |- KVM_CAP_SYNC_MMU
  53.                  |             |- KVM_CAP_REINJECT_CONTROL
  54.                  |             |- KVM_CAP_IRQ_INJECT_STATUS
  55.                  |             |- KVM_CAP_ASSIGN_DEV_IRQ
  56.                  |             |- KVM_CAP_COALESCED_MMIO
  57.                  |             |- KVM_CAP_VAPIC
  58.                  |             |- KVM_CAP_NR_VCPUS
  59.                  |             |- KVM_CAP_NR_MEMSLOTS
  60.                  |             |- KVM_CAP_PV_MMU
  61.                  |             |- KVM_CAP_IOMMU
  62.                  |
  63.                  |-- KVM_GET_VCPU_MMAP_SIZE
  64.                  |-- KVM_TRACE_XYZ
  65.                  |
  66.                  |-- KVM_CREATE_VM
  67.                  |      |- kvm_vm_ioctl for kvm-vm
  68.                  |            |
  69.                  |            |- KVM_CREATE_VCPU
  70.                  |            |     |- kvm_vcpu_ioctl for kvm-vcpu
  71.                  |            |           |- KVM_RUN
  72.                  |            |           |- KVM_GET_REGS
  73.                  |            |           |- KVM_SET_REGS
  74.                  |            |           |- KVM_GET_SREGS
  75.                  |            |           |- KVM_SET_SREGS
  76.                  |            |           |- KVM_GET_MP_STATE
  77.                  |            |           |- KVM_SET_MP_STATE
  78.                  |            |           |- KVM_TRANSLATE
  79.                  |            |           |- KVM_SET_GUEST_DEBUG
  80.                  |            |           |- KVM_SET_SIGNAL_MASK
  81.                  |            |           |- KVM_GET_FPU
  82.                  |            |           |- KVM_SET_FPU
  83.                  |            |           |- kvm_arch_vcpu_ioctl()
  84.                  |            |                 |- KVM_GET_LAPIC
  85.                  |            |                 |- KVM_SET_LAPIC
  86.                  |            |                 |- KVM_INTERRUPT
  87.                  |            |                 |- KVM_NMI
  88.                  |            |                 |- KVM_SET_CPUID
  89.                  |            |                 |- KVM_SET_CPUID2
  90.                  |            |                 |- KVM_GET_CPUID2
  91.                  |            |                 |- KVM_GET_MSRS
  92.                  |            |                 |- KVM_TPR_ACCESS_REPORTING
  93.                  |            |                 |- KVM_SET_VAPIC_ADDR
  94.                  |            |
  95.                  |            |- KVM_SET_USER_MEMORY_REGION
  96.                  |            |- KVM_GET_DIRTY_LOG
  97.                  |            |- KVM_REGISTER_COALESCED_MMIO
  98.                  |            |- KVM_UNREGISTER_COALESCED_MMIO
  99.                  |            |- KVM_ASSIGN_PCI_DEVICE
  100.                  |            |- KVM_ASSIGN_IRQ
  101.                  |            |- KVM_ASSIGN_DEV_IRQ
  102.                  |            |- KVM_DEASSIGN_DEV_IRQ
  103.                  |            |- KVM_DEASSIGN_PCI_DEVICE
  104.                  |            |- KVM_SET_GSI_ROUTING
  105.                  |            |- KVM_ASSIGN_SET_MSIX_NR
  106.                  |            |- KVM_ASSIGN_SET_MSIX_ENTRY
  107.                  |            |- kvm_arch_vm_ioctl()
  108.                  |                  |- KVM_SET_TSS_ADDR
  109.                  |                  |- KVM_SET_MEMORY_REGION
  110.                  |                  |- KVM_SET_NR_MMU_PAGES
  111.                  |                  |- KVM_GET_NR_MMU_PAGES
  112.                  |                  |- KVM_SET_MEMORY_ALIAS
  113.                  |                  |- KVM_CREATE_IRQCHIP
  114.                  |                  |- KVM_CREATE_PIT
  115.                  |                  |- KVM_IRQ_LINE_STATUS
  116.                  |                  |- KVM_IRQ_LINE
  117.                  |                  |- KVM_GET_IRQCHIP
  118.                  |                  |- KVM_SET_IRQCHIP
  119.                  |                  |- KVM_GET_PIT
  120.                  |                  |- KVM_SET_PIT
  121.                  |                  |- KVM_REINJECT_CONTROL
  122.                  |
  123.                  |-- kvm_arch_dev_ioctl()
  124.                         |- KVM_GET_MSR_INDEX_LIST
  125.                         |- KVM_GET_SUPPORTED_CPUID

复制代码


then mmu ops, specially the shadow page, and guest exit handle ops.

[ 本帖最后由 rtable 于 2009-12-5 14:45 编辑 ]

kivity-Ottawa-2007.pdf

451.75 KB, 下载次数: 68

论坛徽章:
0
2 [报告]
发表于 2009-12-05 15:06 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
2
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:09
3 [报告]
发表于 2009-12-06 10:49 |只看该作者

回复 #1 rtable 的帖子

楼主可以加我吗,我正在研究kvm和lguest,能请教一下吗?
我的qq:364481568

论坛徽章:
0
4 [报告]
发表于 2009-12-06 12:06 |只看该作者
i m not able to play QQ, clearly i m already out, hoho....
but you r able to post whatever u like at CU, anyway.

btw, though pointless, it is funny to run lguest on KVM, and Russell may deliver u candy

[ 本帖最后由 rtable 于 2009-12-27 11:25 编辑 ]

uv.rar

2.32 MB, 下载次数: 32

论坛徽章:
0
5 [报告]
发表于 2012-08-14 11:31 |只看该作者
KVM的开发、分析资料好难找啊,在哪里比较集中呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP