From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v2 02/10] xen: rename un/map_mmio_regions to un/map_regions Date: Tue, 30 Apr 2019 14:02:44 -0700 Message-ID: <1556658172-8824-2-git-send-email-sstabellini@kernel.org> References: 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] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hLZtz-0007fT-AQ for xen-devel@lists.xenproject.org; Tue, 30 Apr 2019 21:02:59 +0000 In-Reply-To: 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: Stefano Stabellini , julien.grall@arm.com, sstabellini@kernel.org, JBeulich@suse.com, andrew.cooper3@citrix.com List-Id: xen-devel@lists.xenproject.org Tm93IHRoYXQgbWFwX21taW9fcmVnaW9ucyB0YWtlcyBhIHAybXQgcGFyYW1ldGVyLCB0aGVyZSBp cyBubyBuZWVkIHRvCmtlZXAgIm1taW8iIGluIHRoZSBuYW1lLiBUaGUgcDJtdCBwYXJhbWV0ZXIg ZG9lcyBhIGJldHRlciBqb2IgYXQKZXhwcmVzc2luZyB3aGF0IHRoZSBtYXBwaW5nIGlzIGFib3V0 LiBMZXQncyBzYXZlIHRoZSBlbnZpcm9ubWVudCA1CmNoYXJhY3RlcnMgYXQgYSB0aW1lLgoKQWxz byBmaXggdGhlIGNvbW1lbnQgb24gdG9wIG9mIG1hcF9tbWlvX3JlZ2lvbnMuCgpTaWduZWQtb2Zm LWJ5OiBTdGVmYW5vIFN0YWJlbGxpbmkgPHN0ZWZhbm9zQHhpbGlueC5jb20+CkNDOiBKQmV1bGlj aEBzdXNlLmNvbQpDQzogYW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbQotLS0KQ2hhbmdlcyBpbiB2 MjoKLSBuZXcgcGF0Y2gKLS0tCiB4ZW4vYXJjaC9hcm0vYWNwaS9kb21haW5fYnVpbGQuYyB8IDIw ICsrKysrKysrKystLS0tLS0tLS0tCiB4ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMgICAgICB8 IDEwICsrKysrLS0tLS0KIHhlbi9hcmNoL2FybS9naWMtdjIuYyAgICAgICAgICAgIHwgIDggKysr Ky0tLS0KIHhlbi9hcmNoL2FybS9wMm0uYyAgICAgICAgICAgICAgIHwgMTggKysrKysrKysrLS0t LS0tLS0tCiB4ZW4vYXJjaC9hcm0vcGxhdGZvcm1zL2V4eW5vczUuYyB8IDEyICsrKysrKy0tLS0t LQogeGVuL2FyY2gvYXJtL3BsYXRmb3Jtcy9vbWFwNS5jICAgfCAyNCArKysrKysrKysrKystLS0t LS0tLS0tLS0KIHhlbi9hcmNoL2FybS90cmFwcy5jICAgICAgICAgICAgIHwgIDIgKy0KIHhlbi9h cmNoL2FybS92Z2ljLXYyLmMgICAgICAgICAgIHwgIDQgKystLQogeGVuL2FyY2gvYXJtL3ZnaWMv dmdpYy12Mi5jICAgICAgfCAgNCArKy0tCiB4ZW4vYXJjaC94ODYvaHZtL2RvbTBfYnVpbGQuYyAg ICB8ICA2ICsrKy0tLQogeGVuL2FyY2gveDg2L21tL3AybS5jICAgICAgICAgICAgfCAxOCArKysr KysrKystLS0tLS0tLS0KIHhlbi9jb21tb24vZG9tY3RsLmMgICAgICAgICAgICAgIHwgIDQgKyst LQogeGVuL2RyaXZlcnMvdnBjaS9oZWFkZXIuYyAgICAgICAgfCAgOCArKysrLS0tLQogeGVuL2lu Y2x1ZGUveGVuL3AybS1jb21tb24uaCAgICAgfCAyNiArKysrKysrKysrKysrKy0tLS0tLS0tLS0t LQogMTQgZmlsZXMgY2hhbmdlZCwgODMgaW5zZXJ0aW9ucygrKSwgODEgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2FjcGkvZG9tYWluX2J1aWxkLmMgYi94ZW4vYXJjaC9h cm0vYWNwaS9kb21haW5fYnVpbGQuYwppbmRleCBmNGFjOTFjLi5mMTA3ZjVhIDEwMDY0NAotLS0g YS94ZW4vYXJjaC9hcm0vYWNwaS9kb21haW5fYnVpbGQuYworKysgYi94ZW4vYXJjaC9hcm0vYWNw aS9kb21haW5fYnVpbGQuYwpAQCAtMTkzLDExICsxOTMsMTEgQEAgc3RhdGljIHZvaWQgX19pbml0 IGFjcGlfbWFwX290aGVyX3RhYmxlcyhzdHJ1Y3QgZG9tYWluICpkKQogICAgIHsKICAgICAgICAg YWRkciA9IGFjcGlfZ2JsX3Jvb3RfdGFibGVfbGlzdC50YWJsZXNbaV0uYWRkcmVzczsKICAgICAg ICAgc2l6ZSA9IGFjcGlfZ2JsX3Jvb3RfdGFibGVfbGlzdC50YWJsZXNbaV0ubGVuZ3RoOwotICAg ICAgICByZXMgPSBtYXBfbW1pb19yZWdpb25zKGQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZ2FkZHJfdG9fZ2ZuKGFkZHIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFBGTl9VUChzaXplKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWRkcl90b19t Zm4oYWRkciksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcDJtX21taW9fZGlyZWN0 X2MpOworICAgICAgICByZXMgPSBtYXBfcmVnaW9ucyhkLAorICAgICAgICAgICAgICAgICAgICAg ICAgICBnYWRkcl90b19nZm4oYWRkciksCisgICAgICAgICAgICAgICAgICAgICAgICAgIFBGTl9V UChzaXplKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgbWFkZHJfdG9fbWZuKGFkZHIpLAor ICAgICAgICAgICAgICAgICAgICAgICAgICBwMm1fbW1pb19kaXJlY3RfYyk7CiAgICAgICAgIGlm ICggcmVzICkKICAgICAgICAgewogICAgICAgICAgICAgIHBhbmljKFhFTkxPR19FUlIgIlVuYWJs ZSB0byBtYXAgQUNQSSByZWdpb24gMHglIlBSSXg2NApAQCAtNTQ3LDExICs1NDcsMTEgQEAgaW50 IF9faW5pdCBwcmVwYXJlX2FjcGkoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IGtlcm5lbF9pbmZv ICpraW5mbykKICAgICBhY3BpX2NyZWF0ZV9lZmlfbW1hcF90YWJsZShkLCAma2luZm8tPm1lbSwg dGJsX2FkZCk7CiAKICAgICAvKiBNYXAgdGhlIEVGSSBhbmQgQUNQSSB0YWJsZXMgdG8gRG9tMCAq LwotICAgIHJjID0gbWFwX21taW9fcmVnaW9ucyhkLAotICAgICAgICAgICAgICAgICAgICAgICAg ICBnYWRkcl90b19nZm4oZC0+YXJjaC5lZmlfYWNwaV9ncGEpLAotICAgICAgICAgICAgICAgICAg ICAgICAgICBQRk5fVVAoZC0+YXJjaC5lZmlfYWNwaV9sZW4pLAotICAgICAgICAgICAgICAgICAg ICAgICAgICB2aXJ0X3RvX21mbihkLT5hcmNoLmVmaV9hY3BpX3RhYmxlKSwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgcDJtX21taW9fZGlyZWN0X2MpOworICAgIHJjID0gbWFwX3JlZ2lvbnMo ZCwKKyAgICAgICAgICAgICAgICAgICAgIGdhZGRyX3RvX2dmbihkLT5hcmNoLmVmaV9hY3BpX2dw YSksCisgICAgICAgICAgICAgICAgICAgICBQRk5fVVAoZC0+YXJjaC5lZmlfYWNwaV9sZW4pLAor ICAgICAgICAgICAgICAgICAgICAgdmlydF90b19tZm4oZC0+YXJjaC5lZmlfYWNwaV90YWJsZSks CisgICAgICAgICAgICAgICAgICAgICBwMm1fbW1pb19kaXJlY3RfYyk7CiAgICAgaWYgKCByYyAh PSAwICkKICAgICB7CiAgICAgICAgIHByaW50ayhYRU5MT0dfRVJSICJVbmFibGUgdG8gbWFwIEVG SS9BQ1BJIHRhYmxlIDB4JSJQUkl4NjQKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9kb21haW5f YnVpbGQuYyBiL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYwppbmRleCAxZjgwOGIyLi41ZTdm OTRjIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMKKysrIGIveGVuL2Fy Y2gvYXJtL2RvbWFpbl9idWlsZC5jCkBAIC0xMTcxLDExICsxMTcxLDExIEBAIHN0YXRpYyBpbnQg X19pbml0IG1hcF9yYW5nZV90b19kb21haW4oY29uc3Qgc3RydWN0IGR0X2RldmljZV9ub2RlICpk ZXYsCiAKICAgICBpZiAoIG5lZWRfbWFwcGluZyApCiAgICAgewotICAgICAgICByZXMgPSBtYXBf bW1pb19yZWdpb25zKGQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2FkZHJfdG9f Z2ZuKGFkZHIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGTl9VUChsZW4pLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZGRyX3RvX21mbihhZGRyKSwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBtcl9kYXRhLT5wMm10KTsKKyAgICAgICAgcmVzID0g bWFwX3JlZ2lvbnMoZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgZ2FkZHJfdG9fZ2ZuKGFk ZHIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICBQRk5fVVAobGVuKSwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgbWFkZHJfdG9fbWZuKGFkZHIpLAorICAgICAgICAgICAgICAgICAgICAg ICAgICBtcl9kYXRhLT5wMm10KTsKIAogICAgICAgICBpZiAoIHJlcyA8IDAgKQogICAgICAgICB7 CmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vZ2ljLXYyLmMgYi94ZW4vYXJjaC9hcm0vZ2ljLXYy LmMKaW5kZXggZDJlZjM2MS4uYWQyYjM2OCAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2dpYy12 Mi5jCisrKyBiL3hlbi9hcmNoL2FybS9naWMtdjIuYwpAQCAtNjk5LDEwICs2OTksMTAgQEAgc3Rh dGljIGludCBnaWN2Ml9tYXBfaHdkb3duX2V4dHJhX21hcHBpbmdzKHN0cnVjdCBkb21haW4gKmQp CiAgICAgICAgICAgICAgICBkLT5kb21haW5faWQsIHYybV9kYXRhLT5hZGRyLCB2Mm1fZGF0YS0+ c2l6ZSwKICAgICAgICAgICAgICAgIHYybV9kYXRhLT5zcGlfc3RhcnQsIHYybV9kYXRhLT5ucl9z cGlzKTsKIAotICAgICAgICByZXQgPSBtYXBfbW1pb19yZWdpb25zKGQsIGdhZGRyX3RvX2dmbih2 Mm1fZGF0YS0+YWRkciksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEZOX1VQKHYy bV9kYXRhLT5zaXplKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWRkcl90b19t Zm4odjJtX2RhdGEtPmFkZHIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAybV9t bWlvX2RpcmVjdF9kZXYpOworICAgICAgICByZXQgPSBtYXBfcmVnaW9ucyhkLCBnYWRkcl90b19n Zm4odjJtX2RhdGEtPmFkZHIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICBQRk5fVVAodjJt X2RhdGEtPnNpemUpLAorICAgICAgICAgICAgICAgICAgICAgICAgICBtYWRkcl90b19tZm4odjJt X2RhdGEtPmFkZHIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICBwMm1fbW1pb19kaXJlY3Rf ZGV2KTsKICAgICAgICAgaWYgKCByZXQgKQogICAgICAgICB7CiAgICAgICAgICAgICBwcmludGso WEVOTE9HX0VSUiAiR0lDdjI6IE1hcCB2Mm0gZnJhbWUgdG8gZCVkIGZhaWxlZC5cbiIsCmRpZmYg LS1naXQgYS94ZW4vYXJjaC9hcm0vcDJtLmMgYi94ZW4vYXJjaC9hcm0vcDJtLmMKaW5kZXggZTQ0 YzkzMi4uZDY1MjljYSAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL3AybS5jCisrKyBiL3hlbi9h cmNoL2FybS9wMm0uYwpAQCAtMTMzMSwxOSArMTMzMSwxOSBAQCBzdGF0aWMgaW5saW5lIGludCBw Mm1fcmVtb3ZlX21hcHBpbmcoc3RydWN0IGRvbWFpbiAqZCwKICAgICByZXR1cm4gcmM7CiB9CiAK LWludCBtYXBfbW1pb19yZWdpb25zKHN0cnVjdCBkb21haW4gKmQsCi0gICAgICAgICAgICAgICAg ICAgICBnZm5fdCBnZm4sCi0gICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIG5yLAot ICAgICAgICAgICAgICAgICAgICAgbWZuX3QgbWZuLAotICAgICAgICAgICAgICAgICAgICAgcDJt X3R5cGVfdCBwMm10KQoraW50IG1hcF9yZWdpb25zKHN0cnVjdCBkb21haW4gKmQsCisgICAgICAg ICAgICAgICAgZ2ZuX3QgZ2ZuLAorICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbnIsCisg ICAgICAgICAgICAgICAgbWZuX3QgbWZuLAorICAgICAgICAgICAgICAgIHAybV90eXBlX3QgcDJt dCkKIHsKICAgICByZXR1cm4gcDJtX2luc2VydF9tYXBwaW5nKGQsIGdmbiwgbnIsIG1mbiwgcDJt dCk7CiB9CiAKLWludCB1bm1hcF9tbWlvX3JlZ2lvbnMoc3RydWN0IGRvbWFpbiAqZCwKLSAgICAg ICAgICAgICAgICAgICAgICAgZ2ZuX3Qgc3RhcnRfZ2ZuLAotICAgICAgICAgICAgICAgICAgICAg ICB1bnNpZ25lZCBsb25nIG5yLAotICAgICAgICAgICAgICAgICAgICAgICBtZm5fdCBtZm4pCitp bnQgdW5tYXBfcmVnaW9ucyhzdHJ1Y3QgZG9tYWluICpkLAorICAgICAgICAgICAgICAgICAgZ2Zu X3Qgc3RhcnRfZ2ZuLAorICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBuciwKKyAgICAg ICAgICAgICAgICAgIG1mbl90IG1mbikKIHsKICAgICByZXR1cm4gcDJtX3JlbW92ZV9tYXBwaW5n KGQsIHN0YXJ0X2dmbiwgbnIsIG1mbik7CiB9CmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vcGxh dGZvcm1zL2V4eW5vczUuYyBiL3hlbi9hcmNoL2FybS9wbGF0Zm9ybXMvZXh5bm9zNS5jCmluZGV4 IDk3Y2QwODAuLjI2MTUyNmUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9wbGF0Zm9ybXMvZXh5 bm9zNS5jCisrKyBiL3hlbi9hcmNoL2FybS9wbGF0Zm9ybXMvZXh5bm9zNS5jCkBAIC04MiwxNCAr ODIsMTQgQEAgc3RhdGljIGludCBleHlub3M1X2luaXRfdGltZSh2b2lkKQogc3RhdGljIGludCBl eHlub3M1MjUwX3NwZWNpZmljX21hcHBpbmcoc3RydWN0IGRvbWFpbiAqZCkKIHsKICAgICAvKiBN YXAgdGhlIGNoaXAgSUQgKi8KLSAgICBtYXBfbW1pb19yZWdpb25zKGQsIGdhZGRyX3RvX2dmbihF WFlOT1M1X1BBX0NISVBJRCksIDEsCi0gICAgICAgICAgICAgICAgICAgICBtYWRkcl90b19tZm4o RVhZTk9TNV9QQV9DSElQSUQpLAotICAgICAgICAgICAgICAgICAgICAgcDJtX21taW9fZGlyZWN0 X2Rldik7CisgICAgbWFwX3JlZ2lvbnMoZCwgZ2FkZHJfdG9fZ2ZuKEVYWU5PUzVfUEFfQ0hJUElE KSwgMSwKKyAgICAgICAgICAgICAgICBtYWRkcl90b19tZm4oRVhZTk9TNV9QQV9DSElQSUQpLAor ICAgICAgICAgICAgICAgIHAybV9tbWlvX2RpcmVjdF9kZXYpOwogCiAgICAgLyogTWFwIHRoZSBQ V00gcmVnaW9uICovCi0gICAgbWFwX21taW9fcmVnaW9ucyhkLCBnYWRkcl90b19nZm4oRVhZTk9T NV9QQV9USU1FUiksIDIsCi0gICAgICAgICAgICAgICAgICAgICBtYWRkcl90b19tZm4oRVhZTk9T NV9QQV9USU1FUiksCi0gICAgICAgICAgICAgICAgICAgICBwMm1fbW1pb19kaXJlY3RfZGV2KTsK KyAgICBtYXBfcmVnaW9ucyhkLCBnYWRkcl90b19nZm4oRVhZTk9TNV9QQV9USU1FUiksIDIsCisg ICAgICAgICAgICAgICAgbWFkZHJfdG9fbWZuKEVYWU5PUzVfUEFfVElNRVIpLAorICAgICAgICAg ICAgICAgIHAybV9tbWlvX2RpcmVjdF9kZXYpOwogCiAgICAgcmV0dXJuIDA7CiB9CmRpZmYgLS1n aXQgYS94ZW4vYXJjaC9hcm0vcGxhdGZvcm1zL29tYXA1LmMgYi94ZW4vYXJjaC9hcm0vcGxhdGZv cm1zL29tYXA1LmMKaW5kZXggYzU3MDFkZi4uMzU3NWY2YyAxMDA2NDQKLS0tIGEveGVuL2FyY2gv YXJtL3BsYXRmb3Jtcy9vbWFwNS5jCisrKyBiL3hlbi9hcmNoL2FybS9wbGF0Zm9ybXMvb21hcDUu YwpAQCAtOTgsMjQgKzk4LDI0IEBAIHN0YXRpYyBpbnQgb21hcDVfaW5pdF90aW1lKHZvaWQpCiBz dGF0aWMgaW50IG9tYXA1X3NwZWNpZmljX21hcHBpbmcoc3RydWN0IGRvbWFpbiAqZCkKIHsKICAg ICAvKiBNYXAgdGhlIFBSTSBtb2R1bGUgKi8KLSAgICBtYXBfbW1pb19yZWdpb25zKGQsIGdhZGRy X3RvX2dmbihPTUFQNV9QUk1fQkFTRSksIDIsCi0gICAgICAgICAgICAgICAgICAgICBtYWRkcl90 b19tZm4oT01BUDVfUFJNX0JBU0UpLAotICAgICAgICAgICAgICAgICAgICAgcDJtX21taW9fZGly ZWN0X2Rldik7CisgICAgbWFwX3JlZ2lvbnMoZCwgZ2FkZHJfdG9fZ2ZuKE9NQVA1X1BSTV9CQVNF KSwgMiwKKyAgICAgICAgICAgICAgICBtYWRkcl90b19tZm4oT01BUDVfUFJNX0JBU0UpLAorICAg ICAgICAgICAgICAgIHAybV9tbWlvX2RpcmVjdF9kZXYpOwogCiAgICAgLyogTWFwIHRoZSBQUk1f TVBVICovCi0gICAgbWFwX21taW9fcmVnaW9ucyhkLCBnYWRkcl90b19nZm4oT01BUDVfUFJDTV9N UFVfQkFTRSksIDEsCi0gICAgICAgICAgICAgICAgICAgICBtYWRkcl90b19tZm4oT01BUDVfUFJD TV9NUFVfQkFTRSksCi0gICAgICAgICAgICAgICAgICAgICBwMm1fbW1pb19kaXJlY3RfZGV2KTsK KyAgICBtYXBfcmVnaW9ucyhkLCBnYWRkcl90b19nZm4oT01BUDVfUFJDTV9NUFVfQkFTRSksIDEs CisgICAgICAgICAgICAgICAgbWFkZHJfdG9fbWZuKE9NQVA1X1BSQ01fTVBVX0JBU0UpLAorICAg ICAgICAgICAgICAgIHAybV9tbWlvX2RpcmVjdF9kZXYpOwogCiAgICAgLyogTWFwIHRoZSBXYWtl dXAgR2VuICovCi0gICAgbWFwX21taW9fcmVnaW9ucyhkLCBnYWRkcl90b19nZm4oT01BUDVfV0tV UEdFTl9CQVNFKSwgMSwKLSAgICAgICAgICAgICAgICAgICAgIG1hZGRyX3RvX21mbihPTUFQNV9X S1VQR0VOX0JBU0UpLAotICAgICAgICAgICAgICAgICAgICAgcDJtX21taW9fZGlyZWN0X2Rldik7 CisgICAgbWFwX3JlZ2lvbnMoZCwgZ2FkZHJfdG9fZ2ZuKE9NQVA1X1dLVVBHRU5fQkFTRSksIDEs CisgICAgICAgICAgICAgICAgbWFkZHJfdG9fbWZuKE9NQVA1X1dLVVBHRU5fQkFTRSksCisgICAg ICAgICAgICAgICAgcDJtX21taW9fZGlyZWN0X2Rldik7CiAKICAgICAvKiBNYXAgdGhlIG9uLWNo aXAgU1JBTSAqLwotICAgIG1hcF9tbWlvX3JlZ2lvbnMoZCwgZ2FkZHJfdG9fZ2ZuKE9NQVA1X1NS QU1fUEEpLCAzMiwKLSAgICAgICAgICAgICAgICAgICAgIG1hZGRyX3RvX21mbihPTUFQNV9TUkFN X1BBKSwKLSAgICAgICAgICAgICAgICAgICAgIHAybV9tbWlvX2RpcmVjdF9kZXYpOworICAgIG1h cF9yZWdpb25zKGQsIGdhZGRyX3RvX2dmbihPTUFQNV9TUkFNX1BBKSwgMzIsCisgICAgICAgICAg ICAgICAgbWFkZHJfdG9fbWZuKE9NQVA1X1NSQU1fUEEpLAorICAgICAgICAgICAgICAgIHAybV9t bWlvX2RpcmVjdF9kZXYpOwogCiAgICAgcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS94ZW4vYXJj aC9hcm0vdHJhcHMuYyBiL3hlbi9hcmNoL2FybS90cmFwcy5jCmluZGV4IGFmYWU1YTEuLmZlZTU1 MTcgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS90cmFwcy5jCisrKyBiL3hlbi9hcmNoL2FybS90 cmFwcy5jCkBAIC0xODg3LDcgKzE4ODcsNyBAQCBzdGF0aWMgYm9vbCB0cnlfbWFwX21taW8oZ2Zu X3QgZ2ZuKQogICAgIGlmICggIWlvbWVtX2FjY2Vzc19wZXJtaXR0ZWQoZCwgbWZuX3gobWZuKSwg bWZuX3gobWZuKSArIDEpICkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgcmV0dXJuICFt YXBfbW1pb19yZWdpb25zKGQsIGdmbiwgMSwgbWZuLCBwMm1fbW1pb19kaXJlY3RfYyk7CisgICAg cmV0dXJuICFtYXBfcmVnaW9ucyhkLCBnZm4sIDEsIG1mbiwgcDJtX21taW9fZGlyZWN0X2MpOwog fQogCiBzdGF0aWMgdm9pZCBkb190cmFwX3N0YWdlMl9hYm9ydF9ndWVzdChzdHJ1Y3QgY3B1X3Vz ZXJfcmVncyAqcmVncywKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS92Z2ljLXYyLmMgYi94ZW4v YXJjaC9hcm0vdmdpYy12Mi5jCmluZGV4IDE1NDM2MjUuLmYzM2M1NmEgMTAwNjQ0Ci0tLSBhL3hl bi9hcmNoL2FybS92Z2ljLXYyLmMKKysrIGIveGVuL2FyY2gvYXJtL3ZnaWMtdjIuYwpAQCAtNjkw LDggKzY5MCw4IEBAIHN0YXRpYyBpbnQgdmdpY192Ml9kb21haW5faW5pdChzdHJ1Y3QgZG9tYWlu ICpkKQogICAgICAqIE1hcCB0aGUgZ2ljIHZpcnR1YWwgY3B1IGludGVyZmFjZSBpbiB0aGUgZ2lj IGNwdSBpbnRlcmZhY2UKICAgICAgKiByZWdpb24gb2YgdGhlIGd1ZXN0LgogICAgICAqLwotICAg IHJldCA9IG1hcF9tbWlvX3JlZ2lvbnMoZCwgZ2FkZHJfdG9fZ2ZuKGNiYXNlKSwgY3NpemUgLyBQ QUdFX1NJWkUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBtYWRkcl90b19tZm4odmJhc2Up LCBwMm1fbW1pb19kaXJlY3RfZGV2KTsKKyAgICByZXQgPSBtYXBfcmVnaW9ucyhkLCBnYWRkcl90 b19nZm4oY2Jhc2UpLCBjc2l6ZSAvIFBBR0VfU0laRSwKKyAgICAgICAgICAgICAgICAgICAgICBt YWRkcl90b19tZm4odmJhc2UpLCBwMm1fbW1pb19kaXJlY3RfZGV2KTsKICAgICBpZiAoIHJldCAp CiAgICAgICAgIHJldHVybiByZXQ7CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS92Z2ljL3Zn aWMtdjIuYyBiL3hlbi9hcmNoL2FybS92Z2ljL3ZnaWMtdjIuYwppbmRleCAwNGYzNGRkLi5iMDNh Zjg0IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vdmdpYy92Z2ljLXYyLmMKKysrIGIveGVuL2Fy Y2gvYXJtL3ZnaWMvdmdpYy12Mi5jCkBAIC0zMDgsOCArMzA4LDggQEAgaW50IHZnaWNfdjJfbWFw X3Jlc291cmNlcyhzdHJ1Y3QgZG9tYWluICpkKQogICAgICAqIE1hcCB0aGUgZ2ljIHZpcnR1YWwg Y3B1IGludGVyZmFjZSBpbiB0aGUgZ2ljIGNwdSBpbnRlcmZhY2UKICAgICAgKiByZWdpb24gb2Yg dGhlIGd1ZXN0LgogICAgICAqLwotICAgIHJldCA9IG1hcF9tbWlvX3JlZ2lvbnMoZCwgZ2FkZHJf dG9fZ2ZuKGNiYXNlKSwgY3NpemUgLyBQQUdFX1NJWkUsCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICBtYWRkcl90b19tZm4odmJhc2UpLCBwMm1fbW1pb19kaXJlY3RfZGV2KTsKKyAgICByZXQg PSBtYXBfcmVnaW9ucyhkLCBnYWRkcl90b19nZm4oY2Jhc2UpLCBjc2l6ZSAvIFBBR0VfU0laRSwK KyAgICAgICAgICAgICAgICAgICAgICBtYWRkcl90b19tZm4odmJhc2UpLCBwMm1fbW1pb19kaXJl Y3RfZGV2KTsKICAgICBpZiAoIHJldCApCiAgICAgewogICAgICAgICBnZHByaW50ayhYRU5MT0df RVJSLCAiVW5hYmxlIHRvIHJlbWFwIFZHSUMgQ1BVIHRvIFZDUFVcbiIpOwpkaWZmIC0tZ2l0IGEv eGVuL2FyY2gveDg2L2h2bS9kb20wX2J1aWxkLmMgYi94ZW4vYXJjaC94ODYvaHZtL2RvbTBfYnVp bGQuYwppbmRleCA4NDc3NmZjLi44MDBmYWFhIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZt L2RvbTBfYnVpbGQuYworKysgYi94ZW4vYXJjaC94ODYvaHZtL2RvbTBfYnVpbGQuYwpAQCAtODAs MTAgKzgwLDEwIEBAIHN0YXRpYyBpbnQgX19pbml0IG1vZGlmeV9pZGVudGl0eV9tbWlvKHN0cnVj dCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgcGZuLAogICAgIGZvciAoIDsgOyApCiAgICAgewog ICAgICAgICBpZiAoIG1hcCApCi0gICAgICAgICAgICByYyA9IG1hcF9tbWlvX3JlZ2lvbnMoZCwg X2dmbihwZm4pLCBucl9wYWdlcywgX21mbihwZm4pLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHAybV9tbWlvX2RpcmVjdCk7CisgICAgICAgICAgICByYyA9IG1hcF9yZWdpb25z KGQsIF9nZm4ocGZuKSwgbnJfcGFnZXMsIF9tZm4ocGZuKSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgcDJtX21taW9fZGlyZWN0KTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgcmMg PSB1bm1hcF9tbWlvX3JlZ2lvbnMoZCwgX2dmbihwZm4pLCBucl9wYWdlcywgX21mbihwZm4pKTsK KyAgICAgICAgICAgIHJjID0gdW5tYXBfcmVnaW9ucyhkLCBfZ2ZuKHBmbiksIG5yX3BhZ2VzLCBf bWZuKHBmbikpOwogICAgICAgICBpZiAoIHJjID09IDAgKQogICAgICAgICAgICAgYnJlYWs7CiAg ICAgICAgIGlmICggcmMgPCAwICkKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYyBi L3hlbi9hcmNoL3g4Ni9tbS9wMm0uYwppbmRleCBhNzJmMDEyLi5kOTc2Y2U5IDEwMDY0NAotLS0g YS94ZW4vYXJjaC94ODYvbW0vcDJtLmMKKysrIGIveGVuL2FyY2gveDg2L21tL3AybS5jCkBAIC0y MjYxLDExICsyMjYxLDExIEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgbW1pb19vcmRlcihjb25zdCBz dHJ1Y3QgZG9tYWluICpkLAogCiAjZGVmaW5lIE1BUF9NTUlPX01BWF9JVEVSIDY0IC8qIHByZXR0 eSBhcmJpdHJhcnkgKi8KIAotaW50IG1hcF9tbWlvX3JlZ2lvbnMoc3RydWN0IGRvbWFpbiAqZCwK LSAgICAgICAgICAgICAgICAgICAgIGdmbl90IHN0YXJ0X2dmbiwKLSAgICAgICAgICAgICAgICAg ICAgIHVuc2lnbmVkIGxvbmcgbnIsCi0gICAgICAgICAgICAgICAgICAgICBtZm5fdCBtZm4sCi0g ICAgICAgICAgICAgICAgICAgICBwMm1fdHlwZV90IHAybXQpCitpbnQgbWFwX3JlZ2lvbnMoc3Ry dWN0IGRvbWFpbiAqZCwKKyAgICAgICAgICAgICAgICBnZm5fdCBzdGFydF9nZm4sCisgICAgICAg ICAgICAgICAgdW5zaWduZWQgbG9uZyBuciwKKyAgICAgICAgICAgICAgICBtZm5fdCBtZm4sCisg ICAgICAgICAgICAgICAgcDJtX3R5cGVfdCBwMm10KQogewogICAgIGludCByZXQgPSAwOwogICAg IHVuc2lnbmVkIGxvbmcgaTsKQEAgLTIyOTgsMTAgKzIyOTgsMTAgQEAgaW50IG1hcF9tbWlvX3Jl Z2lvbnMoc3RydWN0IGRvbWFpbiAqZCwKICAgICByZXR1cm4gaSA9PSBuciA/IDAgOiBpID86IHJl dDsKIH0KIAotaW50IHVubWFwX21taW9fcmVnaW9ucyhzdHJ1Y3QgZG9tYWluICpkLAotICAgICAg ICAgICAgICAgICAgICAgICBnZm5fdCBzdGFydF9nZm4sCi0gICAgICAgICAgICAgICAgICAgICAg IHVuc2lnbmVkIGxvbmcgbnIsCi0gICAgICAgICAgICAgICAgICAgICAgIG1mbl90IG1mbikKK2lu dCB1bm1hcF9yZWdpb25zKHN0cnVjdCBkb21haW4gKmQsCisgICAgICAgICAgICAgICAgICBnZm5f dCBzdGFydF9nZm4sCisgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIG5yLAorICAgICAg ICAgICAgICAgICAgbWZuX3QgbWZuKQogewogICAgIGludCByZXQgPSAwOwogICAgIHVuc2lnbmVk IGxvbmcgaTsKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vZG9tY3RsLmMgYi94ZW4vY29tbW9uL2Rv bWN0bC5jCmluZGV4IDE4YTBmOGYuLjE0MGY5NzkgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vZG9t Y3RsLmMKKysrIGIveGVuL2NvbW1vbi9kb21jdGwuYwpAQCAtOTYxLDcgKzk2MSw3IEBAIGxvbmcg ZG9fZG9tY3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGVuX2RvbWN0bF90KSB1X2RvbWN0bCkK ICAgICAgICAgICAgICAgICAgICAibWVtb3J5X21hcDphZGQ6IGRvbSVkIGdmbj0lbHggbWZuPSVs eCBucj0lbHhcbiIsCiAgICAgICAgICAgICAgICAgICAgZC0+ZG9tYWluX2lkLCBnZm4sIG1mbiwg bnJfbWZucyk7CiAKLSAgICAgICAgICAgIHJldCA9IG1hcF9tbWlvX3JlZ2lvbnMoZCwgX2dmbihn Zm4pLCBucl9tZm5zLCBfbWZuKG1mbiksIHAybXQpOworICAgICAgICAgICAgcmV0ID0gbWFwX3Jl Z2lvbnMoZCwgX2dmbihnZm4pLCBucl9tZm5zLCBfbWZuKG1mbiksIHAybXQpOwogICAgICAgICAg ICAgaWYgKCByZXQgPCAwICkKICAgICAgICAgICAgICAgICBwcmludGsoWEVOTE9HX0dfV0FSTklO RwogICAgICAgICAgICAgICAgICAgICAgICAibWVtb3J5X21hcDpmYWlsOiBkb20lZCBnZm49JWx4 IG1mbj0lbHggbnI9JWx4IHJldDolbGRcbiIsCkBAIC05NzMsNyArOTczLDcgQEAgbG9uZyBkb19k b21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZW5fZG9tY3RsX3QpIHVfZG9tY3RsKQogICAg ICAgICAgICAgICAgICAgICJtZW1vcnlfbWFwOnJlbW92ZTogZG9tJWQgZ2ZuPSVseCBtZm49JWx4 IG5yPSVseFxuIiwKICAgICAgICAgICAgICAgICAgICBkLT5kb21haW5faWQsIGdmbiwgbWZuLCBu cl9tZm5zKTsKIAotICAgICAgICAgICAgcmV0ID0gdW5tYXBfbW1pb19yZWdpb25zKGQsIF9nZm4o Z2ZuKSwgbnJfbWZucywgX21mbihtZm4pKTsKKyAgICAgICAgICAgIHJldCA9IHVubWFwX3JlZ2lv bnMoZCwgX2dmbihnZm4pLCBucl9tZm5zLCBfbWZuKG1mbikpOwogICAgICAgICAgICAgaWYgKCBy ZXQgPCAwICYmIGlzX2hhcmR3YXJlX2RvbWFpbihjdXJyZW50LT5kb21haW4pICkKICAgICAgICAg ICAgICAgICBwcmludGsoWEVOTE9HX0VSUgogICAgICAgICAgICAgICAgICAgICAgICAibWVtb3J5 X21hcDogZXJyb3IgJWxkIHJlbW92aW5nIGRvbSVkIGFjY2VzcyB0byBbJWx4LCVseF1cbiIsCmRp ZmYgLS1naXQgYS94ZW4vZHJpdmVycy92cGNpL2hlYWRlci5jIGIveGVuL2RyaXZlcnMvdnBjaS9o ZWFkZXIuYwppbmRleCA2YWRmYTU1Li43YjI1YWNjIDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy92 cGNpL2hlYWRlci5jCisrKyBiL3hlbi9kcml2ZXJzL3ZwY2kvaGVhZGVyLmMKQEAgLTQ2LDE1ICs0 NiwxNSBAQCBzdGF0aWMgaW50IG1hcF9yYW5nZSh1bnNpZ25lZCBsb25nIHMsIHVuc2lnbmVkIGxv bmcgZSwgdm9pZCAqZGF0YSwKICAgICAgICAgLyoKICAgICAgICAgICogQVJNIFRPRE9zOgogICAg ICAgICAgKiAtIE9uIEFSTSB3aGV0aGVyIHRoZSBtZW1vcnkgaXMgcHJlZmV0Y2hhYmxlIG9yIG5v dCBzaG91bGQgYmUgcGFzc2VkCi0gICAgICAgICAqICAgdG8gbWFwX21taW9fcmVnaW9ucyBpbiBv cmRlciB0byBkZWNpZGUgd2hpY2ggbWVtb3J5IGF0dHJpYnV0ZXMKKyAgICAgICAgICogICB0byBt YXBfcmVnaW9ucyBpbiBvcmRlciB0byBkZWNpZGUgd2hpY2ggbWVtb3J5IGF0dHJpYnV0ZXMKICAg ICAgICAgICogICBzaG91bGQgYmUgdXNlZC4KICAgICAgICAgICoKLSAgICAgICAgICogLSB7dW59 bWFwX21taW9fcmVnaW9ucyBkb2Vzbid0IHN1cHBvcnQgcHJlZW1wdGlvbi4KKyAgICAgICAgICog LSB7dW59bWFwX3JlZ2lvbnMgZG9lc24ndCBzdXBwb3J0IHByZWVtcHRpb24uCiAgICAgICAgICAq LwogCi0gICAgICAgIHJjID0gbWFwLT5tYXAgPyBtYXBfbW1pb19yZWdpb25zKG1hcC0+ZCwgX2dm bihzKSwgc2l6ZSwgX21mbihzKSwKKyAgICAgICAgcmMgPSBtYXAtPm1hcCA/IG1hcF9yZWdpb25z KG1hcC0+ZCwgX2dmbihzKSwgc2l6ZSwgX21mbihzKSwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcDJtX21taW9fZGlyZWN0KQotICAgICAgICAgICAgICAgICAgICAg IDogdW5tYXBfbW1pb19yZWdpb25zKG1hcC0+ZCwgX2dmbihzKSwgc2l6ZSwgX21mbihzKSk7Cisg ICAgICAgICAgICAgICAgICAgICAgOiB1bm1hcF9yZWdpb25zKG1hcC0+ZCwgX2dmbihzKSwgc2l6 ZSwgX21mbihzKSk7CiAgICAgICAgIGlmICggcmMgPT0gMCApCiAgICAgICAgIHsKICAgICAgICAg ICAgICpjICs9IHNpemU7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vcDJtLWNvbW1vbi5o IGIveGVuL2luY2x1ZGUveGVuL3AybS1jb21tb24uaAppbmRleCA2OWM4MmNjLi43MjhjOWE0IDEw MDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vcDJtLWNvbW1vbi5oCisrKyBiL3hlbi9pbmNsdWRl L3hlbi9wMm0tY29tbW9uLmgKQEAgLTgsMTggKzgsMjAgQEAgaW50IF9fbXVzdF9jaGVjawogZ3Vl c3RfcGh5c21hcF9yZW1vdmVfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCBnZm5fdCBnZm4sIG1mbl90 IG1mbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHBhZ2Vfb3JkZXIp OwogCi0vKiBNYXAgTU1JTyByZWdpb25zIGluIHRoZSBwMm06IHN0YXJ0X2dmbiBhbmQgbnIgZGVz Y3JpYmUgdGhlIHJhbmdlIGluCi0gKiAgKiB0aGUgZ3Vlc3QgcGh5c2ljYWwgYWRkcmVzcyBzcGFj ZSB0byBtYXAsIHN0YXJ0aW5nIGZyb20gdGhlIG1hY2hpbmUKLSAqICAgKiBmcmFtZSBudW1iZXIg bWZuLiAqLwotaW50IG1hcF9tbWlvX3JlZ2lvbnMoc3RydWN0IGRvbWFpbiAqZCwKLSAgICAgICAg ICAgICAgICAgICAgIGdmbl90IHN0YXJ0X2dmbiwKLSAgICAgICAgICAgICAgICAgICAgIHVuc2ln bmVkIGxvbmcgbnIsCi0gICAgICAgICAgICAgICAgICAgICBtZm5fdCBtZm4sCi0gICAgICAgICAg ICAgICAgICAgICBwMm1fdHlwZV90IHAybXQpOwotaW50IHVubWFwX21taW9fcmVnaW9ucyhzdHJ1 Y3QgZG9tYWluICpkLAotICAgICAgICAgICAgICAgICAgICAgICBnZm5fdCBzdGFydF9nZm4sCi0g ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbnIsCi0gICAgICAgICAgICAgICAg ICAgICAgIG1mbl90IG1mbik7CisvKgorICogTWFwIG1lbW9yeSByZWdpb25zIGluIHRoZSBwMm06 IHN0YXJ0X2dmbiBhbmQgbnIgZGVzY3JpYmUgdGhlIHJhbmdlIGluCisgKiB0aGUgZ3Vlc3QgcGh5 c2ljYWwgYWRkcmVzcyBzcGFjZSB0byBtYXAsIHN0YXJ0aW5nIGZyb20gdGhlIG1hY2hpbmUKKyAq IGZyYW1lIG51bWJlciBtZm4uCisgKi8KK2ludCBtYXBfcmVnaW9ucyhzdHJ1Y3QgZG9tYWluICpk LAorICAgICAgICAgICAgICAgIGdmbl90IHN0YXJ0X2dmbiwKKyAgICAgICAgICAgICAgICB1bnNp Z25lZCBsb25nIG5yLAorICAgICAgICAgICAgICAgIG1mbl90IG1mbiwKKyAgICAgICAgICAgICAg ICBwMm1fdHlwZV90IHAybXQpOworaW50IHVubWFwX3JlZ2lvbnMoc3RydWN0IGRvbWFpbiAqZCwK KyAgICAgICAgICAgICAgICAgIGdmbl90IHN0YXJ0X2dmbiwKKyAgICAgICAgICAgICAgICAgIHVu c2lnbmVkIGxvbmcgbnIsCisgICAgICAgICAgICAgICAgICBtZm5fdCBtZm4pOwogCiAvKgogICog UG9wdWxhdGUtb24tRGVtYW5kCi0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxp c3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9s aXN0aW5mby94ZW4tZGV2ZWw= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.8 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 65F17C43219 for ; Tue, 30 Apr 2019 21:03:17 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 285A92081C for ; Tue, 30 Apr 2019 21:03:17 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="ejXYas6O" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 285A92081C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hLZu1-0007hH-16; Tue, 30 Apr 2019 21:03:01 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hLZtz-0007fT-AQ for xen-devel@lists.xenproject.org; Tue, 30 Apr 2019 21:02:59 +0000 X-Inumbo-ID: 53b5f6fa-6b8b-11e9-9b5b-6b811832b473 Received: from mail.kernel.org (unknown [198.145.29.99]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 53b5f6fa-6b8b-11e9-9b5b-6b811832b473; Tue, 30 Apr 2019 21:02:56 +0000 (UTC) Received: from sstabellini-ThinkPad-X260.xilinx.com (c-67-164-102-47.hsd1.ca.comcast.net [67.164.102.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 849FC21744; Tue, 30 Apr 2019 21:02:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1556658175; bh=j6kJPk+WMrwDuJdbFuoWtwMssZHx+x0GH564Nr9L33A=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ejXYas6O5Uxh62SKfb7nkm1+U/CRdT77igQm84VtvzBDsMEZwnhKqx+v6cChm4i/O R/06uaTk1jdoJcO1KqKu9rFE1uytHNutxHdVvKn6pR7hGVr7i4YQML9GxJYoBb+EmB dhaKYYxSnkEzZUP93tNL35ZsA1biynfJQtb4rlsg= From: Stefano Stabellini To: xen-devel@lists.xenproject.org Date: Tue, 30 Apr 2019 14:02:44 -0700 Message-Id: <1556658172-8824-2-git-send-email-sstabellini@kernel.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: References: Subject: [Xen-devel] [PATCH v2 02/10] xen: rename un/map_mmio_regions to un/map_regions X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Stefano Stabellini , julien.grall@arm.com, sstabellini@kernel.org, JBeulich@suse.com, andrew.cooper3@citrix.com MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Message-ID: <20190430210244.uO21oH3dHBYef2QIcokiuZz1o9uQJR5kmaHxsF_w2r0@z> Tm93IHRoYXQgbWFwX21taW9fcmVnaW9ucyB0YWtlcyBhIHAybXQgcGFyYW1ldGVyLCB0aGVyZSBp cyBubyBuZWVkIHRvCmtlZXAgIm1taW8iIGluIHRoZSBuYW1lLiBUaGUgcDJtdCBwYXJhbWV0ZXIg ZG9lcyBhIGJldHRlciBqb2IgYXQKZXhwcmVzc2luZyB3aGF0IHRoZSBtYXBwaW5nIGlzIGFib3V0 LiBMZXQncyBzYXZlIHRoZSBlbnZpcm9ubWVudCA1CmNoYXJhY3RlcnMgYXQgYSB0aW1lLgoKQWxz byBmaXggdGhlIGNvbW1lbnQgb24gdG9wIG9mIG1hcF9tbWlvX3JlZ2lvbnMuCgpTaWduZWQtb2Zm LWJ5OiBTdGVmYW5vIFN0YWJlbGxpbmkgPHN0ZWZhbm9zQHhpbGlueC5jb20+CkNDOiBKQmV1bGlj aEBzdXNlLmNvbQpDQzogYW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbQotLS0KQ2hhbmdlcyBpbiB2 MjoKLSBuZXcgcGF0Y2gKLS0tCiB4ZW4vYXJjaC9hcm0vYWNwaS9kb21haW5fYnVpbGQuYyB8IDIw ICsrKysrKysrKystLS0tLS0tLS0tCiB4ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMgICAgICB8 IDEwICsrKysrLS0tLS0KIHhlbi9hcmNoL2FybS9naWMtdjIuYyAgICAgICAgICAgIHwgIDggKysr Ky0tLS0KIHhlbi9hcmNoL2FybS9wMm0uYyAgICAgICAgICAgICAgIHwgMTggKysrKysrKysrLS0t LS0tLS0tCiB4ZW4vYXJjaC9hcm0vcGxhdGZvcm1zL2V4eW5vczUuYyB8IDEyICsrKysrKy0tLS0t LQogeGVuL2FyY2gvYXJtL3BsYXRmb3Jtcy9vbWFwNS5jICAgfCAyNCArKysrKysrKysrKystLS0t LS0tLS0tLS0KIHhlbi9hcmNoL2FybS90cmFwcy5jICAgICAgICAgICAgIHwgIDIgKy0KIHhlbi9h cmNoL2FybS92Z2ljLXYyLmMgICAgICAgICAgIHwgIDQgKystLQogeGVuL2FyY2gvYXJtL3ZnaWMv dmdpYy12Mi5jICAgICAgfCAgNCArKy0tCiB4ZW4vYXJjaC94ODYvaHZtL2RvbTBfYnVpbGQuYyAg ICB8ICA2ICsrKy0tLQogeGVuL2FyY2gveDg2L21tL3AybS5jICAgICAgICAgICAgfCAxOCArKysr KysrKystLS0tLS0tLS0KIHhlbi9jb21tb24vZG9tY3RsLmMgICAgICAgICAgICAgIHwgIDQgKyst LQogeGVuL2RyaXZlcnMvdnBjaS9oZWFkZXIuYyAgICAgICAgfCAgOCArKysrLS0tLQogeGVuL2lu Y2x1ZGUveGVuL3AybS1jb21tb24uaCAgICAgfCAyNiArKysrKysrKysrKysrKy0tLS0tLS0tLS0t LQogMTQgZmlsZXMgY2hhbmdlZCwgODMgaW5zZXJ0aW9ucygrKSwgODEgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2FjcGkvZG9tYWluX2J1aWxkLmMgYi94ZW4vYXJjaC9h cm0vYWNwaS9kb21haW5fYnVpbGQuYwppbmRleCBmNGFjOTFjLi5mMTA3ZjVhIDEwMDY0NAotLS0g YS94ZW4vYXJjaC9hcm0vYWNwaS9kb21haW5fYnVpbGQuYworKysgYi94ZW4vYXJjaC9hcm0vYWNw aS9kb21haW5fYnVpbGQuYwpAQCAtMTkzLDExICsxOTMsMTEgQEAgc3RhdGljIHZvaWQgX19pbml0 IGFjcGlfbWFwX290aGVyX3RhYmxlcyhzdHJ1Y3QgZG9tYWluICpkKQogICAgIHsKICAgICAgICAg YWRkciA9IGFjcGlfZ2JsX3Jvb3RfdGFibGVfbGlzdC50YWJsZXNbaV0uYWRkcmVzczsKICAgICAg ICAgc2l6ZSA9IGFjcGlfZ2JsX3Jvb3RfdGFibGVfbGlzdC50YWJsZXNbaV0ubGVuZ3RoOwotICAg ICAgICByZXMgPSBtYXBfbW1pb19yZWdpb25zKGQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZ2FkZHJfdG9fZ2ZuKGFkZHIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFBGTl9VUChzaXplKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWRkcl90b19t Zm4oYWRkciksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcDJtX21taW9fZGlyZWN0 X2MpOworICAgICAgICByZXMgPSBtYXBfcmVnaW9ucyhkLAorICAgICAgICAgICAgICAgICAgICAg ICAgICBnYWRkcl90b19nZm4oYWRkciksCisgICAgICAgICAgICAgICAgICAgICAgICAgIFBGTl9V UChzaXplKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgbWFkZHJfdG9fbWZuKGFkZHIpLAor ICAgICAgICAgICAgICAgICAgICAgICAgICBwMm1fbW1pb19kaXJlY3RfYyk7CiAgICAgICAgIGlm ICggcmVzICkKICAgICAgICAgewogICAgICAgICAgICAgIHBhbmljKFhFTkxPR19FUlIgIlVuYWJs ZSB0byBtYXAgQUNQSSByZWdpb24gMHglIlBSSXg2NApAQCAtNTQ3LDExICs1NDcsMTEgQEAgaW50 IF9faW5pdCBwcmVwYXJlX2FjcGkoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IGtlcm5lbF9pbmZv ICpraW5mbykKICAgICBhY3BpX2NyZWF0ZV9lZmlfbW1hcF90YWJsZShkLCAma2luZm8tPm1lbSwg dGJsX2FkZCk7CiAKICAgICAvKiBNYXAgdGhlIEVGSSBhbmQgQUNQSSB0YWJsZXMgdG8gRG9tMCAq LwotICAgIHJjID0gbWFwX21taW9fcmVnaW9ucyhkLAotICAgICAgICAgICAgICAgICAgICAgICAg ICBnYWRkcl90b19nZm4oZC0+YXJjaC5lZmlfYWNwaV9ncGEpLAotICAgICAgICAgICAgICAgICAg ICAgICAgICBQRk5fVVAoZC0+YXJjaC5lZmlfYWNwaV9sZW4pLAotICAgICAgICAgICAgICAgICAg ICAgICAgICB2aXJ0X3RvX21mbihkLT5hcmNoLmVmaV9hY3BpX3RhYmxlKSwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgcDJtX21taW9fZGlyZWN0X2MpOworICAgIHJjID0gbWFwX3JlZ2lvbnMo ZCwKKyAgICAgICAgICAgICAgICAgICAgIGdhZGRyX3RvX2dmbihkLT5hcmNoLmVmaV9hY3BpX2dw YSksCisgICAgICAgICAgICAgICAgICAgICBQRk5fVVAoZC0+YXJjaC5lZmlfYWNwaV9sZW4pLAor ICAgICAgICAgICAgICAgICAgICAgdmlydF90b19tZm4oZC0+YXJjaC5lZmlfYWNwaV90YWJsZSks CisgICAgICAgICAgICAgICAgICAgICBwMm1fbW1pb19kaXJlY3RfYyk7CiAgICAgaWYgKCByYyAh PSAwICkKICAgICB7CiAgICAgICAgIHByaW50ayhYRU5MT0dfRVJSICJVbmFibGUgdG8gbWFwIEVG SS9BQ1BJIHRhYmxlIDB4JSJQUkl4NjQKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9kb21haW5f YnVpbGQuYyBiL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYwppbmRleCAxZjgwOGIyLi41ZTdm OTRjIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMKKysrIGIveGVuL2Fy Y2gvYXJtL2RvbWFpbl9idWlsZC5jCkBAIC0xMTcxLDExICsxMTcxLDExIEBAIHN0YXRpYyBpbnQg X19pbml0IG1hcF9yYW5nZV90b19kb21haW4oY29uc3Qgc3RydWN0IGR0X2RldmljZV9ub2RlICpk ZXYsCiAKICAgICBpZiAoIG5lZWRfbWFwcGluZyApCiAgICAgewotICAgICAgICByZXMgPSBtYXBf bW1pb19yZWdpb25zKGQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2FkZHJfdG9f Z2ZuKGFkZHIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGTl9VUChsZW4pLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZGRyX3RvX21mbihhZGRyKSwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBtcl9kYXRhLT5wMm10KTsKKyAgICAgICAgcmVzID0g bWFwX3JlZ2lvbnMoZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgZ2FkZHJfdG9fZ2ZuKGFk ZHIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICBQRk5fVVAobGVuKSwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgbWFkZHJfdG9fbWZuKGFkZHIpLAorICAgICAgICAgICAgICAgICAgICAg ICAgICBtcl9kYXRhLT5wMm10KTsKIAogICAgICAgICBpZiAoIHJlcyA8IDAgKQogICAgICAgICB7 CmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vZ2ljLXYyLmMgYi94ZW4vYXJjaC9hcm0vZ2ljLXYy LmMKaW5kZXggZDJlZjM2MS4uYWQyYjM2OCAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2dpYy12 Mi5jCisrKyBiL3hlbi9hcmNoL2FybS9naWMtdjIuYwpAQCAtNjk5LDEwICs2OTksMTAgQEAgc3Rh dGljIGludCBnaWN2Ml9tYXBfaHdkb3duX2V4dHJhX21hcHBpbmdzKHN0cnVjdCBkb21haW4gKmQp CiAgICAgICAgICAgICAgICBkLT5kb21haW5faWQsIHYybV9kYXRhLT5hZGRyLCB2Mm1fZGF0YS0+ c2l6ZSwKICAgICAgICAgICAgICAgIHYybV9kYXRhLT5zcGlfc3RhcnQsIHYybV9kYXRhLT5ucl9z cGlzKTsKIAotICAgICAgICByZXQgPSBtYXBfbW1pb19yZWdpb25zKGQsIGdhZGRyX3RvX2dmbih2 Mm1fZGF0YS0+YWRkciksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEZOX1VQKHYy bV9kYXRhLT5zaXplKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWRkcl90b19t Zm4odjJtX2RhdGEtPmFkZHIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAybV9t bWlvX2RpcmVjdF9kZXYpOworICAgICAgICByZXQgPSBtYXBfcmVnaW9ucyhkLCBnYWRkcl90b19n Zm4odjJtX2RhdGEtPmFkZHIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICBQRk5fVVAodjJt X2RhdGEtPnNpemUpLAorICAgICAgICAgICAgICAgICAgICAgICAgICBtYWRkcl90b19tZm4odjJt X2RhdGEtPmFkZHIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICBwMm1fbW1pb19kaXJlY3Rf ZGV2KTsKICAgICAgICAgaWYgKCByZXQgKQogICAgICAgICB7CiAgICAgICAgICAgICBwcmludGso WEVOTE9HX0VSUiAiR0lDdjI6IE1hcCB2Mm0gZnJhbWUgdG8gZCVkIGZhaWxlZC5cbiIsCmRpZmYg LS1naXQgYS94ZW4vYXJjaC9hcm0vcDJtLmMgYi94ZW4vYXJjaC9hcm0vcDJtLmMKaW5kZXggZTQ0 YzkzMi4uZDY1MjljYSAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL3AybS5jCisrKyBiL3hlbi9h cmNoL2FybS9wMm0uYwpAQCAtMTMzMSwxOSArMTMzMSwxOSBAQCBzdGF0aWMgaW5saW5lIGludCBw Mm1fcmVtb3ZlX21hcHBpbmcoc3RydWN0IGRvbWFpbiAqZCwKICAgICByZXR1cm4gcmM7CiB9CiAK LWludCBtYXBfbW1pb19yZWdpb25zKHN0cnVjdCBkb21haW4gKmQsCi0gICAgICAgICAgICAgICAg ICAgICBnZm5fdCBnZm4sCi0gICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIG5yLAot ICAgICAgICAgICAgICAgICAgICAgbWZuX3QgbWZuLAotICAgICAgICAgICAgICAgICAgICAgcDJt X3R5cGVfdCBwMm10KQoraW50IG1hcF9yZWdpb25zKHN0cnVjdCBkb21haW4gKmQsCisgICAgICAg ICAgICAgICAgZ2ZuX3QgZ2ZuLAorICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbnIsCisg ICAgICAgICAgICAgICAgbWZuX3QgbWZuLAorICAgICAgICAgICAgICAgIHAybV90eXBlX3QgcDJt dCkKIHsKICAgICByZXR1cm4gcDJtX2luc2VydF9tYXBwaW5nKGQsIGdmbiwgbnIsIG1mbiwgcDJt dCk7CiB9CiAKLWludCB1bm1hcF9tbWlvX3JlZ2lvbnMoc3RydWN0IGRvbWFpbiAqZCwKLSAgICAg ICAgICAgICAgICAgICAgICAgZ2ZuX3Qgc3RhcnRfZ2ZuLAotICAgICAgICAgICAgICAgICAgICAg ICB1bnNpZ25lZCBsb25nIG5yLAotICAgICAgICAgICAgICAgICAgICAgICBtZm5fdCBtZm4pCitp bnQgdW5tYXBfcmVnaW9ucyhzdHJ1Y3QgZG9tYWluICpkLAorICAgICAgICAgICAgICAgICAgZ2Zu X3Qgc3RhcnRfZ2ZuLAorICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBuciwKKyAgICAg ICAgICAgICAgICAgIG1mbl90IG1mbikKIHsKICAgICByZXR1cm4gcDJtX3JlbW92ZV9tYXBwaW5n KGQsIHN0YXJ0X2dmbiwgbnIsIG1mbik7CiB9CmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vcGxh dGZvcm1zL2V4eW5vczUuYyBiL3hlbi9hcmNoL2FybS9wbGF0Zm9ybXMvZXh5bm9zNS5jCmluZGV4 IDk3Y2QwODAuLjI2MTUyNmUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9wbGF0Zm9ybXMvZXh5 bm9zNS5jCisrKyBiL3hlbi9hcmNoL2FybS9wbGF0Zm9ybXMvZXh5bm9zNS5jCkBAIC04MiwxNCAr ODIsMTQgQEAgc3RhdGljIGludCBleHlub3M1X2luaXRfdGltZSh2b2lkKQogc3RhdGljIGludCBl eHlub3M1MjUwX3NwZWNpZmljX21hcHBpbmcoc3RydWN0IGRvbWFpbiAqZCkKIHsKICAgICAvKiBN YXAgdGhlIGNoaXAgSUQgKi8KLSAgICBtYXBfbW1pb19yZWdpb25zKGQsIGdhZGRyX3RvX2dmbihF WFlOT1M1X1BBX0NISVBJRCksIDEsCi0gICAgICAgICAgICAgICAgICAgICBtYWRkcl90b19tZm4o RVhZTk9TNV9QQV9DSElQSUQpLAotICAgICAgICAgICAgICAgICAgICAgcDJtX21taW9fZGlyZWN0 X2Rldik7CisgICAgbWFwX3JlZ2lvbnMoZCwgZ2FkZHJfdG9fZ2ZuKEVYWU5PUzVfUEFfQ0hJUElE KSwgMSwKKyAgICAgICAgICAgICAgICBtYWRkcl90b19tZm4oRVhZTk9TNV9QQV9DSElQSUQpLAor ICAgICAgICAgICAgICAgIHAybV9tbWlvX2RpcmVjdF9kZXYpOwogCiAgICAgLyogTWFwIHRoZSBQ V00gcmVnaW9uICovCi0gICAgbWFwX21taW9fcmVnaW9ucyhkLCBnYWRkcl90b19nZm4oRVhZTk9T NV9QQV9USU1FUiksIDIsCi0gICAgICAgICAgICAgICAgICAgICBtYWRkcl90b19tZm4oRVhZTk9T NV9QQV9USU1FUiksCi0gICAgICAgICAgICAgICAgICAgICBwMm1fbW1pb19kaXJlY3RfZGV2KTsK KyAgICBtYXBfcmVnaW9ucyhkLCBnYWRkcl90b19nZm4oRVhZTk9TNV9QQV9USU1FUiksIDIsCisg ICAgICAgICAgICAgICAgbWFkZHJfdG9fbWZuKEVYWU5PUzVfUEFfVElNRVIpLAorICAgICAgICAg ICAgICAgIHAybV9tbWlvX2RpcmVjdF9kZXYpOwogCiAgICAgcmV0dXJuIDA7CiB9CmRpZmYgLS1n aXQgYS94ZW4vYXJjaC9hcm0vcGxhdGZvcm1zL29tYXA1LmMgYi94ZW4vYXJjaC9hcm0vcGxhdGZv cm1zL29tYXA1LmMKaW5kZXggYzU3MDFkZi4uMzU3NWY2YyAxMDA2NDQKLS0tIGEveGVuL2FyY2gv YXJtL3BsYXRmb3Jtcy9vbWFwNS5jCisrKyBiL3hlbi9hcmNoL2FybS9wbGF0Zm9ybXMvb21hcDUu YwpAQCAtOTgsMjQgKzk4LDI0IEBAIHN0YXRpYyBpbnQgb21hcDVfaW5pdF90aW1lKHZvaWQpCiBz dGF0aWMgaW50IG9tYXA1X3NwZWNpZmljX21hcHBpbmcoc3RydWN0IGRvbWFpbiAqZCkKIHsKICAg ICAvKiBNYXAgdGhlIFBSTSBtb2R1bGUgKi8KLSAgICBtYXBfbW1pb19yZWdpb25zKGQsIGdhZGRy X3RvX2dmbihPTUFQNV9QUk1fQkFTRSksIDIsCi0gICAgICAgICAgICAgICAgICAgICBtYWRkcl90 b19tZm4oT01BUDVfUFJNX0JBU0UpLAotICAgICAgICAgICAgICAgICAgICAgcDJtX21taW9fZGly ZWN0X2Rldik7CisgICAgbWFwX3JlZ2lvbnMoZCwgZ2FkZHJfdG9fZ2ZuKE9NQVA1X1BSTV9CQVNF KSwgMiwKKyAgICAgICAgICAgICAgICBtYWRkcl90b19tZm4oT01BUDVfUFJNX0JBU0UpLAorICAg ICAgICAgICAgICAgIHAybV9tbWlvX2RpcmVjdF9kZXYpOwogCiAgICAgLyogTWFwIHRoZSBQUk1f TVBVICovCi0gICAgbWFwX21taW9fcmVnaW9ucyhkLCBnYWRkcl90b19nZm4oT01BUDVfUFJDTV9N UFVfQkFTRSksIDEsCi0gICAgICAgICAgICAgICAgICAgICBtYWRkcl90b19tZm4oT01BUDVfUFJD TV9NUFVfQkFTRSksCi0gICAgICAgICAgICAgICAgICAgICBwMm1fbW1pb19kaXJlY3RfZGV2KTsK KyAgICBtYXBfcmVnaW9ucyhkLCBnYWRkcl90b19nZm4oT01BUDVfUFJDTV9NUFVfQkFTRSksIDEs CisgICAgICAgICAgICAgICAgbWFkZHJfdG9fbWZuKE9NQVA1X1BSQ01fTVBVX0JBU0UpLAorICAg ICAgICAgICAgICAgIHAybV9tbWlvX2RpcmVjdF9kZXYpOwogCiAgICAgLyogTWFwIHRoZSBXYWtl dXAgR2VuICovCi0gICAgbWFwX21taW9fcmVnaW9ucyhkLCBnYWRkcl90b19nZm4oT01BUDVfV0tV UEdFTl9CQVNFKSwgMSwKLSAgICAgICAgICAgICAgICAgICAgIG1hZGRyX3RvX21mbihPTUFQNV9X S1VQR0VOX0JBU0UpLAotICAgICAgICAgICAgICAgICAgICAgcDJtX21taW9fZGlyZWN0X2Rldik7 CisgICAgbWFwX3JlZ2lvbnMoZCwgZ2FkZHJfdG9fZ2ZuKE9NQVA1X1dLVVBHRU5fQkFTRSksIDEs CisgICAgICAgICAgICAgICAgbWFkZHJfdG9fbWZuKE9NQVA1X1dLVVBHRU5fQkFTRSksCisgICAg ICAgICAgICAgICAgcDJtX21taW9fZGlyZWN0X2Rldik7CiAKICAgICAvKiBNYXAgdGhlIG9uLWNo aXAgU1JBTSAqLwotICAgIG1hcF9tbWlvX3JlZ2lvbnMoZCwgZ2FkZHJfdG9fZ2ZuKE9NQVA1X1NS QU1fUEEpLCAzMiwKLSAgICAgICAgICAgICAgICAgICAgIG1hZGRyX3RvX21mbihPTUFQNV9TUkFN X1BBKSwKLSAgICAgICAgICAgICAgICAgICAgIHAybV9tbWlvX2RpcmVjdF9kZXYpOworICAgIG1h cF9yZWdpb25zKGQsIGdhZGRyX3RvX2dmbihPTUFQNV9TUkFNX1BBKSwgMzIsCisgICAgICAgICAg ICAgICAgbWFkZHJfdG9fbWZuKE9NQVA1X1NSQU1fUEEpLAorICAgICAgICAgICAgICAgIHAybV9t bWlvX2RpcmVjdF9kZXYpOwogCiAgICAgcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS94ZW4vYXJj aC9hcm0vdHJhcHMuYyBiL3hlbi9hcmNoL2FybS90cmFwcy5jCmluZGV4IGFmYWU1YTEuLmZlZTU1 MTcgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS90cmFwcy5jCisrKyBiL3hlbi9hcmNoL2FybS90 cmFwcy5jCkBAIC0xODg3LDcgKzE4ODcsNyBAQCBzdGF0aWMgYm9vbCB0cnlfbWFwX21taW8oZ2Zu X3QgZ2ZuKQogICAgIGlmICggIWlvbWVtX2FjY2Vzc19wZXJtaXR0ZWQoZCwgbWZuX3gobWZuKSwg bWZuX3gobWZuKSArIDEpICkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgcmV0dXJuICFt YXBfbW1pb19yZWdpb25zKGQsIGdmbiwgMSwgbWZuLCBwMm1fbW1pb19kaXJlY3RfYyk7CisgICAg cmV0dXJuICFtYXBfcmVnaW9ucyhkLCBnZm4sIDEsIG1mbiwgcDJtX21taW9fZGlyZWN0X2MpOwog fQogCiBzdGF0aWMgdm9pZCBkb190cmFwX3N0YWdlMl9hYm9ydF9ndWVzdChzdHJ1Y3QgY3B1X3Vz ZXJfcmVncyAqcmVncywKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS92Z2ljLXYyLmMgYi94ZW4v YXJjaC9hcm0vdmdpYy12Mi5jCmluZGV4IDE1NDM2MjUuLmYzM2M1NmEgMTAwNjQ0Ci0tLSBhL3hl bi9hcmNoL2FybS92Z2ljLXYyLmMKKysrIGIveGVuL2FyY2gvYXJtL3ZnaWMtdjIuYwpAQCAtNjkw LDggKzY5MCw4IEBAIHN0YXRpYyBpbnQgdmdpY192Ml9kb21haW5faW5pdChzdHJ1Y3QgZG9tYWlu ICpkKQogICAgICAqIE1hcCB0aGUgZ2ljIHZpcnR1YWwgY3B1IGludGVyZmFjZSBpbiB0aGUgZ2lj IGNwdSBpbnRlcmZhY2UKICAgICAgKiByZWdpb24gb2YgdGhlIGd1ZXN0LgogICAgICAqLwotICAg IHJldCA9IG1hcF9tbWlvX3JlZ2lvbnMoZCwgZ2FkZHJfdG9fZ2ZuKGNiYXNlKSwgY3NpemUgLyBQ QUdFX1NJWkUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBtYWRkcl90b19tZm4odmJhc2Up LCBwMm1fbW1pb19kaXJlY3RfZGV2KTsKKyAgICByZXQgPSBtYXBfcmVnaW9ucyhkLCBnYWRkcl90 b19nZm4oY2Jhc2UpLCBjc2l6ZSAvIFBBR0VfU0laRSwKKyAgICAgICAgICAgICAgICAgICAgICBt YWRkcl90b19tZm4odmJhc2UpLCBwMm1fbW1pb19kaXJlY3RfZGV2KTsKICAgICBpZiAoIHJldCAp CiAgICAgICAgIHJldHVybiByZXQ7CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS92Z2ljL3Zn aWMtdjIuYyBiL3hlbi9hcmNoL2FybS92Z2ljL3ZnaWMtdjIuYwppbmRleCAwNGYzNGRkLi5iMDNh Zjg0IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vdmdpYy92Z2ljLXYyLmMKKysrIGIveGVuL2Fy Y2gvYXJtL3ZnaWMvdmdpYy12Mi5jCkBAIC0zMDgsOCArMzA4LDggQEAgaW50IHZnaWNfdjJfbWFw X3Jlc291cmNlcyhzdHJ1Y3QgZG9tYWluICpkKQogICAgICAqIE1hcCB0aGUgZ2ljIHZpcnR1YWwg Y3B1IGludGVyZmFjZSBpbiB0aGUgZ2ljIGNwdSBpbnRlcmZhY2UKICAgICAgKiByZWdpb24gb2Yg dGhlIGd1ZXN0LgogICAgICAqLwotICAgIHJldCA9IG1hcF9tbWlvX3JlZ2lvbnMoZCwgZ2FkZHJf dG9fZ2ZuKGNiYXNlKSwgY3NpemUgLyBQQUdFX1NJWkUsCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICBtYWRkcl90b19tZm4odmJhc2UpLCBwMm1fbW1pb19kaXJlY3RfZGV2KTsKKyAgICByZXQg PSBtYXBfcmVnaW9ucyhkLCBnYWRkcl90b19nZm4oY2Jhc2UpLCBjc2l6ZSAvIFBBR0VfU0laRSwK KyAgICAgICAgICAgICAgICAgICAgICBtYWRkcl90b19tZm4odmJhc2UpLCBwMm1fbW1pb19kaXJl Y3RfZGV2KTsKICAgICBpZiAoIHJldCApCiAgICAgewogICAgICAgICBnZHByaW50ayhYRU5MT0df RVJSLCAiVW5hYmxlIHRvIHJlbWFwIFZHSUMgQ1BVIHRvIFZDUFVcbiIpOwpkaWZmIC0tZ2l0IGEv eGVuL2FyY2gveDg2L2h2bS9kb20wX2J1aWxkLmMgYi94ZW4vYXJjaC94ODYvaHZtL2RvbTBfYnVp bGQuYwppbmRleCA4NDc3NmZjLi44MDBmYWFhIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZt L2RvbTBfYnVpbGQuYworKysgYi94ZW4vYXJjaC94ODYvaHZtL2RvbTBfYnVpbGQuYwpAQCAtODAs MTAgKzgwLDEwIEBAIHN0YXRpYyBpbnQgX19pbml0IG1vZGlmeV9pZGVudGl0eV9tbWlvKHN0cnVj dCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgcGZuLAogICAgIGZvciAoIDsgOyApCiAgICAgewog ICAgICAgICBpZiAoIG1hcCApCi0gICAgICAgICAgICByYyA9IG1hcF9tbWlvX3JlZ2lvbnMoZCwg X2dmbihwZm4pLCBucl9wYWdlcywgX21mbihwZm4pLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHAybV9tbWlvX2RpcmVjdCk7CisgICAgICAgICAgICByYyA9IG1hcF9yZWdpb25z KGQsIF9nZm4ocGZuKSwgbnJfcGFnZXMsIF9tZm4ocGZuKSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgcDJtX21taW9fZGlyZWN0KTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgcmMg PSB1bm1hcF9tbWlvX3JlZ2lvbnMoZCwgX2dmbihwZm4pLCBucl9wYWdlcywgX21mbihwZm4pKTsK KyAgICAgICAgICAgIHJjID0gdW5tYXBfcmVnaW9ucyhkLCBfZ2ZuKHBmbiksIG5yX3BhZ2VzLCBf bWZuKHBmbikpOwogICAgICAgICBpZiAoIHJjID09IDAgKQogICAgICAgICAgICAgYnJlYWs7CiAg ICAgICAgIGlmICggcmMgPCAwICkKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYyBi L3hlbi9hcmNoL3g4Ni9tbS9wMm0uYwppbmRleCBhNzJmMDEyLi5kOTc2Y2U5IDEwMDY0NAotLS0g YS94ZW4vYXJjaC94ODYvbW0vcDJtLmMKKysrIGIveGVuL2FyY2gveDg2L21tL3AybS5jCkBAIC0y MjYxLDExICsyMjYxLDExIEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgbW1pb19vcmRlcihjb25zdCBz dHJ1Y3QgZG9tYWluICpkLAogCiAjZGVmaW5lIE1BUF9NTUlPX01BWF9JVEVSIDY0IC8qIHByZXR0 eSBhcmJpdHJhcnkgKi8KIAotaW50IG1hcF9tbWlvX3JlZ2lvbnMoc3RydWN0IGRvbWFpbiAqZCwK LSAgICAgICAgICAgICAgICAgICAgIGdmbl90IHN0YXJ0X2dmbiwKLSAgICAgICAgICAgICAgICAg ICAgIHVuc2lnbmVkIGxvbmcgbnIsCi0gICAgICAgICAgICAgICAgICAgICBtZm5fdCBtZm4sCi0g ICAgICAgICAgICAgICAgICAgICBwMm1fdHlwZV90IHAybXQpCitpbnQgbWFwX3JlZ2lvbnMoc3Ry dWN0IGRvbWFpbiAqZCwKKyAgICAgICAgICAgICAgICBnZm5fdCBzdGFydF9nZm4sCisgICAgICAg ICAgICAgICAgdW5zaWduZWQgbG9uZyBuciwKKyAgICAgICAgICAgICAgICBtZm5fdCBtZm4sCisg ICAgICAgICAgICAgICAgcDJtX3R5cGVfdCBwMm10KQogewogICAgIGludCByZXQgPSAwOwogICAg IHVuc2lnbmVkIGxvbmcgaTsKQEAgLTIyOTgsMTAgKzIyOTgsMTAgQEAgaW50IG1hcF9tbWlvX3Jl Z2lvbnMoc3RydWN0IGRvbWFpbiAqZCwKICAgICByZXR1cm4gaSA9PSBuciA/IDAgOiBpID86IHJl dDsKIH0KIAotaW50IHVubWFwX21taW9fcmVnaW9ucyhzdHJ1Y3QgZG9tYWluICpkLAotICAgICAg ICAgICAgICAgICAgICAgICBnZm5fdCBzdGFydF9nZm4sCi0gICAgICAgICAgICAgICAgICAgICAg IHVuc2lnbmVkIGxvbmcgbnIsCi0gICAgICAgICAgICAgICAgICAgICAgIG1mbl90IG1mbikKK2lu dCB1bm1hcF9yZWdpb25zKHN0cnVjdCBkb21haW4gKmQsCisgICAgICAgICAgICAgICAgICBnZm5f dCBzdGFydF9nZm4sCisgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIG5yLAorICAgICAg ICAgICAgICAgICAgbWZuX3QgbWZuKQogewogICAgIGludCByZXQgPSAwOwogICAgIHVuc2lnbmVk IGxvbmcgaTsKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vZG9tY3RsLmMgYi94ZW4vY29tbW9uL2Rv bWN0bC5jCmluZGV4IDE4YTBmOGYuLjE0MGY5NzkgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vZG9t Y3RsLmMKKysrIGIveGVuL2NvbW1vbi9kb21jdGwuYwpAQCAtOTYxLDcgKzk2MSw3IEBAIGxvbmcg ZG9fZG9tY3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGVuX2RvbWN0bF90KSB1X2RvbWN0bCkK ICAgICAgICAgICAgICAgICAgICAibWVtb3J5X21hcDphZGQ6IGRvbSVkIGdmbj0lbHggbWZuPSVs eCBucj0lbHhcbiIsCiAgICAgICAgICAgICAgICAgICAgZC0+ZG9tYWluX2lkLCBnZm4sIG1mbiwg bnJfbWZucyk7CiAKLSAgICAgICAgICAgIHJldCA9IG1hcF9tbWlvX3JlZ2lvbnMoZCwgX2dmbihn Zm4pLCBucl9tZm5zLCBfbWZuKG1mbiksIHAybXQpOworICAgICAgICAgICAgcmV0ID0gbWFwX3Jl Z2lvbnMoZCwgX2dmbihnZm4pLCBucl9tZm5zLCBfbWZuKG1mbiksIHAybXQpOwogICAgICAgICAg ICAgaWYgKCByZXQgPCAwICkKICAgICAgICAgICAgICAgICBwcmludGsoWEVOTE9HX0dfV0FSTklO RwogICAgICAgICAgICAgICAgICAgICAgICAibWVtb3J5X21hcDpmYWlsOiBkb20lZCBnZm49JWx4 IG1mbj0lbHggbnI9JWx4IHJldDolbGRcbiIsCkBAIC05NzMsNyArOTczLDcgQEAgbG9uZyBkb19k b21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZW5fZG9tY3RsX3QpIHVfZG9tY3RsKQogICAg ICAgICAgICAgICAgICAgICJtZW1vcnlfbWFwOnJlbW92ZTogZG9tJWQgZ2ZuPSVseCBtZm49JWx4 IG5yPSVseFxuIiwKICAgICAgICAgICAgICAgICAgICBkLT5kb21haW5faWQsIGdmbiwgbWZuLCBu cl9tZm5zKTsKIAotICAgICAgICAgICAgcmV0ID0gdW5tYXBfbW1pb19yZWdpb25zKGQsIF9nZm4o Z2ZuKSwgbnJfbWZucywgX21mbihtZm4pKTsKKyAgICAgICAgICAgIHJldCA9IHVubWFwX3JlZ2lv bnMoZCwgX2dmbihnZm4pLCBucl9tZm5zLCBfbWZuKG1mbikpOwogICAgICAgICAgICAgaWYgKCBy ZXQgPCAwICYmIGlzX2hhcmR3YXJlX2RvbWFpbihjdXJyZW50LT5kb21haW4pICkKICAgICAgICAg ICAgICAgICBwcmludGsoWEVOTE9HX0VSUgogICAgICAgICAgICAgICAgICAgICAgICAibWVtb3J5 X21hcDogZXJyb3IgJWxkIHJlbW92aW5nIGRvbSVkIGFjY2VzcyB0byBbJWx4LCVseF1cbiIsCmRp ZmYgLS1naXQgYS94ZW4vZHJpdmVycy92cGNpL2hlYWRlci5jIGIveGVuL2RyaXZlcnMvdnBjaS9o ZWFkZXIuYwppbmRleCA2YWRmYTU1Li43YjI1YWNjIDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy92 cGNpL2hlYWRlci5jCisrKyBiL3hlbi9kcml2ZXJzL3ZwY2kvaGVhZGVyLmMKQEAgLTQ2LDE1ICs0 NiwxNSBAQCBzdGF0aWMgaW50IG1hcF9yYW5nZSh1bnNpZ25lZCBsb25nIHMsIHVuc2lnbmVkIGxv bmcgZSwgdm9pZCAqZGF0YSwKICAgICAgICAgLyoKICAgICAgICAgICogQVJNIFRPRE9zOgogICAg ICAgICAgKiAtIE9uIEFSTSB3aGV0aGVyIHRoZSBtZW1vcnkgaXMgcHJlZmV0Y2hhYmxlIG9yIG5v dCBzaG91bGQgYmUgcGFzc2VkCi0gICAgICAgICAqICAgdG8gbWFwX21taW9fcmVnaW9ucyBpbiBv cmRlciB0byBkZWNpZGUgd2hpY2ggbWVtb3J5IGF0dHJpYnV0ZXMKKyAgICAgICAgICogICB0byBt YXBfcmVnaW9ucyBpbiBvcmRlciB0byBkZWNpZGUgd2hpY2ggbWVtb3J5IGF0dHJpYnV0ZXMKICAg ICAgICAgICogICBzaG91bGQgYmUgdXNlZC4KICAgICAgICAgICoKLSAgICAgICAgICogLSB7dW59 bWFwX21taW9fcmVnaW9ucyBkb2Vzbid0IHN1cHBvcnQgcHJlZW1wdGlvbi4KKyAgICAgICAgICog LSB7dW59bWFwX3JlZ2lvbnMgZG9lc24ndCBzdXBwb3J0IHByZWVtcHRpb24uCiAgICAgICAgICAq LwogCi0gICAgICAgIHJjID0gbWFwLT5tYXAgPyBtYXBfbW1pb19yZWdpb25zKG1hcC0+ZCwgX2dm bihzKSwgc2l6ZSwgX21mbihzKSwKKyAgICAgICAgcmMgPSBtYXAtPm1hcCA/IG1hcF9yZWdpb25z KG1hcC0+ZCwgX2dmbihzKSwgc2l6ZSwgX21mbihzKSwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcDJtX21taW9fZGlyZWN0KQotICAgICAgICAgICAgICAgICAgICAg IDogdW5tYXBfbW1pb19yZWdpb25zKG1hcC0+ZCwgX2dmbihzKSwgc2l6ZSwgX21mbihzKSk7Cisg ICAgICAgICAgICAgICAgICAgICAgOiB1bm1hcF9yZWdpb25zKG1hcC0+ZCwgX2dmbihzKSwgc2l6 ZSwgX21mbihzKSk7CiAgICAgICAgIGlmICggcmMgPT0gMCApCiAgICAgICAgIHsKICAgICAgICAg ICAgICpjICs9IHNpemU7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vcDJtLWNvbW1vbi5o IGIveGVuL2luY2x1ZGUveGVuL3AybS1jb21tb24uaAppbmRleCA2OWM4MmNjLi43MjhjOWE0IDEw MDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vcDJtLWNvbW1vbi5oCisrKyBiL3hlbi9pbmNsdWRl L3hlbi9wMm0tY29tbW9uLmgKQEAgLTgsMTggKzgsMjAgQEAgaW50IF9fbXVzdF9jaGVjawogZ3Vl c3RfcGh5c21hcF9yZW1vdmVfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCBnZm5fdCBnZm4sIG1mbl90 IG1mbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHBhZ2Vfb3JkZXIp OwogCi0vKiBNYXAgTU1JTyByZWdpb25zIGluIHRoZSBwMm06IHN0YXJ0X2dmbiBhbmQgbnIgZGVz Y3JpYmUgdGhlIHJhbmdlIGluCi0gKiAgKiB0aGUgZ3Vlc3QgcGh5c2ljYWwgYWRkcmVzcyBzcGFj ZSB0byBtYXAsIHN0YXJ0aW5nIGZyb20gdGhlIG1hY2hpbmUKLSAqICAgKiBmcmFtZSBudW1iZXIg bWZuLiAqLwotaW50IG1hcF9tbWlvX3JlZ2lvbnMoc3RydWN0IGRvbWFpbiAqZCwKLSAgICAgICAg ICAgICAgICAgICAgIGdmbl90IHN0YXJ0X2dmbiwKLSAgICAgICAgICAgICAgICAgICAgIHVuc2ln bmVkIGxvbmcgbnIsCi0gICAgICAgICAgICAgICAgICAgICBtZm5fdCBtZm4sCi0gICAgICAgICAg ICAgICAgICAgICBwMm1fdHlwZV90IHAybXQpOwotaW50IHVubWFwX21taW9fcmVnaW9ucyhzdHJ1 Y3QgZG9tYWluICpkLAotICAgICAgICAgICAgICAgICAgICAgICBnZm5fdCBzdGFydF9nZm4sCi0g ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbnIsCi0gICAgICAgICAgICAgICAg ICAgICAgIG1mbl90IG1mbik7CisvKgorICogTWFwIG1lbW9yeSByZWdpb25zIGluIHRoZSBwMm06 IHN0YXJ0X2dmbiBhbmQgbnIgZGVzY3JpYmUgdGhlIHJhbmdlIGluCisgKiB0aGUgZ3Vlc3QgcGh5 c2ljYWwgYWRkcmVzcyBzcGFjZSB0byBtYXAsIHN0YXJ0aW5nIGZyb20gdGhlIG1hY2hpbmUKKyAq IGZyYW1lIG51bWJlciBtZm4uCisgKi8KK2ludCBtYXBfcmVnaW9ucyhzdHJ1Y3QgZG9tYWluICpk LAorICAgICAgICAgICAgICAgIGdmbl90IHN0YXJ0X2dmbiwKKyAgICAgICAgICAgICAgICB1bnNp Z25lZCBsb25nIG5yLAorICAgICAgICAgICAgICAgIG1mbl90IG1mbiwKKyAgICAgICAgICAgICAg ICBwMm1fdHlwZV90IHAybXQpOworaW50IHVubWFwX3JlZ2lvbnMoc3RydWN0IGRvbWFpbiAqZCwK KyAgICAgICAgICAgICAgICAgIGdmbl90IHN0YXJ0X2dmbiwKKyAgICAgICAgICAgICAgICAgIHVu c2lnbmVkIGxvbmcgbnIsCisgICAgICAgICAgICAgICAgICBtZm5fdCBtZm4pOwogCiAvKgogICog UG9wdWxhdGUtb24tRGVtYW5kCi0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxp c3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9s aXN0aW5mby94ZW4tZGV2ZWw=