Date: Fri, 09 Jul 2010 14:46:31 -0600 (MDT) From: "M. Warner Losh" <imp@bsdimp.com> To: c.jayachandran@gmail.com Cc: jmallett@FreeBSD.org, freebsd-mips@FreeBSD.org Subject: Re: Merging 64 bit changes to -HEAD - part 4 Message-ID: <20100709.144631.1141490504242621103.imp@bsdimp.com> In-Reply-To: <AANLkTik8fBlxMyZ3AZETF_7DvlSpPsx2hozIWinRy0U0@mail.gmail.com> References: <20100708.021250.1099368555950605809.imp@bsdimp.com> <AANLkTilFZ4zAKqGcDKie6og5Nhrh9PU_Ta3uDoq7yexA@mail.gmail.com> <AANLkTik8fBlxMyZ3AZETF_7DvlSpPsx2hozIWinRy0U0@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
In message: <AANLkTik8fBlxMyZ3AZETF_7DvlSpPsx2hozIWinRy0U0@mail.gmail.c= om> "Jayachandran C." <c.jayachandran@gmail.com> writes: : On Thu, Jul 8, 2010 at 2:52 PM, Jayachandran C. : <c.jayachandran@gmail.com> wrote: : > On Thu, Jul 8, 2010 at 1:42 PM, M. Warner Losh <imp@bsdimp.com> wro= te: : >> In message: <AANLkTikSVi27V2UICgLvKd8Bk7v6tuGty9YX6-C6-21H@mail.gm= ail.com> : >> =A0 =A0 =A0 =A0 =A0 =A0"Jayachandran C." <c.jayachandran@gmail.com= > writes: : [...] : >> : pmap-n64.patch : >> : =A0The main n64 patch (from Juli's branch) : >> : =A0 This still uses the old 2-level page tables. But this adds o= ther : >> : pmap code to support n64. I have re-arranged some of =A0Juli's c= ode to : >> : reduce #ifdefs. : >> : >> I think this could be done in smaller bites. =A0At least the : >> MIPS_{PYHS,KSEGx}_TO_{KSEGx,PHYS} stuff can be done as a separate : >> patch. : [...] : > Thanks for the review, I'll try to get the patches other than pmap-= n64 : > in first (with mentor approval). I'll post a new split version of : > pmap-n64 after that. : = : Here are the pmap changes again, along with a ddb patch. : = : kseg-def-to-cpu.h.patch : Move KSEG address definitions from cpu.h to cpuregs.h with the other : definitions, add some XKPHYS related definitions. This looks good. : mips-pmap-intial-n64.patch (from Juli's branch) : Initial changes to pmap.c for n64 support. When compiled for n64, pma= p : can use XKPHYS for a lot of its operations. The page tables are still= : 2-level. +#if !defined(__mips_n64) + if (phys_avail[i - 1] >=3D MIPS_KSEG0_LARGEST_PHYS) + memory_larger_than_512meg =3D 1; +#endif We never set memory_larger_than_512meg then for __mips_n64. Do we need to ifdef both the declaration of this variable, as well as the if (memory_larger_than_512mb) clauses later in the function? pmap_map should likely have a comment to the effect: * For memory that's directly mappable, we return the direct map * address. For other addresses, we create a map. A similar comment is needed for pmap_kenter_temporary, pmap_zero_page, pmap_zero_page_area, pmap_zero_page_idle, pmap_copy_page, pmap_mapdev, pmap_unmapdev, pmap_kextract. Hmmm, or maybe a general comment? : mips-tlb64.patch (from Juli's branch) : 64 bit TLB definitions. This looks good. : mips-ddb-64.patch (from Juli's branch) : Minor fixups for ddb support. Can you explain the casting for all the calls to kbdpeek*? : This should get n64 up to mountroot - let me know you comments. Cool! thanks for your work. Also, I've been providing reviews on many of these commits, but I haven't seen a 'Reviewed by: imp' in the commit messages. I'd appreciate it if you could add then when I provide a review. Warner
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100709.144631.1141490504242621103.imp>