From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH 1/6] xen: extend XEN_DOMCTL_memory_mapping to handle cacheability Date: Tue, 26 Feb 2019 15:07:02 -0800 Message-ID: <1551222427-21749-1-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 1gyloc-0002LU-1m for xen-devel@lists.xenproject.org; Tue, 26 Feb 2019 23:07:10 +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 UmV1c2UgdGhlIGV4aXN0aW5nIHBhZGRpbmcgZmllbGQgdG8gcGFzcyBjYWNoZWFiaWxpdHkgaW5m b3JtYXRpb24gYWJvdXQKdGhlIG1lbW9yeSBtYXBwaW5nLCBzcGVjaWZpY2FsbHksIHdoZXRoZXIg dGhlIG1lbW9yeSBzaG91bGQgYmUgbWFwcGVkIGFzCm5vcm1hbCBtZW1vcnkgb3IgYXMgZGV2aWNl IG1lbW9yeSAodGhpcyBpcyB3aGF0IHdlIGhhdmUgdG9kYXkpLgoKQWRkIGEgY2FjaGVhYmlsaXR5 IHBhcmFtZXRlciB0byBtYXBfbW1pb19yZWdpb25zLiAwIG1lYW5zIGRldmljZQptZW1vcnksIHdo aWNoIGlzIHdoYXQgd2UgaGF2ZSB0b2RheS4KCk9uIEFSTSwgbWFwIGRldmljZSBtZW1vcnkgYXMg cDJtX21taW9fZGlyZWN0X2RldiAoYXMgaXQgaXMgYWxyZWFkeSBkb25lCnRvZGF5KSBhbmQgbm9y bWFsIG1lbW9yeSBhcyBwMm1fcmFtX3J3LgoKT24geDg2LCByZXR1cm4gZXJyb3IgaWYgdGhlIGNh Y2hlYWJpbGl0eSByZXF1ZXN0ZWQgaXMgbm90IGRldmljZSBtZW1vcnkuCgpTaWduZWQtb2ZmLWJ5 OiBTdGVmYW5vIFN0YWJlbGxpbmkgPHN0ZWZhbm9zQHhpbGlueC5jb20+CkNDOiBKQmV1bGljaEBz dXNlLmNvbQpDQzogYW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbQotLS0KIHhlbi9hcmNoL2FybS9n aWMtdjIuYyAgICAgICAgICAgIHwgIDMgKystCiB4ZW4vYXJjaC9hcm0vcDJtLmMgICAgICAgICAg ICAgICB8IDE5ICsrKysrKysrKysrKysrKysrLS0KIHhlbi9hcmNoL2FybS9wbGF0Zm9ybXMvZXh5 bm9zNS5jIHwgIDQgKystLQogeGVuL2FyY2gvYXJtL3BsYXRmb3Jtcy9vbWFwNS5jICAgfCAgOCAr KysrLS0tLQogeGVuL2FyY2gvYXJtL3ZnaWMtdjIuYyAgICAgICAgICAgfCAgMiArLQogeGVuL2Fy Y2gvYXJtL3ZnaWMvdmdpYy12Mi5jICAgICAgfCAgMiArLQogeGVuL2FyY2gveDg2L2h2bS9kb20w X2J1aWxkLmMgICAgfCAgNyArKysrKy0tCiB4ZW4vYXJjaC94ODYvbW0vcDJtLmMgICAgICAgICAg ICB8ICA2ICsrKysrLQogeGVuL2NvbW1vbi9kb21jdGwuYyAgICAgICAgICAgICAgfCAgOCArKysr Ky0tLQogeGVuL2RyaXZlcnMvdnBjaS9oZWFkZXIuYyAgICAgICAgfCAgMyArKy0KIHhlbi9pbmNs dWRlL3B1YmxpYy9kb21jdGwuaCAgICAgIHwgIDQgKysrLQogeGVuL2luY2x1ZGUveGVuL3AybS1j b21tb24uaCAgICAgfCAgMyArKy0KIDEyIGZpbGVzIGNoYW5nZWQsIDQ5IGluc2VydGlvbnMoKyks IDIwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9naWMtdjIuYyBiL3hl bi9hcmNoL2FybS9naWMtdjIuYwppbmRleCBlN2ViMDFmLi4xZWEzZGEyIDEwMDY0NAotLS0gYS94 ZW4vYXJjaC9hcm0vZ2ljLXYyLmMKKysrIGIveGVuL2FyY2gvYXJtL2dpYy12Mi5jCkBAIC02OTAs NyArNjkwLDggQEAgc3RhdGljIGludCBnaWN2Ml9tYXBfaHdkb3duX2V4dHJhX21hcHBpbmdzKHN0 cnVjdCBkb21haW4gKmQpCiAKICAgICAgICAgcmV0ID0gbWFwX21taW9fcmVnaW9ucyhkLCBnYWRk cl90b19nZm4odjJtX2RhdGEtPmFkZHIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFBGTl9VUCh2Mm1fZGF0YS0+c2l6ZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bWFkZHJfdG9fbWZuKHYybV9kYXRhLT5hZGRyKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbWFkZHJfdG9fbWZuKHYybV9kYXRhLT5hZGRyKSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBDQUNIRUFCSUxJVFlfREVWTUVNKTsKICAgICAgICAgaWYgKCByZXQgKQogICAg ICAgICB7CiAgICAgICAgICAgICBwcmludGsoWEVOTE9HX0VSUiAiR0lDdjI6IE1hcCB2Mm0gZnJh bWUgdG8gZCVkIGZhaWxlZC5cbiIsCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vcDJtLmMgYi94 ZW4vYXJjaC9hcm0vcDJtLmMKaW5kZXggMzBjZmIwMS4uNWI4ZmNjNSAxMDA2NDQKLS0tIGEveGVu L2FyY2gvYXJtL3AybS5jCisrKyBiL3hlbi9hcmNoL2FybS9wMm0uYwpAQCAtMTA2OCw5ICsxMDY4 LDI0IEBAIGludCB1bm1hcF9yZWdpb25zX3AybXQoc3RydWN0IGRvbWFpbiAqZCwKIGludCBtYXBf bW1pb19yZWdpb25zKHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAgICAgICAgICAgICAgICBnZm5f dCBzdGFydF9nZm4sCiAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIG5yLAotICAg ICAgICAgICAgICAgICAgICAgbWZuX3QgbWZuKQorICAgICAgICAgICAgICAgICAgICAgbWZuX3Qg bWZuLAorICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY2FjaGVfcG9saWN5KQogewotICAg IHJldHVybiBwMm1faW5zZXJ0X21hcHBpbmcoZCwgc3RhcnRfZ2ZuLCBuciwgbWZuLCBwMm1fbW1p b19kaXJlY3RfZGV2KTsKKyAgICBwMm1fdHlwZV90IHQ7CisKKyAgICBzd2l0Y2ggKCBjYWNoZV9w b2xpY3kgKQorICAgIHsKKyAgICBjYXNlIENBQ0hFQUJJTElUWV9NRU1PUlk6CisgICAgICAgIHQg PSBwMm1fcmFtX3J3OworICAgICAgICBicmVhazsKKyAgICBjYXNlIENBQ0hFQUJJTElUWV9ERVZN RU06CisgICAgICAgIHQgPSBwMm1fbW1pb19kaXJlY3RfZGV2OworICAgICAgICBicmVhazsKKyAg ICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gLUVOT1NZUzsKKyAgICB9CisKKyAgICByZXR1cm4g cDJtX2luc2VydF9tYXBwaW5nKGQsIHN0YXJ0X2dmbiwgbnIsIG1mbiwgdCk7CiB9CiAKIGludCB1 bm1hcF9tbWlvX3JlZ2lvbnMoc3RydWN0IGRvbWFpbiAqZCwKZGlmZiAtLWdpdCBhL3hlbi9hcmNo L2FybS9wbGF0Zm9ybXMvZXh5bm9zNS5jIGIveGVuL2FyY2gvYXJtL3BsYXRmb3Jtcy9leHlub3M1 LmMKaW5kZXggNjU2MDUwNy4uM2FmNWZkMyAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL3BsYXRm b3Jtcy9leHlub3M1LmMKKysrIGIveGVuL2FyY2gvYXJtL3BsYXRmb3Jtcy9leHlub3M1LmMKQEAg LTgzLDExICs4MywxMSBAQCBzdGF0aWMgaW50IGV4eW5vczUyNTBfc3BlY2lmaWNfbWFwcGluZyhz dHJ1Y3QgZG9tYWluICpkKQogewogICAgIC8qIE1hcCB0aGUgY2hpcCBJRCAqLwogICAgIG1hcF9t bWlvX3JlZ2lvbnMoZCwgZ2FkZHJfdG9fZ2ZuKEVYWU5PUzVfUEFfQ0hJUElEKSwgMSwKLSAgICAg ICAgICAgICAgICAgICAgIG1hZGRyX3RvX21mbihFWFlOT1M1X1BBX0NISVBJRCkpOworICAgICAg ICAgICAgICAgICAgICAgbWFkZHJfdG9fbWZuKEVYWU5PUzVfUEFfQ0hJUElEKSwgQ0FDSEVBQklM SVRZX0RFVk1FTSk7CiAKICAgICAvKiBNYXAgdGhlIFBXTSByZWdpb24gKi8KICAgICBtYXBfbW1p b19yZWdpb25zKGQsIGdhZGRyX3RvX2dmbihFWFlOT1M1X1BBX1RJTUVSKSwgMiwKLSAgICAgICAg ICAgICAgICAgICAgIG1hZGRyX3RvX21mbihFWFlOT1M1X1BBX1RJTUVSKSk7CisgICAgICAgICAg ICAgICAgICAgICBtYWRkcl90b19tZm4oRVhZTk9TNV9QQV9USU1FUiksIENBQ0hFQUJJTElUWV9E RVZNRU0pOwogCiAgICAgcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vcGxh dGZvcm1zL29tYXA1LmMgYi94ZW4vYXJjaC9hcm0vcGxhdGZvcm1zL29tYXA1LmMKaW5kZXggYWVl MjRlNC4uNDg5OTMzMiAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL3BsYXRmb3Jtcy9vbWFwNS5j CisrKyBiL3hlbi9hcmNoL2FybS9wbGF0Zm9ybXMvb21hcDUuYwpAQCAtOTksMTkgKzk5LDE5IEBA IHN0YXRpYyBpbnQgb21hcDVfc3BlY2lmaWNfbWFwcGluZyhzdHJ1Y3QgZG9tYWluICpkKQogewog ICAgIC8qIE1hcCB0aGUgUFJNIG1vZHVsZSAqLwogICAgIG1hcF9tbWlvX3JlZ2lvbnMoZCwgZ2Fk ZHJfdG9fZ2ZuKE9NQVA1X1BSTV9CQVNFKSwgMiwKLSAgICAgICAgICAgICAgICAgICAgIG1hZGRy X3RvX21mbihPTUFQNV9QUk1fQkFTRSkpOworICAgICAgICAgICAgICAgICAgICAgbWFkZHJfdG9f bWZuKE9NQVA1X1BSTV9CQVNFKSwgQ0FDSEVBQklMSVRZX0RFVk1FTSk7CiAKICAgICAvKiBNYXAg dGhlIFBSTV9NUFUgKi8KICAgICBtYXBfbW1pb19yZWdpb25zKGQsIGdhZGRyX3RvX2dmbihPTUFQ NV9QUkNNX01QVV9CQVNFKSwgMSwKLSAgICAgICAgICAgICAgICAgICAgIG1hZGRyX3RvX21mbihP TUFQNV9QUkNNX01QVV9CQVNFKSk7CisgICAgICAgICAgICAgICAgICAgICBtYWRkcl90b19tZm4o T01BUDVfUFJDTV9NUFVfQkFTRSksIENBQ0hFQUJJTElUWV9ERVZNRU0pOwogCiAgICAgLyogTWFw IHRoZSBXYWtldXAgR2VuICovCiAgICAgbWFwX21taW9fcmVnaW9ucyhkLCBnYWRkcl90b19nZm4o T01BUDVfV0tVUEdFTl9CQVNFKSwgMSwKLSAgICAgICAgICAgICAgICAgICAgIG1hZGRyX3RvX21m bihPTUFQNV9XS1VQR0VOX0JBU0UpKTsKKyAgICAgICAgICAgICAgICAgICAgIG1hZGRyX3RvX21m bihPTUFQNV9XS1VQR0VOX0JBU0UpLCBDQUNIRUFCSUxJVFlfREVWTUVNKTsKIAogICAgIC8qIE1h cCB0aGUgb24tY2hpcCBTUkFNICovCiAgICAgbWFwX21taW9fcmVnaW9ucyhkLCBnYWRkcl90b19n Zm4oT01BUDVfU1JBTV9QQSksIDMyLAotICAgICAgICAgICAgICAgICAgICAgbWFkZHJfdG9fbWZu KE9NQVA1X1NSQU1fUEEpKTsKKyAgICAgICAgICAgICAgICAgICAgIG1hZGRyX3RvX21mbihPTUFQ NV9TUkFNX1BBKSwgQ0FDSEVBQklMSVRZX0RFVk1FTSk7CiAKICAgICByZXR1cm4gMDsKIH0KZGlm ZiAtLWdpdCBhL3hlbi9hcmNoL2FybS92Z2ljLXYyLmMgYi94ZW4vYXJjaC9hcm0vdmdpYy12Mi5j CmluZGV4IGJmNzc4OTkuLjJjOWMxNWMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS92Z2ljLXYy LmMKKysrIGIveGVuL2FyY2gvYXJtL3ZnaWMtdjIuYwpAQCAtNjkxLDcgKzY5MSw3IEBAIHN0YXRp YyBpbnQgdmdpY192Ml9kb21haW5faW5pdChzdHJ1Y3QgZG9tYWluICpkKQogICAgICAqIHJlZ2lv biBvZiB0aGUgZ3Vlc3QuCiAgICAgICovCiAgICAgcmV0ID0gbWFwX21taW9fcmVnaW9ucyhkLCBn YWRkcl90b19nZm4oY2Jhc2UpLCBjc2l6ZSAvIFBBR0VfU0laRSwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgIG1hZGRyX3RvX21mbih2YmFzZSkpOworICAgICAgICAgICAgICAgICAgICAgICAg ICAgbWFkZHJfdG9fbWZuKHZiYXNlKSwgQ0FDSEVBQklMSVRZX0RFVk1FTSk7CiAgICAgaWYgKCBy ZXQgKQogICAgICAgICByZXR1cm4gcmV0OwogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdmdp Yy92Z2ljLXYyLmMgYi94ZW4vYXJjaC9hcm0vdmdpYy92Z2ljLXYyLmMKaW5kZXggYjViYTRhYy4u YmIzMDVhMiAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL3ZnaWMvdmdpYy12Mi5jCisrKyBiL3hl bi9hcmNoL2FybS92Z2ljL3ZnaWMtdjIuYwpAQCAtMzA5LDcgKzMwOSw3IEBAIGludCB2Z2ljX3Yy X21hcF9yZXNvdXJjZXMoc3RydWN0IGRvbWFpbiAqZCkKICAgICAgKiByZWdpb24gb2YgdGhlIGd1 ZXN0LgogICAgICAqLwogICAgIHJldCA9IG1hcF9tbWlvX3JlZ2lvbnMoZCwgZ2FkZHJfdG9fZ2Zu KGNiYXNlKSwgY3NpemUgLyBQQUdFX1NJWkUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBt YWRkcl90b19tZm4odmJhc2UpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZGRyX3Rv X21mbih2YmFzZSksIENBQ0hFQUJJTElUWV9ERVZNRU0pOwogICAgIGlmICggcmV0ICkKICAgICB7 CiAgICAgICAgIGdkcHJpbnRrKFhFTkxPR19FUlIsICJVbmFibGUgdG8gcmVtYXAgVkdJQyBDUFUg dG8gVkNQVVxuIik7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2RvbTBfYnVpbGQuYyBi L3hlbi9hcmNoL3g4Ni9odm0vZG9tMF9idWlsZC5jCmluZGV4IDNlMjljZDMuLjMwNTg1NjAgMTAw NjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vZG9tMF9idWlsZC5jCisrKyBiL3hlbi9hcmNoL3g4 Ni9odm0vZG9tMF9idWlsZC5jCkBAIC02Nyw4ICs2NywxMSBAQCBzdGF0aWMgaW50IF9faW5pdCBt b2RpZnlfaWRlbnRpdHlfbW1pbyhzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIHBmbiwK IAogICAgIGZvciAoIDsgOyApCiAgICAgewotICAgICAgICByYyA9IChtYXAgPyBtYXBfbW1pb19y ZWdpb25zIDogdW5tYXBfbW1pb19yZWdpb25zKQotICAgICAgICAgICAgIChkLCBfZ2ZuKHBmbiks IG5yX3BhZ2VzLCBfbWZuKHBmbikpOworICAgICAgICBpZiAoIG1hcCApCisgICAgICAgICAgICBy YyA9IG1hcF9tbWlvX3JlZ2lvbnMoZCwgX2dmbihwZm4pLCBucl9wYWdlcywgX21mbihwZm4pLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENBQ0hFQUJJTElUWV9ERVZNRU0pOwor ICAgICAgICBlbHNlCisgICAgICAgICAgICByYyA9IHVubWFwX21taW9fcmVnaW9ucyhkLCBfZ2Zu KHBmbiksIG5yX3BhZ2VzLCBfbWZuKHBmbikpOwogICAgICAgICBpZiAoIHJjID09IDAgKQogICAg ICAgICAgICAgYnJlYWs7CiAgICAgICAgIGlmICggcmMgPCAwICkKZGlmZiAtLWdpdCBhL3hlbi9h cmNoL3g4Ni9tbS9wMm0uYyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYwppbmRleCA0YmRjNWUzLi4w YmJiMmE0IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0vcDJtLmMKKysrIGIveGVuL2FyY2gv eDg2L21tL3AybS5jCkBAIC0yMTEwLDEyICsyMTEwLDE2IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQg bW1pb19vcmRlcihjb25zdCBzdHJ1Y3QgZG9tYWluICpkLAogaW50IG1hcF9tbWlvX3JlZ2lvbnMo c3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAgICAgICAgICAgICAgIGdmbl90IHN0YXJ0X2dmbiwK ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbnIsCi0gICAgICAgICAgICAgICAg ICAgICBtZm5fdCBtZm4pCisgICAgICAgICAgICAgICAgICAgICBtZm5fdCBtZm4sCisgICAgICAg ICAgICAgICAgICAgICB1aW50MzJfdCBjYWNoZV9wb2xpY3kpCiB7CiAgICAgaW50IHJldCA9IDA7 CiAgICAgdW5zaWduZWQgbG9uZyBpOwogICAgIHVuc2lnbmVkIGludCBpdGVyLCBvcmRlcjsKIAor ICAgIGlmICggY2FjaGVfcG9saWN5ICE9IENBQ0hFQUJJTElUWV9ERVZNRU0gKQorICAgICAgICBy ZXR1cm4gLUVOT1NZUzsKKwogICAgIGlmICggIXBhZ2luZ19tb2RlX3RyYW5zbGF0ZShkKSApCiAg ICAgICAgIHJldHVybiAwOwogCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL2RvbWN0bC5jIGIveGVu L2NvbW1vbi9kb21jdGwuYwppbmRleCBiMjk0ODgxLi5mNGE3YzE2IDEwMDY0NAotLS0gYS94ZW4v Y29tbW9uL2RvbWN0bC5jCisrKyBiL3hlbi9jb21tb24vZG9tY3RsLmMKQEAgLTkzNSw2ICs5MzUs NyBAQCBsb25nIGRvX2RvbWN0bChYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhlbl9kb21jdGxfdCkg dV9kb21jdGwpCiAgICAgICAgIHVuc2lnbmVkIGxvbmcgbnJfbWZucyA9IG9wLT51Lm1lbW9yeV9t YXBwaW5nLm5yX21mbnM7CiAgICAgICAgIHVuc2lnbmVkIGxvbmcgbWZuX2VuZCA9IG1mbiArIG5y X21mbnMgLSAxOwogICAgICAgICBpbnQgYWRkID0gb3AtPnUubWVtb3J5X21hcHBpbmcuYWRkX21h cHBpbmc7CisgICAgICAgIHVpbnQzMl90IGNhY2hlX3BvbGljeSA9IG9wLT51Lm1lbW9yeV9tYXBw aW5nLmNhY2hlX3BvbGljeTsKIAogICAgICAgICByZXQgPSAtRUlOVkFMOwogICAgICAgICBpZiAo IG1mbl9lbmQgPCBtZm4gfHwgLyogd3JhcD8gKi8KQEAgLTk2MSwxMCArOTYyLDExIEBAIGxvbmcg ZG9fZG9tY3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGVuX2RvbWN0bF90KSB1X2RvbWN0bCkK ICAgICAgICAgaWYgKCBhZGQgKQogICAgICAgICB7CiAgICAgICAgICAgICBwcmludGsoWEVOTE9H X0dfREVCVUcKLSAgICAgICAgICAgICAgICAgICAibWVtb3J5X21hcDphZGQ6IGRvbSVkIGdmbj0l bHggbWZuPSVseCBucj0lbHhcbiIsCi0gICAgICAgICAgICAgICAgICAgZC0+ZG9tYWluX2lkLCBn Zm4sIG1mbiwgbnJfbWZucyk7CisgICAgICAgICAgICAgICAgICAgIm1lbW9yeV9tYXA6YWRkOiBk b20lZCBnZm49JWx4IG1mbj0lbHggbnI9JWx4IGNhY2hlPSV1XG4iLAorICAgICAgICAgICAgICAg ICAgIGQtPmRvbWFpbl9pZCwgZ2ZuLCBtZm4sIG5yX21mbnMsIGNhY2hlX3BvbGljeSk7CiAKLSAg ICAgICAgICAgIHJldCA9IG1hcF9tbWlvX3JlZ2lvbnMoZCwgX2dmbihnZm4pLCBucl9tZm5zLCBf bWZuKG1mbikpOworICAgICAgICAgICAgcmV0ID0gbWFwX21taW9fcmVnaW9ucyhkLCBfZ2ZuKGdm biksIG5yX21mbnMsIF9tZm4obWZuKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY2FjaGVfcG9saWN5KTsKICAgICAgICAgICAgIGlmICggcmV0IDwgMCApCiAgICAgICAgICAg ICAgICAgcHJpbnRrKFhFTkxPR19HX1dBUk5JTkcKICAgICAgICAgICAgICAgICAgICAgICAgIm1l bW9yeV9tYXA6ZmFpbDogZG9tJWQgZ2ZuPSVseCBtZm49JWx4IG5yPSVseCByZXQ6JWxkXG4iLApk aWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvdnBjaS9oZWFkZXIuYyBiL3hlbi9kcml2ZXJzL3ZwY2kv aGVhZGVyLmMKaW5kZXggNDU3M2NjYS4uZjk2OGMyZCAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMv dnBjaS9oZWFkZXIuYworKysgYi94ZW4vZHJpdmVycy92cGNpL2hlYWRlci5jCkBAIC01Miw3ICs1 Miw4IEBAIHN0YXRpYyBpbnQgbWFwX3JhbmdlKHVuc2lnbmVkIGxvbmcgcywgdW5zaWduZWQgbG9u ZyBlLCB2b2lkICpkYXRhLAogICAgICAgICAgKiAtIHt1bn1tYXBfbW1pb19yZWdpb25zIGRvZXNu J3Qgc3VwcG9ydCBwcmVlbXB0aW9uLgogICAgICAgICAgKi8KIAotICAgICAgICByYyA9IG1hcC0+ bWFwID8gbWFwX21taW9fcmVnaW9ucyhtYXAtPmQsIF9nZm4ocyksIHNpemUsIF9tZm4ocykpCisg ICAgICAgIHJjID0gbWFwLT5tYXAgPyBtYXBfbW1pb19yZWdpb25zKG1hcC0+ZCwgX2dmbihzKSwg c2l6ZSwgX21mbihzKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Q0FDSEVBQklMSVRZX0RFVk1FTSkKICAgICAgICAgICAgICAgICAgICAgICA6IHVubWFwX21taW9f cmVnaW9ucyhtYXAtPmQsIF9nZm4ocyksIHNpemUsIF9tZm4ocykpOwogICAgICAgICBpZiAoIHJj ID09IDAgKQogICAgICAgICB7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3Rs LmggYi94ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmgKaW5kZXggNGE0NmMyOC4uODI3MDRkZCAx MDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL2RvbWN0bC5oCisrKyBiL3hlbi9pbmNsdWRl L3B1YmxpYy9kb21jdGwuaApAQCAtNTcxLDEyICs1NzEsMTQgQEAgc3RydWN0IHhlbl9kb21jdGxf YmluZF9wdF9pcnEgewogKi8KICNkZWZpbmUgRFBDSV9BRERfTUFQUElORyAgICAgICAgIDEKICNk ZWZpbmUgRFBDSV9SRU1PVkVfTUFQUElORyAgICAgIDAKKyNkZWZpbmUgQ0FDSEVBQklMSVRZX0RF Vk1FTSAgICAgIDAgLyogZGV2aWNlIG1lbW9yeSwgdGhlIGRlZmF1bHQgKi8KKyNkZWZpbmUgQ0FD SEVBQklMSVRZX01FTU9SWSAgICAgIDEgLyogbm9ybWFsIG1lbW9yeSAqLwogc3RydWN0IHhlbl9k b21jdGxfbWVtb3J5X21hcHBpbmcgewogICAgIHVpbnQ2NF9hbGlnbmVkX3QgZmlyc3RfZ2ZuOyAv KiBmaXJzdCBwYWdlIChodm0gZ3Vlc3QgcGh5cyBwYWdlKSBpbiByYW5nZSAqLwogICAgIHVpbnQ2 NF9hbGlnbmVkX3QgZmlyc3RfbWZuOyAvKiBmaXJzdCBwYWdlIChtYWNoaW5lIHBhZ2UpIGluIHJh bmdlICovCiAgICAgdWludDY0X2FsaWduZWRfdCBucl9tZm5zOyAgIC8qIG51bWJlciBvZiBwYWdl cyBpbiByYW5nZSAoPjApICovCiAgICAgdWludDMyX3QgYWRkX21hcHBpbmc7ICAgICAgIC8qIGFk ZCBvciByZW1vdmUgbWFwcGluZyAqLwotICAgIHVpbnQzMl90IHBhZGRpbmc7ICAgICAgICAgICAv KiBwYWRkaW5nIGZvciA2NC1iaXQgYWxpZ25lZCBzdHJ1Y3R1cmUgKi8KKyAgICB1aW50MzJfdCBj YWNoZV9wb2xpY3k7ICAgICAgLyogY2FjaGVhYmlsaXR5IG9mIHRoZSBtZW1vcnkgbWFwcGluZyAq LwogfTsKIAogCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vcDJtLWNvbW1vbi5oIGIveGVu L2luY2x1ZGUveGVuL3AybS1jb21tb24uaAppbmRleCA1ODAzMWE2Li4xYzk0NWExIDEwMDY0NAot LS0gYS94ZW4vaW5jbHVkZS94ZW4vcDJtLWNvbW1vbi5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9w Mm0tY29tbW9uLmgKQEAgLTE0LDcgKzE0LDggQEAgZ3Vlc3RfcGh5c21hcF9yZW1vdmVfcGFnZShz dHJ1Y3QgZG9tYWluICpkLCBnZm5fdCBnZm4sIG1mbl90IG1mbiwKIGludCBtYXBfbW1pb19yZWdp b25zKHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAgICAgICAgICAgICAgICBnZm5fdCBzdGFydF9n Zm4sCiAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIG5yLAotICAgICAgICAgICAg ICAgICAgICAgbWZuX3QgbWZuKTsKKyAgICAgICAgICAgICAgICAgICAgIG1mbl90IG1mbiwKKyAg ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNhY2hlX3BvbGljeSk7CiBpbnQgdW5tYXBfbW1p b19yZWdpb25zKHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAgICAgICAgICAgICAgICAgIGdmbl90 IHN0YXJ0X2dmbiwKICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBuciwKLS0g CjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K WGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0 cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==