On 09/13/2010 07:53 AM, Sheng Yang wrote:
What can happen is that the contents of the field is transferred to the
IDT_VECTORING_INFO field or VM_EXIT_INTR_INFO field.
(question: on a failed vmentry, is this field cleared?)
I don't know the answer :-)
Sheng?
According to SDM 23.7 "VM-ENTRY FAILURES DURING OR AFTER LOADING
GUEST STATE":
Although this process resembles that of a VM exit, many steps taken during a VM
exit do not occur for these VM-entry failures:
• Most VM-exit information fields are not updated (see step 1 above).
• The valid bit in the VM-entry interruption-information field is *not* cleared.
• The guest-state area is not modified.
• No MSRs are saved into the VM-exit MSR-store area.
So VM entry failure would result in _keep_ valid bit of VM_ENTRY_INTR_INFO_FIELD.
Ok. So if the exit was actually due to a failed vmentry, then we do
need the vmread... (or alternatively, we can avoid clearing the field in
the first place).
So the following options should work:
1. vmcs12->vm_entry_intr_info_field =
vmcs_read32(VM_ENTRY_INTR_INFO_FIELD);
2. if (!(exit_reason & FAILED_ENTRY)) vmcs12->vm_exit_intry_info_field
&= ~VALID;
3. if (exit_reason & FAILED_ENTRY) vmcs12->vm_entry_intr_info_field =
vmcs_read32(VM_ENTRY_INTR_INFO_FIELD);
--
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