Loading arch/x86/kvm/emulate.c +6 −4 Original line number Diff line number Diff line Loading @@ -2979,17 +2979,19 @@ x86_emulate_insn(struct x86_emulate_ctxt *ctxt, struct x86_emulate_ops *ops) c->dst.type = OP_NONE; /* Disable writeback. */ break; case 0xfa: /* cli */ if (emulator_bad_iopl(ctxt, ops)) if (emulator_bad_iopl(ctxt, ops)) { emulate_gp(ctxt, 0); else { goto done; } else { ctxt->eflags &= ~X86_EFLAGS_IF; c->dst.type = OP_NONE; /* Disable writeback. */ } break; case 0xfb: /* sti */ if (emulator_bad_iopl(ctxt, ops)) if (emulator_bad_iopl(ctxt, ops)) { emulate_gp(ctxt, 0); else { goto done; } else { ctxt->interruptibility = KVM_X86_SHADOW_INT_STI; ctxt->eflags |= X86_EFLAGS_IF; c->dst.type = OP_NONE; /* Disable writeback. */ Loading Loading
arch/x86/kvm/emulate.c +6 −4 Original line number Diff line number Diff line Loading @@ -2979,17 +2979,19 @@ x86_emulate_insn(struct x86_emulate_ctxt *ctxt, struct x86_emulate_ops *ops) c->dst.type = OP_NONE; /* Disable writeback. */ break; case 0xfa: /* cli */ if (emulator_bad_iopl(ctxt, ops)) if (emulator_bad_iopl(ctxt, ops)) { emulate_gp(ctxt, 0); else { goto done; } else { ctxt->eflags &= ~X86_EFLAGS_IF; c->dst.type = OP_NONE; /* Disable writeback. */ } break; case 0xfb: /* sti */ if (emulator_bad_iopl(ctxt, ops)) if (emulator_bad_iopl(ctxt, ops)) { emulate_gp(ctxt, 0); else { goto done; } else { ctxt->interruptibility = KVM_X86_SHADOW_INT_STI; ctxt->eflags |= X86_EFLAGS_IF; c->dst.type = OP_NONE; /* Disable writeback. */ Loading