Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 Jul 2010 01:34:35 +0530
From:      "Jayachandran C." <c.jayachandran@gmail.com>
To:        Luiz Otavio O Souza <lists.br@gmail.com>
Cc:        freebsd-mips@freebsd.org
Subject:   Re: Merging 64 bit changes to -HEAD
Message-ID:  <AANLkTinY_RL3PGZ7UaLi16vitt_iag4MoWOImAe8JB06@mail.gmail.com>
In-Reply-To: <AANLkTinGkedtaE0EDUWaK-Csjiy1r5pIK5U9uKWTD_PS@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> <C1BD2512-8A48-4AB2-B9CA-C46DDCBE5256@gmail.com> <AANLkTimgyYggdDYchEfb3yskmA0PsttjVzkOSMaWFsjH@mail.gmail.com> <7886D15B-79BF-4BC6-8467-26A8D0FE3D00@gmail.com> <AANLkTinGkedtaE0EDUWaK-Csjiy1r5pIK5U9uKWTD_PS@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--001636284f88c03fce048a58fab6
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On Fri, Jul 2, 2010 at 12:17 AM, Jayachandran C.
<c.jayachandran@gmail.com> wrote:
> On Thu, Jul 1, 2010 at 10:25 PM, Luiz Otavio O Souza <lists.br@gmail.com>=
 wrote:
>> On Jun 30, 2010, at 7:40 PM, Jayachandran C. wrote:
>>> On Wed, Jun 30, 2010 at 10:38 PM, Luiz Otavio O Souza
>>> <lists.br@gmail.com> wrote:
>>>> 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:
>>>>>>
>>>>>> On Jun 29, 2010, at 8:02 AM, Jayachandran C. wrote:
>>>>>>
>>>>>>> On Tue, Jun 29, 2010 at 2:28 AM, Luiz Otavio O Souza <lists.br@gmai=
l.com> wrote:
>>>>>>>>> Thanks for the the update. Looks like pmap_map for kernel is fail=
ing,
>>>>>>>>> may be the new tlb_update code causes this. =A0Can you apply the
>>>>>>>>> attached patch and see if the problem still persists, it replaces=
 the
