Loading arch/x86/kvm/x86.c +13 −18 Original line number Diff line number Diff line Loading @@ -4057,32 +4057,27 @@ int emulate_instruction(struct kvm_vcpu *vcpu, return handle_emulation_failure(vcpu); } toggle_interruptibility(vcpu, vcpu->arch.emulate_ctxt.interruptibility); kvm_x86_ops->set_rflags(vcpu, vcpu->arch.emulate_ctxt.eflags); memcpy(vcpu->arch.regs, c->regs, sizeof c->regs); kvm_rip_write(vcpu, vcpu->arch.emulate_ctxt.eip); r = EMULATE_DONE; if (vcpu->arch.emulate_ctxt.exception >= 0) { if (vcpu->arch.emulate_ctxt.exception >= 0) inject_emulated_exception(vcpu); return EMULATE_DONE; } if (vcpu->arch.pio.count) { else if (vcpu->arch.pio.count) { if (!vcpu->arch.pio.in) vcpu->arch.pio.count = 0; return EMULATE_DO_MMIO; } if (vcpu->mmio_needed) { r = EMULATE_DO_MMIO; } else if (vcpu->mmio_needed) { if (vcpu->mmio_is_write) vcpu->mmio_needed = 0; return EMULATE_DO_MMIO; } if (vcpu->arch.emulate_ctxt.restart) r = EMULATE_DO_MMIO; } else if (vcpu->arch.emulate_ctxt.restart) goto restart; return EMULATE_DONE; toggle_interruptibility(vcpu, vcpu->arch.emulate_ctxt.interruptibility); kvm_x86_ops->set_rflags(vcpu, vcpu->arch.emulate_ctxt.eflags); memcpy(vcpu->arch.regs, c->regs, sizeof c->regs); kvm_rip_write(vcpu, vcpu->arch.emulate_ctxt.eip); return r; } EXPORT_SYMBOL_GPL(emulate_instruction); Loading Loading
arch/x86/kvm/x86.c +13 −18 Original line number Diff line number Diff line Loading @@ -4057,32 +4057,27 @@ int emulate_instruction(struct kvm_vcpu *vcpu, return handle_emulation_failure(vcpu); } toggle_interruptibility(vcpu, vcpu->arch.emulate_ctxt.interruptibility); kvm_x86_ops->set_rflags(vcpu, vcpu->arch.emulate_ctxt.eflags); memcpy(vcpu->arch.regs, c->regs, sizeof c->regs); kvm_rip_write(vcpu, vcpu->arch.emulate_ctxt.eip); r = EMULATE_DONE; if (vcpu->arch.emulate_ctxt.exception >= 0) { if (vcpu->arch.emulate_ctxt.exception >= 0) inject_emulated_exception(vcpu); return EMULATE_DONE; } if (vcpu->arch.pio.count) { else if (vcpu->arch.pio.count) { if (!vcpu->arch.pio.in) vcpu->arch.pio.count = 0; return EMULATE_DO_MMIO; } if (vcpu->mmio_needed) { r = EMULATE_DO_MMIO; } else if (vcpu->mmio_needed) { if (vcpu->mmio_is_write) vcpu->mmio_needed = 0; return EMULATE_DO_MMIO; } if (vcpu->arch.emulate_ctxt.restart) r = EMULATE_DO_MMIO; } else if (vcpu->arch.emulate_ctxt.restart) goto restart; return EMULATE_DONE; toggle_interruptibility(vcpu, vcpu->arch.emulate_ctxt.interruptibility); kvm_x86_ops->set_rflags(vcpu, vcpu->arch.emulate_ctxt.eflags); memcpy(vcpu->arch.regs, c->regs, sizeof c->regs); kvm_rip_write(vcpu, vcpu->arch.emulate_ctxt.eip); return r; } EXPORT_SYMBOL_GPL(emulate_instruction); Loading