摘要:1. 一句话总结 内存虚拟化解决虚拟机里面的进程如何访问物理机上的内存这一问题。 GuestOS本身有虚拟地址空间,用GVA表示。虚拟机认为自己独占整个内存空间,用GPA表示。 HostOS本身有虚拟机地址空间,用HVA表示。宿主机本身有物理内存空间,用HPA表示。 好,内存虚拟化的问题变成了GVA
阅读全文
摘要:http://39.107.46.219/qemu%E8%99%9A%E6%8B%9F%E5%8C%96%E5%AE%89%E5%85%A8%EF%BC%88%E4%BA%8C%EF%BC%89/ VIRTIO设备 了解QEMU和KVM交互的知道,客户机的IO操作通过KVM处理后再交由QEMU,
阅读全文
摘要:前端设备驱动 virtio_blk 虚拟机里面的进程写入一个文件,当然要通过文件系统。整个过程和咱们在文件系统那一节讲的过程没有区别。只是到了设备驱动层,我们看到的就不是普通的硬盘驱动了,而是 virtio 的驱动。 virtio 的驱动程序代码在 Linux 操作系统的源代码里面,文件名叫 dri
阅读全文
摘要:KVM is an acronym of “Kernel based Virtual Machine”, and is a virtualization infrastructure for the Linux kernel that turns it into a hypervisor.It is
阅读全文
摘要:KVM 基础知识 kvm是一个内核模块,它实现了一个/dev/kvm的字符设备来与用户进行交互,通过调用一系列ioctl函数可以实现qemu和kvm之间的切换。 KVM结构体 KVM结构体在 KVM的系统架构中代表一个具体的虚拟机,当通过 VM_CREATE_KVM 指令创建一个新的 KVM结构体对
阅读全文
摘要:主要参考的文章是david942j@217的这篇博客和这篇介绍。 在做abyss这个题目的时候涉及到了很多hypervisor, kvm的内容。虚拟化这一层一般也是我们在逃逸的最后一层了。 Basic Intro KVM的全称是Kernel Base Virtual Machine,基于内核的虚拟机
阅读全文
摘要:KVM is a virtualization technology that comes with the Linux kernel. In other words, it allows you to run multiple virtual machines (VMs) on a single
阅读全文
摘要:一、背景知识 介绍:KVM 全称是 基于内核的虚拟机(Kernel-based Virtual Machine),它是Linux 的一个内核模块,该内核模块使得 Linux 变成了一个 Hypervisor。 KVM架构:KVM 是基于虚拟化扩展(Intel VT 或者 AMD-V)的 X86 硬件
阅读全文
摘要:https://luohao-brian.gitbooks.io/interrupt-virtualization/content/kvm-run-processzhi-qemu-he-xin-liu-cheng.html kvm_cpu_thread void *kvm_cpu_thread(vo
阅读全文
摘要:kvm_vm_ioctl(s, KVM_IRQFD, &irqfd); kvm_vm_ioctl(kvm_state, KVM_IOEVENTFD, &kick) Ioctl Cmd Implement function Src file KVM_CREATE_VCPU kvm_vm_ioctl_c
阅读全文
摘要:Background Starting from ARM-v8.1, Virtualization Host Extension (VHE) feature supports running unmodified OS in EL2. mrs x0, ESR_EL1can be redirected
阅读全文