Skip to content
Mathieu Tarral edited this page Oct 25, 2016 · 1 revision

Welcome to the kvm-vmi wiki!

General behaviour

  • Get a file descriptor of the VM
  • Get a list of vcpu fd
  • Setting the syscall trap
for each vcpu
   vcpu_load
   change MSR register
   vcpu_put
  • wait for the VM to try to execute a sysenter/syscall
  • generate an General Protection Fault/Undefined Opcode
  • vmx.c:hande_exception()
  • emulate_instruction
  • emulate.c:em_syscall/em_sysenter
nitro.event.present = True
  • x86.c:vcpu_run()
if (nitro.event.present)
   report_event
  • nitro_x86.c:report_event()
nitro_wait()
wait for userland to call get_event()
  • userland called continue_vm()
Clone this wiki locally