|
@@ -4840,6 +4840,19 @@ out:
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(kvm_write_guest_virt_system);
|
|
|
|
|
|
+int handle_ud(struct kvm_vcpu *vcpu)
|
|
|
+{
|
|
|
+ enum emulation_result er;
|
|
|
+
|
|
|
+ er = emulate_instruction(vcpu, EMULTYPE_TRAP_UD);
|
|
|
+ if (er == EMULATE_USER_EXIT)
|
|
|
+ return 0;
|
|
|
+ if (er != EMULATE_DONE)
|
|
|
+ kvm_queue_exception(vcpu, UD_VECTOR);
|
|
|
+ return 1;
|
|
|
+}
|
|
|
+EXPORT_SYMBOL_GPL(handle_ud);
|
|
|
+
|
|
|
static int vcpu_is_mmio_gpa(struct kvm_vcpu *vcpu, unsigned long gva,
|
|
|
gpa_t gpa, bool write)
|
|
|
{
|