From mboxrd@z Thu Jan 1 00:00:00 1970 From: Quan Xu Subject: [PATCH v4 09/10] IOMMU: propagate IOMMU Device-TLB flush error up to IOMMU suspending Date: Fri, 6 May 2016 16:54:39 +0800 Message-ID: <1462524880-67205-10-git-send-email-quan.xu@intel.com> References: <1462524880-67205-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: <1462524880-67205-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 UHJvcGFnYXRlIHRoZSBJT01NVSBEZXZpY2UtVExCIGZsdXNoIGVycm9yIHVwIHRvIElPTU1VIHN1 c3BlbmRpbmcuCgpTaWduZWQtb2ZmLWJ5OiBRdWFuIFh1IDxxdWFuLnh1QGludGVsLmNvbT4KCkND OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkNDOiBMaXUgSmluc29uZyA8amluc29u Zy5saXVAYWxpYmFiYS1pbmMuY29tPgpDQzogS2VpciBGcmFzZXIgPGtlaXJAeGVuLm9yZz4KQ0M6 IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+CkNDOiBTdXJhdmVlIFN1 dGhpa3VscGFuaXQgPHN1cmF2ZWUuc3V0aGlrdWxwYW5pdEBhbWQuY29tPgpDQzogU3RlZmFubyBT dGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPgpDQzogSnVsaWVuIEdyYWxsIDxqdWxp ZW4uZ3JhbGxAYXJtLmNvbT4KQ0M6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50ZWwuY29tPgpD QzogRmVuZyBXdSA8ZmVuZy53dUBpbnRlbC5jb20+Ci0tLQogeGVuL2FyY2gveDg2L2FjcGkvcG93 ZXIuYyAgICAgICAgICAgICAgICAgICAgIHwgNzIgKysrKysrKysrKysrKysrKysrKystLS0tLS0t CiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfaW5pdC5jICAgICAgfCAgOSArKyst CiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvcGNpX2FtZF9pb21tdS5jICAgfCAgMiArLQog eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYyAgICAgICAgICAgICAgIHwgIDcgKystCiB4 ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYyAgICAgICAgICAgfCAzOSArKysrKysr KysrKy0tLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2bS9hbWQtaW9tbXUtcHJvdG8uaCB8 ICAyICstCiB4ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaCAgICAgICAgICAgICAgICAgICAgICAgfCAg NCArLQogNyBmaWxlcyBjaGFuZ2VkLCAxMDEgaW5zZXJ0aW9ucygrKSwgMzQgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2FjcGkvcG93ZXIuYyBiL3hlbi9hcmNoL3g4Ni9h Y3BpL3Bvd2VyLmMKaW5kZXggMjg4NWUzMS4uMWY3YjhiZiAxMDA2NDQKLS0tIGEveGVuL2FyY2gv eDg2L2FjcGkvcG93ZXIuYworKysgYi94ZW4vYXJjaC94ODYvYWNwaS9wb3dlci5jCkBAIC00Mywz NiArNDMsNzEgQEAgc3RydWN0IGFjcGlfc2xlZXBfaW5mbyBhY3BpX3NpbmZvOwogCiB2b2lkIGRv X3N1c3BlbmRfbG93bGV2ZWwodm9pZCk7CiAKK2VudW0gZGV2X3Bvd2VyX3R5cGUKK3sKKyAgICAv KiBVc2UgZm9yIGFsbCBvZiBkZXZpY2UgcG93ZXIgdHlwZSAqLworICAgIFRZUEVfQUxMLAorICAg IFRZUEVfQ09OU09MRSwKKyAgICBUWVBFX1RJTUUsCisgICAgVFlQRV9JODI1OUEsCisgICAgVFlQ RV9JT0FQSUMsCisgICAgVFlQRV9JT01NVSwKKyAgICBUWVBFX0xBUElDLAorICAgIC8qIFVzZSBm b3IgZXJyb3IgKi8KKyAgICBUWVBFX1VOS05PV04KK307CisKIHN0YXRpYyBpbnQgZGV2aWNlX3Bv d2VyX2Rvd24odm9pZCkKIHsKLSAgICBjb25zb2xlX3N1c3BlbmQoKTsKKyAgICBpZiAoIGNvbnNv bGVfc3VzcGVuZCgpICkKKyAgICAgICAgcmV0dXJuIFRZUEVfQ09OU09MRTsKIAotICAgIHRpbWVf c3VzcGVuZCgpOworICAgIGlmICggdGltZV9zdXNwZW5kKCkgKQorICAgICAgICByZXR1cm4gVFlQ RV9USU1FOwogCi0gICAgaTgyNTlBX3N1c3BlbmQoKTsKKyAgICBpZiAoIGk4MjU5QV9zdXNwZW5k KCkgKQorICAgICAgICByZXR1cm4gVFlQRV9JODI1OUE7CiAKKyAgICAvKiBpb2FwaWNfc3VzcGVu ZCBzaG91bGQgbmV2ZXIgZmFpbCAqLwogICAgIGlvYXBpY19zdXNwZW5kKCk7CiAKLSAgICBpb21t dV9zdXNwZW5kKCk7CisgICAgaWYgKCBpb21tdV9zdXNwZW5kKCkgKQorICAgICAgICByZXR1cm4g VFlQRV9JT01NVTsKIAotICAgIGxhcGljX3N1c3BlbmQoKTsKKyAgICBpZiAoIGxhcGljX3N1c3Bl bmQoKSApCisgICAgICAgIHJldHVybiBUWVBFX0xBUElDOwogCiAgICAgcmV0dXJuIDA7CiB9CiAK LXN0YXRpYyB2b2lkIGRldmljZV9wb3dlcl91cCh2b2lkKQorc3RhdGljIHZvaWQgZGV2aWNlX3Bv d2VyX3VwKGVudW0gZGV2X3Bvd2VyX3R5cGUgdHlwZSkKIHsKLSAgICBsYXBpY19yZXN1bWUoKTsK LQotICAgIGlvbW11X3Jlc3VtZSgpOwotCi0gICAgaW9hcGljX3Jlc3VtZSgpOwotCi0gICAgaTgy NTlBX3Jlc3VtZSgpOwotCi0gICAgdGltZV9yZXN1bWUoKTsKLQotICAgIGNvbnNvbGVfcmVzdW1l KCk7CisgICAgc3dpdGNoICggdHlwZSApCisgICAgeworICAgIGNhc2UgVFlQRV9BTEw6CisgICAg ICAgIC8qIGZhbGwgdGhyb3VnaCAqLworICAgIGNhc2UgVFlQRV9MQVBJQzoKKyAgICAgICAgbGFw aWNfcmVzdW1lKCk7CisgICAgICAgIC8qIGZhbGwgdGhyb3VnaCAqLworICAgIGNhc2UgVFlQRV9J T01NVToKKyAgICAgICAgaW9tbXVfcmVzdW1lKCk7CisgICAgICAgIC8qIGZhbGwgdGhyb3VnaCAq LworICAgIGNhc2UgVFlQRV9JT0FQSUM6CisgICAgICAgIGlvYXBpY19yZXN1bWUoKTsKKyAgICAg ICAgLyogZmFsbCB0aHJvdWdoICovCisgICAgY2FzZSBUWVBFX0k4MjU5QToKKyAgICAgICAgaTgy NTlBX3Jlc3VtZSgpOworICAgICAgICAvKiBmYWxsIHRocm91Z2ggKi8KKyAgICBjYXNlIFRZUEVf VElNRToKKyAgICAgICAgdGltZV9yZXN1bWUoKTsKKyAgICAgICAgLyogZmFsbCB0aHJvdWdoICov CisgICAgY2FzZSBUWVBFX0NPTlNPTEU6CisgICAgICAgIGNvbnNvbGVfcmVzdW1lKCk7CisgICAg ICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIEJVRygpOworICAgICAgICBicmVhazsK KyAgICB9CiB9CiAKIHN0YXRpYyB2b2lkIGZyZWV6ZV9kb21haW5zKHZvaWQpCkBAIC0xNjksNiAr MjA0LDcgQEAgc3RhdGljIGludCBlbnRlcl9zdGF0ZSh1MzIgc3RhdGUpCiAgICAgewogICAgICAg ICBwcmludGsoWEVOTE9HX0VSUiAiU29tZSBkZXZpY2VzIGZhaWxlZCB0byBwb3dlciBkb3duLiIp OwogICAgICAgICBzeXN0ZW1fc3RhdGUgPSBTWVNfU1RBVEVfcmVzdW1lOworICAgICAgICBkZXZp Y2VfcG93ZXJfdXAoZXJyb3IpOwogICAgICAgICBnb3RvIGRvbmU7CiAgICAgfQogCkBAIC0xOTYs NyArMjMyLDcgQEAgc3RhdGljIGludCBlbnRlcl9zdGF0ZSh1MzIgc3RhdGUpCiAgICAgd3JpdGVf Y3I0KGNyNCAmIH5YODZfQ1I0X01DRSk7CiAgICAgd3JpdGVfZWZlcihyZWFkX2VmZXIoKSk7CiAK LSAgICBkZXZpY2VfcG93ZXJfdXAoKTsKKyAgICBkZXZpY2VfcG93ZXJfdXAoVFlQRV9BTEwpOwog CiAgICAgbWNoZWNrX2luaXQoJmJvb3RfY3B1X2RhdGEsIDApOwogICAgIHdyaXRlX2NyNChjcjQp OwpkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X2luaXQuYyBi L3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9pbml0LmMKaW5kZXggNDUzNjEwNi4u MDI1ODhhYSAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X2lu aXQuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfaW5pdC5jCkBAIC0x MzM5LDEyICsxMzM5LDE5IEBAIHN0YXRpYyB2b2lkIGludmFsaWRhdGVfYWxsX2RldmljZXModm9p ZCkKICAgICBpdGVyYXRlX2l2cnNfbWFwcGluZ3MoX2ludmFsaWRhdGVfYWxsX2RldmljZXMpOwog fQogCi12b2lkIGFtZF9pb21tdV9zdXNwZW5kKHZvaWQpCitpbnQgYW1kX2lvbW11X3N1c3BlbmQo dm9pZCkKIHsKICAgICBzdHJ1Y3QgYW1kX2lvbW11ICppb21tdTsKIAogICAgIGZvcl9lYWNoX2Ft ZF9pb21tdSAoIGlvbW11ICkKICAgICAgICAgZGlzYWJsZV9pb21tdShpb21tdSk7CisKKyAgICBy ZXR1cm4gMDsKK30KKwordm9pZCBhbWRfaW9tbXVfY3Jhc2hfc2h1dGRvd24odm9pZCkKK3sKKyAg ICBhbWRfaW9tbXVfc3VzcGVuZCgpOwogfQogCiB2b2lkIGFtZF9pb21tdV9yZXN1bWUodm9pZCkK ZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9wY2lfYW1kX2lvbW11LmMg Yi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvcGNpX2FtZF9pb21tdS5jCmluZGV4IDcwYjc0 NzUuLmFjNDBmNjMgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9wY2lf YW1kX2lvbW11LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL3BjaV9hbWRfaW9t bXUuYwpAQCAtNjI2LDYgKzYyNiw2IEBAIGNvbnN0IHN0cnVjdCBpb21tdV9vcHMgYW1kX2lvbW11 X29wcyA9IHsKICAgICAuc3VzcGVuZCA9IGFtZF9pb21tdV9zdXNwZW5kLAogICAgIC5yZXN1bWUg PSBhbWRfaW9tbXVfcmVzdW1lLAogICAgIC5zaGFyZV9wMm0gPSBhbWRfaW9tbXVfc2hhcmVfcDJt LAotICAgIC5jcmFzaF9zaHV0ZG93biA9IGFtZF9pb21tdV9zdXNwZW5kLAorICAgIC5jcmFzaF9z aHV0ZG93biA9IGFtZF9pb21tdV9jcmFzaF9zaHV0ZG93biwKICAgICAuZHVtcF9wMm1fdGFibGUg PSBhbWRfZHVtcF9wMm1fdGFibGUsCiB9OwpkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Ro cm91Z2gvaW9tbXUuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMKaW5kZXggYzAx M2Q5MS4uOGIyNmIxYyAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUu YworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5jCkBAIC00MDQsMTEgKzQwNCwx NCBAQCBpbnQgaW9tbXVfZG9fZG9tY3RsKAogICAgIHJldHVybiByZXQ7CiB9CiAKLXZvaWQgaW9t bXVfc3VzcGVuZCgpCitpbnQgX19tdXN0X2NoZWNrIGlvbW11X3N1c3BlbmQoKQogewogICAgIGNv bnN0IHN0cnVjdCBpb21tdV9vcHMgKm9wcyA9IGlvbW11X2dldF9vcHMoKTsKKwogICAgIGlmICgg aW9tbXVfZW5hYmxlZCApCi0gICAgICAgIG9wcy0+c3VzcGVuZCgpOworICAgICAgICByZXR1cm4g b3BzLT5zdXNwZW5kKCk7CisKKyAgICByZXR1cm4gMDsKIH0KIAogdm9pZCBpb21tdV9zaGFyZV9w Mm1fdGFibGUoc3RydWN0IGRvbWFpbiogZCkKZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0 aHJvdWdoL3Z0ZC9pb21tdS5jIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMK aW5kZXggYmY3NzQxNy4uMjljZjg3MCAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91 Z2gvdnRkL2lvbW11LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMK QEAgLTU0MSwxMSArNTQxLDEyIEBAIHN0YXRpYyBpbnQgaW9tbXVfZmx1c2hfaW90bGJfcHNpKAog ICAgIHJldHVybiBzdGF0dXM7CiB9CiAKLXN0YXRpYyB2b2lkIGlvbW11X2ZsdXNoX2FsbCh2b2lk KQorc3RhdGljIGludCBfX211c3RfY2hlY2sgaW9tbXVfZmx1c2hfYWxsKHZvaWQpCiB7CiAgICAg c3RydWN0IGFjcGlfZHJoZF91bml0ICpkcmhkOwogICAgIHN0cnVjdCBpb21tdSAqaW9tbXU7CiAg ICAgaW50IGZsdXNoX2Rldl9pb3RsYjsKKyAgICBpbnQgcmMgPSAwLCByZXQ7CiAKICAgICBmbHVz aF9hbGxfY2FjaGUoKTsKICAgICBmb3JfZWFjaF9kcmhkX3VuaXQgKCBkcmhkICkKQEAgLTU1Myw4 ICs1NTQsMTMgQEAgc3RhdGljIHZvaWQgaW9tbXVfZmx1c2hfYWxsKHZvaWQpCiAgICAgICAgIGlv bW11ID0gZHJoZC0+aW9tbXU7CiAgICAgICAgIGlvbW11X2ZsdXNoX2NvbnRleHRfZ2xvYmFsKGlv bW11LCAwKTsKICAgICAgICAgZmx1c2hfZGV2X2lvdGxiID0gZmluZF9hdHNfZGV2X2RyaGQoaW9t bXUpID8gMSA6IDA7Ci0gICAgICAgIGlvbW11X2ZsdXNoX2lvdGxiX2dsb2JhbChpb21tdSwgMCwg Zmx1c2hfZGV2X2lvdGxiKTsKKyAgICAgICAgcmV0ID0gaW9tbXVfZmx1c2hfaW90bGJfZ2xvYmFs KGlvbW11LCAwLCBmbHVzaF9kZXZfaW90bGIpOworCisgICAgICAgIGlmICggcmV0ICkKKyAgICAg ICAgICAgIHJjID0gcmV0OwogICAgIH0KKworICAgIHJldHVybiByYzsKIH0KIAogc3RhdGljIGlu dCBpb21tdV9mbHVzaF9pb3RsYihzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIGdmbiwK QEAgLTEyNjcsNyArMTI3Myw5IEBAIHN0YXRpYyB2b2lkIF9faHdkb21faW5pdCBpbnRlbF9pb21t dV9od2RvbV9pbml0KHN0cnVjdCBkb21haW4gKmQpCiAgICAgc2V0dXBfaHdkb21fcGNpX2Rldmlj ZXMoZCwgc2V0dXBfaHdkb21fZGV2aWNlKTsKICAgICBzZXR1cF9od2RvbV9ybXJyKGQpOwogCi0g ICAgaW9tbXVfZmx1c2hfYWxsKCk7CisgICAgaWYgKCBpb21tdV9mbHVzaF9hbGwoKSApCisgICAg ICAgIHByaW50ayhYRU5MT0dfV0FSTklORyBWVERQUkVGSVgKKyAgICAgICAgICAgICAgICIgaW50 ZWxfaW9tbXVfaHdkb21faW5pdDogSU9NTVUgZmx1c2ggYWxsIGZhaWxlZC5cbiIpOwogCiAgICAg Zm9yX2VhY2hfZHJoZF91bml0ICggZHJoZCApCiAgICAgewpAQCAtMjEyNiw4ICsyMTM0LDggQEAg c3RhdGljIGludCBpbml0X3Z0ZF9odyh2b2lkKQogICAgICAgICAgICAgcmV0dXJuIC1FSU87CiAg ICAgICAgIH0KICAgICB9Ci0gICAgaW9tbXVfZmx1c2hfYWxsKCk7Ci0gICAgcmV0dXJuIDA7CisK KyAgICByZXR1cm4gaW9tbXVfZmx1c2hfYWxsKCk7CiB9CiAKIHN0YXRpYyB2b2lkIF9faHdkb21f aW5pdCBzZXR1cF9od2RvbV9ybXJyKHN0cnVjdCBkb21haW4gKmQpCkBAIC0yNDE2LDE2ICsyNDI0 LDI1IEBAIHN0YXRpYyBpbnQgaW50ZWxfaW9tbXVfZ3JvdXBfaWQodTE2IHNlZywgdTggYnVzLCB1 OCBkZXZmbikKIH0KIAogc3RhdGljIHUzMiBpb21tdV9zdGF0ZVtNQVhfSU9NTVVTXVtNQVhfSU9N TVVfUkVHU107Ci1zdGF0aWMgdm9pZCB2dGRfc3VzcGVuZCh2b2lkKQorCitzdGF0aWMgaW50IHZ0 ZF9zdXNwZW5kKHZvaWQpCiB7CiAgICAgc3RydWN0IGFjcGlfZHJoZF91bml0ICpkcmhkOwogICAg IHN0cnVjdCBpb21tdSAqaW9tbXU7CiAgICAgdTMyICAgIGk7CisgICAgaW50IHJjOwogCiAgICAg aWYgKCAhaW9tbXVfZW5hYmxlZCApCi0gICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJuIDA7 CiAKLSAgICBpb21tdV9mbHVzaF9hbGwoKTsKKyAgICByYyA9IGlvbW11X2ZsdXNoX2FsbCgpOwor CisgICAgaWYgKCByYyApCisgICAgeworICAgICAgICBwcmludGsoWEVOTE9HX1dBUk5JTkcgVlRE UFJFRklYCisgICAgICAgICAgICAgICAiIHZ0ZF9zdXNwZW5kOiBJT01NVSBmbHVzaCBhbGwgZmFp bGVkLlxuIik7CisgICAgICAgIHJldHVybiByYzsKKyAgICB9CiAKICAgICBmb3JfZWFjaF9kcmhk X3VuaXQgKCBkcmhkICkKICAgICB7CkBAIC0yNDU0LDYgKzI0NzEsOCBAQCBzdGF0aWMgdm9pZCB2 dGRfc3VzcGVuZCh2b2lkKQogICAgICAgICBpZiAoICFpb21tdV9pbnRyZW1hcCAmJiBpb21tdV9x aW52YWwgKQogICAgICAgICAgICAgZGlzYWJsZV9xaW52YWwoaW9tbXUpOwogICAgIH0KKworICAg IHJldHVybiAwOwogfQogCiBzdGF0aWMgdm9pZCB2dGRfY3Jhc2hfc2h1dGRvd24odm9pZCkKQEAg LTI0NjQsNyArMjQ4Myw5IEBAIHN0YXRpYyB2b2lkIHZ0ZF9jcmFzaF9zaHV0ZG93bih2b2lkKQog ICAgIGlmICggIWlvbW11X2VuYWJsZWQgKQogICAgICAgICByZXR1cm47CiAKLSAgICBpb21tdV9m bHVzaF9hbGwoKTsKKyAgICBpZiAoIGlvbW11X2ZsdXNoX2FsbCgpICkKKyAgICAgICAgcHJpbnRr KFhFTkxPR19XQVJOSU5HIFZURFBSRUZJWAorICAgICAgICAgICAgICAgIiB2dGRfY3Jhc2hfc2h1 dGRvd246IElPTU1VIGZsdXNoIGFsbCBmYWlsZWQuXG4iKTsKIAogICAgIGZvcl9lYWNoX2RyaGRf dW5pdCAoIGRyaGQgKQogICAgIHsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZt L3N2bS9hbWQtaW9tbXUtcHJvdG8uaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2bS9hbWQt aW9tbXUtcHJvdG8uaAppbmRleCA5YzUxMTcyLi5mNTQwZmM4IDEwMDY0NAotLS0gYS94ZW4vaW5j bHVkZS9hc20teDg2L2h2bS9zdm0vYW1kLWlvbW11LXByb3RvLmgKKysrIGIveGVuL2luY2x1ZGUv YXNtLXg4Ni9odm0vc3ZtL2FtZC1pb21tdS1wcm90by5oCkBAIC0xMTksNyArMTE5LDcgQEAgZXh0 ZXJuIHVuc2lnbmVkIGxvbmcgKnNoYXJlZF9pbnRyZW1hcF9pbnVzZTsKIAogLyogcG93ZXIgbWFu YWdlbWVudCBzdXBwb3J0ICovCiB2b2lkIGFtZF9pb21tdV9yZXN1bWUodm9pZCk7Ci12b2lkIGFt ZF9pb21tdV9zdXNwZW5kKHZvaWQpOworaW50IGFtZF9pb21tdV9zdXNwZW5kKHZvaWQpOwogdm9p ZCBhbWRfaW9tbXVfY3Jhc2hfc2h1dGRvd24odm9pZCk7CiAKIC8qIGd1ZXN0IGlvbW11IHN1cHBv cnQgKi8KZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9pb21tdS5oIGIveGVuL2luY2x1ZGUv eGVuL2lvbW11LmgKaW5kZXggNmE2NDAxNC4uZmVlNWE4ZiAxMDA2NDQKLS0tIGEveGVuL2luY2x1 ZGUveGVuL2lvbW11LmgKKysrIGIveGVuL2luY2x1ZGUveGVuL2lvbW11LmgKQEAgLTE3NSw3ICsx NzUsNyBAQCBzdHJ1Y3QgaW9tbXVfb3BzIHsKICAgICB1bnNpZ25lZCBpbnQgKCpyZWFkX2FwaWNf ZnJvbV9pcmUpKHVuc2lnbmVkIGludCBhcGljLCB1bnNpZ25lZCBpbnQgcmVnKTsKICAgICBpbnQg KCpzZXR1cF9ocGV0X21zaSkoc3RydWN0IG1zaV9kZXNjICopOwogI2VuZGlmIC8qIENPTkZJR19Y ODYgKi8KLSAgICB2b2lkICgqc3VzcGVuZCkodm9pZCk7CisgICAgaW50ICgqc3VzcGVuZCkodm9p ZCk7CiAgICAgdm9pZCAoKnJlc3VtZSkodm9pZCk7CiAgICAgdm9pZCAoKnNoYXJlX3AybSkoc3Ry dWN0IGRvbWFpbiAqZCk7CiAgICAgdm9pZCAoKmNyYXNoX3NodXRkb3duKSh2b2lkKTsKQEAgLTE4 NSw3ICsxODUsNyBAQCBzdHJ1Y3QgaW9tbXVfb3BzIHsKICAgICB2b2lkICgqZHVtcF9wMm1fdGFi bGUpKHN0cnVjdCBkb21haW4gKmQpOwogfTsKIAotdm9pZCBpb21tdV9zdXNwZW5kKHZvaWQpOwor aW50IF9fbXVzdF9jaGVjayBpb21tdV9zdXNwZW5kKHZvaWQpOwogdm9pZCBpb21tdV9yZXN1bWUo dm9pZCk7CiB2b2lkIGlvbW11X2NyYXNoX3NodXRkb3duKHZvaWQpOwogaW50IGlvbW11X2dldF9y ZXNlcnZlZF9kZXZpY2VfbWVtb3J5KGlvbW11X2dyZG1fdCAqLCB2b2lkICopOwotLSAKMS45LjEK CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2 ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4u b3JnL3hlbi1kZXZlbAo=