Sets some kvm_run out flags before going to userspace.
commitd7c33b8655d70ee0ad96d4269319997e751cf2bc
authorDiego Ongaro <diego.ongaro@rice.edu>
Fri, 19 Dec 2008 05:54:54 +0000 (18 23:54 -0600)
committerDiego Ongaro <diego.ongaro@rice.edu>
Fri, 19 Dec 2008 05:54:54 +0000 (18 23:54 -0600)
tree4bed234243d6245986c635bf10074aa4cf4d0b01
parent8a96b005a2c32ed35cd753c3f2dd979552cec10a
Sets some kvm_run out flags before going to userspace.

The out flags are:

1. exit_reason - this one was already handled

2. ready_for_interrupt_injection - true if
  * IF_FLAG of rflags is 1
  * we're not in an interrupt shadow (MOV SS, etc)
  * kvm also checks its in-kernel interrupt queues, this commit just adds a
    TODO for that

3. if_flag - simply read from rflags

4. ready_for_nmi_injection - this commit just adds a TODO

5. cr8 - this was read (in) but not set (out) before

6. apic_base - we're not using this, so this commit drops it from kvm_run

See also 99c9ffeefadb429accf27e11e558b89cb66eac04 for libfkvm, which assumed
some of this functionality.
sys/kern/kern_fkvm.c
sys/sys/fkvm.h