Date: Wed, 7 Jul 2010 22:50:24 +0530 From: "Jayachandran C." <c.jayachandran@gmail.com> To: Randall Stewart <rrs@lakerest.net>, Juli Mallett <jmallett@freebsd.org>, "M. Warner Losh" <imp@bsdimp.com>, freebsd-mips@freebsd.org Subject: Merging 64 bit changes to -HEAD - part 4 Message-ID: <AANLkTikSVi27V2UICgLvKd8Bk7v6tuGty9YX6-C6-21H@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
--e0cb4e887827a90f16048acf6235 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Tue, Jun 15, 2010 at 7:06 PM, Jayachandran C. <c.jayachandran@gmail.com> wrote: > I have volunteered to merge Juli's 64-bit work into HEAD, =A0and > hopefully get it to work on XLR too. The tree > (http://svn.freebsd.org/base/user/jmallett/octeon) has quite a bit of > changes, so I would like to do this over multiple changesets and > without breaking the current o32 code. Here's the next installment, this has the next set of Juli's changes and some fixes to get it working on XLR. The patches in this set are: mips-segtab-macro.patch : Change PDE/PTE access to a macro (from Juli's branch) mips-cache-fix.patch : Minor fix for cache code (JC) rmi-other.patch: 64 bit compilation fixes for sys/mips/rmi (JC) Fixes to platform and driver code for 64 bit compilation, including changes to ethernet driver. mips-rmi-kx-enable.patch: Changes to enable KX bit for TARGET_XLR_XLS (JC). I have added another case for the TARGET_OCTEON #ifdef in exception.S and locore.S, but I think this can be moved to a header file later. pmap-n64.patch The main n64 patch (from Juli's branch) This still uses the old 2-level page tables. But this adds other pmap code to support n64. I have re-arranged some of Juli's code to reduce #ifdefs. runq-64.patch 64-bit rqb_word_t for n64 (JC) ldscript-64.patch 64 bit linker script (JC) linker script for 64 bit compilation, and XLR configuration file. With these changes, a n64 kernel can be compiled and it will to 'mountroot>' on XLR. There is more code left to merge in Juli's branch - 32 bit compat code, sfbuf/uio, UMA alloc, and DDB. which I should be able to get in the next one or two passes. Let me know your comments. There are only two minor changes should affect the existing o32 code paths in the above code (moving the check for >512M, and change in pmap_map to handle KSEG0 addresses), but let me know if something breaks. Thanks, JC. --e0cb4e887827a90f16048acf6235 Content-Type: text/x-patch; charset=US-ASCII; name="mips-segtab-macro.patch" Content-Disposition: attachment; filename="mips-segtab-macro.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gbcfijm54 SW5kZXg6IHN5cy9taXBzL2luY2x1ZGUvcHRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3lzL21pcHMvaW5j bHVkZS9wdGUuaAkocmV2aXNpb24gMjA5NjQ1KQorKysgc3lzL21pcHMvaW5jbHVkZS9wdGUuaAko d29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksMTIgQEAKICNpZm5kZWYJX01BQ0hJTkVfUFRFX0hf CiAjZGVmaW5lCV9NQUNISU5FX1BURV9IXwogCisjaWZuZGVmIF9MT0NPUkUKKy8qIHB0X2VudHJ5 X3QgaXMgMzIgYml0IGZvciBub3csIGhhcyB0byBiZSBtYWRlIDY0IGJpdCBmb3IgbjY0ICovCit0 eXBlZGVmCXVpbnQzMl90IHB0X2VudHJ5X3Q7Cit0eXBlZGVmCXB0X2VudHJ5X3QgKnBkX2VudHJ5 X3Q7CisjZW5kaWYKKwogLyoKICAqIFRMQiBhbmQgUFRFIG1hbmFnZW1lbnQuICBNb3N0IHRoaW5n cyBvcGVyYXRlIHdpdGhpbiB0aGUgY29udGV4dCBvZgogICogRW50cnlMbzAsMSwgYW5kIGJlZ2lu IHdpdGggVExCTE9fLiAgVGhpbmdzIHdoaWNoIHdvcmsgd2l0aCBFbnRyeUhpCkBAIC02NSwyNSAr NzEsMjAgQEAKICNkZWZpbmUJVExCTE9fUFRFX1RPX1BBKHB0ZSkJKFRMQkxPX1BGTl9UT19QQShU TEJMT19QVEVfVE9fUEZOKChwdGUpKSkpCiAKIC8qCisgKiBYWFggVGhpcyBjb21tZW50IGlzIG5v dCBjb3JyZWN0IGZvciBhbnl0aGluZyBtb3JlIG1vZGVybiB0aGFuIFI0Sy4KKyAqCiAgKiBWUE4g Zm9yIEVudHJ5SGkgcmVnaXN0ZXIuICBVcHBlciB0d28gYml0cyBzZWxlY3QgdXNlciwgc3VwZXJ2 aXNvciwKICAqIG9yIGtlcm5lbC4gIEJpdHMgNjEgdG8gNDAgY29weSBiaXQgNjMuICBWUE4yIGlz IGJpdHMgMzkgYW5kIGRvd24gdG8KICAqIGFzIGxvdyBhcyAxMywgZG93biB0byBQQUdFX1NISUZU LCB0byBpbmRleCAyIFRMQiBwYWdlcyouICBGcm9tIGJpdCAxMgogICogdG8gYml0IDggdGhlcmUg aXMgYSA1LWJpdCAwIGZpZWxkLiAgTG93IGJ5dGUgaXMgQVNJRC4KICAqCisgKiBYWFggVGhpcyBj b21tZW50IGlzIG5vdCBjb3JyZWN0IGZvciBGcmVlQlNELgogICogTm90ZSB0aGF0IGluIEZyZWVC U0QsIHdlIG1hcCAyIFRMQiBwYWdlcyBpcyBlcXVhbCB0byAxIFZNIHBhZ2UuCiAgKi8KICNkZWZp bmUJVExCSElfQVNJRF9NQVNLCQkoMHhmZikKICNkZWZpbmUJVExCSElfUEFHRV9NQVNLCQkoMiAq IFBBR0VfU0laRSAtIDEpCiAjZGVmaW5lCVRMQkhJX0VOVFJZKHZhLCBhc2lkKQkoKCh2YSkgJiB+ VExCSElfUEFHRV9NQVNLKSB8ICgoYXNpZCkgJiBUTEJISV9BU0lEX01BU0spKQogCi0jaWZuZGVm IF9MT0NPUkUKLXR5cGVkZWYJdWludDMyX3QgcHRfZW50cnlfdDsKLXR5cGVkZWYJcHRfZW50cnlf dCAqcGRfZW50cnlfdDsKLSNlbmRpZgotCi0jZGVmaW5lCVBERVNJWkUJCXNpemVvZihwZF9lbnRy eV90KQkvKiBmb3IgYXNzZW1ibHkgZmlsZXMgKi8KLSNkZWZpbmUJUFRFU0laRQkJc2l6ZW9mKHB0 X2VudHJ5X3QpCS8qIGZvciBhc3NlbWJseSBmaWxlcyAqLwotCiAvKgogICogVExCIGZsYWdzIG1h bmFnZWQgaW4gaGFyZHdhcmU6CiAgKiAJQzoJQ2FjaGUgYXR0cmlidXRlLgpJbmRleDogc3lzL21p cHMvaW5jbHVkZS9wbWFwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3lzL21pcHMvaW5jbHVkZS9wbWFwLmgJ KHJldmlzaW9uIDIwOTYzNSkKKysrIHN5cy9taXBzL2luY2x1ZGUvcG1hcC5oCSh3b3JraW5nIGNv cHkpCkBAIC01MCw3ICs1MCw2IEBACiAjaW5jbHVkZSA8bWFjaGluZS9wdGUuaD4KIAogI2RlZmlu ZQlOS1BUCQkxMjAJLyogYWN0dWFsIG51bWJlciBvZiBrZXJuZWwgcGFnZSB0YWJsZXMgKi8KLSNk ZWZpbmUJTlVTRVJQR1RCTFMJKFZNX01BWFVTRVJfQUREUkVTUyA+PiBTRUdTSElGVCkKIAogI2lm bmRlZiBMT0NPUkUKIApAQCAtOTcsNyArOTYsNiBAQAogI2lmZGVmCV9LRVJORUwKIAogcHRfZW50 cnlfdCAqcG1hcF9wdGUocG1hcF90LCB2bV9vZmZzZXRfdCk7Ci1wZF9lbnRyeV90IHBtYXBfc2Vn bWFwKHBtYXBfdCBwbWFwLCB2bV9vZmZzZXRfdCB2YSk7CiB2bV9vZmZzZXRfdCBwbWFwX2tleHRy YWN0KHZtX29mZnNldF90IHZhKTsKIAogI2RlZmluZQl2dG9waHlzKHZhKQlwbWFwX2tleHRyYWN0 KCgodm1fb2Zmc2V0X3QpICh2YSkpKQpJbmRleDogc3lzL21pcHMvbWlwcy9wbWFwLmMKPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0gc3lzL21pcHMvbWlwcy9wbWFwLmMJKHJldmlzaW9uIDIwOTYzNSkKKysrIHN5cy9t aXBzL21pcHMvcG1hcC5jCSh3b3JraW5nIGNvcHkpCkBAIC0xMTgsMTUgKzExOCwyNiBAQAogCiAv KgogICogR2V0IFBERXMgYW5kIFBURXMgZm9yIHVzZXIva2VybmVsIGFkZHJlc3Mgc3BhY2UKKyAq CisgKiBYWFggVGhlICYgZm9yIHBtYXBfc2Vnc2hpZnQoKSBpcyB3cm9uZywgYXMgaXMgdGhlIGZh Y3QgdGhhdCBpdCBkb2Vzbid0CisgKiAgICAgdHJpbSBvZmYgZ3JhdHVpdG91cyBiaXRzIG9mIHRo ZSBhZGRyZXNzIHNwYWNlLiAgQnkgaGF2aW5nIHRoZSAmCisgKiAgICAgdGhlcmUsIHdlIGJyZWFr IGRlZmluaW5nIE5VU0VSUEdUQkxTIGJlbG93IGJlY2F1c2UgdGhlIGFkZHJlc3Mgc3BhY2UKKyAq ICAgICBpcyBkZWZpbmVkIHN1Y2ggdGhhdCBpdCBlbmRzIGltbWVkaWF0ZWx5IGFmdGVyIE5QREVQ RypOUFRFUEcqUEFHRV9TSVpFLAorICogICAgIHNvIHdlIGVuZCB1cCBnZXR0aW5nIE5VU0VSUEdU QkxTIG9mIDAuCiAgKi8KLSNkZWZpbmUJcG1hcF9wZGUobSwgdikJCSgmKChtKS0+cG1fc2VndGFi Wyh2bV9vZmZzZXRfdCkodikgPj4gU0VHU0hJRlRdKSkKLSNkZWZpbmUJc2VndGFiX3BkZShtLCB2 KQkobVsodm1fb2Zmc2V0X3QpKHYpID4+IFNFR1NISUZUXSkKKyNkZWZpbmUJcG1hcF9zZWdzaGlm dCh2KQkoKCh2KSA+PiBTRUdTSElGVCkgJiAoTlBERVBHIC0gMSkpCisjZGVmaW5lCXNlZ3RhYl9w ZGUobSwgdikJKChtKVtwbWFwX3NlZ3NoaWZ0KCh2KSldKQogCi0jZGVmaW5lCU1JUFNfU0VHU0la RQkJKDFMIDw8IFNFR1NISUZUKQotI2RlZmluZQltaXBzX3NlZ3RydW5jKHZhKQkoKHZhKSAmIH4o TUlQU19TRUdTSVpFLTEpKQorI2RlZmluZQlOVVNFUlBHVEJMUwkJKHBtYXBfc2Vnc2hpZnQoVk1f TUFYVVNFUl9BRERSRVNTKSkKKyNkZWZpbmUJbWlwc19zZWd0cnVuYyh2YSkJKCh2YSkgJiB+U0VH T0ZTRVQpCiAjZGVmaW5lCWlzX2tlcm5lbF9wbWFwKHgpCSgoeCkgPT0ga2VybmVsX3BtYXApCi0j ZGVmaW5lCXZhZF90b19wdGVfb2Zmc2V0KGFkcikJKCgoYWRyKSA+PiBQQUdFX1NISUZUKSAmIChO UFRFUEcgLTEpKQogCisvKgorICogR2l2ZW4gYSB2aXJ0dWFsIGFkZHJlc3MsIGdldCB0aGUgb2Zm c2V0IG9mIGl0cyBQVEUgd2l0aGluIGl0cyBwYWdlCisgKiBkaXJlY3RvcnkgcGFnZS4KKyAqLwor I2RlZmluZQlQREVfT0ZGU0VUKHZhKQkoKCh2bV9vZmZzZXRfdCkodmEpID4+IFBBR0VfU0hJRlQp ICYgKE5QVEVQRyAtIDEpKQorCiBzdHJ1Y3QgcG1hcCBrZXJuZWxfcG1hcF9zdG9yZTsKIHBkX2Vu dHJ5X3QgKmtlcm5lbF9zZWdtYXA7CiAKQEAgLTE1NSw4ICsxNjYsNiBAQAogc3RhdGljIHZvaWQg cG1hcF9wdmhfZnJlZShzdHJ1Y3QgbWRfcGFnZSAqcHZoLCBwbWFwX3QgcG1hcCwgdm1fb2Zmc2V0 X3QgdmEpOwogc3RhdGljIHB2X2VudHJ5X3QgcG1hcF9wdmhfcmVtb3ZlKHN0cnVjdCBtZF9wYWdl ICpwdmgsIHBtYXBfdCBwbWFwLAogICAgIHZtX29mZnNldF90IHZhKTsKLXN0YXRpYyBfX2lubGlu ZSB2b2lkIHBtYXBfY2hhbmdlYml0KHZtX3BhZ2VfdCBtLCBpbnQgYml0LCBib29sZWFuX3Qgc2V0 ZW0pOwotCiBzdGF0aWMgdm1fcGFnZV90IHBtYXBfZW50ZXJfcXVpY2tfbG9ja2VkKHBtYXBfdCBw bWFwLCB2bV9vZmZzZXRfdCB2YSwKICAgICB2bV9wYWdlX3QgbSwgdm1fcHJvdF90IHByb3QsIHZt X3BhZ2VfdCBtcHRlKTsKIHN0YXRpYyBpbnQgcG1hcF9yZW1vdmVfcHRlKHN0cnVjdCBwbWFwICpw bWFwLCBwdF9lbnRyeV90ICpwdHEsIHZtX29mZnNldF90IHZhKTsKQEAgLTI0NiwxMyArMjU1LDEz IEBACiAJc3lzbS0+dmFsaWQyID0gMDsJCQkJCQlcCiAJaW50cl9yZXN0b3JlKGludHIpCiAKLXBk X2VudHJ5X3QKK3N0YXRpYyBpbmxpbmUgcHRfZW50cnlfdCAqCiBwbWFwX3NlZ21hcChwbWFwX3Qg cG1hcCwgdm1fb2Zmc2V0X3QgdmEpCiB7Ci0JaWYgKHBtYXAtPnBtX3NlZ3RhYikKLQkJcmV0dXJu IChwbWFwLT5wbV9zZWd0YWJbKCh2bV9vZmZzZXRfdCkodmEpID4+IFNFR1NISUZUKV0pOworCWlm IChwbWFwLT5wbV9zZWd0YWIgIT0gTlVMTCkKKwkJcmV0dXJuIChzZWd0YWJfcGRlKHBtYXAtPnBt X3NlZ3RhYiwgdmEpKTsKIAllbHNlCi0JCXJldHVybiAoKHBkX2VudHJ5X3QpMCk7CisJCXJldHVy biAoTlVMTCk7CiB9CiAKIC8qCkBAIC0yNjcsOSArMjc2LDkgQEAKIAlwdF9lbnRyeV90ICpwZGVh ZGRyOwogCiAJaWYgKHBtYXApIHsKLQkJcGRlYWRkciA9IChwdF9lbnRyeV90ICopcG1hcF9zZWdt YXAocG1hcCwgdmEpOworCQlwZGVhZGRyID0gcG1hcF9zZWdtYXAocG1hcCwgdmEpOwogCQlpZiAo cGRlYWRkcikgewotCQkJcmV0dXJuIHBkZWFkZHIgKyB2YWRfdG9fcHRlX29mZnNldCh2YSk7CisJ CQlyZXR1cm4gcGRlYWRkciArIFBERV9PRkZTRVQodmEpOwogCQl9CiAJfQogCXJldHVybiAoKHB0 X2VudHJ5X3QgKikwKTsKQEAgLTg3OCwxMiArODg3LDEyIEBACiAJCXJldHVybiAoMCk7CiAKIAlp ZiAobXB0ZSA9PSBOVUxMKSB7Ci0JCXB0ZXBpbmRleCA9ICh2YSA+PiBTRUdTSElGVCk7CisJCXB0 ZXBpbmRleCA9IHBtYXBfc2Vnc2hpZnQodmEpOwogCQlpZiAocG1hcC0+cG1fcHRwaGludCAmJgog CQkgICAgKHBtYXAtPnBtX3B0cGhpbnQtPnBpbmRleCA9PSBwdGVwaW5kZXgpKSB7CiAJCQltcHRl ID0gcG1hcC0+cG1fcHRwaGludDsKIAkJfSBlbHNlIHsKLQkJCXB0ZXZhID0gKnBtYXBfcGRlKHBt YXAsIHZhKTsKKwkJCXB0ZXZhID0gcG1hcF9zZWdtYXAocG1hcCwgdmEpOwogCQkJbXB0ZSA9IFBI WVNfVE9fVk1fUEFHRShNSVBTX0tTRUcwX1RPX1BIWVMocHRldmEpKTsKIAkJCXBtYXAtPnBtX3B0 cGhpbnQgPSBtcHRlOwogCQl9CkBAIC0xMDgyLDcgKzEwOTEsNyBAQAogCS8qCiAJICogQ2FsY3Vs YXRlIHBhZ2V0YWJsZSBwYWdlIGluZGV4CiAJICovCi0JcHRlcGluZGV4ID0gdmEgPj4gU0VHU0hJ RlQ7CisJcHRlcGluZGV4ID0gcG1hcF9zZWdzaGlmdCh2YSk7CiByZXRyeToKIAkvKgogCSAqIEdl dCB0aGUgcGFnZSBkaXJlY3RvcnkgZW50cnkKQEAgLTEyMDUsNyArMTIxNCw3IEBACiAKIAkJbmtw dCsrOwogCQlwdGUgPSAocHRfZW50cnlfdCAqKXBhZ2V2YTsKLQkJc2VndGFiX3BkZShrZXJuZWxf c2VnbWFwLCBrZXJuZWxfdm1fZW5kKSA9IChwZF9lbnRyeV90KXB0ZTsKKwkJc2VndGFiX3BkZShr ZXJuZWxfc2VnbWFwLCBrZXJuZWxfdm1fZW5kKSA9IHB0ZTsKIAogCQkvKgogCQkgKiBUaGUgUls0 LTddPzAwIHN0b3JlcyBvbmx5IG9uZSBjb3B5IG9mIHRoZSBHbG9iYWwgYml0IGluCkBAIC0xNTI5 LDggKzE1MzgsOCBAQAogCQlnb3RvIG91dDsKIAl9CiAJZm9yICh2YSA9IHN2YTsgdmEgPCBldmE7 IHZhID0gbnZhKSB7Ci0JCWlmICghKnBtYXBfcGRlKHBtYXAsIHZhKSkgewotCQkJbnZhID0gbWlw c19zZWd0cnVuYyh2YSArIE1JUFNfU0VHU0laRSk7CisJCWlmIChwbWFwX3NlZ21hcChwbWFwLCB2 YSkgPT0gTlVMTCkgeworCQkJbnZhID0gbWlwc19zZWd0cnVuYyh2YSArIE5CU0VHKTsKIAkJCWNv bnRpbnVlOwogCQl9CiAJCXBtYXBfcmVtb3ZlX3BhZ2UocG1hcCwgdmEpOwpAQCAtMTY0Niw4ICsx NjU1LDggQEAKIAkJLyoKIAkJICogSWYgc2VnbWVudCB0YWJsZSBlbnRyeSBpcyBlbXB0eSwgc2tp cCB0aGlzIHNlZ21lbnQuCiAJCSAqLwotCQlpZiAoISpwbWFwX3BkZShwbWFwLCBzdmEpKSB7Ci0J CQlzdmEgPSBtaXBzX3NlZ3RydW5jKHN2YSArIE1JUFNfU0VHU0laRSk7CisJCWlmIChwbWFwX3Nl Z21hcChwbWFwLCBzdmEpID09IE5VTEwpIHsKKwkJCXN2YSA9IG1pcHNfc2VndHJ1bmMoc3ZhICsg TkJTRUcpOwogCQkJY29udGludWU7CiAJCX0KIAkJLyoKQEAgLTE5MzQsNyArMTk0Myw3IEBACiAJ CS8qCiAJCSAqIENhbGN1bGF0ZSBwYWdldGFibGUgcGFnZSBpbmRleAogCQkgKi8KLQkJcHRlcGlu ZGV4ID0gdmEgPj4gU0VHU0hJRlQ7CisJCXB0ZXBpbmRleCA9IHBtYXBfc2Vnc2hpZnQodmEpOwog CQlpZiAobXB0ZSAmJiAobXB0ZS0+cGluZGV4ID09IHB0ZXBpbmRleCkpIHsKIAkJCW1wdGUtPndp cmVfY291bnQrKzsKIAkJfSBlbHNlIHsKQEAgLTI2MTksNyArMjYyOCw3IEBACiAKIAlydiA9IEZB TFNFOwogCVBNQVBfTE9DSyhwbWFwKTsKLQlpZiAoKnBtYXBfcGRlKHBtYXAsIGFkZHIpKSB7CisJ aWYgKHBtYXBfc2VnbWFwKHBtYXAsIGFkZHIpICE9IE5VTEwpIHsKIAkJcHRlID0gcG1hcF9wdGUo cG1hcCwgYWRkcik7CiAJCXJ2ID0gKCpwdGUgPT0gMCk7CiAJfQo= --e0cb4e887827a90f16048acf6235 Content-Type: text/x-patch; charset=US-ASCII; name="mips-cache-fix.patch" Content-Disposition: attachment; filename="mips-cache-fix.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gbcfil6l5 SW5kZXg6IHN5cy9taXBzL21pcHMvY2FjaGVfbWlwc05OLmMKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3lzL21p cHMvbWlwcy9jYWNoZV9taXBzTk4uYwkocmV2aXNpb24gMjA5NTIxKQorKysgc3lzL21pcHMvbWlw cy9jYWNoZV9taXBzTk4uYwkod29ya2luZyBjb3B5KQpAQCAtNDA0LDcgKzQwNCw3IEBACiB2b2lk CiBtaXBzTk5fcGRjYWNoZV93Ymludl9yYW5nZV9pbmRleF8xNih2bV9vZmZzZXRfdCB2YSwgdm1f c2l6ZV90IHNpemUpCiB7Ci0JdW5zaWduZWQgaW50IGV2YSwgdG1wdmE7CisJdm1fb2Zmc2V0X3Qg ZXZhLCB0bXB2YTsKIAlpbnQgaSwgc3RyaWRlLCBsb29wY291bnQ7CiAKIAkvKgpAQCAtNDQ1LDcg KzQ0NSw3IEBACiB2b2lkCiBtaXBzTk5fcGRjYWNoZV93Ymludl9yYW5nZV9pbmRleF8zMih2bV9v ZmZzZXRfdCB2YSwgdm1fc2l6ZV90IHNpemUpCiB7Ci0JdW5zaWduZWQgaW50IGV2YSwgdG1wdmE7 CisJdm1fb2Zmc2V0X3QgZXZhLCB0bXB2YTsKIAlpbnQgaSwgc3RyaWRlLCBsb29wY291bnQ7CiAK IAkvKgo= --e0cb4e887827a90f16048acf6235 Content-Type: text/x-patch; charset=US-ASCII; name="rmi-other.patch" Content-Disposition: attachment; filename="rmi-other.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gbcfily46 SW5kZXg6IHN5cy9taXBzL3JtaS94bHJfcGNpLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3lzL21pcHMvcm1p L3hscl9wY2kuYwkocmV2aXNpb24gMjA5NzU2KQorKysgc3lzL21pcHMvcm1pL3hscl9wY2kuYwko d29ya2luZyBjb3B5KQpAQCAtMjIzLDcgKzIyMyw3IEBACiBwY2lfY2ZnX3JlYWRfMzJiaXQodWlu dDMyX3QgYWRkcikKIHsKIAl1aW50MzJfdCB0ZW1wID0gMDsKLQl1aW50MzJfdCAqcCA9ICh1aW50 MzJfdCAqKSAoKHVpbnQzMl90KSB4bHJfcGNpX2NvbmZpZ19iYXNlICsgKGFkZHIgJiB+MykpOwor CXVpbnQzMl90ICpwID0gKHVpbnQzMl90ICopeGxyX3BjaV9jb25maWdfYmFzZSArIGFkZHIgLyBz aXplb2YodWludDMyX3QpOwogCXVpbnQ2NF90IGNlcnJfY3B1X2xvZyA9IDA7CiAKIAlkaXNhYmxl X2FuZF9jbGVhcl9jYWNoZV9lcnJvcigpOwpAQCAtMjg1LDcgKzI4NSw3IEBACiAJCWRhdGEgPSB2 YWw7CiAJfQogCi0JcCA9ICh1aW50MzJfdCAqKSgodWludDMyX3QpIHhscl9wY2lfY29uZmlnX2Jh c2UgKyAoY2ZnYWRkciAmIH4zKSk7CisJcCA9ICh1aW50MzJfdCAqKXhscl9wY2lfY29uZmlnX2Jh c2UgKyBjZmdhZGRyIC8gc2l6ZW9mKHVpbnQzMl90KTsKIAkqcCA9IGJzd2FwMzIoZGF0YSk7CiAK IAlyZXR1cm47CkBAIC00MTAsNyArNDEwLDcgQEAKIHN0YXRpYyB2b2lkCiBicmlkZ2VfcGNpZV9h Y2sodm9pZCAqYXJnKQogewotCWludCBpcnEgPSAoaW50KWFyZzsKKwlpbnQgaXJxID0gKGludHB0 cl90KWFyZzsKIAl1aW50MzJfdCByZWc7CiAJeGxyX3JlZ190ICpwY2llX21taW9fbGUgPSB4bHJf aW9fbW1pbyhYTFJfSU9fUENJRV8xX09GRlNFVCk7CiAKSW5kZXg6IHN5cy9taXBzL3JtaS9pb2Rp LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0gc3lzL21pcHMvcm1pL2lvZGkuYwkocmV2aXNpb24gMjA5NzU2KQor Kysgc3lzL21pcHMvcm1pL2lvZGkuYwkod29ya2luZyBjb3B5KQpAQCAtMTE1LDcgKzExNSw3IEBA CiAJCWludCBpcnE7CiAKIAkJLyogVGhpcyBpcyBhIGhhY2sgdG8gcGFzcyBpbiB0aGUgaXJxICov Ci0JCWlycSA9IChpbnQpaXJlcy0+X19yX2k7CisJCWlycSA9IChpbnRwdHJfdClpcmVzLT5fX3Jf aTsKIAkJaWYgKHJtaV9zcGluX211dGV4X3NhZmUpCiAJCQltdHhfbG9ja19zcGluKCZ4bHJfcGlj X2xvY2spOwogCQlyZWcgPSB4bHJfcmVhZF9yZWcobW1pbywgUElDX0lSVF8xX0JBU0UgKyBpcnEg LSBQSUNfSVJRX0JBU0UpOwpAQCAtMTc4LDEwICsxNzgsMTAgQEAKIAogCQlyZXMtPnJfYnVzdGFn ID0gdWFydF9idXNfc3BhY2VfbWVtOwogCX0gZWxzZSBpZiAoc3RyY21wKGRldmljZV9nZXRfbmFt ZShjaGlsZCksICJlaGNpIikgPT0gMCkgewotCQlyZXMtPnJfYnVzaGFuZGxlID0gMHhiZWYyNDAw MDsKKwkJcmVzLT5yX2J1c2hhbmRsZSA9IE1JUFNfUEhZU19UT19LU0VHMSgweDFlZjI0MDAwKTsK IAkJcmVzLT5yX2J1c3RhZyA9IHJtaV9wY2lfYnVzX3NwYWNlOwogCX0gZWxzZSBpZiAoc3RyY21w KGRldmljZV9nZXRfbmFtZShjaGlsZCksICJjZmkiKSA9PSAwKSB7Ci0JCXJlcy0+cl9idXNoYW5k bGUgPSAweGJjMDAwMDAwOworCQlyZXMtPnJfYnVzaGFuZGxlID0gTUlQU19QSFlTX1RPX0tTRUcx KDB4MWMwMDAwMDApOwogCQlyZXMtPnJfYnVzdGFnID0gMDsKIAl9CiAJLyogcmVzLT5yX3N0YXJ0 ID0gKnJpZDsgKi8KSW5kZXg6IHN5cy9taXBzL3JtaS9kZXYveGxyL3JnZS5jCj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tIHN5cy9taXBzL3JtaS9kZXYveGxyL3JnZS5jCShyZXZpc2lvbiAyMDk3NTYpCisrKyBzeXMv bWlwcy9ybWkvZGV2L3hsci9yZ2UuYwkod29ya2luZyBjb3B5KQpAQCAtNTgzLDE0ICs1ODMsMTQg QEAKIAlzdHJ1Y3QgbWJ1ZiAqbTsKIAogCXR4X2Rlc2MgPSAoc3RydWN0IHAyZF90eF9kZXNjICop TUlQU19QSFlTX1RPX0tTRUcwKG1zZy0+bXNnMCk7Ci0JY2hrX2FkZHIgPSAoc3RydWN0IHAyZF90 eF9kZXNjICopKHVpbnQzMl90KSAodHhfZGVzYy0+ZnJhZ1tYTFJfTUFYX1RYX0ZSQUdTXSAmIDB4 MDAwMDAwMDBmZmZmZmZmZik7CisJY2hrX2FkZHIgPSAoc3RydWN0IHAyZF90eF9kZXNjICopKGlu dHB0cl90KXR4X2Rlc2MtPmZyYWdbWExSX01BWF9UWF9GUkFHU107CiAJaWYgKHR4X2Rlc2MgIT0g Y2hrX2FkZHIpIHsKIAkJcHJpbnRmKCJBZGRyZXNzICVwIGRvZXMgbm90IG1hdGNoIHdpdGggc3Rv cmVkIGFkZHIgJXAgLSB3ZSBsZWFrZWQgYSBkZXNjcmlwdG9yXG4iLAogCQkgICAgdHhfZGVzYywg Y2hrX2FkZHIpOwogCQlyZXR1cm47CiAJfQogCWlmIChyZWxfYnVmKSB7Ci0JCW0gPSAoc3RydWN0 IG1idWYgKikodWludDMyX3QpICh0eF9kZXNjLT5mcmFnW1hMUl9NQVhfVFhfRlJBR1MgKyAxXSAm IDB4MDAwMDAwMDBmZmZmZmZmZik7CisJCW0gPSAoc3RydWN0IG1idWYgKikoaW50cHRyX3QpdHhf ZGVzYy0+ZnJhZ1tYTFJfTUFYX1RYX0ZSQUdTICsgMV07CiAJCW1fZnJlZW0obSk7CiAJfQogCWZy ZWVfcDJkX2Rlc2ModHhfZGVzYyk7CkBAIC02MjYsNyArNjI2LDcgQEAKIAkJICAgICh1X2xvbmcp cGFkZHIsIG1hZyk7CiAJCXJldHVybjsKIAl9Ci0JbSA9IChzdHJ1Y3QgbWJ1ZiAqKXVtOworCW0g PSAoc3RydWN0IG1idWYgKikoaW50cHRyX3QpdW07CiAJaWYgKG0gIT0gTlVMTCkKIAkJbV9mcmVl bShtKTsKIH0KQEAgLTY0NCw5ICs2NDQsOSBAQAogCWlmIChtX25ldyA9PSBOVUxMKQogCQlyZXR1 cm4gTlVMTDsKIAotCW1fYWRqKG1fbmV3LCBYTFJfQ0FDSEVMSU5FX1NJWkUgLSAoKHVuc2lnbmVk IGludCltX25ldy0+bV9kYXRhICYgMHgxZikpOworCW1fYWRqKG1fbmV3LCBYTFJfQ0FDSEVMSU5F X1NJWkUgLSAoKHVpbnRwdHJfdCltX25ldy0+bV9kYXRhICYgMHgxZikpOwogCW1kID0gKHVuc2ln bmVkIGludCAqKW1fbmV3LT5tX2RhdGE7Ci0JbWRbMF0gPSAodW5zaWduZWQgaW50KW1fbmV3Owkv KiBCYWNrIFB0ciAqLworCW1kWzBdID0gKHVpbnRwdHJfdCltX25ldzsJLyogQmFjayBQdHIgKi8K IAltZFsxXSA9IDB4ZjAwYmFkOwogCW1fYWRqKG1fbmV3LCBYTFJfQ0FDSEVMSU5FX1NJWkUpOwog CkBAIC05OTYsNyArOTk2LDcgQEAKIAkJCWJ1Y2tldF9tYXAgfD0gKDFVTEwgPDwgYnVja2V0KTsK IAkJfQogCX0KLQlwcmludGYoInJtaV94bHJfY29uZmlnX3BkZTogYnVja2V0X21hcD0lbGx4XG4i LCBidWNrZXRfbWFwKTsKKwlwcmludGYoInJtaV94bHJfY29uZmlnX3BkZTogYnVja2V0X21hcD0l anhcbiIsICh1aW50bWF4X3QpYnVja2V0X21hcCk7CiAKIAkvKiBidWNrZXRfbWFwID0gMHgxOyAq LwogCXhscl93cml0ZV9yZWcocHJpdi0+bW1pbywgUl9QREVfQ0xBU1NfMCwgKGJ1Y2tldF9tYXAg JiAweGZmZmZmZmZmKSk7CkBAIC0xNDgwLDggKzE0ODAsOCBAQAogCQkJbXNncm5nX2FjY2Vzc19k aXNhYmxlKG1mbGFncyk7CiAJCQlyZWxlYXNlX3R4X2Rlc2MoJm1zZywgMCk7CiAJCQl4bHJfcmdl X21zZ19zbmRfZmFpbGVkW3ZjcHVdKys7Ci0JCQlkYmdfbXNnKCJGYWlsZWQgcGFja2V0IHRvIGNw dSAlZCwgcnYgPSAlZCwgc3RpZCAlZCwgbXNnMD0lbGx4XG4iLAotCQkJICAgIHZjcHUsIHJ2LCBz dGlkLCBtc2cubXNnMCk7CisJCQlkYmdfbXNnKCJGYWlsZWQgcGFja2V0IHRvIGNwdSAlZCwgcnYg PSAlZCwgc3RpZCAlZCwgbXNnMD0lanhcbiIsCisJCQkgICAgdmNwdSwgcnYsIHN0aWQsICh1aW50 bWF4X3QpbXNnLm1zZzApOwogCQkJcmV0dXJuIE1BQ19UWF9GQUlMOwogCQl9CiAJCW1zZ3JuZ19h Y2Nlc3NfZGlzYWJsZShtZmxhZ3MpOwpAQCAtMTQ4OSw3ICsxNDg5LDggQEAKIAl9CiAKIAkvKiBT ZW5kIHRoZSBwYWNrZXQgdG8gTUFDICovCi0JZGJnX21zZygiU2VudCB0eCBwYWNrZXQgdG8gc3Rp ZCAlZCwgbXNnMD0lbGx4LCBtc2cxPSVsbHggXG4iLCBzdGlkLCBtc2cubXNnMCwgbXNnLm1zZzEp OworCWRiZ19tc2coIlNlbnQgdHggcGFja2V0IHRvIHN0aWQgJWQsIG1zZzA9JWp4LCBtc2cxPSVq eCBcbiIsIHN0aWQsIAorCSAgICAodWludG1heF90KW1zZy5tc2cwLCAodWludG1heF90KW1zZy5t c2cxKTsKICNpZmRlZiBEVU1QX1BBQ0tFVFMKIAl7CiAJCWludCBpID0gMDsKQEAgLTE2MzgsOCAr MTYzOSw4IEBACiAJaW50IHZjcHUgPSB4bHJfY3B1X2lkKCk7CiAJaW50IGNwdSA9IHhscl9jb3Jl X2lkKCk7CiAKLQlkYmdfbXNnKCJtYWM6IGJ1Y2tldD0lZCwgc2l6ZT0lZCwgY29kZT0lZCwgc3Rp ZD0lZCwgbXNnMD0lbGx4IG1zZzE9JWxseFxuIiwKLQkgICAgYnVja2V0LCBzaXplLCBjb2RlLCBz dGlkLCBtc2ctPm1zZzAsIG1zZy0+bXNnMSk7CisJZGJnX21zZygibWFjOiBidWNrZXQ9JWQsIHNp emU9JWQsIGNvZGU9JWQsIHN0aWQ9JWQsIG1zZzA9JWp4IG1zZzE9JWp4XG4iLAorCSAgICBidWNr ZXQsIHNpemUsIGNvZGUsIHN0aWQsICh1aW50bWF4X3QpbXNnLT5tc2cwLCAodWludG1heF90KW1z Zy0+bXNnMSk7CiAKIAlwaHlzX2FkZHIgPSAodWludDY0X3QpIChtc2ctPm1zZzAgJiAweGZmZmZm ZmZmZTBVTEwpOwogCWxlbmd0aCA9IChtc2ctPm1zZzAgPj4gNDApICYgMHgzZmZmOwpAQCAtMTY3 MCw4ICsxNjcxLDggQEAKIAkJcmV0dXJuOwogCXByaXYgPSAmKHNjLT5wcml2KTsKIAotCWRiZ19t c2coIm1zZzAgPSAlbGx4LCBzdGlkID0gJWQsIHBvcnQgPSAlZCwgYWRkcj0lbHgsIGxlbmd0aD0l ZCwgY3RybD0lZFxuIiwKLQkgICAgbXNnLT5tc2cwLCBzdGlkLCBwb3J0LCBhZGRyLCBsZW5ndGgs IGN0cmwpOworCWRiZ19tc2coIm1zZzAgPSAlangsIHN0aWQgPSAlZCwgcG9ydCA9ICVkLCBhZGRy PSVseCwgbGVuZ3RoPSVkLCBjdHJsPSVkXG4iLAorCSAgICAodWludG1heF90KW1zZy0+bXNnMCwg c3RpZCwgcG9ydCwgYWRkciwgbGVuZ3RoLCBjdHJsKTsKIAogCWlmIChjdHJsID09IENUUkxfUkVH X0ZSRUUgfHwgY3RybCA9PSBDVFJMX0pVTUJPX0ZSRUUpIHsKIAkJeGxyX3JnZV90eF9va19kb25l W3ZjcHVdKys7CkBAIC0xNjk4LDggKzE2OTksOCBAQAogCQlpZiAoKHByaXYtPmZyaW5fdG9fYmVf c2VudFtjcHVdKSA+IE1BQ19GUklOX1RPX0JFX1NFTlRfVEhSRVNIT0xEKSB7CiAJCQltYWNfZnJp bl9yZXBsZW5pc2goTlVMTCk7CiAJCX0KLQkJZGJnX21zZygiZ21hY18lZDogcnggcGFja2V0OiBw aHlzX2FkZHIgPSAlbGx4LCBsZW5ndGggPSAleFxuIiwKLQkJICAgIHByaXYtPmluc3RhbmNlLCBw aHlzX2FkZHIsIGxlbmd0aCk7CisJCWRiZ19tc2coImdtYWNfJWQ6IHJ4IHBhY2tldDogcGh5c19h ZGRyID0gJWp4LCBsZW5ndGggPSAleFxuIiwKKwkJICAgIHByaXYtPmluc3RhbmNlLCAodWludG1h eF90KXBoeXNfYWRkciwgbGVuZ3RoKTsKIAkJbWFjX3N0YXRzX2FkZChwcml2LT5zdGF0cy5yeF9w YWNrZXRzLCAxKTsKIAkJbWFjX3N0YXRzX2FkZChwcml2LT5zdGF0cy5yeF9ieXRlcywgbGVuZ3Ro KTsKIAkJeGxyX2luY19jb3VudGVyKE5FVElGX1JYKTsKQEAgLTE4ODcsNyArMTg4OCw3IEBACiAJ ICogbm90ZSB0aGlzIGlzIGEgaGFjayB0byBwYXNzIHRoZSBpcnEgdG8gdGhlIGlvZGkgaW50ZXJy dXB0IHNldHVwCiAJICogcm91dGluZXMKIAkgKi8KLQlzYy0+cmdlX2lycS5fX3JfaSA9IChzdHJ1 Y3QgcmVzb3VyY2VfaSAqKXNjLT5pcnE7CisJc2MtPnJnZV9pcnEuX19yX2kgPSAoc3RydWN0IHJl c291cmNlX2kgKikoaW50cHRyX3Qpc2MtPmlycTsKIAogCXJldCA9IGJ1c19zZXR1cF9pbnRyKGRl diwgJnNjLT5yZ2VfaXJxLCBJTlRSX0ZBU1QgfCBJTlRSX1RZUEVfTkVUIHwgSU5UUl9NUFNBRkUs CiAJICAgIE5VTEwsIHJnZV9pbnRyLCBzYywgJnNjLT5yZ2VfaW50cmhhbmQpOwpAQCAtMjA0MCw3 ICsyMDQxLDcgQEAKIAltYWcgPSB4bHJfcGFkZHJfbHcocGFkZHIgLSBYTFJfQ0FDSEVMSU5FX1NJ WkUgKyBzaXplb2YodWludDMyX3QpKTsKIAltaXBzX3dyX3N0YXR1cyhzcik7CiAKLQltID0gKHN0 cnVjdCBtYnVmICopdG07CisJbSA9IChzdHJ1Y3QgbWJ1ZiAqKShpbnRwdHJfdCl0bTsKIAlpZiAo bWFnICE9IDB4ZjAwYmFkKSB7CiAJCS8qIHNvbWVib2R5IGVsc2UgcGFja2V0IEVycm9yIC0gRklY TUUgaW4gaW50aWFsaXphdGlvbiAqLwogCQlwcmludGYoImNwdSAlZDogKkVSUk9SKiBOb3QgbXkg cGFja2V0IHBhZGRyICVwXG4iLCB4bHJfY3B1X2lkKCksICh2b2lkICopcGFkZHIpOwpAQCAtMjQ1 Myw3ICsyNDU0LDcgQEAKIAkJcGFuaWMoIlVuYWJsZSB0byBhbGxvY2F0ZSBtZW1vcnkgZm9yIHNw aWxsIGFyZWEhXG4iKTsKIAl9CiAJcGh5c19hZGRyID0gdnRvcGh5cyhzcGlsbCk7Ci0JZGJnX21z ZygiQWxsb2NhdGUgc3BpbGwgJWQgYnl0ZXMgYXQgJWxseFxuIiwgc2l6ZSwgcGh5c19hZGRyKTsK KwlkYmdfbXNnKCJBbGxvY2F0ZSBzcGlsbCAlZCBieXRlcyBhdCAlanhcbiIsIHNpemUsICh1aW50 bWF4X3QpcGh5c19hZGRyKTsKIAl4bHJfd3JpdGVfcmVnKG1taW8sIHJlZ19zdGFydF8wLCAocGh5 c19hZGRyID4+IDUpICYgMHhmZmZmZmZmZik7CiAJeGxyX3dyaXRlX3JlZyhtbWlvLCByZWdfc3Rh cnRfMSwgKHBoeXNfYWRkciA+PiAzNykgJiAweDA3KTsKIAl4bHJfd3JpdGVfcmVnKG1taW8sIHJl Z19zaXplLCBzcGlsbF9zaXplKTsKSW5kZXg6IHN5cy9taXBzL3JtaS9vbl9jaGlwLmMKPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0gc3lzL21pcHMvcm1pL29uX2NoaXAuYwkocmV2aXNpb24gMjA5NzU2KQorKysgc3lz L21pcHMvcm1pL29uX2NoaXAuYwkod29ya2luZyBjb3B5KQpAQCAtMjEwLDggKzIxMCw4IEBACiAK IAkJCWlmICghdHhfc3RuX2hhbmRsZXJzW3R4X3N0aWRdLmFjdGlvbikgewogCQkJCXByaW50Zigi WyVzXTogTm8gSGFuZGxlciBmb3IgbWVzc2FnZSBmcm9tIHN0bl9pZD0lZCwgYnVja2V0PSVkLCAi Ci0JCQkJICAgICJzaXplPSVkLCBtc2cwPSVsbHgsIGRyb3BwaW5nIG1lc3NhZ2VcbiIsCi0JCQkJ ICAgIF9fRlVOQ1RJT05fXywgdHhfc3RpZCwgYnVja2V0LCBzaXplLCBtc2cubXNnMCk7CisJCQkJ ICAgICJzaXplPSVkLCBtc2cwPSVqeCwgZHJvcHBpbmcgbWVzc2FnZVxuIiwKKwkJCQkgICAgX19G VU5DVElPTl9fLCB0eF9zdGlkLCBidWNrZXQsIHNpemUsICh1aW50bWF4X3QpbXNnLm1zZzApOwog CQkJfSBlbHNlIHsKIAkJCQkvL3ByaW50ZigiWyVzXTogcnhfc3RpZCA9ICVkXG4iLCBfX0ZVTkNU SU9OX18sIHJ4X3N0aWQpOwogCQkJCW1zZ3JuZ19mbGFnc19yZXN0b3JlKG1mbGFncyk7CkluZGV4 OiBzeXMvbWlwcy9ybWkveGxyX21hY2hkZXAuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzeXMvbWlwcy9ybWkv eGxyX21hY2hkZXAuYwkocmV2aXNpb24gMjA5NzU2KQorKysgc3lzL21pcHMvcm1pL3hscl9tYWNo ZGVwLmMJKHdvcmtpbmcgY29weSkKQEAgLTI2NSw3ICsyNjUsNiBAQAogCWluaXRfcGFyYW0yKHBo eXNtZW0pOwogCiAJLyogWFhYOiBDYXRjaCAyMi4gU29tZXRoaW5nIHRvdWNoZXMgdGhlIHRsYi4g Ki8KLQogCW1pcHNfY3B1X2luaXQoKTsKIAlwbWFwX2Jvb3RzdHJhcCgpOwogI2lmZGVmIEREQgpA QCAtMjk0LDEzICsyOTMsMTMgQEAKICNlbmRpZgogCS8qIFhYWCBGSVhNRSB0aGUgY29kZSBiZWxv dyBpcyBub3QgNjQgYml0IGNsZWFuICovCiAJLyogU2F2ZSBib290IGxvYWRlciBhbmQgb3RoZXIg c3R1ZmYgZnJvbSBzY3JhdGNoIHJlZ3MgKi8KLQl4bHJfYm9vdDFfaW5mbyA9ICooc3RydWN0IGJv b3QxX2luZm8gKilyZWFkX2MwX3JlZ2lzdGVyMzIoTUlQU19DT1BfMF9PU1NDUkFUQ0gsIDApOwor CXhscl9ib290MV9pbmZvID0gKihzdHJ1Y3QgYm9vdDFfaW5mbyAqKShpbnRwdHJfdCkoaW50KXJl YWRfYzBfcmVnaXN0ZXIzMihNSVBTX0NPUF8wX09TU0NSQVRDSCwgMCk7CiAJY3B1X21hc2tfaW5m byA9IHJlYWRfYzBfcmVnaXN0ZXI2NChNSVBTX0NPUF8wX09TU0NSQVRDSCwgMSk7CiAJeGxyX29u bGluZV9jcHVtYXNrID0gcmVhZF9jMF9yZWdpc3RlcjMyKE1JUFNfQ09QXzBfT1NTQ1JBVENILCAy KTsKIAl4bHJfcnVuX21vZGUgPSByZWFkX2MwX3JlZ2lzdGVyMzIoTUlQU19DT1BfMF9PU1NDUkFU Q0gsIDMpOwogCXhscl9hcmdjID0gcmVhZF9jMF9yZWdpc3RlcjMyKE1JUFNfQ09QXzBfT1NTQ1JB VENILCA0KTsKLQl4bHJfYXJndiA9IChjaGFyICoqKXJlYWRfYzBfcmVnaXN0ZXIzMihNSVBTX0NP UF8wX09TU0NSQVRDSCwgNSk7Ci0JeGxyX2VudnAgPSAoY2hhciAqKilyZWFkX2MwX3JlZ2lzdGVy MzIoTUlQU19DT1BfMF9PU1NDUkFUQ0gsIDYpOworCXhscl9hcmd2ID0gKGNoYXIgKiopKGludHB0 cl90KShpbnQpcmVhZF9jMF9yZWdpc3RlcjMyKE1JUFNfQ09QXzBfT1NTQ1JBVENILCA1KTsKKwl4 bHJfZW52cCA9IChjaGFyICoqKShpbnRwdHJfdCkoaW50KXJlYWRfYzBfcmVnaXN0ZXIzMihNSVBT X0NPUF8wX09TU0NSQVRDSCwgNik7CiAKIAkvKiBUT0RPOiBWZXJpZnkgdGhlIG1hZ2ljIG51bWJl ciBoZXJlICovCiAJLyogRklYTUVMQVRFUjogeGxyX2Jvb3QxX2luZm8ubWFnaWNfbnVtYmVyICov CkBAIC0zODcsOSArMzg2LDkgQEAKIAkJCQkJICogNjQgYml0ID4gNEdpZyBhbmQgd2UgYXJlIGlu IDMyIGJpdCBtb2RlLgogCQkJCQkgKi8KIAkJCQkJcGh5c19hdmFpbFtqICsgMV0gPSAweGZmZmZm MDAwOwotCQkJCQlwcmludGYoImJvb3QgbWFwIHNpemUgd2FzICVsbHhcbiIsIGJvb3RfbWFwLT5w aHlzbWVtX21hcFtpXS5zaXplKTsKKwkJCQkJcHJpbnRmKCJib290IG1hcCBzaXplIHdhcyAlanhc biIsIChpbnRtYXhfdClib290X21hcC0+cGh5c21lbV9tYXBbaV0uc2l6ZSk7CiAJCQkJCWJvb3Rf bWFwLT5waHlzbWVtX21hcFtpXS5zaXplID0gcGh5c19hdmFpbFtqICsgMV0gLSBwaHlzX2F2YWls W2pdOwotCQkJCQlwcmludGYoInJlZHVjZWQgdG8gJWxseFxuIiwgYm9vdF9tYXAtPnBoeXNtZW1f bWFwW2ldLnNpemUpOworCQkJCQlwcmludGYoInJlZHVjZWQgdG8gJWp4XG4iLCAoaW50bWF4X3Qp Ym9vdF9tYXAtPnBoeXNtZW1fbWFwW2ldLnNpemUpOwogCQkJCX0KIAkJCQlwcmludGYoIk5leHQg c2VnbWVudCA6IGFkZHI6JXAgLT4gJXAgXG4iLAogCQkJCSAgICAgICAodm9pZCAqKXBoeXNfYXZh aWxbal0sIAo= --e0cb4e887827a90f16048acf6235 Content-Type: text/x-patch; charset=US-ASCII; name="mips-rmi-kx-enable.patch" Content-Disposition: attachment; filename="mips-rmi-kx-enable.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gbcfimoc7 SW5kZXg6IHN5cy9taXBzL21pcHMvdm1fbWFjaGRlcC5jCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9taXBz L21pcHMvdm1fbWFjaGRlcC5jCShyZXZpc2lvbiAyMDk2MzUpCisrKyBzeXMvbWlwcy9taXBzL3Zt X21hY2hkZXAuYwkod29ya2luZyBjb3B5KQpAQCAtMTQ4LDcgKzE0OCw3IEBACiAJcGNiMi0+cGNi X2NvbnRleHRbUENCX1JFR19TMF0gPSAocmVnaXN0ZXJfdCkoaW50cHRyX3QpZm9ya19yZXR1cm47 CiAJcGNiMi0+cGNiX2NvbnRleHRbUENCX1JFR19TMV0gPSAocmVnaXN0ZXJfdCkoaW50cHRyX3Qp dGQyOwogCXBjYjItPnBjYl9jb250ZXh0W1BDQl9SRUdfUzJdID0gKHJlZ2lzdGVyX3QpKGludHB0 cl90KXRkMi0+dGRfZnJhbWU7Ci0JcGNiMi0+cGNiX2NvbnRleHRbUENCX1JFR19TUl0gPSBTUl9J TlRfTUFTSyAmIG1pcHNfcmRfc3RhdHVzKCk7CisJcGNiMi0+cGNiX2NvbnRleHRbUENCX1JFR19T Ul0gPSAoTUlQU19TUl9LWCB8IFNSX0lOVF9NQVNLKSAmIG1pcHNfcmRfc3RhdHVzKCk7CiAJLyoK IAkgKiBGUkVFQlNEX0RFVkVMT1BFUlNfRklYTUU6CiAJICogU2V0dXAgYW55IG90aGVyIENQVS1T cGVjaWZpYyByZWdpc3RlcnMgKE5vdCBNSVBTIFN0YW5kYXJkKQpAQCAtMTYyLDcgKzE2Miw2IEBA CiAjaWZkZWYgVEFSR0VUX09DVEVPTgogCXBjYjItPnBjYl9jb250ZXh0W1BDQl9SRUdfU1JdIHw9 IE1JUFNfU1JfQ09QXzJfQklUIHwgTUlQUzMyX1NSX1BYIHwgTUlQU19TUl9VWCB8IE1JUFNfU1Jf S1ggfCBNSVBTX1NSX1NYOwogI2VuZGlmCi0KIH0KIAogLyoKQEAgLTM1MSw3ICszNTAsNyBAQAog CXBjYjItPnBjYl9jb250ZXh0W1BDQl9SRUdfUzFdID0gKHJlZ2lzdGVyX3QpKGludHB0cl90KXRk OwogCXBjYjItPnBjYl9jb250ZXh0W1BDQl9SRUdfUzJdID0gKHJlZ2lzdGVyX3QpKGludHB0cl90 KXRkLT50ZF9mcmFtZTsKIAkvKiBEb250IHNldCBJRSBiaXQgaW4gU1IuIHNjaGVkIGxvY2sgcmVs ZWFzZSB3aWxsIHRha2UgY2FyZSBvZiBpdCAqLwotCXBjYjItPnBjYl9jb250ZXh0W1BDQl9SRUdf U1JdID0gU1JfSU5UX01BU0sgJiBtaXBzX3JkX3N0YXR1cygpOworCXBjYjItPnBjYl9jb250ZXh0 W1BDQl9SRUdfU1JdID0gKE1JUFNfU1JfS1ggfCBTUl9JTlRfTUFTSykgJiBtaXBzX3JkX3N0YXR1 cygpOwogCiAjaWZkZWYgVEFSR0VUX09DVEVPTgogCXBjYjItPnBjYl9jb250ZXh0W1BDQl9SRUdf U1JdIHw9IE1JUFNfU1JfQ09QXzJfQklUIHwgTUlQU19TUl9DT1BfMF9CSVQgfApJbmRleDogc3lz L21pcHMvbWlwcy9leGNlcHRpb24uUwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzeXMvbWlwcy9taXBzL2V4Y2Vw dGlvbi5TCShyZXZpc2lvbiAyMDk2MzUpCisrKyBzeXMvbWlwcy9taXBzL2V4Y2VwdGlvbi5TCSh3 b3JraW5nIGNvcHkpCkBAIC0yMzUsNyArMjM1LDcgQEAKICNkZWZpbmUJU0FWRV9SRUcocmVnLCBv ZmZzLCBiYXNlKSBcCiAJUkVHX1MJcmVnLCBDQUxMRlJBTUVfU0laICsgKFNaUkVHICogb2Zmcykg KGJhc2UpCiAKLSNpZmRlZiBUQVJHRVRfT0NURU9OCisjaWYgZGVmaW5lZChUQVJHRVRfT0NURU9O KQogI2RlZmluZSBDTEVBUl9TVEFUVVMgXAogCW1mYzAgICAgYTAsIENPUF8wX1NUQVRVU19SRUcg ICAgO1wKIAlsaSAgICAgIGEyLCAoTUlQU19TUl9LWCB8IE1JUFNfU1JfU1ggfCBNSVBTX1NSX1VY KSA7IFwKQEAgLTI0NCw2ICsyNDQsMTUgQEAKIAlhbmQgICAgIGEwLCBhMCwgYTIgICAgICAgICAg ICAgIDsgXAogICAgICAgICBtdGMwICAgIGEwLCBDT1BfMF9TVEFUVVNfUkVHICAgIDsgXAogCUlU TEJOT1BGSVgKKyNlbGlmIGRlZmluZWQoVEFSR0VUX1hMUl9YTFMpCisjZGVmaW5lIENMRUFSX1NU QVRVUyBcCisJbWZjMCAgICBhMCwgQ09QXzBfU1RBVFVTX1JFRyAgICA7XAorCWxpICAgICAgYTIs IChNSVBTX1NSX0tYIHwgTUlQU19TUl9DT1BfMl9CSVQpIDsgXAorCW9yICAgICAgYTAsIGEwLCBh MgkgICAgICAgIDsgXAorCWxpICAgICAgYTIsIH4oTUlQU19TUl9JTlRfSUUgfCBNSVBTX1NSX0VY TCB8IFNSX0tTVV9VU0VSKSAgIDsgXAorCWFuZCAgICAgYTAsIGEwLCBhMiAgICAgICAgICAgICAg OyBcCisgICAgICAgIG10YzAgICAgYTAsIENPUF8wX1NUQVRVU19SRUcgICAgOyBcCisJSVRMQk5P UEZJWAogI2Vsc2UKICNkZWZpbmUgQ0xFQVJfU1RBVFVTIFwKIAltZmMwICAgIGEwLCBDT1BfMF9T VEFUVVNfUkVHICAgIDtcCkBAIC00NzUsOCArNDg0LDEwIEBACiAJUFRSX0xBCWdwLCBfQ19MQUJF TChfZ3ApCSMgc3dpdGNoIHRvIGtlcm5lbCBHUAogIyBUdXJuIG9mZiBmcHUgYW5kIGVudGVyIGtl cm5lbCBtb2RlCiAJYW5kCXQwLCBhMCwgfihTUl9DT1BfMV9CSVQgfCBTUl9FWEwgfCBTUl9LU1Vf TUFTSyB8IFNSX0lOVF9FTkFCKQotI2lmZGVmIFRBUkdFVF9PQ1RFT04KKyNpZiBkZWZpbmVkKFRB UkdFVF9PQ1RFT04pCiAJb3IgICAgICB0MCwgdDAsIChNSVBTX1NSX0tYIHwgTUlQU19TUl9TWCB8 IE1JUFNfU1JfVVggfCBNSVBTMzJfU1JfUFgpCisjZWxpZiBkZWZpbmVkKFRBUkdFVF9YTFJfWExT KQkKKwlvciAgICAgIHQwLCB0MCwgKE1JUFNfU1JfS1ggfCBNSVBTX1NSX0NPUF8yX0JJVCkKICNl bmRpZgkKIAltdGMwCXQwLCBDT1BfMF9TVEFUVVNfUkVHCiAJUFRSX0FERFUgYTAsIGsxLCBVX1BD Ql9SRUdTCkBAIC02OTMsNiArNzA0LDggQEAKIAlhbmQJdDAsIGEwLCB+KFNSX0NPUF8xX0JJVCB8 IFNSX0VYTCB8IFNSX0lOVF9FTkFCIHwgU1JfS1NVX01BU0spCiAjaWZkZWYgVEFSR0VUX09DVEVP TgogCW9yICAgICAgdDAsIHQwLCAoTUlQU19TUl9LWCB8IE1JUFNfU1JfU1ggfCBNSVBTX1NSX1VY IHwgTUlQUzMyX1NSX1BYKQorI2VsaWYgZGVmaW5lZChUQVJHRVRfWExSX1hMUykJCisJb3IgICAg ICB0MCwgdDAsIChNSVBTX1NSX0tYIHwgTUlQU19TUl9DT1BfMl9CSVQpCiAjZW5kaWYJCiAJbXRj MAl0MCwgQ09QXzBfU1RBVFVTX1JFRwogCUlUTEJOT1BGSVgKSW5kZXg6IHN5cy9taXBzL21pcHMv bG9jb3JlLlMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0gc3lzL21pcHMvbWlwcy9sb2NvcmUuUwkocmV2aXNpb24g MjA5NjM1KQorKysgc3lzL21pcHMvbWlwcy9sb2NvcmUuUwkod29ya2luZyBjb3B5KQpAQCAtOTks NyArOTksNyBAQAogCiAJLyogUmVzZXQgdGhlc2UgYml0cyAqLwogICAgICAgICBsaQl0MCwgfihN SVBTX1NSX0RFIHwgTUlQU19TUl9TT0ZUX1JFU0VUIHwgTUlQU19TUl9FUkwgfCBNSVBTX1NSX0VY TCB8IE1JUFNfU1JfSU5UX0lFKQotI2VsaWYgZGVmaW5lZCAoQ1BVX1hMUikKKyNlbGlmIGRlZmlu ZWQgKFRBUkdFVF9YTFJfWExTKQogCS8qIFNldCB0aGVzZSBiaXRzICovCiAgICAgICAgIGxpCXQx LCAoTUlQU19TUl9DT1BfMl9CSVQgfCBNSVBTX1NSX0NPUF8wX0JJVCB8IE1JUFNfU1JfS1gpCiAK --e0cb4e887827a90f16048acf6235 Content-Type: text/x-patch; charset=US-ASCII; name="pmap-n64.patch" Content-Disposition: attachment; filename="pmap-n64.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gbcfina08 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 CkluZGV4OiBzeXMvbWlwcy9pbmNsdWRlL3B0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9taXBzL2lu Y2x1ZGUvcHRlLmgJKHJldmlzaW9uIDIwOTc1NikKKysrIHN5cy9taXBzL2luY2x1ZGUvcHRlLmgJ KHdvcmtpbmcgY29weSkKQEAgLTczLDggKzczLDI0IEBACiAgKiBOb3RlIHRoYXQgaW4gRnJlZUJT RCwgd2UgbWFwIDIgVExCIHBhZ2VzIGlzIGVxdWFsIHRvIDEgVk0gcGFnZS4KICAqLwogI2RlZmlu ZQlUTEJISV9BU0lEX01BU0sJCSgweGZmKQorI2lmIGRlZmluZWQoX19taXBzX242NCkKKyNkZWZp bmUJVExCSElfUl9TSElGVAkJNjIKKyNkZWZpbmUJVExCSElfUl9VU0VSCQkoMHgwMFVMIDw8IFRM QkhJX1JfU0hJRlQpCisjZGVmaW5lCVRMQkhJX1JfU1VQRVJWSVNPUgkoMHgwMVVMIDw8IFRMQkhJ X1JfU0hJRlQpCisjZGVmaW5lCVRMQkhJX1JfS0VSTkVMCQkoMHgwM1VMIDw8IFRMQkhJX1JfU0hJ RlQpCisjZGVmaW5lCVRMQkhJX1JfTUFTSwkJKDB4MDNVTCA8PCBUTEJISV9SX1NISUZUKQorI2Rl ZmluZQlUTEJISV9WQV9SKHZhKQkJKCh2YSkgJiBUTEJISV9SX01BU0spCisjZGVmaW5lCVRMQkhJ X0ZJTExfU0hJRlQJNDAKKyNkZWZpbmUJVExCSElfVlBOMl9TSElGVAkoVExCX1BBR0VfU0hJRlQg KyAxKQorI2RlZmluZQlUTEJISV9WUE4yX01BU0sJCSgoKH4oKDFVTCA8PCBUTEJISV9WUE4yX1NI SUZUKSAtIDEpKSA8PCAoNjMgLSBUTEJISV9GSUxMX1NISUZUKSkgPj4gKDYzIC0gVExCSElfRklM TF9TSElGVCkpCisjZGVmaW5lCVRMQkhJX1ZBX1RPX1ZQTjIodmEpCSgodmEpICYgVExCSElfVlBO Ml9NQVNLKQorI2RlZmluZQlUTEJISV9FTlRSWSh2YSwgYXNpZCkJKChUTEJISV9WQV9SKCh2YSkp KSAvKiBSZWdpb24uICovIHwgXAorCQkJCSAoVExCSElfVkFfVE9fVlBOMigodmEpKSkgLyogVlBO Mi4gKi8gfCBcCisJCQkJICgoYXNpZCkgJiBUTEJISV9BU0lEX01BU0spKQorI2Vsc2UKICNkZWZp bmUJVExCSElfUEFHRV9NQVNLCQkoMiAqIFBBR0VfU0laRSAtIDEpCiAjZGVmaW5lCVRMQkhJX0VO VFJZKHZhLCBhc2lkKQkoKCh2YSkgJiB+VExCSElfUEFHRV9NQVNLKSB8ICgoYXNpZCkgJiBUTEJI SV9BU0lEX01BU0spKQorI2VuZGlmCiAKICNpZm5kZWYgX0xPQ09SRQogdHlwZWRlZgl1aW50MzJf dCBwdF9lbnRyeV90OwpJbmRleDogc3lzL21pcHMvbWlwcy9wbWFwLmMKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g c3lzL21pcHMvbWlwcy9wbWFwLmMJKHJldmlzaW9uIDIwOTc1NikKKysrIHN5cy9taXBzL21pcHMv cG1hcC5jCSh3b3JraW5nIGNvcHkpCkBAIC0xMjgsNyArMTI4LDExIEBACiAjZGVmaW5lCXBtYXBf c2Vnc2hpZnQodikJKCgodikgPj4gU0VHU0hJRlQpICYgKE5QREVQRyAtIDEpKQogI2RlZmluZQlz ZWd0YWJfcGRlKG0sIHYpCSgobSlbcG1hcF9zZWdzaGlmdCgodikpXSkKIAorI2lmIGRlZmluZWQo X19taXBzX242NCkKKyNkZWZpbmUJTlVTRVJQR1RCTFMJCShOUERFUEcpCisjZWxzZQogI2RlZmlu ZQlOVVNFUlBHVEJMUwkJKHBtYXBfc2Vnc2hpZnQoVk1fTUFYVVNFUl9BRERSRVNTKSkKKyNlbmRp ZgogI2RlZmluZQltaXBzX3NlZ3RydW5jKHZhKQkoKHZhKSAmIH5TRUdPRlNFVCkKICNkZWZpbmUJ aXNfa2VybmVsX3BtYXAoeCkJKCh4KSA9PSBrZXJuZWxfcG1hcCkKIApAQCAtMzEwLDcgKzMxMCw3 IEBACiB9CiAKIC8qCi0gKglCb290c3RyYXAgdGhlIHN5c3RlbSBlbm91Z2ggdG8gcnVuIHdpdGgg dmlydHVhbCBtZW1vcnkuICBUaGlzCisgKiBCb290c3RyYXAgdGhlIHN5c3RlbSBlbm91Z2ggdG8g cnVuIHdpdGggdmlydHVhbCBtZW1vcnkuICBUaGlzCiAgKiBhc3N1bWVzIHRoYXQgdGhlIHBoeXNf YXZhaWwgYXJyYXkgaGFzIGJlZW4gaW5pdGlhbGl6ZWQuCiAgKi8KIHZvaWQKQEAgLTMzMCwxNCAr MzMwLDExIEBACiAJCXBoeXNfYXZhaWxbaV0gPSByb3VuZF9wYWdlKHBoeXNfYXZhaWxbaV0pOwog CQlwaHlzX2F2YWlsW2kgKyAxXSA9IHRydW5jX3BhZ2UocGh5c19hdmFpbFtpICsgMV0pOwogCi0J CWlmIChwaHlzX2F2YWlsW2kgKyAxXSA+PSBNSVBTX0tTRUcwX0xBUkdFU1RfUEhZUykKLQkJCW1l bW9yeV9sYXJnZXJfdGhhbl81MTJtZWcrKzsKIAkJaWYgKGkgPCAyKQogCQkJY29udGludWU7CiAJ CWlmIChwaHlzX2F2YWlsW2kgLSAyXSA+IHBoeXNfYXZhaWxbaV0pIHsKIAkJCXZtX3BhZGRyX3Qg cHRlbXBbMl07CiAKLQogCQkJcHRlbXBbMF0gPSBwaHlzX2F2YWlsW2kgKyAwXTsKIAkJCXB0ZW1w WzFdID0gcGh5c19hdmFpbFtpICsgMV07CiAKQEAgLTM1MCw2ICszNDcsMTEgQEAKIAkJfQogCX0K IAorI2lmICFkZWZpbmVkKF9fbWlwc19uNjQpCisJaWYgKHBoeXNfYXZhaWxbaSAtIDFdID49IE1J UFNfS1NFRzBfTEFSR0VTVF9QSFlTKQorCQltZW1vcnlfbGFyZ2VyX3RoYW5fNTEybWVnID0gMTsK KyNlbmRpZgorCiAJLyoKIAkgKiBDb3B5IHRoZSBwaHlzX2F2YWlsW10gYXJyYXkgYmVmb3JlIHdl IHN0YXJ0IHN0ZWFsaW5nIG1lbW9yeSBmcm9tIGl0LgogCSAqLwpAQCAtMzg0LDcgKzM4Niw2IEBA CiAJICovCiAJa3N0YWNrMCA9IHBtYXBfc3RlYWxfbWVtb3J5KEtTVEFDS19QQUdFUyA8PCBQQUdF X1NISUZUKTsKIAotCiAJdmlydHVhbF9hdmFpbCA9IFZNX01JTl9LRVJORUxfQUREUkVTUzsKIAl2 aXJ0dWFsX2VuZCA9IFZNX01BWF9LRVJORUxfQUREUkVTUzsKIApAQCAtNzU4LDExICs3NTksMjEg QEAKICAqCXVwZGF0ZSAnKnZpcnQnIHdpdGggdGhlIGZpcnN0IHVzYWJsZSBhZGRyZXNzIGFmdGVy IHRoZSBtYXBwZWQKICAqCXJlZ2lvbi4KICAqLworI2lmIGRlZmluZWQoX19taXBzX242NCkKIHZt X29mZnNldF90CiBwbWFwX21hcCh2bV9vZmZzZXRfdCAqdmlydCwgdm1fb2Zmc2V0X3Qgc3RhcnQs IHZtX29mZnNldF90IGVuZCwgaW50IHByb3QpCiB7CisJcmV0dXJuIChNSVBTX1BIWVNfVE9fWEtQ SFlTX0NBQ0hFRChzdGFydCkpOworfQorI2Vsc2UKK3ZtX29mZnNldF90CitwbWFwX21hcCh2bV9v ZmZzZXRfdCAqdmlydCwgdm1fb2Zmc2V0X3Qgc3RhcnQsIHZtX29mZnNldF90IGVuZCwgaW50IHBy b3QpCit7CiAJdm1fb2Zmc2V0X3QgdmEsIHN2YTsKIAorCWlmIChlbmQgPD0gTUlQU19LU0VHMF9M QVJHRVNUX1BIWVMpCisJCXJldHVybiAoTUlQU19QSFlTX1RPX0tTRUcwKHN0YXJ0KSk7CisKIAl2 YSA9IHN2YSA9ICp2aXJ0OwogCXdoaWxlIChzdGFydCA8IGVuZCkgewogCQlwbWFwX2tlbnRlcih2 YSwgc3RhcnQpOwpAQCAtNzcyLDYgKzc4Myw3IEBACiAJKnZpcnQgPSB2YTsKIAlyZXR1cm4gKHN2 YSk7CiB9CisjZW5kaWYKIAogLyoKICAqIEFkZCBhIGxpc3Qgb2Ygd2lyZWQgcGFnZXMgdG8gdGhl IGt2YQpAQCAtMjAyNyw5ICsyMDM5LDIwIEBACiAgKiBNYWtlIGEgdGVtcG9yYXJ5IG1hcHBpbmcg Zm9yIGEgcGh5c2ljYWwgYWRkcmVzcy4gIFRoaXMgaXMgb25seSBpbnRlbmRlZAogICogdG8gYmUg dXNlZCBmb3IgcGFuaWMgZHVtcHMuCiAgKi8KKyNpZiBkZWZpbmVkKF9fbWlwc19uNjQpCiB2b2lk ICoKIHBtYXBfa2VudGVyX3RlbXBvcmFyeSh2bV9wYWRkcl90IHBhLCBpbnQgaSkKIHsKKwlyZXR1 cm4gKCh2b2lkICopTUlQU19QSFlTX1RPX1hLUEhZU19DQUNIRUQocGEpKTsKK30KK3ZvaWQKK3Bt YXBfa2VudGVyX3RlbXBvcmFyeV9mcmVlKHZtX3BhZGRyX3QgcGEpCit7Cit9CisjZWxzZQordm9p ZCAqCitwbWFwX2tlbnRlcl90ZW1wb3Jhcnkodm1fcGFkZHJfdCBwYSwgaW50IGkpCit7CiAJdm1f b2Zmc2V0X3QgdmE7CiAJcmVnaXN0ZXJfdCBpbnRyOwogCWlmIChpICE9IDApCkBAIC0yMDg3LDYg KzIxMTAsNyBAQAogCQlzeXNtLT52YWxpZDEgPSAwOwogCX0KIH0KKyNlbmRpZgogCiAvKgogICog TW92ZWQgdGhlIGNvZGUgdG8gTWFjaGluZSBJbmRlcGVuZGVudApAQCAtMjE5MywxMSArMjIxNywy MyBAQAogICoJcG1hcF96ZXJvX3BhZ2UgemVyb3MgdGhlIHNwZWNpZmllZCBoYXJkd2FyZSBwYWdl IGJ5IG1hcHBpbmcKICAqCXRoZSBwYWdlIGludG8gS1ZNIGFuZCB1c2luZyBiemVybyB0byBjbGVh ciBpdHMgY29udGVudHMuCiAgKi8KKyNpZiBkZWZpbmVkIChfX21pcHNfbjY0KQogdm9pZAogcG1h cF96ZXJvX3BhZ2Uodm1fcGFnZV90IG0pCiB7CiAJdm1fb2Zmc2V0X3QgdmE7CiAJdm1fcGFkZHJf dCBwaHlzID0gVk1fUEFHRV9UT19QSFlTKG0pOworCisJdmEgPSBNSVBTX1BIWVNfVE9fWEtQSFlT X0NBQ0hFRChwaHlzKTsKKwliemVybygoY2FkZHJfdCl2YSwgUEFHRV9TSVpFKTsKKwltaXBzX2Rj YWNoZV93Ymludl9yYW5nZSh2YSwgUEFHRV9TSVpFKTsKK30KKyNlbHNlCit2b2lkCitwbWFwX3pl cm9fcGFnZSh2bV9wYWdlX3QgbSkKK3sKKwl2bV9vZmZzZXRfdCB2YTsKKwl2bV9wYWRkcl90IHBo eXMgPSBWTV9QQUdFX1RPX1BIWVMobSk7CiAJcmVnaXN0ZXJfdCBpbnRyOwogCiAJaWYgKHBoeXMg PCBNSVBTX0tTRUcwX0xBUkdFU1RfUEhZUykgewpAQCAtMjIxNCwxOCArMjI1MCwzMCBAQAogCQlQ TUFQX0xNRU1fVU5NQVAoKTsKIAl9CiB9Ci0KKyNlbmRpZgogLyoKICAqCXBtYXBfemVyb19wYWdl X2FyZWEgemVyb3MgdGhlIHNwZWNpZmllZCBoYXJkd2FyZSBwYWdlIGJ5IG1hcHBpbmcKICAqCXRo ZSBwYWdlIGludG8gS1ZNIGFuZCB1c2luZyBiemVybyB0byBjbGVhciBpdHMgY29udGVudHMuCiAg KgogICoJb2ZmIGFuZCBzaXplIG1heSBub3QgY292ZXIgYW4gYXJlYSBiZXlvbmQgYSBzaW5nbGUg aGFyZHdhcmUgcGFnZS4KICAqLworI2lmIGRlZmluZWQgKF9fbWlwc19uNjQpCiB2b2lkCiBwbWFw X3plcm9fcGFnZV9hcmVhKHZtX3BhZ2VfdCBtLCBpbnQgb2ZmLCBpbnQgc2l6ZSkKIHsKIAl2bV9v ZmZzZXRfdCB2YTsKIAl2bV9wYWRkcl90IHBoeXMgPSBWTV9QQUdFX1RPX1BIWVMobSk7CisKKwl2 YSA9IE1JUFNfUEhZU19UT19YS1BIWVNfQ0FDSEVEKHBoeXMpOworCWJ6ZXJvKChjaGFyICopKGNh ZGRyX3QpdmEgKyBvZmYsIHNpemUpOworCW1pcHNfZGNhY2hlX3diaW52X3JhbmdlKHZhICsgb2Zm LCBzaXplKTsKK30KKyNlbHNlCit2b2lkCitwbWFwX3plcm9fcGFnZV9hcmVhKHZtX3BhZ2VfdCBt LCBpbnQgb2ZmLCBpbnQgc2l6ZSkKK3sKKwl2bV9vZmZzZXRfdCB2YTsKKwl2bV9wYWRkcl90IHBo eXMgPSBWTV9QQUdFX1RPX1BIWVMobSk7CiAJcmVnaXN0ZXJfdCBpbnRyOwogCiAJaWYgKHBoeXMg PCBNSVBTX0tTRUcwX0xBUkdFU1RfUEhZUykgewpAQCAtMjI0MSwxMiArMjI4OSwyNSBAQAogCQlQ TUFQX0xNRU1fVU5NQVAoKTsKIAl9CiB9CisjZW5kaWYKIAorI2lmIGRlZmluZWQgKF9fbWlwc19u NjQpCiB2b2lkCiBwbWFwX3plcm9fcGFnZV9pZGxlKHZtX3BhZ2VfdCBtKQogewogCXZtX29mZnNl dF90IHZhOwogCXZtX3BhZGRyX3QgcGh5cyA9IFZNX1BBR0VfVE9fUEhZUyhtKTsKKworCXZhID0g TUlQU19QSFlTX1RPX1hLUEhZU19DQUNIRUQocGh5cyk7CisJYnplcm8oKGNhZGRyX3QpdmEsIFBB R0VfU0laRSk7CisJbWlwc19kY2FjaGVfd2JpbnZfcmFuZ2UodmEsIFBBR0VfU0laRSk7Cit9Cisj ZWxzZQordm9pZAorcG1hcF96ZXJvX3BhZ2VfaWRsZSh2bV9wYWdlX3QgbSkKK3sKKwl2bV9vZmZz ZXRfdCB2YTsKKwl2bV9wYWRkcl90IHBoeXMgPSBWTV9QQUdFX1RPX1BIWVMobSk7CiAJcmVnaXN0 ZXJfdCBpbnRyOwogCiAJaWYgKHBoeXMgPCBNSVBTX0tTRUcwX0xBUkdFU1RfUEhZUykgewpAQCAt MjI2Miw2ICsyMzIzLDcgQEAKIAkJUE1BUF9MTUVNX1VOTUFQKCk7CiAJfQogfQorI2VuZGlmCiAK IC8qCiAgKglwbWFwX2NvcHlfcGFnZSBjb3BpZXMgdGhlIHNwZWNpZmllZCAobWFjaGluZSBpbmRl cGVuZGVudCkKQEAgLTIyNjksMTIgKzIzMzEsMjggQEAKICAqCWJjb3B5IHRvIGNvcHkgdGhlIHBh Z2UsIG9uZSBtYWNoaW5lIGRlcGVuZGVudCBwYWdlIGF0IGEKICAqCXRpbWUuCiAgKi8KKyNpZiBk ZWZpbmVkIChfX21pcHNfbjY0KQogdm9pZAogcG1hcF9jb3B5X3BhZ2Uodm1fcGFnZV90IHNyYywg dm1fcGFnZV90IGRzdCkKIHsKIAl2bV9vZmZzZXRfdCB2YV9zcmMsIHZhX2RzdDsKIAl2bV9wYWRk cl90IHBoeV9zcmMgPSBWTV9QQUdFX1RPX1BIWVMoc3JjKTsKIAl2bV9wYWRkcl90IHBoeV9kc3Qg PSBWTV9QQUdFX1RPX1BIWVMoZHN0KTsKKworCXBtYXBfZmx1c2hfcHZjYWNoZShzcmMpOworCW1p cHNfZGNhY2hlX3diaW52X3JhbmdlX2luZGV4KE1JUFNfUEhZU19UT19YS1BIWVNfQ0FDSEVEKHBo eV9kc3QpLCBQQUdFX1NJWkUpOworCXZhX3NyYyA9IE1JUFNfUEhZU19UT19YS1BIWVNfQ0FDSEVE KHBoeV9zcmMpOworCXZhX2RzdCA9IE1JUFNfUEhZU19UT19YS1BIWVNfQ0FDSEVEKHBoeV9kc3Qp OworCWJjb3B5KChjYWRkcl90KXZhX3NyYywgKGNhZGRyX3QpdmFfZHN0LCBQQUdFX1NJWkUpOwor CW1pcHNfZGNhY2hlX3diaW52X3JhbmdlKHZhX2RzdCwgUEFHRV9TSVpFKTsKK30KKyNlbHNlCit2 b2lkCitwbWFwX2NvcHlfcGFnZSh2bV9wYWdlX3Qgc3JjLCB2bV9wYWdlX3QgZHN0KQoreworCXZt X29mZnNldF90IHZhX3NyYywgdmFfZHN0OworCXZtX3BhZGRyX3QgcGh5X3NyYyA9IFZNX1BBR0Vf VE9fUEhZUyhzcmMpOworCXZtX3BhZGRyX3QgcGh5X2RzdCA9IFZNX1BBR0VfVE9fUEhZUyhkc3Qp OwogCXJlZ2lzdGVyX3QgaW50cjsKIAogCWlmICgocGh5X3NyYyA8IE1JUFNfS1NFRzBfTEFSR0VT VF9QSFlTKSAmJiAocGh5X2RzdCA8IE1JUFNfS1NFRzBfTEFSR0VTVF9QSFlTKSkgewpAQCAtMjI5 OSw2ICsyMzc3LDcgQEAKIAkJUE1BUF9MTUVNX1VOTUFQKCk7CiAJfQogfQorI2VuZGlmCiAKIC8q CiAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIHBtYXAncyBwdiBpcyBvbmUgb2YgdGhlIGZpcnN0CkBA IC0yNzA1LDkgKzI3ODQsMjEgQEAKICAqIHJvdXRpbmUgaXMgaW50ZW5kZWQgdG8gYmUgdXNlZCBm b3IgbWFwcGluZyBkZXZpY2UgbWVtb3J5LAogICogTk9UIHJlYWwgbWVtb3J5LgogICovCisjaWYg ZGVmaW5lZChfX21pcHNfbjY0KQogdm9pZCAqCiBwbWFwX21hcGRldih2bV9vZmZzZXRfdCBwYSwg dm1fc2l6ZV90IHNpemUpCiB7CisJcmV0dXJuICgodm9pZCAqKU1JUFNfUEhZU19UT19YS1BIWVNf VU5DQUNIRUQocGEpKTsKK30KKwordm9pZAorcG1hcF91bm1hcGRldih2bV9vZmZzZXRfdCB2YSwg dm1fc2l6ZV90IHNpemUpCit7Cit9CisjZWxzZQordm9pZCAqCitwbWFwX21hcGRldih2bV9vZmZz ZXRfdCBwYSwgdm1fc2l6ZV90IHNpemUpCit7CiAgICAgICAgIHZtX29mZnNldF90IHZhLCB0bXB2 YSwgb2Zmc2V0OwogCiAJLyogCkBAIC0yNzUxLDYgKzI4NDIsNyBAQAogCQlwbWFwX2tyZW1vdmUo dG1wdmEpOwogCWttZW1fZnJlZShrZXJuZWxfbWFwLCBiYXNlLCBzaXplKTsKIH0KKyNlbmRpZgog CiAvKgogICogcGVyZm9ybSB0aGUgcG1hcCB3b3JrIGZvciBtaW5jb3JlCkBAIC0zMDY3LDYgKzMx NTksNyBAQAogCVBIWVNfVE9fVk1fUEFHRShwYSktPm1kLnB2X2ZsYWdzIHw9IChQVl9UQUJMRV9S RUYgfCBQVl9UQUJMRV9NT0QpOwogfQogCisKIC8qCiAgKglSb3V0aW5lOglwbWFwX2tleHRyYWN0 CiAgKglGdW5jdGlvbjoKQEAgLTMwNzYsNDEgKzMxNjksNjggQEAKICAvKiBQTUFQX0lOTElORSAq LyB2bV9vZmZzZXRfdAogcG1hcF9rZXh0cmFjdCh2bV9vZmZzZXRfdCB2YSkKIHsKLQl2bV9vZmZz ZXRfdCBwYSA9IDA7CisJaW50IG1hcHBlZDsKIAotCWlmICh2YSA8IE1JUFNfS1NFRzBfU1RBUlQp IHsKLQkJLyogdXNlciB2aXJ0dWFsIGFkZHJlc3MgKi8KKwkvKgorCSAqIEZpcnN0LCB0aGUgZGly ZWN0LW1hcHBlZCByZWdpb25zLgorCSAqLworI2lmIGRlZmluZWQoX19taXBzX242NCkKKwlpZiAo dmEgPj0gTUlQU19YS1BIWVNfU1RBUlQgJiYgdmEgPCBNSVBTX1hLUEhZU19FTkQpCisJCXJldHVy biAoTUlQU19YS1BIWVNfVE9fUEhZUyh2YSkpOworI2VuZGlmCisKKwlpZiAodmEgPj0gTUlQU19L U0VHMF9TVEFSVCAmJiB2YSA8IE1JUFNfS1NFRzBfRU5EKQorCQlyZXR1cm4gKE1JUFNfS1NFRzBf VE9fUEhZUyh2YSkpOworCisJaWYgKHZhID49IE1JUFNfS1NFRzFfU1RBUlQgJiYgdmEgPCBNSVBT X0tTRUcxX0VORCkKKwkJcmV0dXJuIChNSVBTX0tTRUcxX1RPX1BIWVModmEpKTsKKworCS8qCisJ ICogVXNlciB2aXJ0dWFsIGFkZHJlc3Nlcy4KKwkgKi8KKwlpZiAodmEgPCBWTV9NQVhVU0VSX0FE RFJFU1MpIHsKIAkJcHRfZW50cnlfdCAqcHRlcDsKIAogCQlpZiAoY3VycHJvYyAmJiBjdXJwcm9j LT5wX3Ztc3BhY2UpIHsKIAkJCXB0ZXAgPSBwbWFwX3B0ZSgmY3VycHJvYy0+cF92bXNwYWNlLT52 bV9wbWFwLCB2YSk7Ci0JCQlpZiAocHRlcCkKLQkJCQlwYSA9IFRMQkxPX1BURV9UT19QQSgqcHRl cCkgfAotCQkJCSAgICAodmEgJiBQQUdFX01BU0spOworCQkJaWYgKHB0ZXApIHsKKwkJCQlyZXR1 cm4gKFRMQkxPX1BURV9UT19QQSgqcHRlcCkgfAorCQkJCSAgICAodmEgJiBQQUdFX01BU0spKTsK KwkJCX0KKwkJCXJldHVybiAoMCk7CiAJCX0KLQl9IGVsc2UgaWYgKHZhID49IE1JUFNfS1NFRzBf U1RBUlQgJiYKLQkgICAgdmEgPCBNSVBTX0tTRUcxX1NUQVJUKQotCQlwYSA9IE1JUFNfS1NFRzBf VE9fUEhZUyh2YSk7Ci0JZWxzZSBpZiAodmEgPj0gTUlQU19LU0VHMV9TVEFSVCAmJgotCSAgICB2 YSA8IE1JUFNfS1NFRzJfU1RBUlQpCi0JCXBhID0gTUlQU19LU0VHMV9UT19QSFlTKHZhKTsKLQll bHNlIGlmICh2YSA+PSBNSVBTX0tTRUcyX1NUQVJUICYmIHZhIDwgVk1fTUFYX0tFUk5FTF9BRERS RVNTKSB7CisJfQorCisJLyoKKwkgKiBTaG91bGQgYmUga2VybmVsIHZpcnR1YWwgaGVyZSwgb3Ro ZXJ3aXNlIGZhaWwKKwkgKi8KKwltYXBwZWQgPSAodmEgPj0gTUlQU19LU0VHMl9TVEFSVCB8fCB2 YSA8IE1JUFNfS1NFRzJfRU5EKTsKKyNpZiBkZWZpbmVkKF9fbWlwc19uNjQpCisJbWFwcGVkID0g bWFwcGVkIHx8ICh2YSA+PSBNSVBTX1hLU0VHX1NUQVJUIHx8IHZhIDwgTUlQU19YS1NFR19FTkQp OworI2VuZGlmIAorCS8qCisJICogS2VybmVsIHZpcnR1YWwuCisJICovCisKKwlpZiAobWFwcGVk KSB7CiAJCXB0X2VudHJ5X3QgKnB0ZXA7CiAKIAkJLyogSXMgdGhlIGtlcm5lbCBwbWFwIGluaXRp YWxpemVkPyAqLwogCQlpZiAoa2VybmVsX3BtYXAtPnBtX2FjdGl2ZSkgewotCQkJLyogSXRzIGlu c2lkZSB0aGUgdmlydHVhbCBhZGRyZXNzIHJhbmdlICovCisJCQkvKiBJdCdzIGluc2lkZSB0aGUg dmlydHVhbCBhZGRyZXNzIHJhbmdlICovCiAJCQlwdGVwID0gcG1hcF9wdGUoa2VybmVsX3BtYXAs IHZhKTsKIAkJCWlmIChwdGVwKSB7CiAJCQkJcmV0dXJuIChUTEJMT19QVEVfVE9fUEEoKnB0ZXAp IHwKIAkJCQkgICAgKHZhICYgUEFHRV9NQVNLKSk7CiAJCQl9Ci0JCQlyZXR1cm4gKDApOwogCQl9 CisJCXJldHVybiAoMCk7CiAJfQotCXJldHVybiBwYTsKKworCXBhbmljKCIlcyBmb3IgdW5rbm93 biBhZGRyZXNzIHNwYWNlICVwLiIsIF9fZnVuY19fLCAodm9pZCAqKXZhKTsKIH0KIAorCiB2b2lk IAogcG1hcF9mbHVzaF9wdmNhY2hlKHZtX3BhZ2VfdCBtKQogewo= --e0cb4e887827a90f16048acf6235 Content-Type: text/x-patch; charset=US-ASCII; name="runq-64.patch" Content-Disposition: attachment; filename="runq-64.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gbcfinv29 SW5kZXg6IHN5cy9taXBzL2luY2x1ZGUvcnVucS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9taXBzL2lu Y2x1ZGUvcnVucS5oCShyZXZpc2lvbiAyMDk3NTYpCisrKyBzeXMvbWlwcy9pbmNsdWRlL3J1bnEu aAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTEgKzMwLDE2IEBACiAjaWZuZGVmIF9NQUNISU5FX1JV TlFfSF8KICNkZWZpbmUJX01BQ0hJTkVfUlVOUV9IXwogCisjaWYgZGVmaW5lZChfX21pcHNfbjY0 KQorI2RlZmluZQlSUUJfTEVOCQkoMSkJCS8qIE51bWJlciBvZiBwcmlvcml0eSBzdGF0dXMgd29y ZHMuICovCisjZGVmaW5lCVJRQl9MMkJQVwkoNikJCS8qIExvZzIoc2l6ZW9mKHJxYl93b3JkX3Qp ICogTkJCWSkpLiAqLworI2Vsc2UKICNkZWZpbmUJUlFCX0xFTgkJKDIpCQkvKiBOdW1iZXIgb2Yg cHJpb3JpdHkgc3RhdHVzIHdvcmRzLiAqLwogI2RlZmluZQlSUUJfTDJCUFcJKDUpCQkvKiBMb2cy KHNpemVvZihycWJfd29yZF90KSAqIE5CQlkpKS4gKi8KKyNlbmRpZgogI2RlZmluZQlSUUJfQlBX CQkoMTw8UlFCX0wyQlBXKQkvKiBCaXRzIGluIGFuIHJxYl93b3JkX3QuICovCiAKLSNkZWZpbmUJ UlFCX0JJVChwcmkpCSgxIDw8ICgocHJpKSAmIChSUUJfQlBXIC0gMSkpKQorI2RlZmluZQlSUUJf QklUKHByaSkJKDF1bCA8PCAoKHByaSkgJiAoUlFCX0JQVyAtIDEpKSkKICNkZWZpbmUJUlFCX1dP UkQocHJpKQkoKHByaSkgPj4gUlFCX0wyQlBXKQogCiAjZGVmaW5lCVJRQl9GRlMod29yZCkJKGZm cyh3b3JkKSAtIDEpCkBAIC00Miw2ICs0NywxMCBAQAogLyoKICAqIFR5cGUgb2YgcnVuIHF1ZXVl IHN0YXR1cyB3b3JkLgogICovCi10eXBlZGVmIHVfaW50MzJfdAlycWJfd29yZF90OworI2lmIGRl ZmluZWQoX19taXBzX242NCkKK3R5cGVkZWYJdV9pbnQ2NF90CXJxYl93b3JkX3Q7CisjZWxzZQor dHlwZWRlZgl1X2ludDMyX3QJcnFiX3dvcmRfdDsKKyNlbmRpZgogCiAjZW5kaWYK --e0cb4e887827a90f16048acf6235 Content-Type: text/x-patch; charset=US-ASCII; name="ldscript-64.patch" Content-Disposition: attachment; filename="ldscript-64.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gbcfkj1x10 SW5kZXg6IHN5cy9jb25mL2xkc2NyaXB0Lm1pcHMuNjQKPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3lzL2NvbmYv bGRzY3JpcHQubWlwcy42NAkocmV2aXNpb24gMCkKKysrIHN5cy9jb25mL2xkc2NyaXB0Lm1pcHMu NjQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzAxIEBACisvKi0KKyAqIENvcHlyaWdodCAoYykg MjAwMSwgMjAwNCwgMjAwOCwgSnVuaXBlciBOZXR3b3JrcywgSW5jLgorICogQWxsIHJpZ2h0cyBy ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg dGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIEp1bmlwZXIg TmV0d29ya3MsIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqICAgIGNvbnRyaWJ1dG9ycyBt YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisg KiAgICB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgSlVOSVBFUiBORVRXT1JL UyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJ RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBKVU5J UEVSIE5FVFdPUktTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKyAqIEZPUiBBTlkgRElSRUNU LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U SUFMCisgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F TlQgT0YgU1VCU1RJVFVURSBHT09EUworICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisgKiBIT1dFVkVSIENBVVNF RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU UklDVAorICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1B R0UuCisgKgorICoJSk5QUjogbGRzY3JpcHQubWlwcyx2IDEuMyAyMDA2LzEwLzExIDA2OjEyOjA0 CisgKiAkRnJlZUJTRDogaGVhZC9zeXMvY29uZi9sZHNjcmlwdC5taXBzLm4zMiAyMDk1MDIgMjAx MC0wNi0yNCAxMDoxNDozMVogamNoYW5kcmEgJAorICovCisKK09VVFBVVF9GT1JNQVQoImVsZjY0 LXRyYWRiaWdtaXBzIiwgImVsZjY0LXRyYWRiaWdtaXBzIiwgImVsZjY0LXRyYWRsaXR0bGVtaXBz IikKK09VVFBVVF9BUkNIKG1pcHMpCitFTlRSWShfc3RhcnQpCitTRUFSQ0hfRElSKC91c3IvbGli KTsKKy8qIERvIHdlIG5lZWQgYW55IG9mIHRoZXNlIGZvciBlbGY/CisgICBfX0RZTkFNSUMgPSAw OworUFJPVklERSAoX0RZTkFNSUMgPSAwKTsKKyovCitTRUNUSU9OUworeworICAvKiBSZWFkLW9u bHkgc2VjdGlvbnMsIG1lcmdlZCBpbnRvIHRleHQgc2VnbWVudDogKi8KKyAgLiA9IEtFUk5MT0FE QUREUiArIFNJWkVPRl9IRUFERVJTOworICAudGV4dCAgICAgIDoKKyAgeworICAgICooLnRyYXAp CisgICAgKigudGV4dCkKKyAgICAqKC50ZXh0LiopCisgICAgKiguc3R1YikKKyAgICAvKiAuZ251 Lndhcm5pbmcgc2VjdGlvbnMgYXJlIGhhbmRsZWQgc3BlY2lhbGx5IGJ5IGVsZjMyLmVtLiAgKi8K KyAgICAqKC5nbnUud2FybmluZykKKyAgICAqKC5nbnUubGlua29uY2UudC4qKQorICB9ID0weDEw MDAwMDAKKyAgLmZpbmkgICAgICA6CisgIHsKKyAgICBLRUVQICgqKC5maW5pKSkKKyAgfSA9MHgx MDAwMDAwCisgIFBST1ZJREUgKF9fZXRleHQgPSAuKTsKKyAgUFJPVklERSAoX2V0ZXh0ID0gLik7 CisgIFBST1ZJREUgKGV0ZXh0ID0gLik7CisgIC5yb2RhdGEgICA6IHsgKigucm9kYXRhKSAqKC5y b2RhdGEuKikgKiguZ251LmxpbmtvbmNlLnIuKikgfQorICAucm9kYXRhMSAgIDogeyAqKC5yb2Rh dGExKSB9CisgIC5pbnRlcnAgICAgIDogeyAqKC5pbnRlcnApIAl9CisgIC5oYXNoICAgICAgICAg IDogeyAqKC5oYXNoKQkJfQorICAuZHluc3ltICAgICAgICA6IHsgKiguZHluc3ltKQkJfQorICAu ZHluc3RyICAgICAgICA6IHsgKiguZHluc3RyKQkJfQorICAuZ251LnZlcnNpb24gICA6IHsgKigu Z251LnZlcnNpb24pCX0KKyAgLmdudS52ZXJzaW9uX2QgICA6IHsgKiguZ251LnZlcnNpb25fZCkJ fQorICAuZ251LnZlcnNpb25fciAgIDogeyAqKC5nbnUudmVyc2lvbl9yKQl9CisgIC5yZWwuaW5p dCAgICAgIDogeyAqKC5yZWwuaW5pdCkJfQorICAucmVsYS5pbml0ICAgICA6IHsgKigucmVsYS5p bml0KQl9CisgIC5yZWwudGV4dCAgICAgIDoKKyAgICB7CisgICAgICAqKC5yZWwudGV4dCkKKyAg ICAgICooLnJlbC50ZXh0LiopCisgICAgICAqKC5yZWwuZ251LmxpbmtvbmNlLnQuKikKKyAgICB9 CisgIC5yZWxhLnRleHQgICAgIDoKKyAgICB7CisgICAgICAqKC5yZWxhLnRleHQpCisgICAgICAq KC5yZWxhLnRleHQuKikKKyAgICAgICooLnJlbGEuZ251LmxpbmtvbmNlLnQuKikKKyAgICB9Cisg IC5yZWwuZmluaSAgICAgIDogeyAqKC5yZWwuZmluaSkJfQorICAucmVsYS5maW5pICAgICA6IHsg KigucmVsYS5maW5pKQl9CisgIC5yZWwucm9kYXRhICAgIDoKKyAgICB7CisgICAgICAqKC5yZWwu cm9kYXRhKQorICAgICAgKigucmVsLnJvZGF0YS4qKQorICAgICAgKigucmVsLmdudS5saW5rb25j ZS5yLiopCisgICAgfQorICAucmVsYS5yb2RhdGEgICA6CisgICAgeworICAgICAgKigucmVsYS5y b2RhdGEpCisgICAgICAqKC5yZWxhLnJvZGF0YS4qKQorICAgICAgKigucmVsYS5nbnUubGlua29u Y2Uuci4qKQorICAgIH0KKyAgLnJlbC5kYXRhICAgICAgOgorICAgIHsKKyAgICAgICooLnJlbC5k YXRhKQorICAgICAgKigucmVsLmRhdGEuKikKKyAgICAgICooLnJlbC5nbnUubGlua29uY2UuZC4q KQorICAgIH0KKyAgLnJlbGEuZGF0YSAgICAgOgorICAgIHsKKyAgICAgICooLnJlbGEuZGF0YSkK KyAgICAgICooLnJlbGEuZGF0YS4qKQorICAgICAgKigucmVsYS5nbnUubGlua29uY2UuZC4qKQor ICAgIH0KKyAgLnJlbC5jdG9ycyAgICAgOiB7ICooLnJlbC5jdG9ycykJfQorICAucmVsYS5jdG9y cyAgICA6IHsgKigucmVsYS5jdG9ycykJfQorICAucmVsLmR0b3JzICAgICA6IHsgKigucmVsLmR0 b3JzKQl9CisgIC5yZWxhLmR0b3JzICAgIDogeyAqKC5yZWxhLmR0b3JzKQl9CisgIC5yZWwuZ290 ICAgICAgIDogeyAqKC5yZWwuZ290KQkJfQorICAucmVsYS5nb3QgICAgICA6IHsgKigucmVsYS5n b3QpCQl9CisgIC5yZWwuc2RhdGEgICAgIDoKKyAgICB7CisgICAgICAqKC5yZWwuc2RhdGEpCisg ICAgICAqKC5yZWwuc2RhdGEuKikKKyAgICAgICooLnJlbC5nbnUubGlua29uY2Uucy4qKQorICAg IH0KKyAgLnJlbGEuc2RhdGEgICAgIDoKKyAgICB7CisgICAgICAqKC5yZWxhLnNkYXRhKQorICAg ICAgKigucmVsYS5zZGF0YS4qKQorICAgICAgKigucmVsYS5nbnUubGlua29uY2Uucy4qKQorICAg IH0KKyAgLnJlbC5zYnNzICAgICAgOgorICAgIHsgCisgICAgICAqKC5yZWwuc2JzcykKKyAgICAg ICooLnJlbC5zYnNzLiopCisgICAgICAqKC5yZWwuZ251LmxpbmtvbmNlLnNiLiopCisgICAgfQor ICAucmVsYS5zYnNzICAgICA6CisgICAgeworICAgICAgKigucmVsYS5zYnNzKQorICAgICAgKigu cmVsYS5zYnNzLiopCisgICAgICAqKC5yZWwuZ251LmxpbmtvbmNlLnNiLiopCisgICAgfQorICAu cmVsLnNkYXRhMiAgICA6IAorICAgIHsgCisgICAgICAqKC5yZWwuc2RhdGEyKQorICAgICAgKigu cmVsLnNkYXRhMi4qKQorICAgICAgKigucmVsLmdudS5saW5rb25jZS5zMi4qKQorICAgIH0KKyAg LnJlbGEuc2RhdGEyICAgOiAKKyAgICB7CisgICAgICAqKC5yZWxhLnNkYXRhMikKKyAgICAgICoo LnJlbGEuc2RhdGEyLiopCisgICAgICAqKC5yZWxhLmdudS5saW5rb25jZS5zMi4qKQorICAgIH0K KyAgLnJlbC5zYnNzMiAgICAgOiAKKyAgICB7IAorICAgICAgKigucmVsLnNic3MyKQkKKyAgICAg ICooLnJlbC5zYnNzMi4qKQorICAgICAgKigucmVsLmdudS5saW5rb25jZS5zYjIuKikKKyAgICB9 CisgIC5yZWxhLnNic3MyICAgIDogCisgICAgeyAKKyAgICAgICooLnJlbGEuc2JzczIpCQorICAg ICAgKigucmVsYS5zYnNzMi4qKQorICAgICAgKigucmVsYS5nbnUubGlua29uY2Uuc2IyLiopCisg ICAgfQorICAucmVsLmJzcyAgICAgICA6IAorICAgIHsgCisgICAgICAqKC5yZWwuYnNzKQorICAg ICAgKigucmVsLmJzcy4qKQorICAgICAgKigucmVsLmdudS5saW5rb25jZS5iLiopCisgICAgfQor ICAucmVsYS5ic3MgICAgICA6IAorICAgIHsgCisgICAgICAqKC5yZWxhLmJzcykKKyAgICAgICoo LnJlbGEuYnNzLiopCisgICAgICAqKC5yZWxhLmdudS5saW5rb25jZS5iLiopCisgICAgfQorICAu cmVsLnBsdCAgICAgICA6IHsgKigucmVsLnBsdCkJCX0KKyAgLnJlbGEucGx0ICAgICAgOiB7ICoo LnJlbGEucGx0KQkJfQorICAuaW5pdCAgICAgICAgICA6IAorICB7IAorICAgIEtFRVAgKCooLmlu aXQpKQorICB9ID0weDEwMDAwMDAKKyAgLnJlZ2luZm8gOiB7ICooLnJlZ2luZm8pIH0KKyAgLnNk YXRhMiAgIDogeyAqKC5zZGF0YTIpICooLnNkYXRhMi4qKSAqKC5nbnUubGlua29uY2UuczIuKikg fQorICAuc2JzczIgICA6IHsgKiguc2JzczIpICooLnNic3MyLiopICooLmdudS5saW5rb25jZS5z YjIuKikgfQorICAuID0gQUxJR04oMHgyMDAwKSArICguICYgKDB4MjAwMCAtIDEpKTsKKyAgLmRh dGEgICAgOgorICB7CisgICAgKiguZGF0YSkKKyAgICAqKC5kYXRhLiopCisgICAgKiguZ251Lmxp bmtvbmNlLmQuKikKKyAgICBTT1JUKENPTlNUUlVDVE9SUykKKyAgfQorICAuZGF0YTEgICA6IHsg KiguZGF0YTEpIH0KKyAgLmVoX2ZyYW1lIDogeyBLRUVQICgqKC5laF9mcmFtZSkpIH0KKyAgLmdj Y19leGNlcHRfdGFibGUgOiB7ICooLmdjY19leGNlcHRfdGFibGUpIH0KKyAgLmN0b3JzICAgOiAK KyAgeworICAgIC8qIGdjYyB1c2VzIGNydGJlZ2luLm8gdG8gZmluZCB0aGUgc3RhcnQgb2YKKyAg ICAgICB0aGUgY29uc3RydWN0b3JzLCBzbyB3ZSBtYWtlIHN1cmUgaXQgaXMKKyAgICAgICBmaXJz dC4gIEJlY2F1c2UgdGhpcyBpcyBhIHdpbGRjYXJkLCBpdAorICAgICAgIGRvZXNuJ3QgbWF0dGVy IGlmIHRoZSB1c2VyIGRvZXMgbm90CisgICAgICAgYWN0dWFsbHkgbGluayBhZ2FpbnN0IGNydGJl Z2luLm87IHRoZQorICAgICAgIGxpbmtlciB3b24ndCBsb29rIGZvciBhIGZpbGUgdG8gbWF0Y2gg YQorICAgICAgIHdpbGRjYXJkLiAgVGhlIHdpbGRjYXJkIGFsc28gbWVhbnMgdGhhdCBpdAorICAg ICAgIGRvZXNuJ3QgbWF0dGVyIHdoaWNoIGRpcmVjdG9yeSBjcnRiZWdpbi5vCisgICAgICAgaXMg aW4uICAqLworICAgIEtFRVAgKCpjcnRiZWdpbi5vKC5jdG9ycykpCisgICAgLyogV2UgZG9uJ3Qg d2FudCB0byBpbmNsdWRlIHRoZSAuY3RvciBzZWN0aW9uIGZyb20KKyAgICAgICBmcm9tIHRoZSBj cnRlbmQubyBmaWxlIHVudGlsIGFmdGVyIHRoZSBzb3J0ZWQgY3RvcnMuCisgICAgICAgVGhlIC5j dG9yIHNlY3Rpb24gZnJvbSB0aGUgY3J0ZW5kIGZpbGUgY29udGFpbnMgdGhlCisgICAgICAgZW5k IG9mIGN0b3JzIG1hcmtlciBhbmQgaXQgbXVzdCBiZSBsYXN0ICovCisgICAgS0VFUCAoKihFWENM VURFX0ZJTEUgKCpjcnRlbmQubyApIC5jdG9ycykpCisgICAgS0VFUCAoKihTT1JUKC5jdG9ycy4q KSkpCisgICAgS0VFUCAoKiguY3RvcnMpKQorICB9CisgICAuZHRvcnMgICAgICAgICA6CisgIHsK KyAgICBLRUVQICgqY3J0YmVnaW4ubyguZHRvcnMpKQorICAgIEtFRVAgKCooRVhDTFVERV9GSUxF ICgqY3J0ZW5kLm8gKSAuZHRvcnMpKQorICAgIEtFRVAgKCooU09SVCguZHRvcnMuKikpKQorICAg IEtFRVAgKCooLmR0b3JzKSkKKyAgfQorICAucGx0ICAgICAgOiB7ICooLnBsdCkJfQorICBfZ3Ag PSBBTElHTigxNikgKyAweDdmZjA7CisgIC5nb3QJCSAgOiB7ICooLmdvdC5wbHQpICooLmdvdCkg fQorICAuZHluYW1pYyAgICAgICA6IHsgKiguZHluYW1pYykgfQorICAvKiBXZSB3YW50IHRoZSBz bWFsbCBkYXRhIHNlY3Rpb25zIHRvZ2V0aGVyLCBzbyBzaW5nbGUtaW5zdHJ1Y3Rpb24gb2Zmc2V0 cworICAgICBjYW4gYWNjZXNzIHRoZW0gYWxsLCBhbmQgaW5pdGlhbGl6ZWQgZGF0YSBhbGwgYmVm b3JlIHVuaW5pdGlhbGl6ZWQsIHNvCisgICAgIHdlIGNhbiBzaG9ydGVuIHRoZSBvbi1kaXNrIHNl Z21lbnQgc2l6ZS4gICovCisgIC5zZGF0YSAgICAgOiAKKyAgeworICAgICooLnNkYXRhKSAKKyAg ICAqKC5zZGF0YS4qKQorICAgICooLmdudS5saW5rb25jZS5zLiopCisgIH0KKyAgX2VkYXRhID0g LjsKKyAgUFJPVklERSAoZWRhdGEgPSAuKTsKKyAgX19ic3Nfc3RhcnQgPSAuOworICAuc2JzcyAg ICAgIDoKKyAgeworICAgIFBST1ZJREUgKF9fc2Jzc19zdGFydCA9IC4pOworICAgIFBST1ZJREUg KF9fX3Nic3Nfc3RhcnQgPSAuKTsKKyAgICAqKC5keW5zYnNzKQorICAgICooLnNic3MpCisgICAg Kiguc2Jzcy4qKQorICAgICooLmdudS5saW5rb25jZS5zYi4qKQorICAgICooLnNjb21tb24pCisg ICAgUFJPVklERSAoX19zYnNzX2VuZCA9IC4pOworICAgIFBST1ZJREUgKF9fX3Nic3NfZW5kID0g Lik7CisgIH0KKyAgLmJzcyAgICAgICA6CisgIHsKKyAgICooLmR5bmJzcykKKyAgICooLmJzcykK KyAgICooLmJzcy4qKQorICAgKiguZ251LmxpbmtvbmNlLmIuKikKKyAgICooQ09NTU9OKQorICAg LyogQWxpZ24gaGVyZSB0byBlbnN1cmUgdGhhdCB0aGUgLmJzcyBzZWN0aW9uIG9jY3VwaWVzIHNw YWNlIHVwIHRvCisgICAgICBfZW5kLiAgQWxpZ24gYWZ0ZXIgLmJzcyB0byBlbnN1cmUgY29ycmVj dCBhbGlnbm1lbnQgZXZlbiBpZiB0aGUKKyAgICAgIC5ic3Mgc2VjdGlvbiBkaXNhcHBlYXJzIGJl Y2F1c2UgdGhlcmUgYXJlIG5vIGlucHV0IHNlY3Rpb25zLiAgKi8KKyAgIC4gPSBBTElHTig2NCAv IDgpOworICB9CisgIC4gPSBBTElHTig2NCAvIDgpOworICBfZW5kID0gLjsKKyAgUFJPVklERSAo ZW5kID0gLik7CisgIC8qIFN0YWJzIGRlYnVnZ2luZyBzZWN0aW9ucy4gICovCisgIC5zdGFiIDAg OiB7ICooLnN0YWIpIH0KKyAgLnN0YWJzdHIgMCA6IHsgKiguc3RhYnN0cikgfQorICAuc3RhYi5l eGNsIDAgOiB7ICooLnN0YWIuZXhjbCkgfQorICAuc3RhYi5leGNsc3RyIDAgOiB7ICooLnN0YWIu ZXhjbHN0cikgfQorICAuc3RhYi5pbmRleCAwIDogeyAqKC5zdGFiLmluZGV4KSB9CisgIC5zdGFi LmluZGV4c3RyIDAgOiB7ICooLnN0YWIuaW5kZXhzdHIpIH0KKyAgLmNvbW1lbnQgMCA6IHsgKigu Y29tbWVudCkgfQorICAvKiBEV0FSRiBkZWJ1ZyBzZWN0aW9ucy4KKyAgICAgU3ltYm9scyBpbiB0 aGUgRFdBUkYgZGVidWdnaW5nIHNlY3Rpb25zIGFyZSByZWxhdGl2ZSB0byB0aGUgYmVnaW5uaW5n CisgICAgIG9mIHRoZSBzZWN0aW9uIHNvIHdlIGJlZ2luIHRoZW0gYXQgMC4gICovCisgIC8qIERX QVJGIDEgKi8KKyAgLmRlYnVnICAgICAgICAgIDAgOiB7ICooLmRlYnVnKSB9CisgIC5saW5lICAg ICAgICAgICAwIDogeyAqKC5saW5lKSB9CisgIC8qIEdOVSBEV0FSRiAxIGV4dGVuc2lvbnMgKi8K KyAgLmRlYnVnX3NyY2luZm8gIDAgOiB7ICooLmRlYnVnX3NyY2luZm8pIH0KKyAgLmRlYnVnX3Nm bmFtZXMgIDAgOiB7ICooLmRlYnVnX3NmbmFtZXMpIH0KKyAgLyogRFdBUkYgMS4xIGFuZCBEV0FS RiAyICovCisgIC5kZWJ1Z19hcmFuZ2VzICAwIDogeyAqKC5kZWJ1Z19hcmFuZ2VzKSB9CisgIC5k ZWJ1Z19wdWJuYW1lcyAwIDogeyAqKC5kZWJ1Z19wdWJuYW1lcykgfQorICAvKiBEV0FSRiAyICov CisgIC5kZWJ1Z19pbmZvICAgICAwIDogeyAqKC5kZWJ1Z19pbmZvKSAqKC5nbnUubGlua29uY2Uu d2kuKikgfQorICAuZGVidWdfYWJicmV2ICAgMCA6IHsgKiguZGVidWdfYWJicmV2KSB9CisgIC5k ZWJ1Z19saW5lICAgICAwIDogeyAqKC5kZWJ1Z19saW5lKSB9CisgIC5kZWJ1Z19mcmFtZSAgICAw IDogeyAqKC5kZWJ1Z19mcmFtZSkgfQorICAuZGVidWdfc3RyICAgICAgMCA6IHsgKiguZGVidWdf c3RyKSB9CisgIC5kZWJ1Z19sb2MgICAgICAwIDogeyAqKC5kZWJ1Z19sb2MpIH0KKyAgLmRlYnVn X21hY2luZm8gIDAgOiB7ICooLmRlYnVnX21hY2luZm8pIH0KKyAgLyogU0dJL01JUFMgRFdBUkYg MiBleHRlbnNpb25zICovCisgIC5kZWJ1Z193ZWFrbmFtZXMgMCA6IHsgKiguZGVidWdfd2Vha25h bWVzKSB9CisgIC5kZWJ1Z19mdW5jbmFtZXMgMCA6IHsgKiguZGVidWdfZnVuY25hbWVzKSB9Cisg IC5kZWJ1Z190eXBlbmFtZXMgMCA6IHsgKiguZGVidWdfdHlwZW5hbWVzKSB9CisgIC5kZWJ1Z192 YXJuYW1lcyAgMCA6IHsgKiguZGVidWdfdmFybmFtZXMpIH0KKyAgLyogVGhlc2UgbXVzdCBhcHBl YXIgcmVnYXJkbGVzcyBvZiAgLiAgKi8KK30KSW5kZXg6IHN5cy9taXBzL2NvbmYvWExSNjQKPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0gc3lzL21pcHMvY29uZi9YTFI2NAkocmV2aXNpb24gMCkKKysrIHN5cy9taXBz L2NvbmYvWExSNjQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMzIEBACisjIFhMUjY0IC0tIEtl cm5lbCBjb25maWd1cmF0aW9uIGZpbGUgZm9yIE42NCBrZXJuZWwgb24gWExSL1hMUworIworIyBG b3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGlzIGZpbGUsIHBsZWFzZSByZWFkIHRoZSBoYW5kYm9v ayBzZWN0aW9uIG9uCisjIEtlcm5lbCBDb25maWd1cmF0aW9uIEZpbGVzOgorIworIyAgICBodHRw Oi8vd3d3LkZyZWVCU0Qub3JnL2RvYy9lbl9VUy5JU084ODU5LTEvYm9va3MvaGFuZGJvb2sva2Vy bmVsY29uZmlnLWNvbmZpZy5odG1sCisjCisjIFRoZSBoYW5kYm9vayBpcyBhbHNvIGF2YWlsYWJs ZSBsb2NhbGx5IGluIC91c3Ivc2hhcmUvZG9jL2hhbmRib29rCisjIGlmIHlvdSd2ZSBpbnN0YWxs ZWQgdGhlIGRvYyBkaXN0cmlidXRpb24sIG90aGVyd2lzZSBhbHdheXMgc2VlIHRoZQorIyBGcmVl QlNEIFdvcmxkIFdpZGUgV2ViIHNlcnZlciAoaHR0cDovL3d3dy5GcmVlQlNELm9yZy8pIGZvciB0 aGUKKyMgbGF0ZXN0IGluZm9ybWF0aW9uLgorIworIyBBbiBleGhhdXN0aXZlIGxpc3Qgb2Ygb3B0 aW9ucyBhbmQgbW9yZSBkZXRhaWxlZCBleHBsYW5hdGlvbnMgb2YgdGhlCisjIGRldmljZSBsaW5l cyBpcyBhbHNvIHByZXNlbnQgaW4gdGhlIC4uLy4uL2NvbmYvTk9URVMgYW5kIE5PVEVTIGZpbGVz LiAKKyMgSWYgeW91IGFyZSBpbiBkb3VidCBhcyB0byB0aGUgcHVycG9zZSBvciBuZWNlc3NpdHkg b2YgYSBsaW5lLCBjaGVjayBmaXJzdCAKKyMgaW4gTk9URVMuCisjCisjICRGcmVlQlNEOiBoZWFk L3N5cy9taXBzL2NvbmYvWExSTjMyIDIwOTUwMiAyMDEwLTA2LTI0IDEwOjE0OjMxWiBqY2hhbmRy YSAkCisKK21hY2hpbmUgCW1pcHMKK2NwdSAJCUNQVV9NSVBTNEtDCitpZGVudCAJCVhMUgorCitt YWtlb3B0aW9ucwlNT0RVTEVTX09WRVJSSURFPSIiCittYWtlb3B0aW9ucyAgICAgVEFSR0VUX0JJ R19FTkRJQU4KKworaW5jbHVkZQkJIi4uL3JtaS9zdGQueGxyIgorCittYWtlb3B0aW9ucwlERUJV Rz0tZwkJIyBCdWlsZCBrZXJuZWwgd2l0aCBnZGIoMSkgZGVidWcgc3ltYm9scworbWFrZW9wdGlv bnMJQVJDSF9GTEFHUz0iLW1hcmNoPW1pcHM2NCAtbWFiaT02NCIKK21ha2VvcHRpb25zCUxEU0NS SVBUX05BTUU9bGRzY3JpcHQubWlwcy42NAorCisjcHJvZmlsZQkJMgorCitvcHRpb25zIAlTQ0hF RF9VTEUJCSMgVUxFIHNjaGVkdWxlcgorI29wdGlvbnMJCVZFUkJPU0VfU1lTSU5JVAorI29wdGlv bnMgCVNDSEVEXzRCU0QJCSMgNEJTRCBzY2hlZHVsZXIKKyNvcHRpb25zICAgICAgICAgU01QCisj b3B0aW9ucyAJUFJFRU1QVElPTgkJIyBFbmFibGUga2VybmVsIHRocmVhZCBwcmVlbXB0aW9uCisj b3B0aW9ucyAJRlVMTF9QUkVFTVBUSU9OCQkjIEVuYWJsZSBrZXJuZWwgdGhyZWFkIHByZWVtcHRp b24KK29wdGlvbnMgCUlORVQJCQkjIEludGVyTkVUd29ya2luZworb3B0aW9ucyAJSU5FVDYJCQkj IElQdjYgY29tbXVuaWNhdGlvbnMgcHJvdG9jb2xzCitvcHRpb25zIAlGRlMJCQkjIEJlcmtlbGV5 IEZhc3QgRmlsZXN5c3RlbQorI29wdGlvbnMgCVNPRlRVUERBVEVTCQkjIEVuYWJsZSBGRlMgc29m dCB1cGRhdGVzIHN1cHBvcnQKK29wdGlvbnMgCVVGU19BQ0wJCQkjIFN1cHBvcnQgZm9yIGFjY2Vz cyBjb250cm9sIGxpc3RzCitvcHRpb25zIAlVRlNfRElSSEFTSAkJIyBJbXByb3ZlIHBlcmZvcm1h bmNlIG9uIGJpZyBkaXJlY3Rvcmllcworb3B0aW9ucwkJTkZTQ0xJRU5UCitvcHRpb25zCQlORlNf Uk9PVAorIworb3B0aW9ucyAgICAgICAgIEJPT1RQCitvcHRpb25zICAgICAgICAgQk9PVFBfTkZT Uk9PVAorb3B0aW9ucyAgICAgICAgIEJPT1RQX05GU1YzCitvcHRpb25zICAgICAgICAgQk9PVFBf V0lSRURfVE89cmdlMAorb3B0aW9ucyAgICAgICAgIEJPT1RQX0NPTVBBVAorb3B0aW9ucwkJUk9P VERFVk5BTUU9XCJuZnM6MTAuMS4xLjg6L3Vzci9leHRyYS9uZnNyb290XCIKKyMKKyNvcHRpb25z IAlNRF9ST09UCQkJIyBNRCBpcyBhIHBvdGVudGlhbCByb290IGRldmljZQorI29wdGlvbnMJCU1E X1JPT1RfU0laRT0yNzAwMAorI29wdGlvbnMJCU1EX1JPT1RfU0laRT01MTIwCisjb3B0aW9ucwkJ Uk9PVERFVk5BTUU9XCJ1ZnM6bWQwXCIKK29wdGlvbnMgCV9LUE9TSVhfUFJJT1JJVFlfU0NIRURV TElORyAjIFBPU0lYIFAxMDAzXzFCIHJlYWwtdGltZSBleHRlbnNpb25zCitvcHRpb25zIAlIWj0x MDAwCQorb3B0aW9ucyAJTk9fU1dBUFBJTkcKKworI0RlYnVnZ2luZyBvcHRpb25zCitvcHRpb25z IAlLVFJBQ0UJCQkjIGt0cmFjZSgxKSBzdXBwb3J0CitvcHRpb25zIAlEREIKK29wdGlvbnMgCUtE Qgorb3B0aW9ucyAJR0RCCitvcHRpb25zIAlBTFRfQlJFQUtfVE9fREVCVUdHRVIKKyNvcHRpb25z IAlERUFETEtSRVMJCSNFbmFibGUgdGhlIGRlYWRsb2NrIHJlc29sdmVyCitvcHRpb25zIAlJTlZB UklBTlRTCQkjRW5hYmxlIGNhbGxzIG9mIGV4dHJhIHNhbml0eSBjaGVja2luZworb3B0aW9ucyAJ SU5WQVJJQU5UX1NVUFBPUlQJI0V4dHJhIHNhbml0eSBjaGVja3Mgb2YgaW50ZXJuYWwgc3RydWN0 dXJlcywgcmVxdWlyZWQgYnkgSU5WQVJJQU5UUworI29wdGlvbnMgCVdJVE5FU1MJCQkjRW5hYmxl IGNoZWNrcyB0byBkZXRlY3QgZGVhZGxvY2tzIGFuZCBjeWNsZXMKKyNvcHRpb25zIAlXSVRORVNT X1NLSVBTUElOCSNEb24ndCBydW4gd2l0bmVzcyBvbiBzcGlubG9ja3MgZm9yIHNwZWVkCisjb3B0 aW9ucyAJS1RSCQkJIyBrdHIoNCkgYW5kIGt0cmR1bXAoOCkgc3VwcG9ydAorI29wdGlvbnMgCUtU Ul9DT01QSUxFPShLVFJfTE9DS3xLVFJfUFJPQ3xLVFJfSU5UUnxLVFJfQ0FMTE9VVHxLVFJfVU1B fEtUUl9TWVNDfEtUUl9DUklUSUNBTCkKKyNvcHRpb25zIAlLVFJfRU5UUklFUz0xMzEwNzIKKyNv cHRpb25zIAlNVVRFWF9ERUJVRworI29wdGlvbnMgCU1VVEVYX1BST0ZJTElORworCitkZXZpY2UJ CXBjaQorI2RldmljZQkJYXRhCisjZGV2aWNlCQlhdGFkaXNrCisjb3B0aW9ucyAJWExSX1BFUkZN T04JCSMgRW5hYmxlIFhMUiBwcm9jZXNzb3IgYWN0aXZpdHkgbW9uaXRvcmluZworb3B0aW9ucyAg CUJSRUFLX1RPX0RFQlVHR0VSCisjZGV2aWNlIAkJZ2VuY2xvY2sKK2RldmljZSAJCXVhcnQKKyMg UHNldWRvCitkZXZpY2UgCQlsb29wCitkZXZpY2UgCQlyYW5kb20KK2RldmljZSAJCW1kCitkZXZp Y2UgCQltZW0KK2RldmljZSAJCXB0eQorZGV2aWNlCQlicGYKKworIyBOZXR3b3JrCitkZXZpY2UJ CW1paWJ1cworZGV2aWNlCQlyZ2UKK2RldmljZSAJCWV0aGVyCitkZXZpY2UJCXJlCitkZXZpY2UJ CW1zaworCitkZXZpY2UgICAgICAgICAgZGEKK2RldmljZSAgICAgICAgICBzY2J1cworI2Rldmlj ZSAgICAgICAgICBvaGNpICAgICAgICAgICAgIyBPSENJIFBDSS0+VVNCIGludGVyZmFjZQorZGV2 aWNlICAgICAgICAgIGVoY2kgICAgICAgICAgICAjIEVIQ0kgUENJLT5VU0IgaW50ZXJmYWNlIChV U0IgMi4wKQorZGV2aWNlICAgICAgICAgIHVzYiAgICAgICAgICAgICAjIFVTQiBCdXMgKHJlcXVp cmVkKQorb3B0aW9ucyAJVVNCX0RFQlVHCSMgZW5hYmxlIGRlYnVnIG1zZ3MKKyNkZXZpY2UgICAg ICAgICB1ZGJwICAgICAgICAgICAgIyBVU0IgRG91YmxlIEJ1bGsgUGlwZSBkZXZpY2VzCisjZGV2 aWNlICAgICAgICAgIHVnZW4gICAgICAgICAgICAjIEdlbmVyaWMKKyNkZXZpY2UgICAgICAgICAg dWhpZCAgICAgICAgICAgICMgIkh1bWFuIEludGVyZmFjZSBEZXZpY2VzIgorZGV2aWNlICAgICAg ICAgIHVtYXNzICAgICAgICAgICAjIERpc2tzL01hc3Mgc3RvcmFnZSAtIFJlcXVpcmVzIHNjYnVz IGFuZCBkYQorCisjZGV2aWNlCQljZmkKKworI2kyYworIyBOb3QgeWV0CisjZGV2aWNlICAgICAg aWMKKyNkZXZpY2UgICAgICBpaWMKKyNkZXZpY2UgICAgICBpaWNiYgorI2RldmljZSAgICAgIGlp Y2J1cworI2RldmljZSAgICAgIHhscl9ydGMKKyNkZXZpY2UgICAgICB4bHJfdGVtcGVyYXR1cmUK KyNkZXZpY2UgICAgICB4bHJfZWVwcm9tCisKKyNjcnlwdG8KKyMgTm90IHlldAorI2RldmljZSBj cnlwdG9kZXYKKyNkZXZpY2UgY3J5cHRvCisjZGV2aWNlIHJtaXNlYworb3B0aW9ucwkJSVNBX01J UFM2NAorbWFrZW9wdGlvbnMJS0VSTkxPQURBRERSPTB4ZmZmZmZmZmY4MDEwMDAwMAo= --e0cb4e887827a90f16048acf6235--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTikSVi27V2UICgLvKd8Bk7v6tuGty9YX6-C6-21H>