>>>>>>>>> new tlb_update code with the older version.
>>>>>>>>>
>>>>>>>>> Obviously not a fix, but if we can narrow it down to this functio=
n,
>>>>>>>>> fixing will be easier.
>>>>>>>>>
>>>>>>>>> JC.
>>>>>>>>> <try.diff>
>>>>>>>>
>>>>>>>> JC,
>>>>>>>>
>>>>>>>> This fix the problem ! Thanks ! Now, at least, you know where to l=
ook :)
>>>>>>>
>>>>>>> The new tlb_update does not seem to update the tlb entry if the tlb=
p
>>>>>>> fails. =A0Here's a patch that should make the new function behave l=
ike
>>>>>>> the older one. =A0The patch is in attached file 'tlb-update.diff'.
>>>>>>>
>>>>>>> If that does not work, I'm not sure what the issue is. =A0You 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.
>>>>>>>
>>>>>>> Thanks,
>>>>>>> JC.
>>>>>>> <tlb-update.diff><nop-change.diff>
>>>>>>
>>>>>> JC,
>>>>>>
>>>>>> The nop-change seems to have no effect at all and with the tlb-updat=
e patch the kernel apparently crash at bzero(), here is the dmesg with TRAP=
_DEBUG enabled:
>>>>>>
>>>>>> http://mips.pastebin.com/jydPvJ20
>>>>>>
>>>>>> So hopefully you are on the right track and this may be something ob=
vious to you.
>>>>>
>>>>> Not yet :) I really hoped the earlier change would fix it. =A0The num=
ber
>>>>> of nop does not seem to be the issue as it is higher in the C code
>>>>> than the assembly.
>>>>>
>>>>> Can you try the attached patch (try.diff) - this re-implements the
>>>>> assembly code functionality almost in the same way in C. =A0This real=
ly
>>>>> should work, given that the patch which made it assembly worked...
>>>>>
>>>>> 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)=
.
>>>>>
>>>>> Both patches should apply directly to SVN (not dependent on each
>>>>> other, or on previous patches)
>>>>>
>>>>> 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 si=
mple boot) and the pte.h change does nothing without the try.diff.
>>>
>>> I've attached the final(final.diff) version I want to check-in, can
>>> you please quickly test it?
>>>
>>> If that does not work, can you tell me if the attached alt1.diff or
>>> alt2.diff works? The try.diff had three changes: handle case of
>>> index>0, remove pagemask operation, restore full entryhi instead of
>>> asid. So if the first does not work, this will help narrow down the
>>> rest of the cases.
>>>
>>> Hopefully this is the last iteration :)
>>>
>>> JC.
>>> <final.diff><alt1.diff><alt2.diff>
>>
>>
>> JC,
>>
>> The final.diff and alt1.diff crash (into debugger) like the first try.di=
ff (here is the dmesg: http://pastebin.com/r2uunZPZ).
>>
>> The alt2.diff works, i'll try it a little more (buildworld).
>>
>> Feel free to send more tests if needed.
>
> Looks like I was on the wrong track, it now looks like the pagemask
> maybe the cause. =A0My suspicion is that the bootloader setups a
> pagemask and we never clear it because all the operations save and
> restore the mask. As far as I can see the TLB exception handler will
> not update pagemask.
>
> Juli - any comments on this? Do you need to save/restore pagemask for
> some reason, otherwise I will take out the part from tlb.c. =A0Will send
> out a patch a bit later.

Okay - here's hopefully the final patch. Let me know if it boots up.

Thanks,
JC.

--001636284f88c03fce048a58fab6
Content-Type: application/octet-stream; name="tlb.c-pagemask-remove.diff"
Content-Disposition: attachment; filename="tlb.c-pagemask-remove.diff"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gb40w8q40

SW5kZXg6IHN5cy9taXBzL2luY2x1ZGUvcHRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3lzL21pcHMvaW5j
bHVkZS9wdGUuaAkocmV2aXNpb24gMjA5NjM1KQorKysgc3lzL21pcHMvaW5jbHVkZS9wdGUuaAko
d29ya2luZyBjb3B5KQpAQCAtNzMsNyArNzMsOCBAQAogICogTm90ZSB0aGF0IGluIEZyZWVCU0Qs
IHdlIG1hcCAyIFRMQiBwYWdlcyBpcyBlcXVhbCB0byAxIFZNIHBhZ2UuCiAgKi8KICNkZWZpbmUJ
VExCSElfQVNJRF9NQVNLCQkoMHhmZikKLSNkZWZpbmUJVExCSElfRU5UUlkodmEsIGFzaWQpCSgo
KHZhKSAmIH5QQUdFX01BU0spIHwgKChhc2lkKSAmIFRMQkhJX0FTSURfTUFTSykpCisjZGVmaW5l
CVRMQkhJX1BBR0VfTUFTSwkJKDIgKiBQQUdFX1NJWkUgLSAxKQorI2RlZmluZQlUTEJISV9FTlRS
WSh2YSwgYXNpZCkJKCgodmEpICYgflRMQkhJX1BBR0VfTUFTSykgfCAoKGFzaWQpICYgVExCSElf
QVNJRF9NQVNLKSkKIAogI2lmbmRlZiBfTE9DT1JFCiB0eXBlZGVmCXVpbnQzMl90IHB0X2VudHJ5
X3Q7CkluZGV4OiBzeXMvbWlwcy9taXBzL3RsYi5jCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9taXBzL21p
cHMvdGxiLmMJKHJldmlzaW9uIDIwOTYzNSkKKysrIHN5cy9taXBzL21pcHMvdGxiLmMJKHdvcmtp
bmcgY29weSkKQEAgLTkxLDEzICs5MSwxMiBAQAogdm9pZAogdGxiX2luc2VydF93aXJlZCh1bnNp
Z25lZCBpLCB2bV9vZmZzZXRfdCB2YSwgcHRfZW50cnlfdCBwdGUwLCBwdF9lbnRyeV90IHB0ZTEp
CiB7Ci0JcmVnaXN0ZXJfdCBtYXNrLCBhc2lkOworCXJlZ2lzdGVyX3QgYXNpZDsKIAlyZWdpc3Rl
cl90IHM7CiAKIAl2YSAmPSB+UEFHRV9NQVNLOwogCiAJcyA9IGludHJfZGlzYWJsZSgpOwotCW1h
c2sgPSBtaXBzX3JkX3BhZ2VtYXNrKCk7CiAJYXNpZCA9IG1pcHNfcmRfZW50cnloaSgpICYgVExC
SElfQVNJRF9NQVNLOwogCiAJbWlwc193cl9pbmRleChpKTsKQEAgLTEwOCwyMSArMTA3LDE5IEBA
CiAJdGxiX3dyaXRlX2luZGV4ZWQoKTsKIAogCW1pcHNfd3JfZW50cnloaShhc2lkKTsKLQltaXBz
X3dyX3BhZ2VtYXNrKG1hc2spOwogCWludHJfcmVzdG9yZShzKTsKIH0KIAogdm9pZAogdGxiX2lu
dmFsaWRhdGVfYWRkcmVzcyhzdHJ1Y3QgcG1hcCAqcG1hcCwgdm1fb2Zmc2V0X3QgdmEpCiB7Ci0J
cmVnaXN0ZXJfdCBtYXNrLCBhc2lkOworCXJlZ2lzdGVyX3QgYXNpZDsKIAlyZWdpc3Rlcl90IHM7
CiAJaW50IGk7CiAKIAl2YSAmPSB+UEFHRV9NQVNLOwogCiAJcyA9IGludHJfZGlzYWJsZSgpOwot
CW1hc2sgPSBtaXBzX3JkX3BhZ2VtYXNrKCk7CiAJYXNpZCA9IG1pcHNfcmRfZW50cnloaSgpICYg
VExCSElfQVNJRF9NQVNLOwogCiAJbWlwc193cl9wYWdlbWFzaygwKTsKQEAgLTEzMywzOCArMTMw
LDM0IEBACiAJCXRsYl9pbnZhbGlkYXRlX29uZShpKTsKIAogCW1pcHNfd3JfZW50cnloaShhc2lk
KTsKLQltaXBzX3dyX3BhZ2VtYXNrKG1hc2spOwogCWludHJfcmVzdG9yZShzKTsKIH0KIAogdm9p
ZAogdGxiX2ludmFsaWRhdGVfYWxsKHZvaWQpCiB7Ci0JcmVnaXN0ZXJfdCBtYXNrLCBhc2lkOwor
CXJlZ2lzdGVyX3QgYXNpZDsKIAlyZWdpc3Rlcl90IHM7CiAJdW5zaWduZWQgaTsKIAogCXMgPSBp
bnRyX2Rpc2FibGUoKTsKLQltYXNrID0gbWlwc19yZF9wYWdlbWFzaygpOwogCWFzaWQgPSBtaXBz
X3JkX2VudHJ5aGkoKSAmIFRMQkhJX0FTSURfTUFTSzsKIAogCWZvciAoaSA9IG1pcHNfcmRfd2ly
ZWQoKTsgaSA8IG51bV90bGJlbnRyaWVzOyBpKyspCiAJCXRsYl9pbnZhbGlkYXRlX29uZShpKTsK
IAogCW1pcHNfd3JfZW50cnloaShhc2lkKTsKLQltaXBzX3dyX3BhZ2VtYXNrKG1hc2spOwogCWlu
dHJfcmVzdG9yZShzKTsKIH0KIAogdm9pZAogdGxiX2ludmFsaWRhdGVfYWxsX3VzZXIoc3RydWN0
IHBtYXAgKnBtYXApCiB7Ci0JcmVnaXN0ZXJfdCBtYXNrLCBhc2lkOworCXJlZ2lzdGVyX3QgYXNp
ZDsKIAlyZWdpc3Rlcl90IHM7CiAJdW5zaWduZWQgaTsKIAogCXMgPSBpbnRyX2Rpc2FibGUoKTsK
LQltYXNrID0gbWlwc19yZF9wYWdlbWFzaygpOwogCWFzaWQgPSBtaXBzX3JkX2VudHJ5aGkoKSAm
IFRMQkhJX0FTSURfTUFTSzsKIAogCWZvciAoaSA9IG1pcHNfcmRfd2lyZWQoKTsgaSA8IG51bV90
bGJlbnRyaWVzOyBpKyspIHsKQEAgLTE5MSw3ICsxODQsNiBAQAogCX0KIAogCW1pcHNfd3JfZW50
cnloaShhc2lkKTsKLQltaXBzX3dyX3BhZ2VtYXNrKG1hc2spOwogCWludHJfcmVzdG9yZShzKTsK
IH0KIApAQCAtMjE3LDcgKzIwOSw3IEBACiB2b2lkCiB0bGJfdXBkYXRlKHN0cnVjdCBwbWFwICpw
bWFwLCB2bV9vZmZzZXRfdCB2YSwgcHRfZW50cnlfdCBwdGUpCiB7Ci0JcmVnaXN0ZXJfdCBtYXNr
LCBhc2lkOworCXJlZ2lzdGVyX3QgYXNpZDsKIAlyZWdpc3Rlcl90IHM7CiAJaW50IGk7CiAKQEAg
LTIyNSw3ICsyMTcsNiBAQAogCXB0ZSAmPSB+VExCTE9fU1dCSVRTX01BU0s7CiAKIAlzID0gaW50
cl9kaXNhYmxlKCk7Ci0JbWFzayA9IG1pcHNfcmRfcGFnZW1hc2soKTsKIAlhc2lkID0gbWlwc19y
ZF9lbnRyeWhpKCkgJiBUTEJISV9BU0lEX01BU0s7CiAKIAltaXBzX3dyX3BhZ2VtYXNrKDApOwpA
QCAtMjQ0LDcgKzIzNSw2IEBACiAJfQogCiAJbWlwc193cl9lbnRyeWhpKGFzaWQpOwotCW1pcHNf
d3JfcGFnZW1hc2sobWFzayk7CiAJaW50cl9yZXN0b3JlKHMpOwogfQogCg==
--001636284f88c03fce048a58fab6--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTinY_RL3PGZ7UaLi16vitt_iag4MoWOImAe8JB06>