On Fri, Nov 21, 2008 at 04:35:32PM +0100, Alexander Graf wrote:
> Alexander Graf wrote:
> > Muli Ben-Yehuda wrote:
> >   
> >> On Fri, Nov 21, 2008 at 04:14:37PM +0100, Alexander Graf wrote:
> >>
> >>   
> >>     
> >>> +static int vmrun_interception(struct vcpu_svm *svm, struct kvm_run 
> >>> *kvm_run)
> >>> +{
> >>> + nsvm_printk("VMrun\n");
> >>> + if (nested_svm_check_permissions(svm))
> >>> +         return 1;
> >>> +
> >>> + svm->next_rip = kvm_rip_read(&svm->vcpu) + 3;
> >>> + skip_emulated_instruction(&svm->vcpu);
> >>> +
> >>> + if (nested_svm_do(svm, svm->vmcb->save.rax, 0,
> >>> +                   NULL, nested_svm_vmrun))
> >>> +         return 1;
> >>> +
> >>> + if (nested_svm_do(svm, svm->vmcb->control.msrpm_base_pa, 0,
> >>> +               NULL, nested_svm_vmrun_msrpm))
> >>> +         return 1;
> >>>     
> >>>       
> >> nested_svm_vmrun returns 1 unconditionally, so we never call
> >> nested_svm_vmrun_msrpm.
> >>   
> >>     
> >
> > Wow the one thing you pointed out earlier. I must've missed to write
> > that on my TODO list.
> > I'll fix this right now :). Await v7 any second now.
> >   
> 
> Wow this is more tricky than I thought. I gotta go now, but I'll
> look into it in more detail on Tuesday. I promise :-). For now
> please just don't use the MSR check.

No problem. While you are looking at it, another question: In the
vmrun handler, we call kvm_mmu_reset_context() in the SPT case
only. In the vmexit handler, we call kvm_mmu_reset_context() for both
SPT and NPT. Why the discrepancy?

Cheers,
Muli
-- 
The First Workshop on I/O Virtualization (WIOV '08)
Dec 2008, San Diego, CA, http://www.usenix.org/wiov08/
                       <->
SYSTOR 2009---The Israeli Experimental Systems Conference
http://www.haifa.il.ibm.com/conferences/systor2009/
--
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

Reply via email to