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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html