From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Xu, Quan" Subject: [PATCH v7 07/11] IOMMU: propagate IOMMU Device-TLB flush error up to IOMMU suspending (top level ones) Date: Wed, 8 Jun 2016 16:59:00 +0800 Message-ID: <1465376344-28290-8-git-send-email-quan.xu@intel.com> References: <1465376344-28290-1-git-send-email-quan.xu@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1465376344-28290-1-git-send-email-quan.xu@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Kevin Tian , Stefano Stabellini , Keir Fraser , Quan Xu , Liu Jinsong , dario.faggioli@citrix.com, Julien Grall , Jan Beulich , Andrew Cooper , Feng Wu , Suravee Suthikulpanit List-Id: xen-devel@lists.xenproject.org RnJvbTogUXVhbiBYdSA8cXVhbi54dUBpbnRlbC5jb20+CgpTaWduZWQtb2ZmLWJ5OiBRdWFuIFh1 IDxxdWFuLnh1QGludGVsLmNvbT4KCkNDOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+ CkNDOiBMaXUgSmluc29uZyA8amluc29uZy5saXVAYWxpYmFiYS1pbmMuY29tPgpDQzogS2VpciBG cmFzZXIgPGtlaXJAeGVuLm9yZz4KQ0M6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNp dHJpeC5jb20+CkNDOiBTdXJhdmVlIFN1dGhpa3VscGFuaXQgPHN1cmF2ZWUuc3V0aGlrdWxwYW5p dEBhbWQuY29tPgpDQzogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3Jn PgpDQzogSnVsaWVuIEdyYWxsIDxqdWxpZW4uZ3JhbGxAYXJtLmNvbT4KQ0M6IEtldmluIFRpYW4g PGtldmluLnRpYW5AaW50ZWwuY29tPgpDQzogRmVuZyBXdSA8ZmVuZy53dUBpbnRlbC5jb20+Cgp2 NzoKICAxLiByZXR1cm4gU0FWRURfQUxMIGF0IHRoZSBib3R0b20gb2YgZGV2aWNlX3Bvd2VyX2Rv d24oKSwgaW5zdGVhZAogICAgIG9mIFNBVkVEX05PTkUuCiAgMi4gZHJvcCB0aGUgJ2lmICggZXJy b3IgPiAwICknLCBjYWxsaW5nIGRldmljZV9wb3dlcl91cChlcnJvcikKICAgICB3aXRob3V0IGFu eSBpZigpLgogIDMuIGZvciB2dGRfc3VzcGVuZCgpOgogICAgICAgLSBkcm9wIHBvaW50bGVzcyBp bml0aWFsaXplci4KICAgICAgIC0gcmV0dXJuIDAgYXQgdGhlIGJvdHRvbSB0byBtYWtlIG9idmlv dXMgdGhhdCBubyBlcnJvciBwYXRoCiAgICAgICAgIGNvbWVzIHRoZXJlLgotLS0KIHhlbi9hcmNo L3g4Ni9hY3BpL3Bvd2VyLmMgICAgICAgICAgICAgICAgICAgICB8IDczICsrKysrKysrKysrKysr KysrKysrLS0tLS0tLQogeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X2luaXQuYyAg ICAgIHwgIDkgKysrLQogeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL3BjaV9hbWRfaW9tbXUu YyAgIHwgIDIgKy0KIHhlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMgICAgICAgICAgICAg ICB8ICA2ICsrLQogeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMgICAgICAgICAg IHwgMzUgKysrKysrKysrLS0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vc3ZtL2FtZC1pb21t dS1wcm90by5oIHwgIDIgKy0KIHhlbi9pbmNsdWRlL3hlbi9pb21tdS5oICAgICAgICAgICAgICAg ICAgICAgICB8ICA0ICstCiA3IGZpbGVzIGNoYW5nZWQsIDk2IGluc2VydGlvbnMoKyksIDM1IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9hY3BpL3Bvd2VyLmMgYi94ZW4v YXJjaC94ODYvYWNwaS9wb3dlci5jCmluZGV4IDI4ODVlMzEuLjcxN2E4MDkgMTAwNjQ0Ci0tLSBh L3hlbi9hcmNoL3g4Ni9hY3BpL3Bvd2VyLmMKKysrIGIveGVuL2FyY2gveDg2L2FjcGkvcG93ZXIu YwpAQCAtNDMsMzYgKzQzLDcwIEBAIHN0cnVjdCBhY3BpX3NsZWVwX2luZm8gYWNwaV9zaW5mbzsK IAogdm9pZCBkb19zdXNwZW5kX2xvd2xldmVsKHZvaWQpOwogCitlbnVtIGRldl9wb3dlcl9zYXZl ZAoreworICAgIFNBVkVEX05PTkUsCisgICAgU0FWRURfQ09OU09MRSwKKyAgICBTQVZFRF9USU1F LAorICAgIFNBVkVEX0k4MjU5QSwKKyAgICBTQVZFRF9JT0FQSUMsCisgICAgU0FWRURfSU9NTVUs CisgICAgU0FWRURfTEFQSUMsCisgICAgU0FWRURfQUxMLAorfTsKKwogc3RhdGljIGludCBkZXZp Y2VfcG93ZXJfZG93bih2b2lkKQogewotICAgIGNvbnNvbGVfc3VzcGVuZCgpOworICAgIGlmICgg Y29uc29sZV9zdXNwZW5kKCkgKQorICAgICAgICByZXR1cm4gU0FWRURfTk9ORTsKIAotICAgIHRp bWVfc3VzcGVuZCgpOworICAgIGlmICggdGltZV9zdXNwZW5kKCkgKQorICAgICAgICByZXR1cm4g U0FWRURfQ09OU09MRTsKIAotICAgIGk4MjU5QV9zdXNwZW5kKCk7CisgICAgaWYgKCBpODI1OUFf c3VzcGVuZCgpICkKKyAgICAgICAgcmV0dXJuIFNBVkVEX1RJTUU7CiAKKyAgICAvKiBpb2FwaWNf c3VzcGVuZCBjYW5ub3QgZmFpbCAqLwogICAgIGlvYXBpY19zdXNwZW5kKCk7CiAKLSAgICBpb21t dV9zdXNwZW5kKCk7CisgICAgaWYgKCBpb21tdV9zdXNwZW5kKCkgKQorICAgICAgICByZXR1cm4g U0FWRURfSU9BUElDOwogCi0gICAgbGFwaWNfc3VzcGVuZCgpOworICAgIGlmICggbGFwaWNfc3Vz cGVuZCgpICkKKyAgICAgICAgcmV0dXJuIFNBVkVEX0lPTU1VOwogCi0gICAgcmV0dXJuIDA7Cisg ICAgcmV0dXJuIFNBVkVEX0FMTDsKIH0KIAotc3RhdGljIHZvaWQgZGV2aWNlX3Bvd2VyX3VwKHZv aWQpCitzdGF0aWMgdm9pZCBkZXZpY2VfcG93ZXJfdXAoZW51bSBkZXZfcG93ZXJfc2F2ZWQgc2F2 ZWQpCiB7Ci0gICAgbGFwaWNfcmVzdW1lKCk7Ci0KLSAgICBpb21tdV9yZXN1bWUoKTsKLQotICAg IGlvYXBpY19yZXN1bWUoKTsKLQotICAgIGk4MjU5QV9yZXN1bWUoKTsKLQotICAgIHRpbWVfcmVz dW1lKCk7Ci0KLSAgICBjb25zb2xlX3Jlc3VtZSgpOworICAgIHN3aXRjaCAoIHNhdmVkICkKKyAg ICB7CisgICAgY2FzZSBTQVZFRF9BTEw6CisgICAgY2FzZSBTQVZFRF9MQVBJQzoKKyAgICAgICAg bGFwaWNfcmVzdW1lKCk7CisgICAgICAgIC8qIGZhbGwgdGhyb3VnaCAqLworICAgIGNhc2UgU0FW RURfSU9NTVU6CisgICAgICAgIGlvbW11X3Jlc3VtZSgpOworICAgICAgICAvKiBmYWxsIHRocm91 Z2ggKi8KKyAgICBjYXNlIFNBVkVEX0lPQVBJQzoKKyAgICAgICAgaW9hcGljX3Jlc3VtZSgpOwor ICAgICAgICAvKiBmYWxsIHRocm91Z2ggKi8KKyAgICBjYXNlIFNBVkVEX0k4MjU5QToKKyAgICAg ICAgaTgyNTlBX3Jlc3VtZSgpOworICAgICAgICAvKiBmYWxsIHRocm91Z2ggKi8KKyAgICBjYXNl IFNBVkVEX1RJTUU6CisgICAgICAgIHRpbWVfcmVzdW1lKCk7CisgICAgICAgIC8qIGZhbGwgdGhy b3VnaCAqLworICAgIGNhc2UgU0FWRURfQ09OU09MRToKKyAgICAgICAgY29uc29sZV9yZXN1bWUo KTsKKyAgICAgICAgLyogZmFsbCB0aHJvdWdoICovCisgICAgY2FzZSBTQVZFRF9OT05FOgorICAg ICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICBCVUcoKTsKKyAgICAgICAgYnJlYWs7 CisgICAgfQogfQogCiBzdGF0aWMgdm9pZCBmcmVlemVfZG9tYWlucyh2b2lkKQpAQCAtMTY5LDYg KzIwMyw3IEBAIHN0YXRpYyBpbnQgZW50ZXJfc3RhdGUodTMyIHN0YXRlKQogICAgIHsKICAgICAg ICAgcHJpbnRrKFhFTkxPR19FUlIgIlNvbWUgZGV2aWNlcyBmYWlsZWQgdG8gcG93ZXIgZG93bi4i KTsKICAgICAgICAgc3lzdGVtX3N0YXRlID0gU1lTX1NUQVRFX3Jlc3VtZTsKKyAgICAgICAgZGV2 aWNlX3Bvd2VyX3VwKGVycm9yKTsKICAgICAgICAgZ290byBkb25lOwogICAgIH0KIApAQCAtMTk2 LDcgKzIzMSw3IEBAIHN0YXRpYyBpbnQgZW50ZXJfc3RhdGUodTMyIHN0YXRlKQogICAgIHdyaXRl X2NyNChjcjQgJiB+WDg2X0NSNF9NQ0UpOwogICAgIHdyaXRlX2VmZXIocmVhZF9lZmVyKCkpOwog Ci0gICAgZGV2aWNlX3Bvd2VyX3VwKCk7CisgICAgZGV2aWNlX3Bvd2VyX3VwKFNBVkVEX0FMTCk7 CiAKICAgICBtY2hlY2tfaW5pdCgmYm9vdF9jcHVfZGF0YSwgMCk7CiAgICAgd3JpdGVfY3I0KGNy NCk7CmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfaW5pdC5j IGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X2luaXQuYwppbmRleCA0NTM2MTA2 Li4wYjY4NTk2IDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVf aW5pdC5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9pbml0LmMKQEAg LTEzMzksNyArMTMzOSwxNCBAQCBzdGF0aWMgdm9pZCBpbnZhbGlkYXRlX2FsbF9kZXZpY2VzKHZv aWQpCiAgICAgaXRlcmF0ZV9pdnJzX21hcHBpbmdzKF9pbnZhbGlkYXRlX2FsbF9kZXZpY2VzKTsK IH0KIAotdm9pZCBhbWRfaW9tbXVfc3VzcGVuZCh2b2lkKQoraW50IGFtZF9pb21tdV9zdXNwZW5k KHZvaWQpCit7CisgICAgYW1kX2lvbW11X2NyYXNoX3NodXRkb3duKCk7CisKKyAgICByZXR1cm4g MDsKK30KKwordm9pZCBhbWRfaW9tbXVfY3Jhc2hfc2h1dGRvd24odm9pZCkKIHsKICAgICBzdHJ1 Y3QgYW1kX2lvbW11ICppb21tdTsKIApkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91 Z2gvYW1kL3BjaV9hbWRfaW9tbXUuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9wY2lf YW1kX2lvbW11LmMKaW5kZXggNGE4NjBhZi4uNzc2MTI0MSAxMDA2NDQKLS0tIGEveGVuL2RyaXZl cnMvcGFzc3Rocm91Z2gvYW1kL3BjaV9hbWRfaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNz dGhyb3VnaC9hbWQvcGNpX2FtZF9pb21tdS5jCkBAIC02MzMsNiArNjMzLDYgQEAgY29uc3Qgc3Ry dWN0IGlvbW11X29wcyBhbWRfaW9tbXVfb3BzID0gewogICAgIC5zdXNwZW5kID0gYW1kX2lvbW11 X3N1c3BlbmQsCiAgICAgLnJlc3VtZSA9IGFtZF9pb21tdV9yZXN1bWUsCiAgICAgLnNoYXJlX3Ay bSA9IGFtZF9pb21tdV9zaGFyZV9wMm0sCi0gICAgLmNyYXNoX3NodXRkb3duID0gYW1kX2lvbW11 X3N1c3BlbmQsCisgICAgLmNyYXNoX3NodXRkb3duID0gYW1kX2lvbW11X2NyYXNoX3NodXRkb3du LAogICAgIC5kdW1wX3AybV90YWJsZSA9IGFtZF9kdW1wX3AybV90YWJsZSwKIH07CmRpZmYgLS1n aXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5jIGIveGVuL2RyaXZlcnMvcGFzc3Ro cm91Z2gvaW9tbXUuYwppbmRleCAzYTczZmFiLi5hOTg5OGZjIDEwMDY0NAotLS0gYS94ZW4vZHJp dmVycy9wYXNzdGhyb3VnaC9pb21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lv bW11LmMKQEAgLTM3OSwxMCArMzc5LDEyIEBAIGludCBfX2luaXQgaW9tbXVfc2V0dXAodm9pZCkK ICAgICByZXR1cm4gcmM7CiB9CiAKLXZvaWQgaW9tbXVfc3VzcGVuZCgpCitpbnQgaW9tbXVfc3Vz cGVuZCgpCiB7CiAgICAgaWYgKCBpb21tdV9lbmFibGVkICkKLSAgICAgICAgaW9tbXVfZ2V0X29w cygpLT5zdXNwZW5kKCk7CisgICAgICAgIHJldHVybiBpb21tdV9nZXRfb3BzKCktPnN1c3BlbmQo KTsKKworICAgIHJldHVybiAwOwogfQogCiB2b2lkIGlvbW11X3Jlc3VtZSgpCmRpZmYgLS1naXQg YS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0 aHJvdWdoL3Z0ZC9pb21tdS5jCmluZGV4IDUzNjYyNjcuLjBmMTdhZmIgMTAwNjQ0Ci0tLSBhL3hl bi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0 aHJvdWdoL3Z0ZC9pb21tdS5jCkBAIC01NDEsNyArNTQxLDcgQEAgc3RhdGljIGludCBpb21tdV9m bHVzaF9pb3RsYl9wc2koCiAgICAgcmV0dXJuIHN0YXR1czsKIH0KIAotc3RhdGljIHZvaWQgaW9t bXVfZmx1c2hfYWxsKHZvaWQpCitzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBpb21tdV9mbHVzaF9h bGwodm9pZCkKIHsKICAgICBzdHJ1Y3QgYWNwaV9kcmhkX3VuaXQgKmRyaGQ7CiAgICAgc3RydWN0 IGlvbW11ICppb21tdTsKQEAgLTU1NSw2ICs1NTUsOCBAQCBzdGF0aWMgdm9pZCBpb21tdV9mbHVz aF9hbGwodm9pZCkKICAgICAgICAgZmx1c2hfZGV2X2lvdGxiID0gZmluZF9hdHNfZGV2X2RyaGQo aW9tbXUpID8gMSA6IDA7CiAgICAgICAgIGlvbW11X2ZsdXNoX2lvdGxiX2dsb2JhbChpb21tdSwg MCwgZmx1c2hfZGV2X2lvdGxiKTsKICAgICB9CisKKyAgICByZXR1cm4gMDsKIH0KIAogc3RhdGlj IHZvaWQgX19pbnRlbF9pb21tdV9pb3RsYl9mbHVzaChzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25l ZCBsb25nIGdmbiwKQEAgLTEyNTksNyArMTI2MSw5IEBAIHN0YXRpYyB2b2lkIF9faHdkb21faW5p dCBpbnRlbF9pb21tdV9od2RvbV9pbml0KHN0cnVjdCBkb21haW4gKmQpCiAgICAgc2V0dXBfaHdk b21fcGNpX2RldmljZXMoZCwgc2V0dXBfaHdkb21fZGV2aWNlKTsKICAgICBzZXR1cF9od2RvbV9y bXJyKGQpOwogCi0gICAgaW9tbXVfZmx1c2hfYWxsKCk7CisgICAgaWYgKCBpb21tdV9mbHVzaF9h bGwoKSApCisgICAgICAgIHByaW50ayhYRU5MT0dfV0FSTklORyBWVERQUkVGSVgKKyAgICAgICAg ICAgICAgICIgSU9NTVUgZmx1c2ggYWxsIGZhaWxlZCBmb3IgaGFyZHdhcmUgZG9tYWluXG4iKTsK IAogICAgIGZvcl9lYWNoX2RyaGRfdW5pdCAoIGRyaGQgKQogICAgIHsKQEAgLTIwMDEsNyArMjAw NSw3IEBAIGludCBhZGp1c3RfdnRkX2lycV9hZmZpbml0aWVzKHZvaWQpCiB9CiBfX2luaXRjYWxs KGFkanVzdF92dGRfaXJxX2FmZmluaXRpZXMpOwogCi1zdGF0aWMgaW50IGluaXRfdnRkX2h3KHZv aWQpCitzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBpbml0X3Z0ZF9odyh2b2lkKQogewogICAgIHN0 cnVjdCBhY3BpX2RyaGRfdW5pdCAqZHJoZDsKICAgICBzdHJ1Y3QgaW9tbXUgKmlvbW11OwpAQCAt MjA5OSw4ICsyMTAzLDggQEAgc3RhdGljIGludCBpbml0X3Z0ZF9odyh2b2lkKQogICAgICAgICAg ICAgcmV0dXJuIC1FSU87CiAgICAgICAgIH0KICAgICB9Ci0gICAgaW9tbXVfZmx1c2hfYWxsKCk7 Ci0gICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gaW9tbXVfZmx1c2hfYWxsKCk7CiB9CiAKIHN0 YXRpYyB2b2lkIF9faHdkb21faW5pdCBzZXR1cF9od2RvbV9ybXJyKHN0cnVjdCBkb21haW4gKmQp CkBAIC0yMzg5LDE2ICsyMzkzLDI1IEBAIHN0YXRpYyBpbnQgaW50ZWxfaW9tbXVfZ3JvdXBfaWQo dTE2IHNlZywgdTggYnVzLCB1OCBkZXZmbikKIH0KIAogc3RhdGljIHUzMiBpb21tdV9zdGF0ZVtN QVhfSU9NTVVTXVtNQVhfSU9NTVVfUkVHU107Ci1zdGF0aWMgdm9pZCB2dGRfc3VzcGVuZCh2b2lk KQorCitzdGF0aWMgaW50IF9fbXVzdF9jaGVjayB2dGRfc3VzcGVuZCh2b2lkKQogewogICAgIHN0 cnVjdCBhY3BpX2RyaGRfdW5pdCAqZHJoZDsKICAgICBzdHJ1Y3QgaW9tbXUgKmlvbW11OwogICAg IHUzMiAgICBpOworICAgIGludCByYzsKIAogICAgIGlmICggIWlvbW11X2VuYWJsZWQgKQotICAg ICAgICByZXR1cm47CisgICAgICAgIHJldHVybiAwOwogCi0gICAgaW9tbXVfZmx1c2hfYWxsKCk7 CisgICAgcmMgPSBpb21tdV9mbHVzaF9hbGwoKTsKKyAgICBpZiAoIHVubGlrZWx5KHJjKSApCisg ICAgeworICAgICAgICBwcmludGsoWEVOTE9HX1dBUk5JTkcgVlREUFJFRklYCisgICAgICAgICAg ICAgICAiIHN1c3BlbmQ6IElPTU1VIGZsdXNoIGFsbCBmYWlsZWQ6ICVkXG4iLCByYyk7CisKKyAg ICAgICAgcmV0dXJuIHJjOworICAgIH0KIAogICAgIGZvcl9lYWNoX2RyaGRfdW5pdCAoIGRyaGQg KQogICAgIHsKQEAgLTI0MjcsNiArMjQ0MCw4IEBAIHN0YXRpYyB2b2lkIHZ0ZF9zdXNwZW5kKHZv aWQpCiAgICAgICAgIGlmICggIWlvbW11X2ludHJlbWFwICYmIGlvbW11X3FpbnZhbCApCiAgICAg ICAgICAgICBkaXNhYmxlX3FpbnZhbChpb21tdSk7CiAgICAgfQorCisgICAgcmV0dXJuIDA7CiB9 CiAKIHN0YXRpYyB2b2lkIHZ0ZF9jcmFzaF9zaHV0ZG93bih2b2lkKQpAQCAtMjQzNyw3ICsyNDUy LDkgQEAgc3RhdGljIHZvaWQgdnRkX2NyYXNoX3NodXRkb3duKHZvaWQpCiAgICAgaWYgKCAhaW9t bXVfZW5hYmxlZCApCiAgICAgICAgIHJldHVybjsKIAotICAgIGlvbW11X2ZsdXNoX2FsbCgpOwor ICAgIGlmICggaW9tbXVfZmx1c2hfYWxsKCkgKQorICAgICAgICBwcmludGsoWEVOTE9HX1dBUk5J TkcgVlREUFJFRklYCisgICAgICAgICAgICAgICAiIGNyYXNoIHNodXRkb3duOiBJT01NVSBmbHVz aCBhbGwgZmFpbGVkXG4iKTsKIAogICAgIGZvcl9lYWNoX2RyaGRfdW5pdCAoIGRyaGQgKQogICAg IHsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2bS9hbWQtaW9tbXUtcHJv dG8uaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2bS9hbWQtaW9tbXUtcHJvdG8uaAppbmRl eCBhYzlmMDM2Li5kMDhkYzBiIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9z dm0vYW1kLWlvbW11LXByb3RvLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vc3ZtL2Ft ZC1pb21tdS1wcm90by5oCkBAIC0xMTksNyArMTE5LDcgQEAgZXh0ZXJuIHVuc2lnbmVkIGxvbmcg KnNoYXJlZF9pbnRyZW1hcF9pbnVzZTsKIAogLyogcG93ZXIgbWFuYWdlbWVudCBzdXBwb3J0ICov CiB2b2lkIGFtZF9pb21tdV9yZXN1bWUodm9pZCk7Ci12b2lkIGFtZF9pb21tdV9zdXNwZW5kKHZv aWQpOworaW50IF9fbXVzdF9jaGVjayBhbWRfaW9tbXVfc3VzcGVuZCh2b2lkKTsKIHZvaWQgYW1k X2lvbW11X2NyYXNoX3NodXRkb3duKHZvaWQpOwogCiAvKiBndWVzdCBpb21tdSBzdXBwb3J0ICov CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaCBiL3hlbi9pbmNsdWRlL3hlbi9p b21tdS5oCmluZGV4IDU3YzlmYmMuLjY1MzU5MzcgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hl bi9pb21tdS5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9pb21tdS5oCkBAIC0xNzUsNyArMTc1LDcg QEAgc3RydWN0IGlvbW11X29wcyB7CiAgICAgdW5zaWduZWQgaW50ICgqcmVhZF9hcGljX2Zyb21f aXJlKSh1bnNpZ25lZCBpbnQgYXBpYywgdW5zaWduZWQgaW50IHJlZyk7CiAgICAgaW50ICgqc2V0 dXBfaHBldF9tc2kpKHN0cnVjdCBtc2lfZGVzYyAqKTsKICNlbmRpZiAvKiBDT05GSUdfWDg2ICov Ci0gICAgdm9pZCAoKnN1c3BlbmQpKHZvaWQpOworICAgIGludCBfX211c3RfY2hlY2sgKCpzdXNw ZW5kKSh2b2lkKTsKICAgICB2b2lkICgqcmVzdW1lKSh2b2lkKTsKICAgICB2b2lkICgqc2hhcmVf cDJtKShzdHJ1Y3QgZG9tYWluICpkKTsKICAgICB2b2lkICgqY3Jhc2hfc2h1dGRvd24pKHZvaWQp OwpAQCAtMTg1LDcgKzE4NSw3IEBAIHN0cnVjdCBpb21tdV9vcHMgewogICAgIHZvaWQgKCpkdW1w X3AybV90YWJsZSkoc3RydWN0IGRvbWFpbiAqZCk7CiB9OwogCi12b2lkIGlvbW11X3N1c3BlbmQo dm9pZCk7CitpbnQgX19tdXN0X2NoZWNrIGlvbW11X3N1c3BlbmQodm9pZCk7CiB2b2lkIGlvbW11 X3Jlc3VtZSh2b2lkKTsKIHZvaWQgaW9tbXVfY3Jhc2hfc2h1dGRvd24odm9pZCk7CiBpbnQgaW9t bXVfZ2V0X3Jlc2VydmVkX2RldmljZV9tZW1vcnkoaW9tbXVfZ3JkbV90ICosIHZvaWQgKik7Ci0t IAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Clhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xp c3RzLnhlbi5vcmcveGVuLWRldmVsCg==