From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH v6 1/6] iommu: rename iommu_dom0_strict and iommu_passthrough Date: Tue, 21 Aug 2018 09:49:39 +0200 Message-ID: <20180821074944.38773-2-roger.pau@citrix.com> References: <20180821074944.38773-1-roger.pau@citrix.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 1fs1QI-0007I3-16 for xen-devel@lists.xenproject.org; Tue, 21 Aug 2018 07:49:54 +0000 In-Reply-To: <20180821074944.38773-1-roger.pau@citrix.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: Kevin Tian , Jan Beulich , Andrew Cooper , Suravee Suthikulpanit , Brian Woods , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org VG8gaW9tbXVfaHdkb21fc3RyaWN0IGFuZCBpb21tdV9od2RvbV9wYXNzdGhyb3VnaCB3aGljaCBp cyBtb3JlCmRlc2NyaXB0aXZlIG9mIHRoZWlyIHVzYWdlLiBBbHNvIGNoYW5nZSB0aGVpciB0eXBl IGZyb20gYm9vbF90IHRvCmJvb2wuCgpObyBmdW5jdGlvbmFsIGNoYW5nZS4KClNpZ25lZC1vZmYt Ynk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpSZXZpZXdlZC1ieTog SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgotLS0KQ2M6IEphbiBCZXVsaWNoIDxqYmV1 bGljaEBzdXNlLmNvbT4KQ2M6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5j b20+CkNjOiBTdXJhdmVlIFN1dGhpa3VscGFuaXQgPHN1cmF2ZWUuc3V0aGlrdWxwYW5pdEBhbWQu Y29tPgpDYzogQnJpYW4gV29vZHMgPGJyaWFuLndvb2RzQGFtZC5jb20+CkNjOiBLZXZpbiBUaWFu IDxrZXZpbi50aWFuQGludGVsLmNvbT4KLS0tCkNoYW5nZXMgc2luY2UgdjU6CiAtIFJlbW92ZSB1 bm5lZWRlZCAhIS4KCkNoYW5nZXMgc2luY2UgdjQ6CiAtIE5ldyBpbiB0aGlzIHZlcnNpb24uCi0t LQogeGVuL2FyY2gveDg2L3g4Nl82NC9tbS5jICAgICAgICAgICAgICAgICAgICB8ICAzICsrLQog eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X2luaXQuYyAgICB8ICAyICstCiB4ZW4v ZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvcGNpX2FtZF9pb21tdS5jIHwgIDQgKy0tCiB4ZW4vZHJp dmVycy9wYXNzdGhyb3VnaC9pb21tdS5jICAgICAgICAgICAgIHwgMjcgKysrKysrKysrKystLS0t LS0tLS0tCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYyAgICAgICAgIHwgMTYg KysrKysrLS0tLS0tCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQveDg2L3Z0ZC5jICAgICAg IHwgIDIgKy0KIHhlbi9pbmNsdWRlL3hlbi9pb21tdS5oICAgICAgICAgICAgICAgICAgICAgfCAg NiArKystLQogNyBmaWxlcyBjaGFuZ2VkLCAzMiBpbnNlcnRpb25zKCspLCAyOCBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYveDg2XzY0L21tLmMgYi94ZW4vYXJjaC94ODYv eDg2XzY0L21tLmMKaW5kZXggY2NhNGFlOTI2ZS4uMDkzYWQ1ZGFiMSAxMDA2NDQKLS0tIGEveGVu L2FyY2gveDg2L3g4Nl82NC9tbS5jCisrKyBiL3hlbi9hcmNoL3g4Ni94ODZfNjQvbW0uYwpAQCAt MTQyNiw3ICsxNDI2LDggQEAgaW50IG1lbW9yeV9hZGQodW5zaWduZWQgbG9uZyBzcGZuLCB1bnNp Z25lZCBsb25nIGVwZm4sIHVuc2lnbmVkIGludCBweG0pCiAgICAgaWYgKCByZXQgKQogICAgICAg ICBnb3RvIGRlc3Ryb3lfbTJwOwogCi0gICAgaWYgKCBpb21tdV9lbmFibGVkICYmICFpb21tdV9w YXNzdGhyb3VnaCAmJiAhbmVlZF9pb21tdShoYXJkd2FyZV9kb21haW4pICkKKyAgICBpZiAoIGlv bW11X2VuYWJsZWQgJiYgIWlvbW11X2h3ZG9tX3Bhc3N0aHJvdWdoICYmCisgICAgICAgICAhbmVl ZF9pb21tdShoYXJkd2FyZV9kb21haW4pICkKICAgICB7CiAgICAgICAgIGZvciAoIGkgPSBzcGZu OyBpIDwgZXBmbjsgaSsrICkKICAgICAgICAgICAgIGlmICggaW9tbXVfbWFwX3BhZ2UoaGFyZHdh cmVfZG9tYWluLCBpLCBpLCBJT01NVUZfcmVhZGFibGV8SU9NTVVGX3dyaXRhYmxlKSApCmRpZmYg LS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfaW5pdC5jIGIveGVuL2Ry aXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X2luaXQuYwppbmRleCA0NzQ5OTJhNzVhLi4xNWMx MGIwOTI5IDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfaW5p dC5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9pbml0LmMKQEAgLTEw NjIsNyArMTA2Miw3IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBhbWRfaW9tbXVfaW5pdF9jbGVhbnVw KHZvaWQpCiAgICAgcmFkaXhfdHJlZV9kZXN0cm95KCZpdnJzX21hcHMsIHhmcmVlKTsKIAogICAg IGlvbW11X2VuYWJsZWQgPSAwOwotICAgIGlvbW11X3Bhc3N0aHJvdWdoID0gMDsKKyAgICBpb21t dV9od2RvbV9wYXNzdGhyb3VnaCA9IGZhbHNlOwogICAgIGlvbW11X2ludHJlbWFwID0gMDsKICAg ICBpb21tdXYyX2VuYWJsZWQgPSAwOwogfQpkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Ro cm91Z2gvYW1kL3BjaV9hbWRfaW9tbXUuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9w Y2lfYW1kX2lvbW11LmMKaW5kZXggMTJkMjY5NWI4OS4uYWIzOWU3NTAwZCAxMDA2NDQKLS0tIGEv eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL3BjaV9hbWRfaW9tbXUuYworKysgYi94ZW4vZHJp dmVycy9wYXNzdGhyb3VnaC9hbWQvcGNpX2FtZF9pb21tdS5jCkBAIC0xMjEsNyArMTIxLDcgQEAg c3RhdGljIHZvaWQgYW1kX2lvbW11X3NldHVwX2RvbWFpbl9kZXZpY2UoCiAgICAgQlVHX09OKCAh aGQtPmFyY2gucm9vdF90YWJsZSB8fCAhaGQtPmFyY2gucGFnaW5nX21vZGUgfHwKICAgICAgICAg ICAgICFpb21tdS0+ZGV2X3RhYmxlLmJ1ZmZlciApOwogCi0gICAgaWYgKCBpb21tdV9wYXNzdGhy b3VnaCAmJiBpc19oYXJkd2FyZV9kb21haW4oZG9tYWluKSApCisgICAgaWYgKCBpb21tdV9od2Rv bV9wYXNzdGhyb3VnaCAmJiBpc19oYXJkd2FyZV9kb21haW4oZG9tYWluKSApCiAgICAgICAgIHZh bGlkID0gMDsKIAogICAgIGlmICggYXRzX2VuYWJsZWQgKQpAQCAtMjU2LDcgKzI1Niw3IEBAIHN0 YXRpYyB2b2lkIF9faHdkb21faW5pdCBhbWRfaW9tbXVfaHdkb21faW5pdChzdHJ1Y3QgZG9tYWlu ICpkKQogICAgIGlmICggYWxsb2NhdGVfZG9tYWluX3Jlc291cmNlcyhkb21faW9tbXUoZCkpICkK ICAgICAgICAgQlVHKCk7CiAKLSAgICBpZiAoICFpb21tdV9wYXNzdGhyb3VnaCAmJiAhbmVlZF9p b21tdShkKSApCisgICAgaWYgKCAhaW9tbXVfaHdkb21fcGFzc3Rocm91Z2ggJiYgIW5lZWRfaW9t bXUoZCkgKQogICAgIHsKICAgICAgICAgaW50IHJjID0gMDsKIApkaWZmIC0tZ2l0IGEveGVuL2Ry aXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11 LmMKaW5kZXggNzBkMjE4ZjkxMC4uNzI5ZWU1YzM3MyAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMv cGFzc3Rocm91Z2gvaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5j CkBAIC01MiwxNSArNTIsMTYgQEAgY3VzdG9tX3BhcmFtKCJpb21tdSIsIHBhcnNlX2lvbW11X3Bh cmFtKTsKIGJvb2xfdCBfX2luaXRkYXRhIGlvbW11X2VuYWJsZSA9IDE7CiBib29sX3QgX19yZWFk X21vc3RseSBpb21tdV9lbmFibGVkOwogYm9vbF90IF9fcmVhZF9tb3N0bHkgZm9yY2VfaW9tbXU7 Ci1ib29sX3QgX19od2RvbV9pbml0ZGF0YSBpb21tdV9kb20wX3N0cmljdDsKIGJvb2xfdCBfX3Jl YWRfbW9zdGx5IGlvbW11X3ZlcmJvc2U7CiBib29sX3QgX19yZWFkX21vc3RseSBpb21tdV93b3Jr YXJvdW5kX2Jpb3NfYnVnOwogYm9vbF90IF9fcmVhZF9tb3N0bHkgaW9tbXVfaWdmeCA9IDE7Ci1i b29sX3QgX19yZWFkX21vc3RseSBpb21tdV9wYXNzdGhyb3VnaDsKIGJvb2xfdCBfX3JlYWRfbW9z dGx5IGlvbW11X3Nub29wID0gMTsKIGJvb2xfdCBfX3JlYWRfbW9zdGx5IGlvbW11X3FpbnZhbCA9 IDE7CiBib29sX3QgX19yZWFkX21vc3RseSBpb21tdV9pbnRyZW1hcCA9IDE7CiAKK2Jvb2wgX19o d2RvbV9pbml0ZGF0YSBpb21tdV9od2RvbV9zdHJpY3Q7Citib29sIF9fcmVhZF9tb3N0bHkgaW9t bXVfaHdkb21fcGFzc3Rocm91Z2g7CisKIC8qCiAgKiBJbiB0aGUgY3VycmVudCBpbXBsZW1lbnRh dGlvbiBvZiBWVC1kIHBvc3RlZCBpbnRlcnJ1cHRzLCBpbiBzb21lIGV4dHJlbWUKICAqIGNhc2Vz LCB0aGUgcGVyIGNwdSBsaXN0IHdoaWNoIHNhdmVzIHRoZSBibG9ja2VkIHZDUFUgd2lsbCBiZSB2 ZXJ5IGxvbmcsCkBAIC0xMjEsOSArMTIyLDkgQEAgc3RhdGljIGludCBfX2luaXQgcGFyc2VfaW9t bXVfcGFyYW0oY29uc3QgY2hhciAqcykKICAgICAgICAgZWxzZSBpZiAoICFzdHJuY21wKHMsICJh bWQtaW9tbXUtcGVyZGV2LWludHJlbWFwIiwgc3MgLSBzKSApCiAgICAgICAgICAgICBhbWRfaW9t bXVfcGVyZGV2X2ludHJlbWFwID0gdmFsOwogICAgICAgICBlbHNlIGlmICggIXN0cm5jbXAocywg ImRvbTAtcGFzc3Rocm91Z2giLCBzcyAtIHMpICkKLSAgICAgICAgICAgIGlvbW11X3Bhc3N0aHJv dWdoID0gdmFsOworICAgICAgICAgICAgaW9tbXVfaHdkb21fcGFzc3Rocm91Z2ggPSB2YWw7CiAg ICAgICAgIGVsc2UgaWYgKCAhc3RybmNtcChzLCAiZG9tMC1zdHJpY3QiLCBzcyAtIHMpICkKLSAg ICAgICAgICAgIGlvbW11X2RvbTBfc3RyaWN0ID0gdmFsOworICAgICAgICAgICAgaW9tbXVfaHdk b21fc3RyaWN0ID0gdmFsOwogICAgICAgICBlbHNlIGlmICggIXN0cm5jbXAocywgInNoYXJlcHQi LCBzcyAtIHMpICkKICAgICAgICAgICAgIGlvbW11X2hhcF9wdF9zaGFyZSA9IHZhbDsKICAgICAg ICAgZWxzZQpAQCAtMTU4LDExICsxNTksMTEgQEAgc3RhdGljIHZvaWQgX19od2RvbV9pbml0IGNo ZWNrX2h3ZG9tX3JlcXMoc3RydWN0IGRvbWFpbiAqZCkKIAogICAgIGFyY2hfaW9tbXVfY2hlY2tf YXV0b3RyYW5zbGF0ZWRfaHdkb20oZCk7CiAKLSAgICBpZiAoIGlvbW11X3Bhc3N0aHJvdWdoICkK KyAgICBpZiAoIGlvbW11X2h3ZG9tX3Bhc3N0aHJvdWdoICkKICAgICAgICAgcGFuaWMoIkRvbTAg dXNlcyBwYWdpbmcgdHJhbnNsYXRlZCBtb2RlLCBkb20wLXBhc3N0aHJvdWdoIG11c3Qgbm90IGJl ICIKICAgICAgICAgICAgICAgImVuYWJsZWRcbiIpOwogCi0gICAgaW9tbXVfZG9tMF9zdHJpY3Qg PSAxOworICAgIGlvbW11X2h3ZG9tX3N0cmljdCA9IHRydWU7CiB9CiAKIHZvaWQgX19od2RvbV9p bml0IGlvbW11X2h3ZG9tX2luaXQoc3RydWN0IGRvbWFpbiAqZCkKQEAgLTE3NSw3ICsxNzYsNyBA QCB2b2lkIF9faHdkb21faW5pdCBpb21tdV9od2RvbV9pbml0KHN0cnVjdCBkb21haW4gKmQpCiAg ICAgICAgIHJldHVybjsKIAogICAgIHJlZ2lzdGVyX2tleWhhbmRsZXIoJ28nLCAmaW9tbXVfZHVt cF9wMm1fdGFibGUsICJkdW1wIGlvbW11IHAybSB0YWJsZSIsIDApOwotICAgIGQtPm5lZWRfaW9t bXUgPSAhIWlvbW11X2RvbTBfc3RyaWN0OworICAgIGQtPm5lZWRfaW9tbXUgPSBpb21tdV9od2Rv bV9zdHJpY3Q7CiAgICAgaWYgKCBuZWVkX2lvbW11KGQpICYmICFpb21tdV91c2VfaGFwX3B0KGQp ICkKICAgICB7CiAgICAgICAgIHN0cnVjdCBwYWdlX2luZm8gKnBhZ2U7CkBAIC0zNzEsOCArMzcy LDggQEAgaW50IF9faW5pdCBpb21tdV9zZXR1cCh2b2lkKQogICAgIGludCByYyA9IC1FTk9ERVY7 CiAgICAgYm9vbF90IGZvcmNlX2ludHJlbWFwID0gZm9yY2VfaW9tbXUgJiYgaW9tbXVfaW50cmVt YXA7CiAKLSAgICBpZiAoIGlvbW11X2RvbTBfc3RyaWN0ICkKLSAgICAgICAgaW9tbXVfcGFzc3Ro cm91Z2ggPSAwOworICAgIGlmICggaW9tbXVfaHdkb21fc3RyaWN0ICkKKyAgICAgICAgaW9tbXVf aHdkb21fcGFzc3Rocm91Z2ggPSBmYWxzZTsKIAogICAgIGlmICggaW9tbXVfZW5hYmxlICkKICAg ICB7CkBAIC0zOTMsMTUgKzM5NCwxNSBAQCBpbnQgX19pbml0IGlvbW11X3NldHVwKHZvaWQpCiAg ICAgaWYgKCAhaW9tbXVfZW5hYmxlZCApCiAgICAgewogICAgICAgICBpb21tdV9zbm9vcCA9IDA7 Ci0gICAgICAgIGlvbW11X3Bhc3N0aHJvdWdoID0gMDsKLSAgICAgICAgaW9tbXVfZG9tMF9zdHJp Y3QgPSAwOworICAgICAgICBpb21tdV9od2RvbV9wYXNzdGhyb3VnaCA9IGZhbHNlOworICAgICAg ICBpb21tdV9od2RvbV9zdHJpY3QgPSBmYWxzZTsKICAgICB9CiAgICAgcHJpbnRrKCJJL08gdmly dHVhbGlzYXRpb24gJXNhYmxlZFxuIiwgaW9tbXVfZW5hYmxlZCA/ICJlbiIgOiAiZGlzIik7CiAg ICAgaWYgKCBpb21tdV9lbmFibGVkICkKICAgICB7CiAgICAgICAgIHByaW50aygiIC0gRG9tMCBt b2RlOiAlc1xuIiwKLSAgICAgICAgICAgICAgIGlvbW11X3Bhc3N0aHJvdWdoID8gIlBhc3N0aHJv dWdoIiA6Ci0gICAgICAgICAgICAgICBpb21tdV9kb20wX3N0cmljdCA/ICJTdHJpY3QiIDogIlJl bGF4ZWQiKTsKKyAgICAgICAgICAgICAgIGlvbW11X2h3ZG9tX3Bhc3N0aHJvdWdoID8gIlBhc3N0 aHJvdWdoIiA6CisgICAgICAgICAgICAgICBpb21tdV9od2RvbV9zdHJpY3QgPyAiU3RyaWN0IiA6 ICJSZWxheGVkIik7CiAgICAgICAgIHByaW50aygiSW50ZXJydXB0IHJlbWFwcGluZyAlc2FibGVk XG4iLCBpb21tdV9pbnRyZW1hcCA/ICJlbiIgOiAiZGlzIik7CiAgICAgICAgIHRhc2tsZXRfaW5p dCgmaW9tbXVfcHRfY2xlYW51cF90YXNrbGV0LCBpb21tdV9mcmVlX3BhZ2V0YWJsZXMsIDApOwog ICAgIH0KZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jIGIv eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKaW5kZXggMTcxMDI1NjgyMy4uMzJi ZjBmYzI5OSAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMK KysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKQEAgLTEzMDQsNyArMTMw NCw3IEBAIHN0YXRpYyB2b2lkIF9faHdkb21faW5pdCBpbnRlbF9pb21tdV9od2RvbV9pbml0KHN0 cnVjdCBkb21haW4gKmQpCiB7CiAgICAgc3RydWN0IGFjcGlfZHJoZF91bml0ICpkcmhkOwogCi0g ICAgaWYgKCAhaW9tbXVfcGFzc3Rocm91Z2ggJiYgaXNfcHZfZG9tYWluKGQpICkKKyAgICBpZiAo ICFpb21tdV9od2RvbV9wYXNzdGhyb3VnaCAmJiBpc19wdl9kb21haW4oZCkgKQogICAgIHsKICAg ICAgICAgLyogU2V0IHVwIDE6MSBwYWdlIHRhYmxlIGZvciBoYXJkd2FyZSBkb21haW4uICovCiAg ICAgICAgIHZ0ZF9zZXRfaHdkb21fbWFwcGluZyhkKTsKQEAgLTEzOTEsNyArMTM5MSw3IEBAIGlu dCBkb21haW5fY29udGV4dF9tYXBwaW5nX29uZSgKICAgICAgICAgcmV0dXJuIHJlczsKICAgICB9 CiAKLSAgICBpZiAoIGlvbW11X3Bhc3N0aHJvdWdoICYmIGlzX2hhcmR3YXJlX2RvbWFpbihkb21h aW4pICkKKyAgICBpZiAoIGlvbW11X2h3ZG9tX3Bhc3N0aHJvdWdoICYmIGlzX2hhcmR3YXJlX2Rv bWFpbihkb21haW4pICkKICAgICB7CiAgICAgICAgIGNvbnRleHRfc2V0X3RyYW5zbGF0aW9uX3R5 cGUoKmNvbnRleHQsIENPTlRFWFRfVFRfUEFTU19USFJVKTsKICAgICAgICAgYWdhdyA9IGxldmVs X3RvX2FnYXcoaW9tbXUtPm5yX3B0X2xldmVscyk7CkBAIC0xNzgxLDcgKzE3ODEsNyBAQCBzdGF0 aWMgaW50IF9fbXVzdF9jaGVjayBpbnRlbF9pb21tdV9tYXBfcGFnZShzdHJ1Y3QgZG9tYWluICpk LAogICAgICAgICByZXR1cm4gMDsKIAogICAgIC8qIERvIG5vdGhpbmcgaWYgaGFyZHdhcmUgZG9t YWluIGFuZCBpb21tdSBzdXBwb3J0cyBwYXNzIHRocnUuICovCi0gICAgaWYgKCBpb21tdV9wYXNz dGhyb3VnaCAmJiBpc19oYXJkd2FyZV9kb21haW4oZCkgKQorICAgIGlmICggaW9tbXVfaHdkb21f cGFzc3Rocm91Z2ggJiYgaXNfaGFyZHdhcmVfZG9tYWluKGQpICkKICAgICAgICAgcmV0dXJuIDA7 CiAKICAgICBzcGluX2xvY2soJmhkLT5hcmNoLm1hcHBpbmdfbG9jayk7CkBAIC0xODI2LDcgKzE4 MjYsNyBAQCBzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBpbnRlbF9pb21tdV91bm1hcF9wYWdlKHN0 cnVjdCBkb21haW4gKmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHVuc2lnbmVkIGxvbmcgZ2ZuKQogewogICAgIC8qIERvIG5vdGhpbmcgaWYgaGFyZHdh cmUgZG9tYWluIGFuZCBpb21tdSBzdXBwb3J0cyBwYXNzIHRocnUuICovCi0gICAgaWYgKCBpb21t dV9wYXNzdGhyb3VnaCAmJiBpc19oYXJkd2FyZV9kb21haW4oZCkgKQorICAgIGlmICggaW9tbXVf aHdkb21fcGFzc3Rocm91Z2ggJiYgaXNfaGFyZHdhcmVfZG9tYWluKGQpICkKICAgICAgICAgcmV0 dXJuIDA7CiAKICAgICByZXR1cm4gZG1hX3B0ZV9jbGVhcl9vbmUoZCwgKHBhZGRyX3QpZ2ZuIDw8 IFBBR0VfU0hJRlRfNEspOwpAQCAtMjI2OSw4ICsyMjY5LDggQEAgaW50IF9faW5pdCBpbnRlbF92 dGRfc2V0dXAodm9pZCkKICAgICAgICAgaWYgKCBpb21tdV9zbm9vcCAmJiAhZWNhcF9zbnBfY3Rs KGlvbW11LT5lY2FwKSApCiAgICAgICAgICAgICBpb21tdV9zbm9vcCA9IDA7CiAKLSAgICAgICAg aWYgKCBpb21tdV9wYXNzdGhyb3VnaCAmJiAhZWNhcF9wYXNzX3RocnUoaW9tbXUtPmVjYXApICkK LSAgICAgICAgICAgIGlvbW11X3Bhc3N0aHJvdWdoID0gMDsKKyAgICAgICAgaWYgKCBpb21tdV9o d2RvbV9wYXNzdGhyb3VnaCAmJiAhZWNhcF9wYXNzX3RocnUoaW9tbXUtPmVjYXApICkKKyAgICAg ICAgICAgIGlvbW11X2h3ZG9tX3Bhc3N0aHJvdWdoID0gZmFsc2U7CiAKICAgICAgICAgaWYgKCBp b21tdV9xaW52YWwgJiYgIWVjYXBfcXVldWVkX2ludmFsKGlvbW11LT5lY2FwKSApCiAgICAgICAg ICAgICBpb21tdV9xaW52YWwgPSAwOwpAQCAtMjMwOCw3ICsyMzA4LDcgQEAgaW50IF9faW5pdCBp bnRlbF92dGRfc2V0dXAodm9pZCkKIAogI2RlZmluZSBQKHAscykgcHJpbnRrKCJJbnRlbCBWVC1k ICVzICVzZW5hYmxlZC5cbiIsIHMsIChwKT8gIiIgOiAibm90ICIpCiAgICAgUChpb21tdV9zbm9v cCwgIlNub29wIENvbnRyb2wiKTsKLSAgICBQKGlvbW11X3Bhc3N0aHJvdWdoLCAiRG9tMCBETUEg UGFzc3Rocm91Z2giKTsKKyAgICBQKGlvbW11X2h3ZG9tX3Bhc3N0aHJvdWdoLCAiRG9tMCBETUEg UGFzc3Rocm91Z2giKTsKICAgICBQKGlvbW11X3FpbnZhbCwgIlF1ZXVlZCBJbnZhbGlkYXRpb24i KTsKICAgICBQKGlvbW11X2ludHJlbWFwLCAiSW50ZXJydXB0IFJlbWFwcGluZyIpOwogICAgIFAo aW9tbXVfaW50cG9zdCwgIlBvc3RlZCBJbnRlcnJ1cHQiKTsKQEAgLTIzMzAsNyArMjMzMCw3IEBA IGludCBfX2luaXQgaW50ZWxfdnRkX3NldHVwKHZvaWQpCiAgZXJyb3I6CiAgICAgaW9tbXVfZW5h YmxlZCA9IDA7CiAgICAgaW9tbXVfc25vb3AgPSAwOwotICAgIGlvbW11X3Bhc3N0aHJvdWdoID0g MDsKKyAgICBpb21tdV9od2RvbV9wYXNzdGhyb3VnaCA9IGZhbHNlOwogICAgIGlvbW11X3FpbnZh bCA9IDA7CiAgICAgaW9tbXVfaW50cmVtYXAgPSAwOwogICAgIGlvbW11X2ludHBvc3QgPSAwOwpk aWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL3g4Ni92dGQuYyBiL3hlbi9k cml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC94ODYvdnRkLmMKaW5kZXggMDBhOTg5MTAwNS4uOGY4Njgy MTYxYiAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL3g4Ni92dGQuYwor KysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQveDg2L3Z0ZC5jCkBAIC0xNDgsNyArMTQ4 LDcgQEAgdm9pZCBfX2h3ZG9tX2luaXQgdnRkX3NldF9od2RvbV9tYXBwaW5nKHN0cnVjdCBkb21h aW4gKmQpCiAgICAgICAgICAqIElmIGRvbTAtc3RyaWN0IG1vZGUgaXMgZW5hYmxlZCB0aGVuIGV4 Y2x1ZGUgY29udmVudGlvbmFsIFJBTQogICAgICAgICAgKiBhbmQgbGV0IHRoZSBjb21tb24gY29k ZSBtYXAgZG9tMCdzIHBhZ2VzLgogICAgICAgICAgKi8KLSAgICAgICAgaWYgKCBpb21tdV9kb20w X3N0cmljdCAmJgorICAgICAgICBpZiAoIGlvbW11X2h3ZG9tX3N0cmljdCAmJgogICAgICAgICAg ICAgIHBhZ2VfaXNfcmFtX3R5cGUocGZuLCBSQU1fVFlQRV9DT05WRU5USU9OQUwpICkKICAgICAg ICAgICAgIGNvbnRpbnVlOwogCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaCBi L3hlbi9pbmNsdWRlL3hlbi9pb21tdS5oCmluZGV4IGUzNWQ5NDFmM2MuLjM5MmNmMWU2YjkgMTAw NjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9pb21tdS5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9p b21tdS5oCkBAIC0yOSwxMyArMjksMTUgQEAKICNpbmNsdWRlIDxhc20vaW9tbXUuaD4KIAogZXh0 ZXJuIGJvb2xfdCBpb21tdV9lbmFibGUsIGlvbW11X2VuYWJsZWQ7Ci1leHRlcm4gYm9vbF90IGZv cmNlX2lvbW11LCBpb21tdV9kb20wX3N0cmljdCwgaW9tbXVfdmVyYm9zZTsKLWV4dGVybiBib29s X3QgaW9tbXVfd29ya2Fyb3VuZF9iaW9zX2J1ZywgaW9tbXVfaWdmeCwgaW9tbXVfcGFzc3Rocm91 Z2g7CitleHRlcm4gYm9vbF90IGZvcmNlX2lvbW11LCBpb21tdV92ZXJib3NlOworZXh0ZXJuIGJv b2xfdCBpb21tdV93b3JrYXJvdW5kX2Jpb3NfYnVnLCBpb21tdV9pZ2Z4OwogZXh0ZXJuIGJvb2xf dCBpb21tdV9zbm9vcCwgaW9tbXVfcWludmFsLCBpb21tdV9pbnRyZW1hcCwgaW9tbXVfaW50cG9z dDsKIGV4dGVybiBib29sX3QgaW9tbXVfaGFwX3B0X3NoYXJlOwogZXh0ZXJuIGJvb2xfdCBpb21t dV9kZWJ1ZzsKIGV4dGVybiBib29sX3QgYW1kX2lvbW11X3BlcmRldl9pbnRyZW1hcDsKIAorZXh0 ZXJuIGJvb2wgaW9tbXVfaHdkb21fc3RyaWN0LCBpb21tdV9od2RvbV9wYXNzdGhyb3VnaDsKKwog ZXh0ZXJuIHVuc2lnbmVkIGludCBpb21tdV9kZXZfaW90bGJfdGltZW91dDsKIAogaW50IGlvbW11 X3NldHVwKHZvaWQpOwotLSAKMi4xOC4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMu eGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3Rp bmZvL3hlbi1kZXZlbA==