通过KVM_CREATE_VCPU指令,将创建一个虚拟CPU并且返回该vCPU对应的fd。 需要注意的一点是,在Linux的系统调用中,通过fork()系统调用创建的子..._VCPU是vmioctl系统调用的两个重要指令字。在通过KVM_CREATE_VCPU为VM虚拟机创建vCPU,并且获得 vCPU对应的fd文件描述符!!! 之后,可以进行KVM_RUN启动虚拟机...
kvm_reset_vcpu(kvm->vcpus);while(1) { printf("KVM start run\n");ret=ioctl(kvm->vcpus->vcpu_fd, KVM_RUN,0);if(ret <0) { fprintf(stderr,"KVM_RUN failed\n"); exit(1); }switch(kvm->vcpus->kvm_run->exit_reason) {caseKVM_EXIT_UNKNOWN: printf("KVM_EXIT_UNKNOWN\n");break...
.release = kvm_vm_release, .unlocked_ioctl = kvm_vm_ioctl, #ifdef CONFIG_KVM_COMPAT .compat_ioctl = kvm_vm_compat_ioctl, #endif .llseek = noop_llseek, }; static long kvm_vm_ioctl(struct file *filp, unsigned int ioctl, unsigned long arg) { struct kvm *kvm = filp->private_data; ...
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...