Hi,
I'm trying to copy the state of an x86 emulator into a KVM VM.
I've loaded the relevant state (i.e. registers and memory) into a KVM VM
and VCPU, and tried to do a KVM_RUN on the VCPU, but it fails with
KVM_EXIT_FAIL_ENTRY and hardware_entry_failure_reason = 7. I looked
through the KVM source and Intel manuals to determine that this either
means that the CPU is in an interrupt window and the VM was setup to
exit on an interrupt window, or that a VM entry occurred with invalid
control fields. The former is not possible because my RFLAGS.IF = 0,
meaning interrupts are currently disabled, so I think it's the latter.
Is it possible for someone using the KVM API to set the VMCS to an
invalid state? If so, what fields in the kvm_run struct should I check
that could cause such an issue?
Thanks,
Yahya Sohail