通过KVM_CREATE_VCPU指令,将创建一个虚拟CPU并且返回该vCPU对应的fd。 需要注意的一点是,在Linux的系统调用中,通过fork()系统调用创建的子..._VCPU是vmioctl系统调用的两个重要指令字。在通过KVM_CREATE_VCPU为VM虚拟机创建vCPU,并且获得 vCPU对应的fd文件描述符!!! 之后,可以进行KVM_RUN启动虚拟机...
kvm_vm_ioctl staticlongkvm_vm_ioctl(structfile *filp, unsignedintioctl, unsignedlongarg) {structkvm *kvm = filp->private_data;void__user *argp = (void__user *)arg;intr;if(kvm->mm != current->mm)return-EIO;switch(ioctl) {caseKVM_CREATE_VCPU: r=kvm_vm_ioctl_create_vcpu(kvm, arg...
static long kvm_vm_ioctl(struct file *filp, unsigned int ioctl, unsigned long arg) { struct kvm *kvm = filp->private_data; void __user *argp = (void __user *)arg; int r; if (kvm->mm != current->mm) return -EIO; switch (ioctl) { case KVM_CREATE_VCPU: r = kvm_vm_ioctl...
If kvm_io_bus_register_dev() fails then it returns success but it should return an error code. I also did a little cleanup like removing an impossible NULL test. Cc: stable@vger.kernel.org Fixes: 2b3c246 ('KVM: Make coalesced mmio use a device per zone') Signed-off-by: Dan Carpent...