From owner-freebsd-mips@FreeBSD.ORG Mon Jun 28 19:31:04 2010 Return-Path: Delivered-To: freebsd-mips@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 09517106564A for ; Mon, 28 Jun 2010 19:31:04 +0000 (UTC) (envelope-from c.jayachandran@gmail.com) Received: from mail-vw0-f54.google.com (mail-vw0-f54.google.com [209.85.212.54]) by mx1.freebsd.org (Postfix) with ESMTP id 8D2918FC13 for ; Mon, 28 Jun 2010 19:31:03 +0000 (UTC) Received: by vws13 with SMTP id 13so8111604vws.13 for ; Mon, 28 Jun 2010 12:30:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=yGJK/NRpwTzbLArW1Rz1M0bBLf2fF36cGQdmHgHzhTE=; b=u/0oFE2Ch+2GkIojhvJkQqXsGYI1tT1pzyylKnJEszMUSAPyGyQVxRYwAfBX2Bd3VK GYRUVcmLO7TIjwGBP5LYC7LsC8HB3uwxq+IuF9KEbMuBvxBQIGMSxYdoH9gvaGsNlgkR LGnxzoRWwTv7XZ36zwXhEFXzfPkq9jp0EnpNE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=bzypnj0BkuTQ6TQU7kTSynn6Et6qewfvOWamh8p3+iIKqyLAM3w6+sboeUVBA7WLl4 Edx9scfuuToZVAacLxIfCCyq4lEBnEmDvlDr/LuLc2HaKjrGzzUGHHVpoRd0BzAz0Ttv 1fHwJCy1yTxlin3bI0TtrY97HIUaRGcfwQIok= MIME-Version: 1.0 Received: by 10.220.45.144 with SMTP id e16mr1480923vcf.136.1277753456359; Mon, 28 Jun 2010 12:30:56 -0700 (PDT) Received: by 10.220.199.200 with HTTP; Mon, 28 Jun 2010 12:30:56 -0700 (PDT) In-Reply-To: <3C0AEF9B-AE0C-4459-A4E1-2C8C30C10FD6@gmail.com> References: <897604F6-95C4-49A8-B11F-277A74C8DBAE@gmail.com> <3C0AEF9B-AE0C-4459-A4E1-2C8C30C10FD6@gmail.com> Date: Tue, 29 Jun 2010 01:00:56 +0530 Message-ID: From: "Jayachandran C." To: Luiz Otavio O Souza Content-Type: multipart/mixed; boundary=0016e6471502e07aeb048a1c2849 Cc: freebsd-mips@freebsd.org Subject: Re: Merging 64 bit changes to -HEAD X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jun 2010 19:31:04 -0000 --0016e6471502e07aeb048a1c2849 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Mon, Jun 28, 2010 at 9:42 PM, Luiz Otavio O Souza w= rote: > On Jun 28, 2010, at 7:14 AM, Jayachandran C. wrote: > >> On Sun, Jun 27, 2010 at 8:20 PM, Jayachandran C. >> wrote: >>> On Sun, Jun 27, 2010 at 4:00 PM, Luiz Otavio O Souza wrote: >>>> On Jun 15, 2010, at 10:36 AM, Jayachandran C. wrote: >>>> >>>> ( ... ) >>>>> >>>>> I've tested this on XLR, but there is a chance that this might break >>>>> other platforms. So please let me know your comments on both the >>>>> patches and the merge process. >>>>> >>>>> The future patches (if everything goes well), will do the PTE_ flag t= o >>>>> PG_ flag renaming in Juli's tree, then the actual n32/n64 changes. >>>>> >>>>> Thanks, >>>>> JC. >>>> >>>> JC, >>>> >>>> I can't boot the ar71xx kernel after r209243: >>>> >>>> http://mips.pastebin.com/CBhe6hzR >>>> http://pastebin.com/nrRdm1UF >>>> >>>> Everything works fine with the previous revision (r209048). >>>> >>>> If you need anything else, just let me know. >>> >>> Let me have a look at this, thanks for the report. >> >> Can you enable 'TRAP_DEBUG' in sys/mips/mips/trap.c and see if you can >> get the trap information printed. =A0Adding a line >> #define TRAP_DEBUG >> after all the #includes in trap.c should do it. =A0This should print the >> pc, ra, and badvaddr which would help a lot in debugging. >> >> In the meantime I will look at the code again and see if I can find >> anything obviously wrong. >> >> Thanks, >> JC. > > JC, > > The TRAP_DEBUG option doesn't help, but during the tests i found a weird = symptom... > > After a cold reset the kernel always hang at same place (after the WITNES= S notice), but if i boot from an old kernel and issue a 'reboot' the board = boots just fine. > > I've add a few printfs all around to find where it hangs and this happen = at the first call of pmap_map() at vm_page_startup(). > > Here is a dmesg from a failed boot: http://mips.pastebin.com/QnUu56hD > > And here is a successful one: http://mips.pastebin.com/bsJ4Ac3z > > I hope this can give you some clue about what's is going on... 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. Obviously not a fix, but if we can narrow it down to this function, fixing will be easier. JC. --0016e6471502e07aeb048a1c2849 Content-Type: application/octet-stream; name="try.diff" Content-Disposition: attachment; filename="try.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gazoyplr0 SW5kZXg6IHN5cy9jb25mL2ZpbGVzLm1pcHMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3lzL2NvbmYvZmlsZXMu bWlwcwkocmV2aXNpb24gMjA5NTIxKQorKysgc3lzL2NvbmYvZmlsZXMubWlwcwkod29ya2luZyBj b3B5KQpAQCAtNDUsNiArNDUsNyBAQAogbWlwcy9taXBzL3BtX21hY2hkZXAuYwkJc3RhbmRhcmQK IG1pcHMvbWlwcy9zd3RjaC5TCQlzdGFuZGFyZAogbWlwcy9taXBzL3RsYi5jCQkJc3RhbmRhcmQK K21pcHMvbWlwcy90bGJzLlMJCXN0YW5kYXJkCiAKIG1pcHMvbWlwcy9idXNfc3BhY2VfZ2VuZXJp Yy5jIAlzdGFuZGFyZAogbWlwcy9taXBzL2J1c2RtYV9tYWNoZGVwLmMgCXN0YW5kYXJkCkluZGV4 OiBzeXMvbWlwcy9taXBzL3RsYi5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9taXBzL21pcHMvdGxiLmMJ KHJldmlzaW9uIDIwOTUyMSkKKysrIHN5cy9taXBzL21pcHMvdGxiLmMJKHdvcmtpbmcgY29weSkK QEAgLTIxNCw5ICsyMTQsMTggQEAKIAl9CiB9CiAKK3ZvaWQgTWlwc19UTEJVcGRhdGUodm1fb2Zm c2V0X3QsIHVuc2lnbmVkKTsKKwogdm9pZAogdGxiX3VwZGF0ZShzdHJ1Y3QgcG1hcCAqcG1hcCwg dm1fb2Zmc2V0X3QgdmEsIHB0X2VudHJ5X3QgcHRlKQogeworCWlmIChwbWFwID09IGtlcm5lbF9w bWFwKQorCQl2YSA9IFRMQkhJX0VOVFJZKHZhLCAwKTsKKwllbHNlCisJCXZhID0gVExCSElfRU5U UlkodmEsIHBtYXBfYXNpZChwbWFwKSk7CisJCQorCU1pcHNfVExCVXBkYXRlKHZhLCBwdGUpOwor I2lmIDAKIAlyZWdpc3Rlcl90IG1hc2ssIGFzaWQ7CiAJcmVnaXN0ZXJfdCBzOwogCWludCBpOwpA QCAtMjQ2LDYgKzI1NSw3IEBACiAJbWlwc193cl9lbnRyeWhpKGFzaWQpOwogCW1pcHNfd3JfcGFn ZW1hc2sobWFzayk7CiAJaW50cl9yZXN0b3JlKHMpOworI2VuZGlmCiB9CiAKIHN0YXRpYyB2b2lk CkluZGV4OiBzeXMvbWlwcy9taXBzL3RsYnMuUwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzeXMvbWlwcy9taXBz L3RsYnMuUwkocmV2aXNpb24gMCkKKysrIHN5cy9taXBzL21pcHMvdGxicy5TCShyZXZpc2lvbiAw KQpAQCAtMCwwICsxLDE5OCBAQAorLyoJJE9wZW5CU0Q6IGxvY29yZS5TLHYgMS4xOCAxOTk4LzA5 LzE1IDEwOjU4OjUzIHBlZm8gRXhwICQJKi8KKy8qLQorICogQ29weXJpZ2h0IChjKSAxOTkyLCAx OTkzCisgKglUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiAgQWxs IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGNvZGUgaXMgZGVyaXZlZCBmcm9tIHNvZnR3 YXJlIGNvbnRyaWJ1dGVkIHRvIEJlcmtlbGV5IGJ5CisgKiBEaWdpdGFsIEVxdWlwbWVudCBDb3Jw b3JhdGlvbiBhbmQgUmFscGggQ2FtcGJlbGwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiA0LiBOZWl0aGVyIHRoZSBu YW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycwor ICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg ZnJvbSB0aGlzIHNvZnR3YXJlCisgKiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g cGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdF TlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorICogQU5ZIEVYUFJFU1MgT1IgSU1Q TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBU SEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVDVCwg SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB TAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U IE9GIFNVQlNUSVRVVEUgR09PRFMKKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZFUiBDQVVTRUQg QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ Q1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX SVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdF LgorICoKKyAqIENvcHlyaWdodCAoQykgMTk4OSBEaWdpdGFsIEVxdWlwbWVudCBDb3Jwb3JhdGlv bi4KKyAqIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZCBkaXN0cmlidXRlIHRo aXMgc29mdHdhcmUgYW5kCisgKiBpdHMgZG9jdW1lbnRhdGlvbiBmb3IgYW55IHB1cnBvc2UgYW5k IHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLAorICogcHJvdmlkZWQgdGhhdCB0aGUgYWJv dmUgY29weXJpZ2h0IG5vdGljZSBhcHBlYXJzIGluIGFsbCBjb3BpZXMuCisgKiBEaWdpdGFsIEVx dWlwbWVudCBDb3Jwb3JhdGlvbiBtYWtlcyBubyByZXByZXNlbnRhdGlvbnMgYWJvdXQgdGhlCisg KiBzdWl0YWJpbGl0eSBvZiB0aGlzIHNvZnR3YXJlIGZvciBhbnkgcHVycG9zZS4gIEl0IGlzIHBy b3ZpZGVkICJhcyBpcyIKKyAqIHdpdGhvdXQgZXhwcmVzcyBvciBpbXBsaWVkIHdhcnJhbnR5Lgor ICoKKyAqIGZyb206IEhlYWRlcjogL3Nwcml0ZS9zcmMva2VybmVsL21hY2gvZHMzMTAwLm1kL1JD Uy9sb01lbS5zLAorICoJdiAxLjEgODkvMDcvMTEgMTc6NTU6MDQgbmVsc29uIEV4cCAgU1BSSVRF IChERUNXUkwpCisgKiBmcm9tOiBIZWFkZXI6IC9zcHJpdGUvc3JjL2tlcm5lbC9tYWNoL2RzMzEw MC5tZC9SQ1MvbWFjaEFzbS5zLAorICoJdiA5LjIgOTAvMDEvMjkgMTg6MDA6Mzkgc2hpcnJpZmYg RXhwICBTUFJJVEUgKERFQ1dSTCkKKyAqIGZyb206IEhlYWRlcjogL3Nwcml0ZS9zcmMva2VybmVs L3ZtL2RzMzEwMC5tZC92bVBtYXhBc20ucywKKyAqCXYgMS4xIDg5LzA3LzEwIDE0OjI3OjQxIG5l bHNvbiBFeHAgIFNQUklURSAoREVDV1JMKQorICoKKyAqCWZyb206IEAoIylsb2NvcmUucwk4LjUg KEJlcmtlbGV5KSAxLzQvOTQKKyAqCUpOUFI6IHRsYi5TLHYgMS4xLjQuMiAyMDA3LzA5LzEwIDA5 OjAyOjA1IGdpcmlzaAorICogJEZyZWVCU0Q6IGhlYWQvc3lzL21pcHMvbWlwcy90bGIuUyAyMDY3 NDYgMjAxMC0wNC0xNyAwNzoyMDowMVogam1hbGxldHQgJAorICovCisKKy8qCisgKglDb250YWlu cyBjb2RlIHRoYXQgaXMgdGhlIGZpcnN0IGV4ZWN1dGVkIGF0IGJvb3QgdGltZSBwbHVzCisgKglh c3NlbWJseSBsYW5ndWFnZSBzdXBwb3J0IHJvdXRpbmVzLgorICovCisKKyNpbmNsdWRlICJvcHRf Y3B1dHlwZS5oIgorCisjaW5jbHVkZSA8bWFjaGluZS9hc20uaD4KKyNpbmNsdWRlIDxtYWNoaW5l L2NwdS5oPgorI2luY2x1ZGUgPG1hY2hpbmUvY3B1cmVncy5oPgorI2luY2x1ZGUgPG1hY2hpbmUv cmVnbnVtLmg+CisjaW5jbHVkZSA8bWFjaGluZS9wdGUuaD4KKworI2luY2x1ZGUgImFzc3ltLnMi CisKKyNpZiBkZWZpbmVkKElTQV9NSVBTMzIpCisjdW5kZWYgV0lUSF82NEJJVF9DUDAKKyNlbGlm IGRlZmluZWQoSVNBX01JUFM2NCkKKyNkZWZpbmUgV0lUSF82NEJJVF9DUDAKKyNlbGlmIGRlZmlu ZWQoSVNBX01JUFMzKQorI2RlZmluZSBXSVRIXzY0QklUX0NQMAorI2Vsc2UKKyNlcnJvciAiUGxl YXNlIHdyaXRlIHRoZSBjb2RlIGZvciB0aGlzIElTQSIKKyNlbmRpZgorCisjaWZkZWYgV0lUSF82 NEJJVF9DUDAKKyNkZWZpbmUgX1NMTAlkc2xsCisjZGVmaW5lCV9TUkwJZHNybAorI2RlZmluZQlf TUZDMAlkbWZjMAorI2RlZmluZQlfTVRDMAlkbXRjMAorI2RlZmluZSBXSVJFRF9TSElGVCAzNAor I2Vsc2UKKyNkZWZpbmUgX1NMTAlzbGwKKyNkZWZpbmUJX1NSTAlzcmwKKyNkZWZpbmUJX01GQzAJ bWZjMAorI2RlZmluZQlfTVRDMAltdGMwCisjZGVmaW5lIFdJUkVEX1NISUZUIDIKKyNlbmRpZgor CS5zZXQJbm9yZW9yZGVyCQkJIyBOb3Jlb3JkZXIgaXMgZGVmYXVsdCBzdHlsZSEKKyNpZiBkZWZp bmVkKElTQV9NSVBTMzIpCisJLnNldAltaXBzMzIKKyNlbGlmIGRlZmluZWQoSVNBX01JUFM2NCkK Kwkuc2V0CW1pcHM2NAorI2VsaWYgZGVmaW5lZChJU0FfTUlQUzMpCisJLnNldAltaXBzMworI2Vu ZGlmCisKKyNkZWZpbmUJSVRMQk5PUEZJWAlub3A7bm9wO25vcDtub3A7bm9wO25vcDtub3A7bm9w O25vcDtub3A7CisKKy8qCisgKiBGUkVFQlNEX0RFVkVMT1BFUlNfRklYTUUKKyAqIFNvbWUgTUlQ UyBDUFUgbWF5IG5lZWQgZGVsYXlzIHVzaW5nIG5vcHMgYmV0d2VlbiBleGVjdXRpbmcgQ1AwIElu c3RydWN0aW9ucworICovCisjZGVmaW5lCU1JUFNfQ1BVX05PUF9ERUxBWQlub3A7bm9wO25vcDtu b3A7CisKKyN1bmRlZiBQVEVfSFZQTgorI3VuZGVmIFBURV9BU0lECisjZGVmaW5lIFBURV9IVlBO ICAgICAgICAweGZmZmZlMDAwICAgICAgLyogSGFyZHdhcmUgcGFnZSBubyBtYXNrICovCisjZGVm aW5lIFBURV9BU0lEICAgICAgICAweDAwMDAwMGZmICAgICAgLyogQWRkcmVzcyBzcGFjZSBJRCAq LworCisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICoKKyAqIE1pcHNfVExCVXBkYXRlKHVuc2ln bmVkIHZpcnBhZ2VhZHIsIGxvd3JlZ3gpOworICoKKyAqCVVwZGF0ZSB0aGUgVExCIGlmIGhpZ2hy ZWcgaXMgZm91bmQ7IG90aGVyd2lzZSwgZW50ZXIgdGhlIGRhdGEuCisgKgorICogUmVzdWx0czoK KyAqCTwgMCBpZiBsb2FkZWQgPj0gMCBpZiB1cGRhdGVkLgorICoKKyAqIFNpZGUgZWZmZWN0czoK KyAqCU5vbmUuCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCitMRUFGKE1pcHNfVExCVXBk YXRlKQorCW1mYzAJdjEsIENPUF8wX1NUQVRVU19SRUcJCSMgU2F2ZSB0aGUgc3RhdHVzIHJlZ2lz dGVyLgorCW10YzAJemVybywgQ09QXzBfU1RBVFVTX1JFRwkJIyBEaXNhYmxlIGludGVycnVwdHMK KwlJVExCTk9QRklYCisJYW5kCXQxLCBhMCwgMHgxMDAwCQkJIyB0MSA9IEV2ZW4vT2RkIGZsYWcK KwlsaQl2MCwgKFBURV9IVlBOIHwgUFRFX0FTSUQpCisJYW5kCWEwLCBhMCwgdjAKKwlfTUZDMAl0 MCwgQ09QXzBfVExCX0hJCQkjIFNhdmUgY3VycmVudCBQSUQKKwlfTVRDMAlhMCwgQ09QXzBfVExC X0hJCQkjIEluaXQgaGlnaCByZWcKKwlhbmQJYTIsIGExLCBQVEVfRwkJCSMgQ29weSBnbG9iYWwg Yml0CisJTUlQU19DUFVfTk9QX0RFTEFZCisJdGxicAkJCQkJIyBQcm9iZSBmb3IgdGhlIGVudHJ5 LgorCV9TTEwJYTEsIGExLCBXSVJFRF9TSElGVAorCV9TUkwJYTEsIGExLCBXSVJFRF9TSElGVAor CW5vcAorCW1mYzAJdjAsIENPUF8wX1RMQl9JTkRFWAkJIyBTZWUgd2hhdCB3ZSBnb3QKKwlibmUJ dDEsIHplcm8sIDJmCQkJIyBEZWNpZGUgZXZlbiBvZGQKKyMgRVZFTgorCW5vcAorCWJsdHoJdjAs IDFmCQkJCSMgaW5kZXggPCAwID0+ICFmb3VuZAorCU1JUFNfQ1BVX05PUF9ERUxBWQorCisJdGxi cgkJCQkJIyB1cGRhdGUsIHJlYWQgZW50cnkgZmlyc3QKKwlNSVBTX0NQVV9OT1BfREVMQVkKKwlf TVRDMAlhMSwgQ09QXzBfVExCX0xPMAkJIyBpbml0IGxvdyByZWcwLgorCU1JUFNfQ1BVX05PUF9E RUxBWQorCXRsYndpCQkJCQkjIHVwZGF0ZSBzbG90IGZvdW5kCisJYgk0ZgorCW5vcAorMToKKwlt dGMwCXplcm8sIENPUF8wX1RMQl9QR19NQVNLIAkjIGluaXQgbWFzay4KKwlfTVRDMAlhMCwgQ09Q XzBfVExCX0hJCQkjIGluaXQgaGlnaCByZWcuCisJX01UQzAJYTEsIENPUF8wX1RMQl9MTzAJCSMg aW5pdCBsb3cgcmVnMC4KKwlfTVRDMAlhMiwgQ09QXzBfVExCX0xPMQkJIyBpbml0IGxvdyByZWcx LgorCU1JUFNfQ1BVX05PUF9ERUxBWQorCXRsYndyCQkJCQkjIGVudGVyIGludG8gYSByYW5kb20g c2xvdAorCU1JUFNfQ1BVX05PUF9ERUxBWQorCWIJNGYKKwlub3AKKyMgT0RECisyOgorCW5vcAor CWJsdHoJdjAsIDNmCQkJCSMgaW5kZXggPCAwID0+ICFmb3VuZAorCU1JUFNfQ1BVX05PUF9ERUxB WQorCisJdGxicgkJCQkJIyByZWFkIHRoZSBlbnRyeSBmaXJzdAorCU1JUFNfQ1BVX05PUF9ERUxB WQorCV9NVEMwCWExLCBDT1BfMF9UTEJfTE8xCQkjIGluaXQgbG93IHJlZzEuCisJTUlQU19DUFVf Tk9QX0RFTEFZCisJdGxid2kJCQkJCSMgdXBkYXRlIHNsb3QgZm91bmQKKwlNSVBTX0NQVV9OT1Bf REVMQVkKKwliCTRmCisJbm9wCiszOgorCW10YzAJemVybywgQ09QXzBfVExCX1BHX01BU0sJCSMg aW5pdCBtYXNrLgorCV9NVEMwCWEwLCBDT1BfMF9UTEJfSEkJCSMgaW5pdCBoaWdoIHJlZy4KKwlf TVRDMAlhMiwgQ09QXzBfVExCX0xPMAkJIyBpbml0IGxvdyByZWcwLgorCV9NVEMwCWExLCBDT1Bf MF9UTEJfTE8xCQkjIGluaXQgbG93IHJlZzEuCisJTUlQU19DUFVfTk9QX0RFTEFZCisJdGxid3IJ CQkJCSMgZW50ZXIgaW50byBhIHJhbmRvbSBzbG90CisKKzQ6CQkJCQkJIyBNYWtlIHNodXJlIHBp cGVsaW5lCisJTUlQU19DUFVfTk9QX0RFTEFZCisJX01UQzAJdDAsIENPUF8wX1RMQl9ISQkJIyBy ZXN0b3JlIFBJRAorCW10YzAJdjEsIENPUF8wX1NUQVRVU19SRUcJCSMgUmVzdG9yZSB0aGUgc3Rh dHVzIHJlZ2lzdGVyCisJSVRMQk5PUEZJWAorCWoJcmEKKwlub3AKK0VORChNaXBzX1RMQlVwZGF0 ZSkKKwo= --0016e6471502e07aeb048a1c2849--