On 09/14/2011 06:19 PM, Xiao Guangrong wrote: > On 09/14/2011 05:53 PM, Avi Kivity wrote: >> On 09/13/2011 09:24 PM, Xiao Guangrong wrote: >>>>> >>>>> +static bool retry_instruction(struct x86_emulate_ctxt *ctxt, >>>>> + unsigned long cr2, int emulation_type) >>>>> +{ >>>>> + if (!vcpu->arch.mmu.direct_map&& !mmu_is_nested(vcpu)) >>>>> + gpa = kvm_mmu_gva_to_gpa_write(vcpu, cr2, NULL); >>>> >>>> If mmu_is_nested() cr2 is an ngpa, we have to translate it to a gpa, no? >>>> >>> >>> Yeah, will fix it. >>> >>> And this bug also exists in the current code: it always uses L2 gpa to emulate >>> write operation. >> >> Can you please send this fix separately, so it can be backported if needed? >> > > Sure, i will do it as soon as possible. :-) I am so sorry, the current code is good, it has already translated L2 gpa to L1 gpa: vcpu->arch.nested_mmu.translate_gpa = translate_nested_gpa; Please ignore it. -- 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