From mboxrd@z Thu Jan 1 00:00:00 1970 From: zhu Subject: Re: [PATCH - proposed] XI Shadow Page Table Mechanism] Date: Fri, 30 Jun 2006 21:47:47 +0800 Message-ID: <44A52B83.30301@gmail.com> References: <44A3CA74.4000206@virtualiron.com> <44A3D3CE.3040408@virtualiron.com> <44A3E08B.9090103@gmail.com> <44A3E98B.9040602@virtualiron.com> <44A3F073.50305@virtualiron.com> <44A48E5C.8060609@gmail.com> <44A51DE9.1020909@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=gb18030; format=flowed Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Robert Phillips Cc: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org Hi, Robert, There is another minor problem. in dt_init_action: + if (_32pae_l3 || c_curr_accessed) + action |=3D a_present; + /* else make present when accessed */ + if (c_curr_rw) + action |=3D a_rw; According to your comments, the following snippet may be more correct: + if (_32pae_l3 || c_curr_accessed) + action |=3D a_present; + /* else make present when accessed */ + if (c_curr_rw && !_32_pae_l3) + action |=3D a_rw; The doc said we should retain R/W be zero for pae_l3_pte in legacy mode.=20 If returned a_rw, resync_spte will set _PAGE_RW for the corresponding=20 spte. _______________________________________________________ Best Regards, hanzhu Robert Phillips =D0=B4=B5=C0: > Yes, that's true. If the caller supplied a bogus PFN (one larger than = ram > size), we'd crash. > BTW, we are avoiding use of grant table transfers because they fragment= PSE > pages. > -- rsp >=20 >=20 > On 6/30/06, zhu wrote: >> >> I'm afraid it could trigger some certain problems only when you open l= 2 >> PSE flag and use grant table to transfer pages between domains. I'm no= t >> very sure about it. :-) >> >> _______________________________________________________ >> Best Regards, >> hanzhu >> >> >> Robert Phillips =1B$B> > Hi Han, >> > You are right again. I have not seen this cause a problem but we'll >> > certainly fix it. >> > -- rsp >> > >> > On 6/29/06, zhu wrote: >> >> >> >> Hi, Robert, >> >> I found out another confusing code snippet: >> >> in void xi_invl_mfn(struct domain *d, unsigned long mfn) >> >> if (ext && pfn < ext->large_page_aligned_size) >> >> >> >> According to the code, it should be >> >> if (ext && (pfn>>SPT_ENTRIES_ORDER) < >> ext->large_page_aligned_size) >> >> >> >> If I made any mistake, please point it out. >> >> _______________________________________________________ >> >> Best Regards, >> >> hanzhu >> >> >> > >> > >> >=20 >=20 >=20