Re: [RFC PATCH v3 0/4] Real mode interrupt injection

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



 On 08/16/2010 02:37 AM, Mohammed Gamal wrote:
On Mon, Aug 16, 2010 at 12:46 AM, Mohammed Gamal<m.gamal005@xxxxxxxxx>  wrote:
This patch introduces real mode interrupt injection for VMX.
It currently invokes the x86 emulator to emulate interrupts
instead of manually setting VMX controls.

Needless to say, this is not meant for merging in its current state.
The emulator still needs some more work to get this completely operational.

Mohammed Gamal (4):
  x86 emulator: Expose emulate_int_real()
  x86: Separate emulation context initialization in a separate function
  x86: Add kvm_inject_realmode_interrupt() wrapper
  VMX: Emulated real mode interrupt injection

  arch/x86/include/asm/kvm_emulate.h |    3 +-
  arch/x86/kvm/vmx.c                 |   65 +++----------------------------
  arch/x86/kvm/x86.c                 |   75 ++++++++++++++++++++++--------------
  arch/x86/kvm/x86.h                 |    1 +
  4 files changed, 55 insertions(+), 89 deletions(-)
---
Changes since v2:
- Refactored emulation context initialization code
- Commit eip value from the decode cache to the emulation context in x86.c rather than the emulator
- Add kvm_* prefix to inject_realmode_interrupt() global symbol for consistency

Here is a full trace of a MINIX guest since bootup. Looks like we get
stuck somewhere in the BIOS.
https://docs.google.com/leaf?id=0B9UodZT1IuENMzJhNWQxM2YtYzE3YS00YWY4LTk2YTgtZWY3ODNhMWUxMDkx&sort=name&layout=list&num=50

I debugged this for a bit - emulate_int_real() is completely broken. emulate_push() doesn't push anything, it only schedules a push; running these back-to-back will result in only the last push to be executed.

With that fixed, I get the boot splash.  Not 100% perfect but much closer.

--
error compiling committee.c: too many arguments to function

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


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux