TODO: Difference between revisions

From KVM
(added sysenter/syscall/sysret/sysexit emulation)
(add nested virtualization)
Line 12: Line 12:
* Avoid saving/loading the floating point unit state on each vm entry/exit (Anthony Liguori has partially working code).  
* Avoid saving/loading the floating point unit state on each vm entry/exit (Anthony Liguori has partially working code).  
* Trap #UD and emulate sysenter/syscall/sysret/sysexit.  These instructions don't exist on all cpus in all modes, so they hinder cross-vendor migration
* Trap #UD and emulate sysenter/syscall/sysret/sysexit.  These instructions don't exist on all cpus in all modes, so they hinder cross-vendor migration
For the adventurous:
* Emulate the VT and SVM instructions, so that kvm can run in a virtual machine.  Test by running a VM in a VT guest in an SVM guest on VT hardware, as well as running a VM in an SVM guest in a VT guest on SVM hardware.


__NOTOC__
__NOTOC__

Revision as of 18:02, 7 March 2007

TODO


The following items need some love. Please post to the list if you are interested in helping out:

  • Real mode support: VT support for real mode is terrible, so we need to do it in software. This means extending the x86 emulator (x86_emulate.c) to handle more instructions, and changing the execution loop to call the emulator for real mode.
  • Fedora kernel package: packaging kernel modules is a rather arcane stuff. We already have volunteers for openSUSE and Debian; we need packages for Fedora.
  • Improve mmu page eviction algorithm (currently FIFO, change to approximate LRU).

The following smaller scale tasks can be a nice entry point to someone wishing to get involved:

  • Enforce the virtual time stamp counter monotonicity even when a vcpu is migrated to another physical cpu. (in progress, Leonard Norrgård)
  • Avoid saving/loading the floating point unit state on each vm entry/exit (Anthony Liguori has partially working code).
  • Trap #UD and emulate sysenter/syscall/sysret/sysexit. These instructions don't exist on all cpus in all modes, so they hinder cross-vendor migration

For the adventurous:

  • Emulate the VT and SVM instructions, so that kvm can run in a virtual machine. Test by running a VM in a VT guest in an SVM guest on VT hardware, as well as running a VM in an SVM guest in a VT guest on SVM hardware.