On 30.10.2008, at 19:06, Anthony Liguori wrote:
Alexander Graf wrote:
This implements the VMLOAD and VMSAVE instructions, that usually
surround
the VMRUN instructions. Both instructions load / restore the same
elements,
so we only need to implement them once.
v2 fixes CPL checking and replaces memcpy by assignments
v3 makes use of the new permission checking
snip
+static int vmload_interception(struct vcpu_svm *svm, struct
kvm_run *kvm_run)
+{
+ if (nested_svm_check_permissions(svm))
+ return 1;
+
+ svm->next_rip = kvm_rip_read(&svm->vcpu) + 3;
+ skip_emulated_instruction(&svm->vcpu);
+
+ nested_svm_do(svm, svm->vmcb->save.rax, 0, NULL,
nested_svm_vmload);
The whole trampoline thing seems awkward to me. I think it would be
more reasonable to just open code this routine and use helper
functions when appropriate.
What exactly do you mean? Do you prefer to duplicate the guest-page-
mapping code several times?
Alex
--
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