Loading drivers/kvm/kvm_main.c +8 −13 Original line number Diff line number Diff line Loading @@ -126,9 +126,7 @@ static inline int valid_vcpu(int n) return likely(n >= 0 && n < KVM_MAX_VCPUS); } int kvm_read_guest(struct kvm_vcpu *vcpu, gva_t addr, unsigned long size, int kvm_read_guest(struct kvm_vcpu *vcpu, gva_t addr, unsigned long size, void *dest) { unsigned char *host_buf = dest; Loading Loading @@ -161,9 +159,7 @@ int kvm_read_guest(struct kvm_vcpu *vcpu, } EXPORT_SYMBOL_GPL(kvm_read_guest); int kvm_write_guest(struct kvm_vcpu *vcpu, gva_t addr, unsigned long size, int kvm_write_guest(struct kvm_vcpu *vcpu, gva_t addr, unsigned long size, void *data) { unsigned char *host_buf = data; Loading Loading @@ -774,7 +770,6 @@ static int kvm_dev_ioctl_get_dirty_log(struct kvm *kvm, if (copy_to_user(log->dirty_bitmap, memslot->dirty_bitmap, n)) goto out; if (any) { cleared = 0; for (i = 0; i < KVM_MAX_VCPUS; ++i) { Loading Loading @@ -903,8 +898,9 @@ static int emulator_read_emulated(unsigned long addr, return X86EMUL_CONTINUE; else { gpa_t gpa = vcpu->mmu.gva_to_gpa(vcpu, addr); if (gpa == UNMAPPED_GVA) return vcpu_printf(vcpu, "not present\n"), X86EMUL_PROPAGATE_FAULT; return X86EMUL_PROPAGATE_FAULT; vcpu->mmio_needed = 1; vcpu->mmio_phys_addr = gpa; vcpu->mmio_size = bytes; Loading Loading @@ -1801,12 +1797,11 @@ static long kvm_dev_ioctl(struct file *filp, case KVM_GET_API_VERSION: r = KVM_API_VERSION; break; case KVM_CREATE_VCPU: { case KVM_CREATE_VCPU: r = kvm_dev_ioctl_create_vcpu(kvm, arg); if (r) goto out; break; } case KVM_RUN: { struct kvm_run kvm_run; Loading drivers/kvm/paging_tmpl.h +1 −2 Original line number Diff line number Diff line Loading @@ -441,9 +441,8 @@ static int FNAME(page_fault)(struct kvm_vcpu *vcpu, gva_t addr, /* * mmio: emulate if accessible, otherwise its a guest fault. */ if (is_io_pte(*shadow_pte)) { if (is_io_pte(*shadow_pte)) return 1; } ++kvm_stat.pf_fixed; kvm_mmu_audit(vcpu, "post page fault (fixed)"); Loading drivers/kvm/svm.c +5 −5 Original line number Diff line number Diff line Loading @@ -1042,22 +1042,22 @@ static int io_interception(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run) addr_mask = io_adress(vcpu, _in, &kvm_run->io.address); if (!addr_mask) { printk(KERN_DEBUG "%s: get io address failed\n", __FUNCTION__); printk(KERN_DEBUG "%s: get io address failed\n", __FUNCTION__); return 1; } if (kvm_run->io.rep) { kvm_run->io.count = vcpu->regs[VCPU_REGS_RCX] & addr_mask; kvm_run->io.count = vcpu->regs[VCPU_REGS_RCX] & addr_mask; kvm_run->io.string_down = (vcpu->svm->vmcb->save.rflags & X86_EFLAGS_DF) != 0; } } else { } else kvm_run->io.value = vcpu->svm->vmcb->save.rax; } return 0; } static int nop_on_interception(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run) { return 1; Loading drivers/kvm/vmx.c +1 −3 Original line number Diff line number Diff line Loading @@ -27,7 +27,6 @@ #include "segment_descriptor.h" MODULE_AUTHOR("Qumranet"); MODULE_LICENSE("GPL"); Loading Loading @@ -418,10 +417,9 @@ static int vmx_set_msr(struct kvm_vcpu *vcpu, u32 msr_index, u64 data) case MSR_IA32_SYSENTER_ESP: vmcs_write32(GUEST_SYSENTER_ESP, data); break; case MSR_IA32_TIME_STAMP_COUNTER: { case MSR_IA32_TIME_STAMP_COUNTER: guest_write_tsc(data); break; } default: msr = find_msr_entry(vcpu, msr_index); if (msr) { Loading Loading
drivers/kvm/kvm_main.c +8 −13 Original line number Diff line number Diff line Loading @@ -126,9 +126,7 @@ static inline int valid_vcpu(int n) return likely(n >= 0 && n < KVM_MAX_VCPUS); } int kvm_read_guest(struct kvm_vcpu *vcpu, gva_t addr, unsigned long size, int kvm_read_guest(struct kvm_vcpu *vcpu, gva_t addr, unsigned long size, void *dest) { unsigned char *host_buf = dest; Loading Loading @@ -161,9 +159,7 @@ int kvm_read_guest(struct kvm_vcpu *vcpu, } EXPORT_SYMBOL_GPL(kvm_read_guest); int kvm_write_guest(struct kvm_vcpu *vcpu, gva_t addr, unsigned long size, int kvm_write_guest(struct kvm_vcpu *vcpu, gva_t addr, unsigned long size, void *data) { unsigned char *host_buf = data; Loading Loading @@ -774,7 +770,6 @@ static int kvm_dev_ioctl_get_dirty_log(struct kvm *kvm, if (copy_to_user(log->dirty_bitmap, memslot->dirty_bitmap, n)) goto out; if (any) { cleared = 0; for (i = 0; i < KVM_MAX_VCPUS; ++i) { Loading Loading @@ -903,8 +898,9 @@ static int emulator_read_emulated(unsigned long addr, return X86EMUL_CONTINUE; else { gpa_t gpa = vcpu->mmu.gva_to_gpa(vcpu, addr); if (gpa == UNMAPPED_GVA) return vcpu_printf(vcpu, "not present\n"), X86EMUL_PROPAGATE_FAULT; return X86EMUL_PROPAGATE_FAULT; vcpu->mmio_needed = 1; vcpu->mmio_phys_addr = gpa; vcpu->mmio_size = bytes; Loading Loading @@ -1801,12 +1797,11 @@ static long kvm_dev_ioctl(struct file *filp, case KVM_GET_API_VERSION: r = KVM_API_VERSION; break; case KVM_CREATE_VCPU: { case KVM_CREATE_VCPU: r = kvm_dev_ioctl_create_vcpu(kvm, arg); if (r) goto out; break; } case KVM_RUN: { struct kvm_run kvm_run; Loading
drivers/kvm/paging_tmpl.h +1 −2 Original line number Diff line number Diff line Loading @@ -441,9 +441,8 @@ static int FNAME(page_fault)(struct kvm_vcpu *vcpu, gva_t addr, /* * mmio: emulate if accessible, otherwise its a guest fault. */ if (is_io_pte(*shadow_pte)) { if (is_io_pte(*shadow_pte)) return 1; } ++kvm_stat.pf_fixed; kvm_mmu_audit(vcpu, "post page fault (fixed)"); Loading
drivers/kvm/svm.c +5 −5 Original line number Diff line number Diff line Loading @@ -1042,22 +1042,22 @@ static int io_interception(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run) addr_mask = io_adress(vcpu, _in, &kvm_run->io.address); if (!addr_mask) { printk(KERN_DEBUG "%s: get io address failed\n", __FUNCTION__); printk(KERN_DEBUG "%s: get io address failed\n", __FUNCTION__); return 1; } if (kvm_run->io.rep) { kvm_run->io.count = vcpu->regs[VCPU_REGS_RCX] & addr_mask; kvm_run->io.count = vcpu->regs[VCPU_REGS_RCX] & addr_mask; kvm_run->io.string_down = (vcpu->svm->vmcb->save.rflags & X86_EFLAGS_DF) != 0; } } else { } else kvm_run->io.value = vcpu->svm->vmcb->save.rax; } return 0; } static int nop_on_interception(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run) { return 1; Loading
drivers/kvm/vmx.c +1 −3 Original line number Diff line number Diff line Loading @@ -27,7 +27,6 @@ #include "segment_descriptor.h" MODULE_AUTHOR("Qumranet"); MODULE_LICENSE("GPL"); Loading Loading @@ -418,10 +417,9 @@ static int vmx_set_msr(struct kvm_vcpu *vcpu, u32 msr_index, u64 data) case MSR_IA32_SYSENTER_ESP: vmcs_write32(GUEST_SYSENTER_ESP, data); break; case MSR_IA32_TIME_STAMP_COUNTER: { case MSR_IA32_TIME_STAMP_COUNTER: guest_write_tsc(data); break; } default: msr = find_msr_entry(vcpu, msr_index); if (msr) { Loading