On 08/08/2010 03:24 PM, Mohammed Gamal wrote:
This adds a wrapper function inject_realmode_interrupt() around the
emulator function emulate_int_real() to allow real mode interrupt injection.

Signed-off-by: Mohammed Gamal<m.gamal...@gmail.com>
---
  arch/x86/kvm/x86.c |   14 ++++++++++++++
  arch/x86/kvm/x86.h |    1 +
  2 files changed, 15 insertions(+), 0 deletions(-)


Really has no business in x86.c, as it's there to work around a vmx specific problem.


+int inject_realmode_interrupt(struct kvm_vcpu *vcpu, int irq)
+{
+       struct x86_emulate_ctxt *ctxt =&vcpu->arch.emulate_ctxt;
+       int rc;
+
+       rc = emulate_int_real(ctxt,&emulate_ops, irq);
+
+       if (rc != X86EMUL_CONTINUE)
+               return EMULATE_FAIL;
+
+       return EMULATE_DONE;
+}
+EXPORT_SYMBOL_GPL(inject_realmode_interrupt);

Doesn't seem to add much value. I'd say just export emulate_int_real() and call it from vmx.c.

Hmm, you aren't initializing the context. So I guess you do need this function (and I guess it's better to keep it in x86.c near the rest of the emulation stuff, just make sure the emulation context is initialized).

--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to