Hi, everyone,
I'm reading kvm-5 source code (very old but good enough to learn svm). Inside
svm.c, there is a function called handle_exit:
static int handle_exit(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run){ u32
exit_code = vcpu->svm->vmcb->control.exit_code;
kvm_run->exit_type = KVM_EXIT_TYPE_VM_EXIT;
if (is_external_interrupt(vcpu->svm->vmcb->control.exit_int_info) &&
exit_code != SVM_EXIT_EXCP_BASE + PF_VECTOR) printk(KERN_ERR "%s:
unexpected exit_ini_info 0x%x " ****** ****}
Here I have a question, the first check is to see whether the exit_code, which
is actually the interrupt vector number, is page fault. But page fault should
be an exception, instead of an external interrupt. Why the condition is
is_external_interrupt && exit_code is not page_fault ?
According to the AMD SVM Reference Manual, the exit_int_info type should be 3
(Exception), am I wrong ?
Thanks very much.
Nathan
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html