From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v6 1/9] x86/xpti: avoid copying L4 page table contents when possible Date: Tue, 10 Apr 2018 09:58:35 +0200 Message-ID: <20180410075843.6822-2-jgross@suse.com> References: <20180410075843.6822-1-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1f5oB3-0005cp-ES for xen-devel@lists.xenproject.org; Tue, 10 Apr 2018 07:58:53 +0000 In-Reply-To: <20180410075843.6822-1-jgross@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Juergen Gross , andrew.cooper3@citrix.com, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org Rm9yIG1pdGlnYXRpb24gb2YgTWVsdGRvd24gdGhlIGN1cnJlbnQgTDQgcGFnZSB0YWJsZSBpcyBj b3BpZWQgdG8gdGhlCmNwdSBsb2NhbCByb290IHBhZ2UgdGFibGUgZWFjaCB0aW1lIGEgNjQgYml0 IHB2IGd1ZXN0IGlzIGVudGVyZWQuCgpDb3B5aW5nIGNhbiBiZSBhdm9pZGVkIGluIGNhc2VzIHdo ZXJlIHRoZSBndWVzdCBMNCBwYWdlIHRhYmxlIGhhc24ndApiZWVuIG1vZGlmaWVkIHdoaWxlIHJ1 bm5pbmcgdGhlIGh5cGVydmlzb3IsIGUuZy4gd2hlbiBoYW5kbGluZwppbnRlcnJ1cHRzIG9yIGFu eSBoeXBlcmNhbGwgbm90IG1vZGlmeWluZyB0aGUgTDQgcGFnZSB0YWJsZSBvciAlY3IzLgoKU28g YWRkIGEgcGVyLWNwdSBmbGFnIGluZGljYXRpbmcgd2hldGhlciB0aGUgY29weWluZyBzaG91bGQg YmUKcGVyZm9ybWVkIGFuZCBzZXQgdGhhdCBmbGFnIG9ubHkgd2hlbiBsb2FkaW5nIGEgbmV3ICVj cjMgb3IgbW9kaWZ5aW5nCnRoZSBMNCBwYWdlIHRhYmxlLiAgVGhpcyBpbmNsdWRlcyBzeW5jaHJv bml6YXRpb24gb2YgdGhlIGNwdSBsb2NhbApyb290IHBhZ2UgdGFibGUgd2l0aCBvdGhlciBjcHVz LCBzbyBhZGQgYSBzcGVjaWFsIHN5bmNocm9uaXphdGlvbiBmbGFnCmZvciB0aGF0IGNhc2UuCgpB IHNpbXBsZSBwZXJmb3JtYW5jZSBjaGVjayAoY29tcGlsaW5nIHRoZSBoeXBlcnZpc29yIHZpYSAi bWFrZSAtaiA0IikKaW4gZG9tMCB3aXRoIDQgdmNwdXMgc2hvd3MgYSBzaWduaWZpY2FudCBpbXBy b3ZlbWVudDoKCi0gcmVhbCB0aW1lIGRyb3BzIGZyb20gMTEyIHNlY29uZHMgdG8gMTAzIHNlY29u ZHMKLSBzeXN0ZW0gdGltZSBkcm9wcyBmcm9tIDE0MiBzZWNvbmRzIHRvIDEzMSBzZWNvbmRzCgpT aWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+Ci0tLQpWNjoKLSBj b3JyZWN0IGFuIGVycm9yIGZyb20gcmViYXNpbmcgdG8gc3RhZ2luZyBpbiBhc3NlbWJseSBwYXJ0 CgpWNDoKLSBtb3ZlIHNldHRpbmcgb2Ygcm9vdF9wZ3RfY2hhbmdlZCBmbGFnIGluIGZsdXNoX2Fy ZWFfbG9jYWwoKSBvdXQgb2YKICBpcnEgZGlzYWJsZWQgc2VjdGlvbiAoSmFuIEJldWxpY2gpCi0g bW92ZSBzZXR0aW5nIG9mIHJvb3RfcGd0X2NoYW5nZWQgaW4gbWFrZV9jcjMoKSB0byBfdG9nZ2xl X2d1ZXN0X3B0KCkKICAoSmFuIEJldWxpY2gpCi0gcmVtb3ZlIG1vc3QgY29uZGl0aW9uYWxzIGlu IHdyaXRlX3B0YmFzZSgpIChKYW4gQmV1bGljaCkKLSBkb24ndCBzZXQgcm9vdF9wZ3RfY2hhbmdl ZCBpbiBkb19tbXVfdXBkYXRlKCkgZm9yIG1vZGlmaWNhdGlvbiBvZgogIHRoZSB1c2VyIHBhZ2Ug dGFibGUgKEphbiBCZXVsaWNoKQoKVjM6Ci0gc2V0IGZsYWcgbG9jYWxseSBvbmx5IGlmIGFmZmVj dGVkIEw0IGlzIGFjdGl2ZSAoSmFuIEJldWxpY2gpCi0gYWRkIHNldHRpbmcgZmxhZyB0byBmbHVz aF9hcmVhX21hc2soKSAoSmFuIEJldWxpY2gpCi0gc2V0IGZsYWcgaW4gbWFrZV9jcjMoKSBvbmx5 IGlmIGNhbGxlZCBmb3IgY3VycmVudCBhY3RpdmUgdmNwdQoKVG8gYmUgYXBwbGllZCBvbiB0b3Ag b2YgSmFuJ3MgIk1lbHRkb3duIGJhbmQtYWlkIG92ZXJoZWFkIHJlZHVjdGlvbiIKc2VyaWVzCi0t LQogeGVuL2FyY2gveDg2L2ZsdXNodGxiLmMgICAgICAgICAgIHwgIDMgKysrCiB4ZW4vYXJjaC94 ODYvbW0uYyAgICAgICAgICAgICAgICAgfCAzNiArKysrKysrKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0tLS0KIHhlbi9hcmNoL3g4Ni9wdi9kb21haW4uYyAgICAgICAgICB8ICAyICsrCiB4ZW4v YXJjaC94ODYvc21wLmMgICAgICAgICAgICAgICAgfCAgMiArLQogeGVuL2FyY2gveDg2L3g4Nl82 NC9hc20tb2Zmc2V0cy5jIHwgIDEgKwogeGVuL2FyY2gveDg2L3g4Nl82NC9lbnRyeS5TICAgICAg IHwgIDkgKysrKysrKy0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L2N1cnJlbnQuaCAgICAgfCAgOCAr KysrKysrKwogeGVuL2luY2x1ZGUvYXNtLXg4Ni9mbHVzaHRsYi5oICAgIHwgIDIgKysKIDggZmls ZXMgY2hhbmdlZCwgNDcgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEveGVuL2FyY2gveDg2L2ZsdXNodGxiLmMgYi94ZW4vYXJjaC94ODYvZmx1c2h0bGIuYwppbmRl eCA4YTdhNzZiOGZmLi4zOGNlZGYzYjIyIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvZmx1c2h0 bGIuYworKysgYi94ZW4vYXJjaC94ODYvZmx1c2h0bGIuYwpAQCAtMTYwLDUgKzE2MCw4IEBAIHVu c2lnbmVkIGludCBmbHVzaF9hcmVhX2xvY2FsKGNvbnN0IHZvaWQgKnZhLCB1bnNpZ25lZCBpbnQg ZmxhZ3MpCiAKICAgICBsb2NhbF9pcnFfcmVzdG9yZShpcnFmbCk7CiAKKyAgICBpZiAoIGZsYWdz ICYgRkxVU0hfUk9PVF9QR1RCTCApCisgICAgICAgIGdldF9jcHVfaW5mbygpLT5yb290X3BndF9j aGFuZ2VkID0gdHJ1ZTsKKwogICAgIHJldHVybiBmbGFnczsKIH0KZGlmZiAtLWdpdCBhL3hlbi9h cmNoL3g4Ni9tbS5jIGIveGVuL2FyY2gveDg2L21tLmMKaW5kZXggOWZlNTU4M2ZjMy4uN2Q5NjBj NzQyZSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L21tLmMKKysrIGIveGVuL2FyY2gveDg2L21t LmMKQEAgLTUwMiw2ICs1MDIsNyBAQCB2b2lkIG1ha2VfY3IzKHN0cnVjdCB2Y3B1ICp2LCBtZm5f dCBtZm4pCiAKIHZvaWQgd3JpdGVfcHRiYXNlKHN0cnVjdCB2Y3B1ICp2KQogeworICAgIGdldF9j cHVfaW5mbygpLT5yb290X3BndF9jaGFuZ2VkID0gdHJ1ZTsKICAgICB3cml0ZV9jcjModi0+YXJj aC5jcjMpOwogfQogCkBAIC0zNjk5LDE4ICszNzAwLDI3IEBAIGxvbmcgZG9fbW11X3VwZGF0ZSgK ICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICByYyA9 IG1vZF9sNF9lbnRyeSh2YSwgbDRlX2Zyb21faW50cHRlKHJlcS52YWwpLCBtZm4sCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNtZCA9PSBNTVVfUFRfVVBEQVRFX1BSRVNF UlZFX0FELCB2KTsKLSAgICAgICAgICAgICAgICAgICAgLyoKLSAgICAgICAgICAgICAgICAgICAg ICogTm8gbmVlZCB0byBzeW5jIGlmIGFsbCB1c2VzIG9mIHRoZSBwYWdlIGNhbiBiZSBhY2NvdW50 ZWQKLSAgICAgICAgICAgICAgICAgICAgICogdG8gdGhlIHBhZ2UgbG9jayB3ZSBob2xkLCBpdHMg cGlubmVkIHN0YXR1cywgYW5kIHVzZXMgb24KLSAgICAgICAgICAgICAgICAgICAgICogdGhpcyAo dilDUFUuCi0gICAgICAgICAgICAgICAgICAgICAqLwotICAgICAgICAgICAgICAgICAgICBpZiAo ICFyYyAmJiAhY3B1X2hhc19ub194cHRpICYmCi0gICAgICAgICAgICAgICAgICAgICAgICAgKChw YWdlLT51LmludXNlLnR5cGVfaW5mbyAmIFBHVF9jb3VudF9tYXNrKSA+Ci0gICAgICAgICAgICAg ICAgICAgICAgICAgICgxICsgISEocGFnZS0+dS5pbnVzZS50eXBlX2luZm8gJiBQR1RfcGlubmVk KSArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAocGFnZXRhYmxlX2dldF9wZm4oY3Vyci0+ YXJjaC5ndWVzdF90YWJsZSkgPT0gbWZuKSArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAo cGFnZXRhYmxlX2dldF9wZm4oY3Vyci0+YXJjaC5ndWVzdF90YWJsZV91c2VyKSA9PQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG1mbikpKSApCi0gICAgICAgICAgICAgICAgICAgICAgICBz eW5jX2d1ZXN0ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCAhcmMgJiYgIWNwdV9o YXNfbm9feHB0aSApCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAg ICAgIGJvb2wgbG9jYWxfaW5fdXNlID0gZmFsc2U7CisKKyAgICAgICAgICAgICAgICAgICAgICAg IGlmICggcGFnZXRhYmxlX2dldF9wZm4oY3Vyci0+YXJjaC5ndWVzdF90YWJsZSkgPT0gbWZuICkK KyAgICAgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBs b2NhbF9pbl91c2UgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldF9jcHVf aW5mbygpLT5yb290X3BndF9jaGFuZ2VkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAg IH0KKworICAgICAgICAgICAgICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICAgICAgICAg ICAqIE5vIG5lZWQgdG8gc3luYyBpZiBhbGwgdXNlcyBvZiB0aGUgcGFnZSBjYW4gYmUKKyAgICAg ICAgICAgICAgICAgICAgICAgICAqIGFjY291bnRlZCB0byB0aGUgcGFnZSBsb2NrIHdlIGhvbGQs IGl0cyBwaW5uZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAqIHN0YXR1cywgYW5kIHVzZXMg b24gdGhpcyAodilDUFUuCisgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAg ICAgICAgICAgICAgIGlmICggKHBhZ2UtPnUuaW51c2UudHlwZV9pbmZvICYgUEdUX2NvdW50X21h c2spID4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgKyAhIShwYWdlLT51LmludXNl LnR5cGVfaW5mbyAmIFBHVF9waW5uZWQpICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChwYWdldGFibGVfZ2V0X3BmbihjdXJyLT5hcmNoLmd1ZXN0X3RhYmxlX3VzZXIpID09CisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbWZuKSArIGxvY2FsX2luX3VzZSkgKQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHN5bmNfZ3Vlc3QgPSB0cnVlOworICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgICAgICAgICAgY2Fz ZSBQR1Rfd3JpdGFibGVfcGFnZToKQEAgLTM4MjUsNyArMzgzNSw3IEBAIGxvbmcgZG9fbW11X3Vw ZGF0ZSgKIAogICAgICAgICBjcHVtYXNrX2FuZG5vdChtYXNrLCBwdF9vd25lci0+ZGlydHlfY3B1 bWFzaywgY3B1bWFza19vZihjcHUpKTsKICAgICAgICAgaWYgKCAhY3B1bWFza19lbXB0eShtYXNr KSApCi0gICAgICAgICAgICBmbHVzaF9tYXNrKG1hc2ssIEZMVVNIX1RMQl9HTE9CQUwpOworICAg ICAgICAgICAgZmx1c2hfbWFzayhtYXNrLCBGTFVTSF9UTEJfR0xPQkFMIHwgRkxVU0hfUk9PVF9Q R1RCTCk7CiAgICAgfQogCiAgICAgcGVyZmNfYWRkKG51bV9wYWdlX3VwZGF0ZXMsIGkpOwpkaWZm IC0tZ2l0IGEveGVuL2FyY2gveDg2L3B2L2RvbWFpbi5jIGIveGVuL2FyY2gveDg2L3B2L2RvbWFp bi5jCmluZGV4IGFjNjViYTQ2MDkuLmIxYzQwMzczZmEgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4 Ni9wdi9kb21haW4uYworKysgYi94ZW4vYXJjaC94ODYvcHYvZG9tYWluLmMKQEAgLTIxNyw2ICsy MTcsOCBAQCBzdGF0aWMgdm9pZCBfdG9nZ2xlX2d1ZXN0X3B0KHN0cnVjdCB2Y3B1ICp2KQogewog ICAgIHYtPmFyY2guZmxhZ3MgXj0gVEZfa2VybmVsX21vZGU7CiAgICAgdXBkYXRlX2NyMyh2KTsK KyAgICBnZXRfY3B1X2luZm8oKS0+cm9vdF9wZ3RfY2hhbmdlZCA9IHRydWU7CisKICAgICAvKiBE b24ndCBmbHVzaCB1c2VyIGdsb2JhbCBtYXBwaW5ncyBmcm9tIHRoZSBUTEIuIERvbid0IHRpY2sg VExCIGNsb2NrLiAqLwogICAgIGFzbSB2b2xhdGlsZSAoICJtb3YgJTAsICUlY3IzIiA6IDogInIi ICh2LT5hcmNoLmNyMykgOiAibWVtb3J5IiApOwogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYv c21wLmMgYi94ZW4vYXJjaC94ODYvc21wLmMKaW5kZXggMDMzZGQwNTk1OC4uNjNlODE5Y2EzOCAx MDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3NtcC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9zbXAuYwpA QCAtMjA4LDcgKzIwOCw3IEBAIHZvaWQgaW52YWxpZGF0ZV9pbnRlcnJ1cHQoc3RydWN0IGNwdV91 c2VyX3JlZ3MgKnJlZ3MpCiAgICAgYWNrX0FQSUNfaXJxKCk7CiAgICAgcGVyZmNfaW5jcihpcGlz KTsKICAgICBpZiAoIChmbGFncyAmIEZMVVNIX1ZDUFVfU1RBVEUpICYmIF9fc3luY19sb2NhbF9l eGVjc3RhdGUoKSApCi0gICAgICAgIGZsYWdzICY9IH4oRkxVU0hfVExCIHwgRkxVU0hfVExCX0dM T0JBTCk7CisgICAgICAgIGZsYWdzICY9IH4oRkxVU0hfVExCIHwgRkxVU0hfVExCX0dMT0JBTCB8 IEZMVVNIX1JPT1RfUEdUQkwpOwogICAgIGlmICggZmxhZ3MgJiB+KEZMVVNIX1ZDUFVfU1RBVEUg fCBGTFVTSF9PUkRFUl9NQVNLKSApCiAgICAgICAgIGZsdXNoX2FyZWFfbG9jYWwoZmx1c2hfdmEs IGZsYWdzKTsKICAgICBjcHVtYXNrX2NsZWFyX2NwdShzbXBfcHJvY2Vzc29yX2lkKCksICZmbHVz aF9jcHVtYXNrKTsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni94ODZfNjQvYXNtLW9mZnNldHMu YyBiL3hlbi9hcmNoL3g4Ni94ODZfNjQvYXNtLW9mZnNldHMuYwppbmRleCBhMmZlYTk0ZjRjLi45 ZTJhZWZiMDBmIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYveDg2XzY0L2FzbS1vZmZzZXRzLmMK KysrIGIveGVuL2FyY2gveDg2L3g4Nl82NC9hc20tb2Zmc2V0cy5jCkBAIC0xNDMsNiArMTQzLDcg QEAgdm9pZCBfX2R1bW15X18odm9pZCkKICAgICBPRkZTRVQoQ1BVSU5GT19zaGFkb3dfc3BlY19j dHJsLCBzdHJ1Y3QgY3B1X2luZm8sIHNoYWRvd19zcGVjX2N0cmwpOwogICAgIE9GRlNFVChDUFVJ TkZPX3VzZV9zaGFkb3dfc3BlY19jdHJsLCBzdHJ1Y3QgY3B1X2luZm8sIHVzZV9zaGFkb3dfc3Bl Y19jdHJsKTsKICAgICBPRkZTRVQoQ1BVSU5GT19idGlfaXN0X2luZm8sIHN0cnVjdCBjcHVfaW5m bywgYnRpX2lzdF9pbmZvKTsKKyAgICBPRkZTRVQoQ1BVSU5GT19yb290X3BndF9jaGFuZ2VkLCBz dHJ1Y3QgY3B1X2luZm8sIHJvb3RfcGd0X2NoYW5nZWQpOwogICAgIERFRklORShDUFVJTkZPX3Np emVvZiwgc2l6ZW9mKHN0cnVjdCBjcHVfaW5mbykpOwogICAgIEJMQU5LKCk7CiAKZGlmZiAtLWdp dCBhL3hlbi9hcmNoL3g4Ni94ODZfNjQvZW50cnkuUyBiL3hlbi9hcmNoL3g4Ni94ODZfNjQvZW50 cnkuUwppbmRleCA0NWQ5ODQyZDA5Li5kZDQyMjIzYjIwIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94 ODYveDg2XzY0L2VudHJ5LlMKKysrIGIveGVuL2FyY2gveDg2L3g4Nl82NC9lbnRyeS5TCkBAIC0x MjksMTEgKzEyOSwxNSBAQCByZXN0b3JlX2FsbF9ndWVzdDoKICAgICAgICAgbW92ICAgVkNQVV9j cjMoJXJieCksICVyOQogICAgICAgICBHRVRfU1RBQ0tfRU5EKGR4KQogICAgICAgICBtb3YgICBT VEFDS19DUFVJTkZPX0ZJRUxEKHB2X2NyMykoJXJkeCksICVyZGkKKyAgICAgICAgdGVzdCAgJXJk aSwgJXJkaQorICAgICAgICBqeiAgICAuTHJhZ19rZWVwX2NyMworICAgICAgICBtb3YgICAlcmRp LCAlcmF4CisgICAgICAgIGNtcGIgICQwLCBTVEFDS19DUFVJTkZPX0ZJRUxEKHJvb3RfcGd0X2No YW5nZWQpKCVyZHgpCisgICAgICAgIGplICAgIC5McmFnX2NvcHlfZG9uZQorICAgICAgICBtb3Zi ICAkMCwgU1RBQ0tfQ1BVSU5GT19GSUVMRChyb290X3BndF9jaGFuZ2VkKSglcmR4KQogICAgICAg ICBtb3ZhYnMgJFBBRERSX01BU0sgJiBQQUdFX01BU0ssICVyc2kKICAgICAgICAgbW92YWJzICRE SVJFQ1RNQVBfVklSVF9TVEFSVCwgJXJjeAotICAgICAgICBtb3YgICAlcmRpLCAlcmF4CiAgICAg ICAgIGFuZCAgICVyc2ksICVyZGkKLSAgICAgICAganogICAgLkxyYWdfa2VlcF9jcjMKICAgICAg ICAgYW5kICAgJXI5LCAlcnNpCiAgICAgICAgIGFkZCAgICVyY3gsICVyZGkKICAgICAgICAgYWRk ICAgJXJjeCwgJXJzaQpAQCAtMTQ4LDYgKzE1Miw3IEBAIHJlc3RvcmVfYWxsX2d1ZXN0OgogICAg ICAgICBzdWIgICAkKFJPT1RfUEFHRVRBQkxFX0ZJUlNUX1hFTl9TTE9UIC0gXAogICAgICAgICAg ICAgICAgIFJPT1RfUEFHRVRBQkxFX0xBU1RfWEVOX1NMT1QgLSAxKSAqIDgsICVyZGkKICAgICAg ICAgcmVwIG1vdnNxCisuTHJhZ19jb3B5X2RvbmU6CiAgICAgICAgIG1vdiAgIFNUQUNLX0NQVUlO Rk9fRklFTEQoY3I0KSglcmR4KSwgJXJkaQogICAgICAgICBtb3YgICAlcjksIFNUQUNLX0NQVUlO Rk9fRklFTEQoeGVuX2NyMykoJXJkeCkKICAgICAgICAgbW92ICAgJXJkaSwgJXJzaQpkaWZmIC0t Z2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9jdXJyZW50LmggYi94ZW4vaW5jbHVkZS9hc20teDg2 L2N1cnJlbnQuaAppbmRleCAzYTBlMWVlZjM2Li5mMjQ5MWI0NDIzIDEwMDY0NAotLS0gYS94ZW4v aW5jbHVkZS9hc20teDg2L2N1cnJlbnQuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2N1cnJl bnQuaApAQCAtNTksNiArNTksMTQgQEAgc3RydWN0IGNwdV9pbmZvIHsKICAgICBib29sICAgICAg ICAgdXNlX3NoYWRvd19zcGVjX2N0cmw7CiAgICAgdWludDhfdCAgICAgIGJ0aV9pc3RfaW5mbzsK IAorICAgIC8qCisgICAgICogVGhlIGZvbGxvd2luZyBmaWVsZCBjb250cm9scyBjb3B5aW5nIG9m IHRoZSBMNCBwYWdlIHRhYmxlIG9mIDY0LWJpdAorICAgICAqIFBWIGd1ZXN0cyB0byB0aGUgcGVy LWNwdSByb290IHBhZ2UgdGFibGUgb24gZW50ZXJpbmcgdGhlIGd1ZXN0IGNvbnRleHQuCisgICAg ICogSWYgc2V0IHRoZSBMNCBwYWdlIHRhYmxlIGlzIGJlaW5nIGNvcGllZCB0byB0aGUgcm9vdCBw YWdlIHRhYmxlIGFuZAorICAgICAqIHRoZSBmaWVsZCB3aWxsIGJlIHJlc2V0LgorICAgICAqLwor ICAgIGJvb2wgICAgICAgICByb290X3BndF9jaGFuZ2VkOworCiAgICAgdW5zaWduZWQgbG9uZyBf X3BhZDsKICAgICAvKiBnZXRfc3RhY2tfYm90dG9tKCkgbXVzdCBiZSAxNi1ieXRlIGFsaWduZWQg Ki8KIH07CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2ZsdXNodGxiLmggYi94ZW4v aW5jbHVkZS9hc20teDg2L2ZsdXNodGxiLmgKaW5kZXggMmNhZGU5Y2JmYi4uMDUyZjBmYTQwMyAx MDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9mbHVzaHRsYi5oCisrKyBiL3hlbi9pbmNs dWRlL2FzbS14ODYvZmx1c2h0bGIuaApAQCAtMTAzLDYgKzEwMyw4IEBAIHZvaWQgd3JpdGVfY3Iz KHVuc2lnbmVkIGxvbmcgY3IzKTsKICNkZWZpbmUgRkxVU0hfVkFfVkFMSUQgICAweDgwMAogIC8q IEZsdXNoIENQVSBzdGF0ZSAqLwogI2RlZmluZSBGTFVTSF9WQ1BVX1NUQVRFIDB4MTAwMAorIC8q IEZsdXNoIHRoZSBwZXItY3B1IHJvb3QgcGFnZSB0YWJsZSAqLworI2RlZmluZSBGTFVTSF9ST09U X1BHVEJMIDB4MjAwMAogCiAvKiBGbHVzaCBsb2NhbCBUTEJzL2NhY2hlcy4gKi8KIHVuc2lnbmVk IGludCBmbHVzaF9hcmVhX2xvY2FsKGNvbnN0IHZvaWQgKnZhLCB1bnNpZ25lZCBpbnQgZmxhZ3Mp OwotLSAKMi4xMy42CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5v cmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZl bA==