Peng fei,
I just noticed this patch has a bug -- it doesn't set new_entry.mfn if
the new mfn is the same as the one already in ept_entry! Standby for
a new one...
-George
On Mon, Mar 7, 2011 at 4:41 PM, George Dunlap
<George.Dunlap@xxxxxxxxxxxxx> wrote:
> Peng fei,
>
> Can you test the attached patch (to xen-unstable)? I don't have
> EPT-enabled hardware handy...
>
> -George
>
> On Mon, Mar 7, 2011 at 4:20 PM, George Dunlap <george.dunlap@xxxxxxxxxx>
> wrote:
>> Hmm, yeah, that's obviously not right! Let me take a look...
>>
>> -George
>>
>> On Mon, 2011-03-07 at 09:55 +0000, 张鹏飞 wrote:
>>> Hi,
>>> Recently, I did a research on the p2m and EPT,and did apply your
>>> patch(22526) to the source code of mine. But there is one place
>>> confused me:
>>>
>>>
>>>
>>> ept_entry = table + index;
>>> 1.91
>>> 1.92 - ept_entry->emt = epte_get_entry_emt(d, gfn, mfn, &ipat,
>>> direct_mmio);
>>> 1.93 - ept_entry->ipat = ipat;
>>> 1.94 - ept_entry->sp = i ? 1 : 0;
>>> 1.95 - ept_entry->avail1 = p2mt;
>>> 1.96 - ept_entry->avail2 = 0;
>>> 1.97 + new_entry.emt = epte_get_entry_emt(d, gfn, mfn, &ipat,
>>> direct_mmio);
>>> 1.98 + new_entry.ipat = ipat;
>>> 1.99 + new_entry.sp = i ? 1 : 0;
>>> 1.100 + new_entry.avail1 = p2mt;
>>> 1.101 + new_entry.avail2 = 0;
>>> 1.102
>>> 1.103 - if ( ept_entry->mfn == mfn_x(mfn) )
>>> 1.104 + if ( new_entry.mfn == mfn_x(mfn) )
>>> 1.105 need_modify_vtd_table = 0;
>>> 1.106 else /* the caller should take care of the previous page
>>> */
>>> 1.107 - ept_entry->mfn = mfn_x(mfn);
>>> 1.108 + new_entry.mfn = mfn_x(mfn);
>>>
>>> I think, The new_entry.mfn is used without assigned any value. Maybe there
>>> was something else I did not think of.
>>> Thank you for your kindness!
>>>
>>> http://xenbits.xen.org/xen-unstable.hg/rev/7a5ee3800417
>>
>>
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@xxxxxxxxxxxxxxxxxxx
>> http://lists.xensource.com/xen-devel
>>
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|