From owner-freebsd-mips@FreeBSD.ORG Fri Jul 9 12:37:01 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 C1E81106564A; Fri, 9 Jul 2010 12:37:01 +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 4527C8FC17; Fri, 9 Jul 2010 12:37:00 +0000 (UTC) Received: by vws6 with SMTP id 6so3075050vws.13 for ; Fri, 09 Jul 2010 05:36:52 -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:content-type; bh=Mx/OOXmUf2QzwuxMGU/BHRk8mu9xCp9ETLNwN1H4D4s=; b=eG7GZL5rVeS7SHEQP8X7raNtoi927MwFTpyj9bCNY71BSiX+aY/7Wy5+xMEVgbxZet XEyBr8ZqFkRt6+5XImngbb5mcOpauehwCys/8iYH1RHG8zEnqfvafxpdBfFN/K70nThu tPfjpg33yDdr4CECoj9sDAsAixqK1i5D3Md6Q= 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 :content-type; b=Yfwl0BNisRXApV0ECrjk9Uk4iS5oRMONOs+oGcnpSjfywmyJeH92H3V7/ZZ86PvmZL Y0MAWfAHAT+sniGj22bB83w9zfY3D0Mn8IGbhwIekeM/DfHuu68v82VKgF/gmXDUr8dW GhHIijeFWaMuSBSLEngUeupwMffCcD11Il6J0= MIME-Version: 1.0 Received: by 10.220.157.141 with SMTP id b13mr5224278vcx.27.1278679011798; Fri, 09 Jul 2010 05:36:51 -0700 (PDT) Received: by 10.220.194.4 with HTTP; Fri, 9 Jul 2010 05:36:51 -0700 (PDT) In-Reply-To: References: <20100708.021250.1099368555950605809.imp@bsdimp.com> Date: Fri, 9 Jul 2010 18:06:51 +0530 Message-ID: From: "Jayachandran C." To: "M. Warner Losh" , rrs@lakerest.net, jmallett@freebsd.org, freebsd-mips@freebsd.org Content-Type: multipart/mixed; boundary=e0cb4e887bc147afa7048af3a8ca Cc: Subject: Re: Merging 64 bit changes to -HEAD - part 4 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: Fri, 09 Jul 2010 12:37:01 -0000 --e0cb4e887bc147afa7048af3a8ca Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Thu, Jul 8, 2010 at 2:52 PM, Jayachandran C. wrote: > On Thu, Jul 8, 2010 at 1:42 PM, M. Warner Losh wrote: >> In message: >> =A0 =A0 =A0 =A0 =A0 =A0"Jayachandran C." writ= es: [...] >> : pmap-n64.patch >> : =A0The main n64 patch (from Juli's branch) >> : =A0 This still uses the old 2-level page tables. But this adds other >> : pmap code to support n64. I have re-arranged some of =A0Juli's code 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. mips-pmap-intial-n64.patch (from Juli's branch) Initial changes to pmap.c for n64 support. When compiled for n64, pmap can use XKPHYS for a lot of its operations. The page tables are still 2-level. mips-tlb64.patch (from Juli's branch) 64 bit TLB definitions. mips-ddb-64.patch (from Juli's branch) Minor fixups for ddb support. This should get n64 up to mountroot - let me know you comments. Thanks, JC. --e0cb4e887bc147afa7048af3a8ca Content-Type: text/x-patch; charset=US-ASCII; name="kseg-def-to-cpuregs.h.patch" Content-Disposition: attachment; filename="kseg-def-to-cpuregs.h.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gbeytzoo0 SW5kZXg6IHN5cy9taXBzL2luY2x1ZGUvY3B1cmVncy5oCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9taXBz L2luY2x1ZGUvY3B1cmVncy5oCShyZXZpc2lvbiAyMDk3NTYpCisrKyBzeXMvbWlwcy9pbmNsdWRl L2NwdXJlZ3MuaAkod29ya2luZyBjb3B5KQpAQCAtNzgsNiArNzgsOSBAQAogICogQ2FjaGluZyBv ZiBtYXBwZWQgYWRkcmVzc2VzIGlzIGNvbnRyb2xsZWQgYnkgYml0cyBpbiB0aGUgVExCIGVudHJ5 LgogICovCiAKKyNkZWZpbmUJTUlQU19LU0VHMF9MQVJHRVNUX1BIWVMgICAgICAgICAoMHgyMDAw MDAwMCkKKyNkZWZpbmUJTUlQU19QSFlTX01BU0sJCQkoMHgxZmZmZmZmZikKKwogI2lmICFkZWZp bmVkKF9MT0NPUkUpCiAjZGVmaW5lCU1JUFNfS1VTRUdfU1RBUlQJCTB4MDAwMDAwMDAKICNkZWZp bmUJTUlQU19LU0VHMF9TVEFSVAkJKChpbnRwdHJfdCkoaW50MzJfdCkweDgwMDAwMDAwKQpAQCAt OTEsOCArOTQsMTkgQEAKIAogI2RlZmluZSBNSVBTX0tTRUcyX1NUQVJUCQlNSVBTX0tTU0VHX1NU QVJUCiAjZGVmaW5lIE1JUFNfS1NFRzJfRU5ECQkJTUlQU19LU1NFR19FTkQKLSNlbmRpZgogCisj ZGVmaW5lCU1JUFNfUEhZU19UT19LU0VHMCh4KQkJKCh1aW50cHRyX3QpKHgpIHwgTUlQU19LU0VH MF9TVEFSVCkKKyNkZWZpbmUJTUlQU19QSFlTX1RPX0tTRUcxKHgpCQkoKHVpbnRwdHJfdCkoeCkg fCBNSVBTX0tTRUcxX1NUQVJUKQorI2RlZmluZQlNSVBTX0tTRUcwX1RPX1BIWVMoeCkJCSgodWlu dHB0cl90KSh4KSAmIE1JUFNfUEhZU19NQVNLKQorI2RlZmluZQlNSVBTX0tTRUcxX1RPX1BIWVMo eCkJCSgodWludHB0cl90KSh4KSAmIE1JUFNfUEhZU19NQVNLKQorCisjZGVmaW5lCU1JUFNfSVNf S1NFRzBfQUREUih4KQkJCQkJXAorCSgoKHZtX29mZnNldF90KSh4KSA+PSBNSVBTX0tTRUcwX1NU QVJUKSAmJgkJXAorCSAgICAoKHZtX29mZnNldF90KSh4KSA8PSBNSVBTX0tTRUcwX0VORCkpCisj ZGVmaW5lCU1JUFNfSVNfS1NFRzFfQUREUih4KQkJCQkJXAorCSgoKHZtX29mZnNldF90KSh4KSA+ PSBNSVBTX0tTRUcxX1NUQVJUKSAmJgkJXAorCSAgICAoKHZtX29mZnNldF90KSh4KSA8PSBNSVBT X0tTRUcxX0VORCkpCisKICNkZWZpbmUJTUlQU19YS1BIWVNfU1RBUlQJCTB4ODAwMDAwMDAwMDAw MDAwMAogI2RlZmluZQlNSVBTX1hLUEhZU19FTkQJCQkweGJmZmZmZmZmZmZmZmZmZmYKIApAQCAt MTAxLDE0ICsxMTUsMjEgQEAKIAogI2RlZmluZQlNSVBTX1BIWVNfVE9fWEtQSFlTKGNjYSx4KSBc CiAJKCgweDJVTEwgPDwgNjIpIHwgKCh1bnNpZ25lZCBsb25nIGxvbmcpKGNjYSkgPDwgNTkpIHwg KHgpKQotI2RlZmluZQlNSVBTX1hLUEhZU19UT19QSFlTKHgpCSgoeCkgJiAweDA3ZmZmZmZmZmZm ZmZmZmZVTEwpCisjZGVmaW5lCU1JUFNfUEhZU19UT19YS1BIWVNfQ0FDSEVEKHgpIFwKKwkoKDB4 MlVMTCA8PCA2MikgfCAoKHVuc2lnbmVkIGxvbmcgbG9uZykoTUlQU19YS1BIWVNfQ0NBX0NOQykg PDwgNTkpIHwgKHgpKQorI2RlZmluZQlNSVBTX1BIWVNfVE9fWEtQSFlTX1VOQ0FDSEVEKHgpIFwK KwkoKDB4MlVMTCA8PCA2MikgfCAoKHVuc2lnbmVkIGxvbmcgbG9uZykoTUlQU19YS1BIWVNfQ0NB X1VDKSA8PCA1OSkgfCAoeCkpCiAKKyNkZWZpbmUJTUlQU19YS1BIWVNfVE9fUEhZUyh4KQkJKCh4 KSAmIDB4MDdmZmZmZmZmZmZmZmZmZlVMTCkKKwogI2RlZmluZQlNSVBTX1hVU0VHX1NUQVJUCQkw eDAwMDAwMDAwMDAwMDAwMDAKICNkZWZpbmUJTUlQU19YVVNFR19FTkQJCQkweDAwMDAwMTAwMDAw MDAwMDAKIAogI2RlZmluZQlNSVBTX1hLU0VHX1NUQVJUCQkweGMwMDAwMDAwMDAwMDAwMDAKICNk ZWZpbmUJTUlQU19YS1NFR19FTkQJCQkweGMwMDAwMGZmODAwMDAwMDAKIAorI2VuZGlmCisKIC8q IENQVSBkZXBlbmRlbnQgbXRjMCBoYXphcmQgaG9vayAqLwogI2lmZGVmIFRBUkdFVF9PQ1RFT04K ICNkZWZpbmUJQ09QMF9TWU5DICBub3A7IG5vcDsgbm9wOyBub3A7IG5vcDsKSW5kZXg6IHN5cy9t aXBzL2luY2x1ZGUvY3B1LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3lzL21pcHMvaW5jbHVkZS9jcHUuaAko cmV2aXNpb24gMjA5NzU2KQorKysgc3lzL21pcHMvaW5jbHVkZS9jcHUuaAkod29ya2luZyBjb3B5 KQpAQCAtNDksMjMgKzQ5LDYgQEAKIAogI2luY2x1ZGUgPG1hY2hpbmUvZW5kaWFuLmg+CiAKLSNk ZWZpbmUJTUlQU19LU0VHMF9MQVJHRVNUX1BIWVMgICAgICAgICAoMHgyMDAwMDAwMCkKLSNkZWZp bmUJTUlQU19QSFlTX01BU0sJCQkoMHgxZmZmZmZmZikKLQotI2RlZmluZQlNSVBTX1BIWVNfVE9f S1NFRzAoeCkJCSgodWludHB0cl90KSh4KSB8IE1JUFNfS1NFRzBfU1RBUlQpCi0jZGVmaW5lCU1J UFNfUEhZU19UT19LU0VHMSh4KQkJKCh1aW50cHRyX3QpKHgpIHwgTUlQU19LU0VHMV9TVEFSVCkK LSNkZWZpbmUJTUlQU19LU0VHMF9UT19QSFlTKHgpCQkoKHVpbnRwdHJfdCkoeCkgJiBNSVBTX1BI WVNfTUFTSykKLSNkZWZpbmUJTUlQU19LU0VHMV9UT19QSFlTKHgpCQkoKHVpbnRwdHJfdCkoeCkg JiBNSVBTX1BIWVNfTUFTSykKLQotI2RlZmluZQlNSVBTX0lTX0tTRUcwX0FERFIoeCkJCQkJCVwK LQkoKCh2bV9vZmZzZXRfdCkoeCkgPj0gTUlQU19LU0VHMF9TVEFSVCkgJiYJCVwKLQkgICAgKCh2 bV9vZmZzZXRfdCkoeCkgPD0gTUlQU19LU0VHMF9FTkQpKQotI2RlZmluZQlNSVBTX0lTX0tTRUcx X0FERFIoeCkJCQkJCVwKLQkoKCh2bV9vZmZzZXRfdCkoeCkgPj0gTUlQU19LU0VHMV9TVEFSVCkg JiYJCVwKLQkgICAgKCh2bV9vZmZzZXRfdCkoeCkgPD0gTUlQU19LU0VHMV9FTkQpKQotI2RlZmlu ZQlNSVBTX0lTX1ZBTElEX1BUUih4KQkJKE1JUFNfSVNfS1NFRzBfQUREUih4KSB8fCBcCi0JCQkJ CQlNSVBTX0lTX0tTRUcxX0FERFIoeCkpCi0KIC8qCiAgKiAgU3RhdHVzIHJlZ2lzdGVyLgogICov Cg== --e0cb4e887bc147afa7048af3a8ca Content-Type: text/x-patch; charset=US-ASCII; name="mips-pmap-intial-n64.patch" Content-Disposition: attachment; filename="mips-pmap-intial-n64.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gbeyu1kt1 SW5kZXg6IHN5cy9taXBzL21pcHMvcG1hcC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9taXBzL21pcHMv cG1hcC5jCShyZXZpc2lvbiAyMDk3NTYpCisrKyBzeXMvbWlwcy9taXBzL3BtYXAuYwkod29ya2lu ZyBjb3B5KQpAQCAtMTI4LDcgKzEyOCwxMSBAQAogI2RlZmluZQlwbWFwX3NlZ3NoaWZ0KHYpCSgo KHYpID4+IFNFR1NISUZUKSAmIChOUERFUEcgLSAxKSkKICNkZWZpbmUJc2VndGFiX3BkZShtLCB2 KQkoKG0pW3BtYXBfc2Vnc2hpZnQoKHYpKV0pCiAKKyNpZiBkZWZpbmVkKF9fbWlwc19uNjQpCisj ZGVmaW5lCU5VU0VSUEdUQkxTCQkoTlBERVBHKQorI2Vsc2UKICNkZWZpbmUJTlVTRVJQR1RCTFMJ CShwbWFwX3NlZ3NoaWZ0KFZNX01BWFVTRVJfQUREUkVTUykpCisjZW5kaWYKICNkZWZpbmUJbWlw c19zZWd0cnVuYyh2YSkJKCh2YSkgJiB+U0VHT0ZTRVQpCiAjZGVmaW5lCWlzX2tlcm5lbF9wbWFw KHgpCSgoeCkgPT0ga2VybmVsX3BtYXApCiAKQEAgLTMxMCw3ICszMTAsNyBAQAogfQogCiAvKgot ICoJQm9vdHN0cmFwIHRoZSBzeXN0ZW0gZW5vdWdoIHRvIHJ1biB3aXRoIHZpcnR1YWwgbWVtb3J5 LiAgVGhpcworICogQm9vdHN0cmFwIHRoZSBzeXN0ZW0gZW5vdWdoIHRvIHJ1biB3aXRoIHZpcnR1 YWwgbWVtb3J5LiAgVGhpcwogICogYXNzdW1lcyB0aGF0IHRoZSBwaHlzX2F2YWlsIGFycmF5IGhh cyBiZWVuIGluaXRpYWxpemVkLgogICovCiB2b2lkCkBAIC0zMzAsMTQgKzMzMCwxMSBAQAogCQlw aHlzX2F2YWlsW2ldID0gcm91bmRfcGFnZShwaHlzX2F2YWlsW2ldKTsKIAkJcGh5c19hdmFpbFtp ICsgMV0gPSB0cnVuY19wYWdlKHBoeXNfYXZhaWxbaSArIDFdKTsKIAotCQlpZiAocGh5c19hdmFp bFtpICsgMV0gPj0gTUlQU19LU0VHMF9MQVJHRVNUX1BIWVMpCi0JCQltZW1vcnlfbGFyZ2VyX3Ro YW5fNTEybWVnKys7CiAJCWlmIChpIDwgMikKIAkJCWNvbnRpbnVlOwogCQlpZiAocGh5c19hdmFp bFtpIC0gMl0gPiBwaHlzX2F2YWlsW2ldKSB7CiAJCQl2bV9wYWRkcl90IHB0ZW1wWzJdOwogCi0K IAkJCXB0ZW1wWzBdID0gcGh5c19hdmFpbFtpICsgMF07CiAJCQlwdGVtcFsxXSA9IHBoeXNfYXZh aWxbaSArIDFdOwogCkBAIC0zNTAsNiArMzQ3LDExIEBACiAJCX0KIAl9CiAKKyNpZiAhZGVmaW5l ZChfX21pcHNfbjY0KQorCWlmIChwaHlzX2F2YWlsW2kgLSAxXSA+PSBNSVBTX0tTRUcwX0xBUkdF U1RfUEhZUykKKwkJbWVtb3J5X2xhcmdlcl90aGFuXzUxMm1lZyA9IDE7CisjZW5kaWYKKwogCS8q CiAJICogQ29weSB0aGUgcGh5c19hdmFpbFtdIGFycmF5IGJlZm9yZSB3ZSBzdGFydCBzdGVhbGlu ZyBtZW1vcnkgZnJvbSBpdC4KIAkgKi8KQEAgLTM4NCw3ICszODYsNiBAQAogCSAqLwogCWtzdGFj azAgPSBwbWFwX3N0ZWFsX21lbW9yeShLU1RBQ0tfUEFHRVMgPDwgUEFHRV9TSElGVCk7CiAKLQog CXZpcnR1YWxfYXZhaWwgPSBWTV9NSU5fS0VSTkVMX0FERFJFU1M7CiAJdmlydHVhbF9lbmQgPSBW TV9NQVhfS0VSTkVMX0FERFJFU1M7CiAKQEAgLTc1OCwxMSArNzU5LDIxIEBACiAgKgl1cGRhdGUg Jyp2aXJ0JyB3aXRoIHRoZSBmaXJzdCB1c2FibGUgYWRkcmVzcyBhZnRlciB0aGUgbWFwcGVkCiAg KglyZWdpb24uCiAgKi8KKyNpZiBkZWZpbmVkKF9fbWlwc19uNjQpCiB2bV9vZmZzZXRfdAogcG1h cF9tYXAodm1fb2Zmc2V0X3QgKnZpcnQsIHZtX29mZnNldF90IHN0YXJ0LCB2bV9vZmZzZXRfdCBl bmQsIGludCBwcm90KQogeworCXJldHVybiAoTUlQU19QSFlTX1RPX1hLUEhZU19DQUNIRUQoc3Rh cnQpKTsKK30KKyNlbHNlCit2bV9vZmZzZXRfdAorcG1hcF9tYXAodm1fb2Zmc2V0X3QgKnZpcnQs IHZtX29mZnNldF90IHN0YXJ0LCB2bV9vZmZzZXRfdCBlbmQsIGludCBwcm90KQorewogCXZtX29m ZnNldF90IHZhLCBzdmE7CiAKKwlpZiAoZW5kIDw9IE1JUFNfS1NFRzBfTEFSR0VTVF9QSFlTKQor CQlyZXR1cm4gKE1JUFNfUEhZU19UT19LU0VHMChzdGFydCkpOworCiAJdmEgPSBzdmEgPSAqdmly dDsKIAl3aGlsZSAoc3RhcnQgPCBlbmQpIHsKIAkJcG1hcF9rZW50ZXIodmEsIHN0YXJ0KTsKQEAg LTc3Miw2ICs3ODMsNyBAQAogCSp2aXJ0ID0gdmE7CiAJcmV0dXJuIChzdmEpOwogfQorI2VuZGlm CiAKIC8qCiAgKiBBZGQgYSBsaXN0IG9mIHdpcmVkIHBhZ2VzIHRvIHRoZSBrdmEKQEAgLTIwMjcs OSArMjAzOSwyMCBAQAogICogTWFrZSBhIHRlbXBvcmFyeSBtYXBwaW5nIGZvciBhIHBoeXNpY2Fs IGFkZHJlc3MuICBUaGlzIGlzIG9ubHkgaW50ZW5kZWQKICAqIHRvIGJlIHVzZWQgZm9yIHBhbmlj IGR1bXBzLgogICovCisjaWYgZGVmaW5lZChfX21pcHNfbjY0KQogdm9pZCAqCiBwbWFwX2tlbnRl cl90ZW1wb3Jhcnkodm1fcGFkZHJfdCBwYSwgaW50IGkpCiB7CisJcmV0dXJuICgodm9pZCAqKU1J UFNfUEhZU19UT19YS1BIWVNfQ0FDSEVEKHBhKSk7Cit9Cit2b2lkCitwbWFwX2tlbnRlcl90ZW1w b3JhcnlfZnJlZSh2bV9wYWRkcl90IHBhKQoreworfQorI2Vsc2UKK3ZvaWQgKgorcG1hcF9rZW50 ZXJfdGVtcG9yYXJ5KHZtX3BhZGRyX3QgcGEsIGludCBpKQorewogCXZtX29mZnNldF90IHZhOwog CXJlZ2lzdGVyX3QgaW50cjsKIAlpZiAoaSAhPSAwKQpAQCAtMjA4Nyw2ICsyMTEwLDcgQEAKIAkJ c3lzbS0+dmFsaWQxID0gMDsKIAl9CiB9CisjZW5kaWYKIAogLyoKICAqIE1vdmVkIHRoZSBjb2Rl IHRvIE1hY2hpbmUgSW5kZXBlbmRlbnQKQEAgLTIxOTMsMTEgKzIyMTcsMjMgQEAKICAqCXBtYXBf emVyb19wYWdlIHplcm9zIHRoZSBzcGVjaWZpZWQgaGFyZHdhcmUgcGFnZSBieSBtYXBwaW5nCiAg Kgl0aGUgcGFnZSBpbnRvIEtWTSBhbmQgdXNpbmcgYnplcm8gdG8gY2xlYXIgaXRzIGNvbnRlbnRz LgogICovCisjaWYgZGVmaW5lZCAoX19taXBzX242NCkKIHZvaWQKIHBtYXBfemVyb19wYWdlKHZt X3BhZ2VfdCBtKQogewogCXZtX29mZnNldF90IHZhOwogCXZtX3BhZGRyX3QgcGh5cyA9IFZNX1BB R0VfVE9fUEhZUyhtKTsKKworCXZhID0gTUlQU19QSFlTX1RPX1hLUEhZU19DQUNIRUQocGh5cyk7 CisJYnplcm8oKGNhZGRyX3QpdmEsIFBBR0VfU0laRSk7CisJbWlwc19kY2FjaGVfd2JpbnZfcmFu Z2UodmEsIFBBR0VfU0laRSk7Cit9CisjZWxzZQordm9pZAorcG1hcF96ZXJvX3BhZ2Uodm1fcGFn ZV90IG0pCit7CisJdm1fb2Zmc2V0X3QgdmE7CisJdm1fcGFkZHJfdCBwaHlzID0gVk1fUEFHRV9U T19QSFlTKG0pOwogCXJlZ2lzdGVyX3QgaW50cjsKIAogCWlmIChwaHlzIDwgTUlQU19LU0VHMF9M QVJHRVNUX1BIWVMpIHsKQEAgLTIyMTQsMTggKzIyNTAsMzAgQEAKIAkJUE1BUF9MTUVNX1VOTUFQ KCk7CiAJfQogfQotCisjZW5kaWYKIC8qCiAgKglwbWFwX3plcm9fcGFnZV9hcmVhIHplcm9zIHRo ZSBzcGVjaWZpZWQgaGFyZHdhcmUgcGFnZSBieSBtYXBwaW5nCiAgKgl0aGUgcGFnZSBpbnRvIEtW TSBhbmQgdXNpbmcgYnplcm8gdG8gY2xlYXIgaXRzIGNvbnRlbnRzLgogICoKICAqCW9mZiBhbmQg c2l6ZSBtYXkgbm90IGNvdmVyIGFuIGFyZWEgYmV5b25kIGEgc2luZ2xlIGhhcmR3YXJlIHBhZ2Uu CiAgKi8KKyNpZiBkZWZpbmVkIChfX21pcHNfbjY0KQogdm9pZAogcG1hcF96ZXJvX3BhZ2VfYXJl YSh2bV9wYWdlX3QgbSwgaW50IG9mZiwgaW50IHNpemUpCiB7CiAJdm1fb2Zmc2V0X3QgdmE7CiAJ dm1fcGFkZHJfdCBwaHlzID0gVk1fUEFHRV9UT19QSFlTKG0pOworCisJdmEgPSBNSVBTX1BIWVNf VE9fWEtQSFlTX0NBQ0hFRChwaHlzKTsKKwliemVybygoY2hhciAqKShjYWRkcl90KXZhICsgb2Zm LCBzaXplKTsKKwltaXBzX2RjYWNoZV93Ymludl9yYW5nZSh2YSArIG9mZiwgc2l6ZSk7Cit9Cisj ZWxzZQordm9pZAorcG1hcF96ZXJvX3BhZ2VfYXJlYSh2bV9wYWdlX3QgbSwgaW50IG9mZiwgaW50 IHNpemUpCit7CisJdm1fb2Zmc2V0X3QgdmE7CisJdm1fcGFkZHJfdCBwaHlzID0gVk1fUEFHRV9U T19QSFlTKG0pOwogCXJlZ2lzdGVyX3QgaW50cjsKIAogCWlmIChwaHlzIDwgTUlQU19LU0VHMF9M QVJHRVNUX1BIWVMpIHsKQEAgLTIyNDEsMTIgKzIyODksMjUgQEAKIAkJUE1BUF9MTUVNX1VOTUFQ KCk7CiAJfQogfQorI2VuZGlmCiAKKyNpZiBkZWZpbmVkIChfX21pcHNfbjY0KQogdm9pZAogcG1h cF96ZXJvX3BhZ2VfaWRsZSh2bV9wYWdlX3QgbSkKIHsKIAl2bV9vZmZzZXRfdCB2YTsKIAl2bV9w YWRkcl90IHBoeXMgPSBWTV9QQUdFX1RPX1BIWVMobSk7CisKKwl2YSA9IE1JUFNfUEhZU19UT19Y S1BIWVNfQ0FDSEVEKHBoeXMpOworCWJ6ZXJvKChjYWRkcl90KXZhLCBQQUdFX1NJWkUpOworCW1p cHNfZGNhY2hlX3diaW52X3JhbmdlKHZhLCBQQUdFX1NJWkUpOworfQorI2Vsc2UKK3ZvaWQKK3Bt YXBfemVyb19wYWdlX2lkbGUodm1fcGFnZV90IG0pCit7CisJdm1fb2Zmc2V0X3QgdmE7CisJdm1f cGFkZHJfdCBwaHlzID0gVk1fUEFHRV9UT19QSFlTKG0pOwogCXJlZ2lzdGVyX3QgaW50cjsKIAog CWlmIChwaHlzIDwgTUlQU19LU0VHMF9MQVJHRVNUX1BIWVMpIHsKQEAgLTIyNjIsNiArMjMyMyw3 IEBACiAJCVBNQVBfTE1FTV9VTk1BUCgpOwogCX0KIH0KKyNlbmRpZgogCiAvKgogICoJcG1hcF9j b3B5X3BhZ2UgY29waWVzIHRoZSBzcGVjaWZpZWQgKG1hY2hpbmUgaW5kZXBlbmRlbnQpCkBAIC0y MjY5LDEyICsyMzMxLDI4IEBACiAgKgliY29weSB0byBjb3B5IHRoZSBwYWdlLCBvbmUgbWFjaGlu ZSBkZXBlbmRlbnQgcGFnZSBhdCBhCiAgKgl0aW1lLgogICovCisjaWYgZGVmaW5lZCAoX19taXBz X242NCkKIHZvaWQKIHBtYXBfY29weV9wYWdlKHZtX3BhZ2VfdCBzcmMsIHZtX3BhZ2VfdCBkc3Qp CiB7CiAJdm1fb2Zmc2V0X3QgdmFfc3JjLCB2YV9kc3Q7CiAJdm1fcGFkZHJfdCBwaHlfc3JjID0g Vk1fUEFHRV9UT19QSFlTKHNyYyk7CiAJdm1fcGFkZHJfdCBwaHlfZHN0ID0gVk1fUEFHRV9UT19Q SFlTKGRzdCk7CisKKwlwbWFwX2ZsdXNoX3B2Y2FjaGUoc3JjKTsKKwltaXBzX2RjYWNoZV93Ymlu dl9yYW5nZV9pbmRleChNSVBTX1BIWVNfVE9fWEtQSFlTX0NBQ0hFRChwaHlfZHN0KSwgUEFHRV9T SVpFKTsKKwl2YV9zcmMgPSBNSVBTX1BIWVNfVE9fWEtQSFlTX0NBQ0hFRChwaHlfc3JjKTsKKwl2 YV9kc3QgPSBNSVBTX1BIWVNfVE9fWEtQSFlTX0NBQ0hFRChwaHlfZHN0KTsKKwliY29weSgoY2Fk ZHJfdCl2YV9zcmMsIChjYWRkcl90KXZhX2RzdCwgUEFHRV9TSVpFKTsKKwltaXBzX2RjYWNoZV93 Ymludl9yYW5nZSh2YV9kc3QsIFBBR0VfU0laRSk7Cit9CisjZWxzZQordm9pZAorcG1hcF9jb3B5 X3BhZ2Uodm1fcGFnZV90IHNyYywgdm1fcGFnZV90IGRzdCkKK3sKKwl2bV9vZmZzZXRfdCB2YV9z cmMsIHZhX2RzdDsKKwl2bV9wYWRkcl90IHBoeV9zcmMgPSBWTV9QQUdFX1RPX1BIWVMoc3JjKTsK Kwl2bV9wYWRkcl90IHBoeV9kc3QgPSBWTV9QQUdFX1RPX1BIWVMoZHN0KTsKIAlyZWdpc3Rlcl90 IGludHI7CiAKIAlpZiAoKHBoeV9zcmMgPCBNSVBTX0tTRUcwX0xBUkdFU1RfUEhZUykgJiYgKHBo eV9kc3QgPCBNSVBTX0tTRUcwX0xBUkdFU1RfUEhZUykpIHsKQEAgLTIyOTksNiArMjM3Nyw3IEBA CiAJCVBNQVBfTE1FTV9VTk1BUCgpOwogCX0KIH0KKyNlbmRpZgogCiAvKgogICogUmV0dXJucyB0 cnVlIGlmIHRoZSBwbWFwJ3MgcHYgaXMgb25lIG9mIHRoZSBmaXJzdApAQCAtMjcwNSw5ICsyNzg0 LDIxIEBACiAgKiByb3V0aW5lIGlzIGludGVuZGVkIHRvIGJlIHVzZWQgZm9yIG1hcHBpbmcgZGV2 aWNlIG1lbW9yeSwKICAqIE5PVCByZWFsIG1lbW9yeS4KICAqLworI2lmIGRlZmluZWQoX19taXBz X242NCkKIHZvaWQgKgogcG1hcF9tYXBkZXYodm1fb2Zmc2V0X3QgcGEsIHZtX3NpemVfdCBzaXpl KQogeworCXJldHVybiAoKHZvaWQgKilNSVBTX1BIWVNfVE9fWEtQSFlTX1VOQ0FDSEVEKHBhKSk7 Cit9CisKK3ZvaWQKK3BtYXBfdW5tYXBkZXYodm1fb2Zmc2V0X3QgdmEsIHZtX3NpemVfdCBzaXpl KQoreworfQorI2Vsc2UKK3ZvaWQgKgorcG1hcF9tYXBkZXYodm1fb2Zmc2V0X3QgcGEsIHZtX3Np emVfdCBzaXplKQorewogICAgICAgICB2bV9vZmZzZXRfdCB2YSwgdG1wdmEsIG9mZnNldDsKIAog CS8qIApAQCAtMjc1MSw2ICsyODQyLDcgQEAKIAkJcG1hcF9rcmVtb3ZlKHRtcHZhKTsKIAlrbWVt X2ZyZWUoa2VybmVsX21hcCwgYmFzZSwgc2l6ZSk7CiB9CisjZW5kaWYKIAogLyoKICAqIHBlcmZv cm0gdGhlIHBtYXAgd29yayBmb3IgbWluY29yZQpAQCAtMzA2Nyw2ICszMTU5LDcgQEAKIAlQSFlT X1RPX1ZNX1BBR0UocGEpLT5tZC5wdl9mbGFncyB8PSAoUFZfVEFCTEVfUkVGIHwgUFZfVEFCTEVf TU9EKTsKIH0KIAorCiAvKgogICoJUm91dGluZToJcG1hcF9rZXh0cmFjdAogICoJRnVuY3Rpb246 CkBAIC0zMDc2LDQxICszMTY5LDY4IEBACiAgLyogUE1BUF9JTkxJTkUgKi8gdm1fb2Zmc2V0X3QK IHBtYXBfa2V4dHJhY3Qodm1fb2Zmc2V0X3QgdmEpCiB7Ci0Jdm1fb2Zmc2V0X3QgcGEgPSAwOwor CWludCBtYXBwZWQ7CiAKLQlpZiAodmEgPCBNSVBTX0tTRUcwX1NUQVJUKSB7Ci0JCS8qIHVzZXIg dmlydHVhbCBhZGRyZXNzICovCisJLyoKKwkgKiBGaXJzdCwgdGhlIGRpcmVjdC1tYXBwZWQgcmVn aW9ucy4KKwkgKi8KKyNpZiBkZWZpbmVkKF9fbWlwc19uNjQpCisJaWYgKHZhID49IE1JUFNfWEtQ SFlTX1NUQVJUICYmIHZhIDwgTUlQU19YS1BIWVNfRU5EKQorCQlyZXR1cm4gKE1JUFNfWEtQSFlT X1RPX1BIWVModmEpKTsKKyNlbmRpZgorCisJaWYgKHZhID49IE1JUFNfS1NFRzBfU1RBUlQgJiYg dmEgPCBNSVBTX0tTRUcwX0VORCkKKwkJcmV0dXJuIChNSVBTX0tTRUcwX1RPX1BIWVModmEpKTsK KworCWlmICh2YSA+PSBNSVBTX0tTRUcxX1NUQVJUICYmIHZhIDwgTUlQU19LU0VHMV9FTkQpCisJ CXJldHVybiAoTUlQU19LU0VHMV9UT19QSFlTKHZhKSk7CisKKwkvKgorCSAqIFVzZXIgdmlydHVh bCBhZGRyZXNzZXMuCisJICovCisJaWYgKHZhIDwgVk1fTUFYVVNFUl9BRERSRVNTKSB7CiAJCXB0 X2VudHJ5X3QgKnB0ZXA7CiAKIAkJaWYgKGN1cnByb2MgJiYgY3VycHJvYy0+cF92bXNwYWNlKSB7 CiAJCQlwdGVwID0gcG1hcF9wdGUoJmN1cnByb2MtPnBfdm1zcGFjZS0+dm1fcG1hcCwgdmEpOwot CQkJaWYgKHB0ZXApCi0JCQkJcGEgPSBUTEJMT19QVEVfVE9fUEEoKnB0ZXApIHwKLQkJCQkgICAg KHZhICYgUEFHRV9NQVNLKTsKKwkJCWlmIChwdGVwKSB7CisJCQkJcmV0dXJuIChUTEJMT19QVEVf VE9fUEEoKnB0ZXApIHwKKwkJCQkgICAgKHZhICYgUEFHRV9NQVNLKSk7CisJCQl9CisJCQlyZXR1 cm4gKDApOwogCQl9Ci0JfSBlbHNlIGlmICh2YSA+PSBNSVBTX0tTRUcwX1NUQVJUICYmCi0JICAg IHZhIDwgTUlQU19LU0VHMV9TVEFSVCkKLQkJcGEgPSBNSVBTX0tTRUcwX1RPX1BIWVModmEpOwot CWVsc2UgaWYgKHZhID49IE1JUFNfS1NFRzFfU1RBUlQgJiYKLQkgICAgdmEgPCBNSVBTX0tTRUcy X1NUQVJUKQotCQlwYSA9IE1JUFNfS1NFRzFfVE9fUEhZUyh2YSk7Ci0JZWxzZSBpZiAodmEgPj0g TUlQU19LU0VHMl9TVEFSVCAmJiB2YSA8IFZNX01BWF9LRVJORUxfQUREUkVTUykgeworCX0KKwor CS8qCisJICogU2hvdWxkIGJlIGtlcm5lbCB2aXJ0dWFsIGhlcmUsIG90aGVyd2lzZSBmYWlsCisJ ICovCisJbWFwcGVkID0gKHZhID49IE1JUFNfS1NFRzJfU1RBUlQgfHwgdmEgPCBNSVBTX0tTRUcy X0VORCk7CisjaWYgZGVmaW5lZChfX21pcHNfbjY0KQorCW1hcHBlZCA9IG1hcHBlZCB8fCAodmEg Pj0gTUlQU19YS1NFR19TVEFSVCB8fCB2YSA8IE1JUFNfWEtTRUdfRU5EKTsKKyNlbmRpZiAKKwkv KgorCSAqIEtlcm5lbCB2aXJ0dWFsLgorCSAqLworCisJaWYgKG1hcHBlZCkgewogCQlwdF9lbnRy eV90ICpwdGVwOwogCiAJCS8qIElzIHRoZSBrZXJuZWwgcG1hcCBpbml0aWFsaXplZD8gKi8KIAkJ aWYgKGtlcm5lbF9wbWFwLT5wbV9hY3RpdmUpIHsKLQkJCS8qIEl0cyBpbnNpZGUgdGhlIHZpcnR1 YWwgYWRkcmVzcyByYW5nZSAqLworCQkJLyogSXQncyBpbnNpZGUgdGhlIHZpcnR1YWwgYWRkcmVz cyByYW5nZSAqLwogCQkJcHRlcCA9IHBtYXBfcHRlKGtlcm5lbF9wbWFwLCB2YSk7CiAJCQlpZiAo cHRlcCkgewogCQkJCXJldHVybiAoVExCTE9fUFRFX1RPX1BBKCpwdGVwKSB8CiAJCQkJICAgICh2 YSAmIFBBR0VfTUFTSykpOwogCQkJfQotCQkJcmV0dXJuICgwKTsKIAkJfQorCQlyZXR1cm4gKDAp OwogCX0KLQlyZXR1cm4gcGE7CisKKwlwYW5pYygiJXMgZm9yIHVua25vd24gYWRkcmVzcyBzcGFj ZSAlcC4iLCBfX2Z1bmNfXywgKHZvaWQgKil2YSk7CiB9CiAKKwogdm9pZCAKIHBtYXBfZmx1c2hf cHZjYWNoZSh2bV9wYWdlX3QgbSkKIHsK --e0cb4e887bc147afa7048af3a8ca Content-Type: text/x-patch; charset=US-ASCII; name="mips-tlb64.patch" Content-Disposition: attachment; filename="mips-tlb64.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gbeyu2gc2 SW5kZXg6IHN5cy9taXBzL2luY2x1ZGUvcHRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3lzL21pcHMvaW5j bHVkZS9wdGUuaAkocmV2aXNpb24gMjA5NzU2KQorKysgc3lzL21pcHMvaW5jbHVkZS9wdGUuaAko d29ya2luZyBjb3B5KQpAQCAtNzMsOCArNzMsMjQgQEAKICAqIE5vdGUgdGhhdCBpbiBGcmVlQlNE LCB3ZSBtYXAgMiBUTEIgcGFnZXMgaXMgZXF1YWwgdG8gMSBWTSBwYWdlLgogICovCiAjZGVmaW5l CVRMQkhJX0FTSURfTUFTSwkJKDB4ZmYpCisjaWYgZGVmaW5lZChfX21pcHNfbjY0KQorI2RlZmlu ZQlUTEJISV9SX1NISUZUCQk2MgorI2RlZmluZQlUTEJISV9SX1VTRVIJCSgweDAwVUwgPDwgVExC SElfUl9TSElGVCkKKyNkZWZpbmUJVExCSElfUl9TVVBFUlZJU09SCSgweDAxVUwgPDwgVExCSElf Ul9TSElGVCkKKyNkZWZpbmUJVExCSElfUl9LRVJORUwJCSgweDAzVUwgPDwgVExCSElfUl9TSElG VCkKKyNkZWZpbmUJVExCSElfUl9NQVNLCQkoMHgwM1VMIDw8IFRMQkhJX1JfU0hJRlQpCisjZGVm aW5lCVRMQkhJX1ZBX1IodmEpCQkoKHZhKSAmIFRMQkhJX1JfTUFTSykKKyNkZWZpbmUJVExCSElf RklMTF9TSElGVAk0MAorI2RlZmluZQlUTEJISV9WUE4yX1NISUZUCShUTEJfUEFHRV9TSElGVCAr IDEpCisjZGVmaW5lCVRMQkhJX1ZQTjJfTUFTSwkJKCgofigoMVVMIDw8IFRMQkhJX1ZQTjJfU0hJ RlQpIC0gMSkpIDw8ICg2MyAtIFRMQkhJX0ZJTExfU0hJRlQpKSA+PiAoNjMgLSBUTEJISV9GSUxM X1NISUZUKSkKKyNkZWZpbmUJVExCSElfVkFfVE9fVlBOMih2YSkJKCh2YSkgJiBUTEJISV9WUE4y X01BU0spCisjZGVmaW5lCVRMQkhJX0VOVFJZKHZhLCBhc2lkKQkoKFRMQkhJX1ZBX1IoKHZhKSkp IC8qIFJlZ2lvbi4gKi8gfCBcCisJCQkJIChUTEJISV9WQV9UT19WUE4yKCh2YSkpKSAvKiBWUE4y LiAqLyB8IFwKKwkJCQkgKChhc2lkKSAmIFRMQkhJX0FTSURfTUFTSykpCisjZWxzZQogI2RlZmlu ZQlUTEJISV9QQUdFX01BU0sJCSgyICogUEFHRV9TSVpFIC0gMSkKICNkZWZpbmUJVExCSElfRU5U UlkodmEsIGFzaWQpCSgoKHZhKSAmIH5UTEJISV9QQUdFX01BU0spIHwgKChhc2lkKSAmIFRMQkhJ X0FTSURfTUFTSykpCisjZW5kaWYKIAogI2lmbmRlZiBfTE9DT1JFCiB0eXBlZGVmCXVpbnQzMl90 IHB0X2VudHJ5X3Q7Cg== --e0cb4e887bc147afa7048af3a8ca Content-Type: text/x-patch; charset=US-ASCII; name="mips-ddb-64.patch" Content-Disposition: attachment; filename="mips-ddb-64.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gbeyzlfx3 SW5kZXg6IHN5cy9taXBzL21pcHMvZGJfaW50ZXJmYWNlLmMKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3lzL21p cHMvbWlwcy9kYl9pbnRlcmZhY2UuYwkocmV2aXNpb24gMjA5NTIxKQorKysgc3lzL21pcHMvbWlw cy9kYl9pbnRlcmZhY2UuYwkod29ya2luZyBjb3B5KQpAQCAtMTE1LDEyICsxMTUsMTIgQEAKIHN0 YXRpYyBpbnQKIGRiX2ZyYW1lKHN0cnVjdCBkYl92YXJpYWJsZSAqdnAsIGRiX2V4cHJfdCAqdmFs dWVwLCBpbnQgb3ApCiB7Ci0JaW50ICpyZWc7CisJcmVnaXN0ZXJfdCAqcmVnOwogCiAJaWYgKGtk Yl9mcmFtZSA9PSBOVUxMKQogCQlyZXR1cm4gKDApOwogCi0JcmVnID0gKGludCAqKSgodWludHB0 cl90KWtkYl9mcmFtZSArIChkYl9leHByX3QpdnAtPnZhbHVlcCk7CisJcmVnID0gKHJlZ2lzdGVy X3QgKikoKHVpbnRwdHJfdClrZGJfZnJhbWUgKyAoc2l6ZV90KShpbnRwdHJfdCl2cC0+dmFsdWVw KTsKIAlpZiAob3AgPT0gREJfVkFSX0dFVCkKIAkJKnZhbHVlcCA9ICpyZWc7CiAJZWxzZQpJbmRl eDogc3lzL21pcHMvbWlwcy9kYl90cmFjZS5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9taXBzL21pcHMv ZGJfdHJhY2UuYwkocmV2aXNpb24gMjA5NTIxKQorKysgc3lzL21pcHMvbWlwcy9kYl90cmFjZS5j CSh3b3JraW5nIGNvcHkpCkBAIC0xNDAsNyArMTQwLDcgQEAKIAl9CiAJLyogY2hlY2sgZm9yIGJh ZCBTUDogY291bGQgZm91bCB1cCBuZXh0IGZyYW1lICovCiAJLypYWFggTUlQUzY0IGJhZDogdGhp cyBoYXJkLWNvZGVkIFNQIGlzIGxhbWUgKi8KLQlpZiAoc3AgJiAzIHx8IHNwIDwgMHg4MDAwMDAw MCkgeworCWlmIChzcCAmIDMgfHwgKHVpbnRwdHJfdClzcCA8IDB4ODAwMDAwMDB1KSB7CiAJCSgq cHJpbnRmbikgKCJTUCAweCV4OiBub3QgaW4ga2VybmVsXG4iLCBzcCk7CiAJCXJhID0gMDsKIAkJ c3ViciA9IDA7CkBAIC0yNjksMjcgKzI2OSwyNyBAQAogCQkJbWFzayB8PSAoMSA8PCBpLklUeXBl LnJ0KTsKIAkJCXN3aXRjaCAoaS5JVHlwZS5ydCkgewogCQkJY2FzZSA0Oi8qIGEwICovCi0JCQkJ YXJnc1swXSA9IGtkYnBlZWsoKGludCAqKShzcCArIChzaG9ydClpLklUeXBlLmltbSkpOworCQkJ CWFyZ3NbMF0gPSBrZGJwZWVrKChpbnQgKikoKGludHB0cl90KXNwICsgKHNob3J0KWkuSVR5cGUu aW1tKSk7CiAJCQkJdmFsaWRfYXJnc1swXSA9IDE7CiAJCQkJYnJlYWs7CiAKIAkJCWNhc2UgNTov KiBhMSAqLwotCQkJCWFyZ3NbMV0gPSBrZGJwZWVrKChpbnQgKikoc3AgKyAoc2hvcnQpaS5JVHlw ZS5pbW0pKTsKKwkJCQlhcmdzWzFdID0ga2RicGVlaygoaW50ICopKChpbnRwdHJfdClzcCArIChz aG9ydClpLklUeXBlLmltbSkpOwogCQkJCXZhbGlkX2FyZ3NbMV0gPSAxOwogCQkJCWJyZWFrOwog CiAJCQljYXNlIDY6LyogYTIgKi8KLQkJCQlhcmdzWzJdID0ga2RicGVlaygoaW50ICopKHNwICsg KHNob3J0KWkuSVR5cGUuaW1tKSk7CisJCQkJYXJnc1syXSA9IGtkYnBlZWsoKGludCAqKSgoaW50 cHRyX3Qpc3AgKyAoc2hvcnQpaS5JVHlwZS5pbW0pKTsKIAkJCQl2YWxpZF9hcmdzWzJdID0gMTsK IAkJCQlicmVhazsKIAogCQkJY2FzZSA3Oi8qIGEzICovCi0JCQkJYXJnc1szXSA9IGtkYnBlZWso KGludCAqKShzcCArIChzaG9ydClpLklUeXBlLmltbSkpOworCQkJCWFyZ3NbM10gPSBrZGJwZWVr KChpbnQgKikoKGludHB0cl90KXNwICsgKHNob3J0KWkuSVR5cGUuaW1tKSk7CiAJCQkJdmFsaWRf YXJnc1szXSA9IDE7CiAJCQkJYnJlYWs7CiAKIAkJCWNhc2UgMzE6CS8qIHJhICovCi0JCQkJcmEg PSBrZGJwZWVrKChpbnQgKikoc3AgKyAoc2hvcnQpaS5JVHlwZS5pbW0pKTsKKwkJCQlyYSA9IGtk YnBlZWsoKGludCAqKSgoaW50cHRyX3Qpc3AgKyAoc2hvcnQpaS5JVHlwZS5pbW0pKTsKIAkJCX0K IAkJCWJyZWFrOwogCkBAIC0zMDMsMjcgKzMwMywyNyBAQAogCQkJbWFzayB8PSAoMSA8PCBpLklU eXBlLnJ0KTsKIAkJCXN3aXRjaCAoaS5JVHlwZS5ydCkgewogCQkJY2FzZSA0Oi8qIGEwICovCi0J CQkJYXJnc1swXSA9IGtkYnBlZWtEKChpbnQgKikoc3AgKyAoc2hvcnQpaS5JVHlwZS5pbW0pKTsK KwkJCQlhcmdzWzBdID0ga2RicGVla0QoKGludCAqKSgoaW50cHRyX3Qpc3AgKyAoc2hvcnQpaS5J VHlwZS5pbW0pKTsKIAkJCQl2YWxpZF9hcmdzWzBdID0gMTsKIAkJCQlicmVhazsKIAogCQkJY2Fz ZSA1Oi8qIGExICovCi0JCQkJYXJnc1sxXSA9IGtkYnBlZWtEKChpbnQgKikoc3AgKyAoc2hvcnQp aS5JVHlwZS5pbW0pKTsKKwkJCQlhcmdzWzFdID0ga2RicGVla0QoKGludCAqKSgoaW50cHRyX3Qp c3AgKyAoc2hvcnQpaS5JVHlwZS5pbW0pKTsKIAkJCQl2YWxpZF9hcmdzWzFdID0gMTsKIAkJCQli cmVhazsKIAogCQkJY2FzZSA2Oi8qIGEyICovCi0JCQkJYXJnc1syXSA9IGtkYnBlZWtEKChpbnQg Kikoc3AgKyAoc2hvcnQpaS5JVHlwZS5pbW0pKTsKKwkJCQlhcmdzWzJdID0ga2RicGVla0QoKGlu dCAqKSgoaW50cHRyX3Qpc3AgKyAoc2hvcnQpaS5JVHlwZS5pbW0pKTsKIAkJCQl2YWxpZF9hcmdz WzJdID0gMTsKIAkJCQlicmVhazsKIAogCQkJY2FzZSA3Oi8qIGEzICovCi0JCQkJYXJnc1szXSA9 IGtkYnBlZWtEKChpbnQgKikoc3AgKyAoc2hvcnQpaS5JVHlwZS5pbW0pKTsKKwkJCQlhcmdzWzNd ID0ga2RicGVla0QoKGludCAqKSgoaW50cHRyX3Qpc3AgKyAoc2hvcnQpaS5JVHlwZS5pbW0pKTsK IAkJCQl2YWxpZF9hcmdzWzNdID0gMTsKIAkJCQlicmVhazsKIAogCQkJY2FzZSAzMToJLyogcmEg Ki8KLQkJCQlyYSA9IGtkYnBlZWtEKChpbnQgKikoc3AgKyAoc2hvcnQpaS5JVHlwZS5pbW0pKTsK KwkJCQlyYSA9IGtkYnBlZWtEKChpbnQgKikoKGludHB0cl90KXNwICsgKHNob3J0KWkuSVR5cGUu aW1tKSk7CiAJCQl9CiAJCQlicmVhazsKIApAQCAtMzY5LDcgKzM2OSw3IEBACiAKIAogaW50Ci1k Yl9tZF9zZXRfd2F0Y2hwb2ludChkYl9leHByX3QgYWRkciwgZGJfZXhwcl90IHNpemUpCitkYl9t ZF9zZXRfd2F0Y2hwb2ludChpbnRwdHJfdCBhZGRyLCBkYl9leHByX3Qgc2l6ZSkKIHsKIAogCXJl dHVybigwKTsKQEAgLTM3Nyw3ICszNzcsNyBAQAogCiAKIGludAotZGJfbWRfY2xyX3dhdGNocG9p bnQoIGRiX2V4cHJfdCBhZGRyLCBkYl9leHByX3Qgc2l6ZSkKK2RiX21kX2Nscl93YXRjaHBvaW50 KGludHB0cl90IGFkZHIsIGRiX2V4cHJfdCBzaXplKQogewogCiAJcmV0dXJuKDApOwpAQCAtNDAz LDggKzQwMyw4IEBACiAJc3RydWN0IHBjYiAqY3R4OwogCiAJaWYgKHRociA9PSBjdXJ0aHJlYWQp IHsKLQkJc3AgPSAocmVnaXN0ZXJfdClfX2J1aWx0aW5fZnJhbWVfYWRkcmVzcygwKTsKLQkJcmEg PSAocmVnaXN0ZXJfdClfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoMCk7CisJCXNwID0gKHJlZ2lz dGVyX3QpKGludHB0cl90KV9fYnVpbHRpbl9mcmFtZV9hZGRyZXNzKDApOworCQlyYSA9IChyZWdp c3Rlcl90KShpbnRwdHJfdClfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoMCk7CiAKICAgICAgICAg CV9fYXNtIF9fdm9sYXRpbGUoCiAJCQkiamFsIDk5ZlxuIgo= --e0cb4e887bc147afa7048af3a8ca--