Date: Wed, 30 Jun 2010 14:08:13 -0300 From: Luiz Otavio O Souza <lists.br@gmail.com> To: Jayachandran C. <c.jayachandran@gmail.com> Cc: freebsd-mips@freebsd.org Subject: Re: Merging 64 bit changes to -HEAD Message-ID: <C1BD2512-8A48-4AB2-B9CA-C46DDCBE5256@gmail.com> In-Reply-To: <AANLkTim_9-G6ZuA0vkpLeG4n4GVBpBlxhGBy_7eQoIM4@mail.gmail.com> References: <AANLkTik8jFkB7FTIIhyjalkfv1c0yXqse57Jzz527uf_@mail.gmail.com> <897604F6-95C4-49A8-B11F-277A74C8DBAE@gmail.com> <AANLkTilfW_zOFKuIa0gJ3ahTo-vGC1VNk99a1H24uFRq@mail.gmail.com> <AANLkTil78NFxH016C7MntD8L3d4rFlCudJ0Lv22L0KCb@mail.gmail.com> <3C0AEF9B-AE0C-4459-A4E1-2C8C30C10FD6@gmail.com> <AANLkTint7Hyf79EH29OLsIfreQRd7dQMdvX9wRq4v_yG@mail.gmail.com> <C6D73C96-3640-4502-A9D7-B3597E37E80A@gmail.com> <AANLkTilQIqF4FCfgLdVcKdcsAUVjCmr89Lu0TEXUFdYN@mail.gmail.com> <25B9A19D-0A6B-4731-8FB1-A2C6722F0E9C@gmail.com> <AANLkTim_9-G6ZuA0vkpLeG4n4GVBpBlxhGBy_7eQoIM4@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Jun 30, 2010, at 9:57 AM, Jayachandran C. wrote: > On Tue, Jun 29, 2010 at 10:32 PM, Luiz Otavio O Souza > <lists.br@gmail.com> wrote: >>=20 >> On Jun 29, 2010, at 8:02 AM, Jayachandran C. wrote: >>=20 >>> On Tue, Jun 29, 2010 at 2:28 AM, Luiz Otavio O Souza = <lists.br@gmail.com> wrote: >>>>> Thanks for the the update. Looks like pmap_map for kernel is = failing, >>>>> may be the new tlb_update code causes this. Can you apply the >>>>> attached patch and see if the problem still persists, it replaces = the >>>>> new tlb_update code with the older version. >>>>>=20 >>>>> Obviously not a fix, but if we can narrow it down to this = function, >>>>> fixing will be easier. >>>>>=20 >>>>> JC. >>>>> <try.diff> >>>>=20 >>>> JC, >>>>=20 >>>> This fix the problem ! Thanks ! Now, at least, you know where to = look :) >>>=20 >>> The new tlb_update does not seem to update the tlb entry if the tlbp >>> fails. Here's a patch that should make the new function behave like >>> the older one. The patch is in attached file 'tlb-update.diff'. >>>=20 >>> If that does not work, I'm not sure what the issue is. You could = also >>> try try the nop-change.diff attached. It tries to switch the ssnop >>> used for delay in the new code with 'nop' which was used by the old >>> code. >>>=20 >>> Thanks, >>> JC. >>> <tlb-update.diff><nop-change.diff> >>=20 >> JC, >>=20 >> The nop-change seems to have no effect at all and with the tlb-update = patch the kernel apparently crash at bzero(), here is the dmesg with = TRAP_DEBUG enabled: >>=20 >> http://mips.pastebin.com/jydPvJ20 >>=20 >> So hopefully you are on the right track and this may be something = obvious to you. >=20 > Not yet :) I really hoped the earlier change would fix it. The number > of nop does not seem to be the issue as it is higher in the C code > than the assembly. >=20 > Can you try the attached patch (try.diff) - this re-implements the > assembly code functionality almost in the same way in C. This really > should work, given that the patch which made it assembly worked... >=20 > If that works can you see if the second attached patch works, this > fixes a potential problem (ie, we should be masking 13bits for TLBHI). >=20 > Both patches should apply directly to SVN (not dependent on each > other, or on previous patches) >=20 > Thanks again, > JC. > <try.diff><pte.h-fix.diff> JC, The try.diff works with or without the pte.h change (at least for a = simple boot) and the pte.h change does nothing without the try.diff. Thanks for the promptly fix :) Luiz
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?C1BD2512-8A48-4AB2-B9CA-C46DDCBE5256>