From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v2 01/10] xen: add a p2mt parameter to map_mmio_regions Date: Tue, 30 Apr 2019 14:02:43 -0700 Message-ID: <1556658172-8824-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 us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hLZtx-0007eg-Pc for xen-devel@lists.xenproject.org; Tue, 30 Apr 2019 21:02:57 +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 QWRkIGEgcDJtdCBwYXJhbWV0ZXIgdG8gbWFwX21taW9fcmVnaW9ucywgcGFzcyBwMm1fbW1pb19k aXJlY3RfZGV2IG9uCkFSTSBhbmQgcDJtX21taW9fZGlyZWN0IG9uIHg4NiAtLSBubyBjaGFuZ2Vz IGluIGJlaGF2aW9yLgoKT24gQVJNLCBnaXZlbiB0aGUgc2ltaWxhcml0eSBiZXR3ZWVuIG1hcF9t bWlvX3JlZ2lvbnMgYWZ0ZXIgdGhlIGNoYW5nZQphbmQgbWFwX3JlZ2lvbnNfcDJtdCwgcmVtb3Zl IHVuL21hcF9yZWdpb25zX3AybXQuCgpTaWduZWQtb2ZmLWJ5OiBTdGVmYW5vIFN0YWJlbGxpbmkg PHN0ZWZhbm9zQHhpbGlueC5jb20+CkNDOiBKQmV1bGljaEBzdXNlLmNvbQpDQzogYW5kcmV3LmNv b3BlcjNAY2l0cml4LmNvbQotLS0KQ2hhbmdlcyBpbiB2MjoKLSBuZXcgcGF0Y2gKLS0tCiB4ZW4v YXJjaC9hcm0vYWNwaS9kb21haW5fYnVpbGQuYyB8ICA0ICsrLS0KIHhlbi9hcmNoL2FybS9kb21h aW5fYnVpbGQuYyAgICAgIHwgIDIgKy0KIHhlbi9hcmNoL2FybS9naWMtdjIuYyAgICAgICAgICAg IHwgIDMgKystCiB4ZW4vYXJjaC9hcm0vcDJtLmMgICAgICAgICAgICAgICB8IDE4ICstLS0tLS0t LS0tLS0tLS0tLQogeGVuL2FyY2gvYXJtL3BsYXRmb3Jtcy9leHlub3M1LmMgfCAgNiArKysrLS0K IHhlbi9hcmNoL2FybS9wbGF0Zm9ybXMvb21hcDUuYyAgIHwgMTIgKysrKysrKystLS0tCiB4ZW4v YXJjaC9hcm0vdHJhcHMuYyAgICAgICAgICAgICB8ICAyICstCiB4ZW4vYXJjaC9hcm0vdmdpYy12 Mi5jICAgICAgICAgICB8ICAyICstCiB4ZW4vYXJjaC9hcm0vdmdpYy92Z2ljLXYyLmMgICAgICB8 ICAyICstCiB4ZW4vYXJjaC94ODYvaHZtL2RvbTBfYnVpbGQuYyAgICB8ICA3ICsrKysrLS0KIHhl bi9hcmNoL3g4Ni9tbS9wMm0uYyAgICAgICAgICAgIHwgIDYgKysrKystCiB4ZW4vY29tbW9uL2Rv bWN0bC5jICAgICAgICAgICAgICB8ICA3ICsrKysrKy0KIHhlbi9kcml2ZXJzL3ZwY2kvaGVhZGVy LmMgICAgICAgIHwgIDMgKystCiB4ZW4vaW5jbHVkZS9hc20tYXJtL3AybS5oICAgICAgICB8IDE1 IC0tLS0tLS0tLS0tLS0tLQogeGVuL2luY2x1ZGUveGVuL3AybS1jb21tb24uaCAgICAgfCAgMyAr Ky0KIDE1IGZpbGVzIGNoYW5nZWQsIDQxIGluc2VydGlvbnMoKyksIDUxIGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9hY3BpL2RvbWFpbl9idWlsZC5jIGIveGVuL2FyY2gv YXJtL2FjcGkvZG9tYWluX2J1aWxkLmMKaW5kZXggNWFhZTMyYS4uZjRhYzkxYyAxMDA2NDQKLS0t IGEveGVuL2FyY2gvYXJtL2FjcGkvZG9tYWluX2J1aWxkLmMKKysrIGIveGVuL2FyY2gvYXJtL2Fj cGkvZG9tYWluX2J1aWxkLmMKQEAgLTE5Myw3ICsxOTMsNyBAQCBzdGF0aWMgdm9pZCBfX2luaXQg YWNwaV9tYXBfb3RoZXJfdGFibGVzKHN0cnVjdCBkb21haW4gKmQpCiAgICAgewogICAgICAgICBh ZGRyID0gYWNwaV9nYmxfcm9vdF90YWJsZV9saXN0LnRhYmxlc1tpXS5hZGRyZXNzOwogICAgICAg ICBzaXplID0gYWNwaV9nYmxfcm9vdF90YWJsZV9saXN0LnRhYmxlc1tpXS5sZW5ndGg7Ci0gICAg ICAgIHJlcyA9IG1hcF9yZWdpb25zX3AybXQoZCwKKyAgICAgICAgcmVzID0gbWFwX21taW9fcmVn aW9ucyhkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdhZGRyX3RvX2dmbihhZGRy KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRk5fVVAoc2l6ZSksCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbWFkZHJfdG9fbWZuKGFkZHIpLApAQCAtNTQ3LDcgKzU0 Nyw3IEBAIGludCBfX2luaXQgcHJlcGFyZV9hY3BpKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCBr ZXJuZWxfaW5mbyAqa2luZm8pCiAgICAgYWNwaV9jcmVhdGVfZWZpX21tYXBfdGFibGUoZCwgJmtp bmZvLT5tZW0sIHRibF9hZGQpOwogCiAgICAgLyogTWFwIHRoZSBFRkkgYW5kIEFDUEkgdGFibGVz IHRvIERvbTAgKi8KLSAgICByYyA9IG1hcF9yZWdpb25zX3AybXQoZCwKKyAgICByYyA9IG1hcF9t bWlvX3JlZ2lvbnMoZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2FkZHJfdG9fZ2ZuKGQt PmFyY2guZWZpX2FjcGlfZ3BhKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgUEZOX1VQKGQt PmFyY2guZWZpX2FjcGlfbGVuKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlydF90b19t Zm4oZC0+YXJjaC5lZmlfYWNwaV90YWJsZSksCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vZG9t YWluX2J1aWxkLmMgYi94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMKaW5kZXggZDk4MzY3Ny4u MWY4MDhiMiAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jCisrKyBiL3hl bi9hcmNoL2FybS9kb21haW5fYnVpbGQuYwpAQCAtMTE3MSw3ICsxMTcxLDcgQEAgc3RhdGljIGlu dCBfX2luaXQgbWFwX3JhbmdlX3RvX2RvbWFpbihjb25zdCBzdHJ1Y3QgZHRfZGV2aWNlX25vZGUg KmRldiwKIAogICAgIGlmICggbmVlZF9tYXBwaW5nICkKICAgICB7Ci0gICAgICAgIHJlcyA9IG1h cF9yZWdpb25zX3AybXQoZCwKKyAgICAgICAgcmVzID0gbWFwX21taW9fcmVnaW9ucyhkLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdhZGRyX3RvX2dmbihhZGRyKSwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBQRk5fVVAobGVuKSwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBtYWRkcl90b19tZm4oYWRkciksCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0v Z2ljLXYyLmMgYi94ZW4vYXJjaC9hcm0vZ2ljLXYyLmMKaW5kZXggMjU2OTg4Yy4uZDJlZjM2MSAx MDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2dpYy12Mi5jCisrKyBiL3hlbi9hcmNoL2FybS9naWMt djIuYwpAQCAtNzAxLDcgKzcwMSw4IEBAIHN0YXRpYyBpbnQgZ2ljdjJfbWFwX2h3ZG93bl9leHRy YV9tYXBwaW5ncyhzdHJ1Y3QgZG9tYWluICpkKQogCiAgICAgICAgIHJldCA9IG1hcF9tbWlvX3Jl Z2lvbnMoZCwgZ2FkZHJfdG9fZ2ZuKHYybV9kYXRhLT5hZGRyKSwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBQRk5fVVAodjJtX2RhdGEtPnNpemUpLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG1hZGRyX3RvX21mbih2Mm1fZGF0YS0+YWRkcikpOworICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIG1hZGRyX3RvX21mbih2Mm1fZGF0YS0+YWRkciksCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgcDJtX21taW9fZGlyZWN0X2Rldik7CiAgICAgICAgIGlm ICggcmV0ICkKICAgICAgICAgewogICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19FUlIgIkdJQ3Yy OiBNYXAgdjJtIGZyYW1lIHRvIGQlZCBmYWlsZWQuXG4iLApkaWZmIC0tZ2l0IGEveGVuL2FyY2gv YXJtL3AybS5jIGIveGVuL2FyY2gvYXJtL3AybS5jCmluZGV4IGMzOGJkN2UuLmU0NGM5MzIgMTAw NjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9wMm0uYworKysgYi94ZW4vYXJjaC9hcm0vcDJtLmMKQEAg LTEzMzEsNyArMTMzMSw3IEBAIHN0YXRpYyBpbmxpbmUgaW50IHAybV9yZW1vdmVfbWFwcGluZyhz dHJ1Y3QgZG9tYWluICpkLAogICAgIHJldHVybiByYzsKIH0KIAotaW50IG1hcF9yZWdpb25zX3Ay bXQoc3RydWN0IGRvbWFpbiAqZCwKK2ludCBtYXBfbW1pb19yZWdpb25zKHN0cnVjdCBkb21haW4g KmQsCiAgICAgICAgICAgICAgICAgICAgICBnZm5fdCBnZm4sCiAgICAgICAgICAgICAgICAgICAg ICB1bnNpZ25lZCBsb25nIG5yLAogICAgICAgICAgICAgICAgICAgICAgbWZuX3QgbWZuLApAQCAt MTM0MCwyMiArMTM0MCw2IEBAIGludCBtYXBfcmVnaW9uc19wMm10KHN0cnVjdCBkb21haW4gKmQs CiAgICAgcmV0dXJuIHAybV9pbnNlcnRfbWFwcGluZyhkLCBnZm4sIG5yLCBtZm4sIHAybXQpOwog fQogCi1pbnQgdW5tYXBfcmVnaW9uc19wMm10KHN0cnVjdCBkb21haW4gKmQsCi0gICAgICAgICAg ICAgICAgICAgICAgIGdmbl90IGdmbiwKLSAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg bG9uZyBuciwKLSAgICAgICAgICAgICAgICAgICAgICAgbWZuX3QgbWZuKQotewotICAgIHJldHVy biBwMm1fcmVtb3ZlX21hcHBpbmcoZCwgZ2ZuLCBuciwgbWZuKTsKLX0KLQotaW50IG1hcF9tbWlv X3JlZ2lvbnMoc3RydWN0IGRvbWFpbiAqZCwKLSAgICAgICAgICAgICAgICAgICAgIGdmbl90IHN0 YXJ0X2dmbiwKLSAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbnIsCi0gICAgICAg ICAgICAgICAgICAgICBtZm5fdCBtZm4pCi17Ci0gICAgcmV0dXJuIHAybV9pbnNlcnRfbWFwcGlu ZyhkLCBzdGFydF9nZm4sIG5yLCBtZm4sIHAybV9tbWlvX2RpcmVjdF9kZXYpOwotfQotCiBpbnQg dW5tYXBfbW1pb19yZWdpb25zKHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAgICAgICAgICAgICAg ICAgIGdmbl90IHN0YXJ0X2dmbiwKICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9u ZyBuciwKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9wbGF0Zm9ybXMvZXh5bm9zNS5jIGIveGVu L2FyY2gvYXJtL3BsYXRmb3Jtcy9leHlub3M1LmMKaW5kZXggNjU2MDUwNy4uOTdjZDA4MCAxMDA2 NDQKLS0tIGEveGVuL2FyY2gvYXJtL3BsYXRmb3Jtcy9leHlub3M1LmMKKysrIGIveGVuL2FyY2gv YXJtL3BsYXRmb3Jtcy9leHlub3M1LmMKQEAgLTgzLDExICs4MywxMyBAQCBzdGF0aWMgaW50IGV4 eW5vczUyNTBfc3BlY2lmaWNfbWFwcGluZyhzdHJ1Y3QgZG9tYWluICpkKQogewogICAgIC8qIE1h cCB0aGUgY2hpcCBJRCAqLwogICAgIG1hcF9tbWlvX3JlZ2lvbnMoZCwgZ2FkZHJfdG9fZ2ZuKEVY WU5PUzVfUEFfQ0hJUElEKSwgMSwKLSAgICAgICAgICAgICAgICAgICAgIG1hZGRyX3RvX21mbihF WFlOT1M1X1BBX0NISVBJRCkpOworICAgICAgICAgICAgICAgICAgICAgbWFkZHJfdG9fbWZuKEVY WU5PUzVfUEFfQ0hJUElEKSwKKyAgICAgICAgICAgICAgICAgICAgIHAybV9tbWlvX2RpcmVjdF9k ZXYpOwogCiAgICAgLyogTWFwIHRoZSBQV00gcmVnaW9uICovCiAgICAgbWFwX21taW9fcmVnaW9u cyhkLCBnYWRkcl90b19nZm4oRVhZTk9TNV9QQV9USU1FUiksIDIsCi0gICAgICAgICAgICAgICAg ICAgICBtYWRkcl90b19tZm4oRVhZTk9TNV9QQV9USU1FUikpOworICAgICAgICAgICAgICAgICAg ICAgbWFkZHJfdG9fbWZuKEVYWU5PUzVfUEFfVElNRVIpLAorICAgICAgICAgICAgICAgICAgICAg cDJtX21taW9fZGlyZWN0X2Rldik7CiAKICAgICByZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL3hl bi9hcmNoL2FybS9wbGF0Zm9ybXMvb21hcDUuYyBiL3hlbi9hcmNoL2FybS9wbGF0Zm9ybXMvb21h cDUuYwppbmRleCBhZWUyNGU0Li5jNTcwMWRmIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vcGxh dGZvcm1zL29tYXA1LmMKKysrIGIveGVuL2FyY2gvYXJtL3BsYXRmb3Jtcy9vbWFwNS5jCkBAIC05 OSwxOSArOTksMjMgQEAgc3RhdGljIGludCBvbWFwNV9zcGVjaWZpY19tYXBwaW5nKHN0cnVjdCBk b21haW4gKmQpCiB7CiAgICAgLyogTWFwIHRoZSBQUk0gbW9kdWxlICovCiAgICAgbWFwX21taW9f cmVnaW9ucyhkLCBnYWRkcl90b19nZm4oT01BUDVfUFJNX0JBU0UpLCAyLAotICAgICAgICAgICAg ICAgICAgICAgbWFkZHJfdG9fbWZuKE9NQVA1X1BSTV9CQVNFKSk7CisgICAgICAgICAgICAgICAg ICAgICBtYWRkcl90b19tZm4oT01BUDVfUFJNX0JBU0UpLAorICAgICAgICAgICAgICAgICAgICAg cDJtX21taW9fZGlyZWN0X2Rldik7CiAKICAgICAvKiBNYXAgdGhlIFBSTV9NUFUgKi8KICAgICBt YXBfbW1pb19yZWdpb25zKGQsIGdhZGRyX3RvX2dmbihPTUFQNV9QUkNNX01QVV9CQVNFKSwgMSwK LSAgICAgICAgICAgICAgICAgICAgIG1hZGRyX3RvX21mbihPTUFQNV9QUkNNX01QVV9CQVNFKSk7 CisgICAgICAgICAgICAgICAgICAgICBtYWRkcl90b19tZm4oT01BUDVfUFJDTV9NUFVfQkFTRSks CisgICAgICAgICAgICAgICAgICAgICBwMm1fbW1pb19kaXJlY3RfZGV2KTsKIAogICAgIC8qIE1h cCB0aGUgV2FrZXVwIEdlbiAqLwogICAgIG1hcF9tbWlvX3JlZ2lvbnMoZCwgZ2FkZHJfdG9fZ2Zu KE9NQVA1X1dLVVBHRU5fQkFTRSksIDEsCi0gICAgICAgICAgICAgICAgICAgICBtYWRkcl90b19t Zm4oT01BUDVfV0tVUEdFTl9CQVNFKSk7CisgICAgICAgICAgICAgICAgICAgICBtYWRkcl90b19t Zm4oT01BUDVfV0tVUEdFTl9CQVNFKSwKKyAgICAgICAgICAgICAgICAgICAgIHAybV9tbWlvX2Rp cmVjdF9kZXYpOwogCiAgICAgLyogTWFwIHRoZSBvbi1jaGlwIFNSQU0gKi8KICAgICBtYXBfbW1p b19yZWdpb25zKGQsIGdhZGRyX3RvX2dmbihPTUFQNV9TUkFNX1BBKSwgMzIsCi0gICAgICAgICAg ICAgICAgICAgICBtYWRkcl90b19tZm4oT01BUDVfU1JBTV9QQSkpOworICAgICAgICAgICAgICAg ICAgICAgbWFkZHJfdG9fbWZuKE9NQVA1X1NSQU1fUEEpLAorICAgICAgICAgICAgICAgICAgICAg cDJtX21taW9fZGlyZWN0X2Rldik7CiAKICAgICByZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL3hl bi9hcmNoL2FybS90cmFwcy5jIGIveGVuL2FyY2gvYXJtL3RyYXBzLmMKaW5kZXggZDhiOWE4YS4u YWZhZTVhMSAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL3RyYXBzLmMKKysrIGIveGVuL2FyY2gv YXJtL3RyYXBzLmMKQEAgLTE4ODcsNyArMTg4Nyw3IEBAIHN0YXRpYyBib29sIHRyeV9tYXBfbW1p byhnZm5fdCBnZm4pCiAgICAgaWYgKCAhaW9tZW1fYWNjZXNzX3Blcm1pdHRlZChkLCBtZm5feCht Zm4pLCBtZm5feChtZm4pICsgMSkgKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICByZXR1 cm4gIW1hcF9yZWdpb25zX3AybXQoZCwgZ2ZuLCAxLCBtZm4sIHAybV9tbWlvX2RpcmVjdF9jKTsK KyAgICByZXR1cm4gIW1hcF9tbWlvX3JlZ2lvbnMoZCwgZ2ZuLCAxLCBtZm4sIHAybV9tbWlvX2Rp cmVjdF9jKTsKIH0KIAogc3RhdGljIHZvaWQgZG9fdHJhcF9zdGFnZTJfYWJvcnRfZ3Vlc3Qoc3Ry dWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdmdpYy12 Mi5jIGIveGVuL2FyY2gvYXJtL3ZnaWMtdjIuYwppbmRleCA2NGIxNDFmLi4xNTQzNjI1IDEwMDY0 NAotLS0gYS94ZW4vYXJjaC9hcm0vdmdpYy12Mi5jCisrKyBiL3hlbi9hcmNoL2FybS92Z2ljLXYy LmMKQEAgLTY5MSw3ICs2OTEsNyBAQCBzdGF0aWMgaW50IHZnaWNfdjJfZG9tYWluX2luaXQoc3Ry dWN0IGRvbWFpbiAqZCkKICAgICAgKiByZWdpb24gb2YgdGhlIGd1ZXN0LgogICAgICAqLwogICAg IHJldCA9IG1hcF9tbWlvX3JlZ2lvbnMoZCwgZ2FkZHJfdG9fZ2ZuKGNiYXNlKSwgY3NpemUgLyBQ QUdFX1NJWkUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBtYWRkcl90b19tZm4odmJhc2Up KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZGRyX3RvX21mbih2YmFzZSksIHAybV9t bWlvX2RpcmVjdF9kZXYpOwogICAgIGlmICggcmV0ICkKICAgICAgICAgcmV0dXJuIHJldDsKIApk aWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3ZnaWMvdmdpYy12Mi5jIGIveGVuL2FyY2gvYXJtL3Zn aWMvdmdpYy12Mi5jCmluZGV4IGI1YmE0YWMuLjA0ZjM0ZGQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo L2FybS92Z2ljL3ZnaWMtdjIuYworKysgYi94ZW4vYXJjaC9hcm0vdmdpYy92Z2ljLXYyLmMKQEAg LTMwOSw3ICszMDksNyBAQCBpbnQgdmdpY192Ml9tYXBfcmVzb3VyY2VzKHN0cnVjdCBkb21haW4g KmQpCiAgICAgICogcmVnaW9uIG9mIHRoZSBndWVzdC4KICAgICAgKi8KICAgICByZXQgPSBtYXBf bW1pb19yZWdpb25zKGQsIGdhZGRyX3RvX2dmbihjYmFzZSksIGNzaXplIC8gUEFHRV9TSVpFLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFkZHJfdG9fbWZuKHZiYXNlKSk7CisgICAgICAg ICAgICAgICAgICAgICAgICAgICBtYWRkcl90b19tZm4odmJhc2UpLCBwMm1fbW1pb19kaXJlY3Rf ZGV2KTsKICAgICBpZiAoIHJldCApCiAgICAgewogICAgICAgICBnZHByaW50ayhYRU5MT0dfRVJS LCAiVW5hYmxlIHRvIHJlbWFwIFZHSUMgQ1BVIHRvIFZDUFVcbiIpOwpkaWZmIC0tZ2l0IGEveGVu L2FyY2gveDg2L2h2bS9kb20wX2J1aWxkLmMgYi94ZW4vYXJjaC94ODYvaHZtL2RvbTBfYnVpbGQu YwppbmRleCBhYTU5OWYwLi44NDc3NmZjIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL2Rv bTBfYnVpbGQuYworKysgYi94ZW4vYXJjaC94ODYvaHZtL2RvbTBfYnVpbGQuYwpAQCAtNzksOCAr NzksMTEgQEAgc3RhdGljIGludCBfX2luaXQgbW9kaWZ5X2lkZW50aXR5X21taW8oc3RydWN0IGRv bWFpbiAqZCwgdW5zaWduZWQgbG9uZyBwZm4sCiAKICAgICBmb3IgKCA7IDsgKQogICAgIHsKLSAg ICAgICAgcmMgPSBtYXAgPyAgIG1hcF9tbWlvX3JlZ2lvbnMoZCwgX2dmbihwZm4pLCBucl9wYWdl cywgX21mbihwZm4pKQotICAgICAgICAgICAgICAgICA6IHVubWFwX21taW9fcmVnaW9ucyhkLCBf Z2ZuKHBmbiksIG5yX3BhZ2VzLCBfbWZuKHBmbikpOworICAgICAgICBpZiAoIG1hcCApCisgICAg ICAgICAgICByYyA9IG1hcF9tbWlvX3JlZ2lvbnMoZCwgX2dmbihwZm4pLCBucl9wYWdlcywgX21m bihwZm4pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAybV9tbWlvX2RpcmVj dCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJjID0gdW5tYXBfbW1pb19yZWdpb25zKGQs IF9nZm4ocGZuKSwgbnJfcGFnZXMsIF9tZm4ocGZuKSk7CiAgICAgICAgIGlmICggcmMgPT0gMCAp CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgaWYgKCByYyA8IDAgKQpkaWZmIC0tZ2l0IGEv eGVuL2FyY2gveDg2L21tL3AybS5jIGIveGVuL2FyY2gveDg2L21tL3AybS5jCmluZGV4IDllODFh MzAuLmE3MmYwMTIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYworKysgYi94ZW4v YXJjaC94ODYvbW0vcDJtLmMKQEAgLTIyNjQsMTIgKzIyNjQsMTYgQEAgc3RhdGljIHVuc2lnbmVk IGludCBtbWlvX29yZGVyKGNvbnN0IHN0cnVjdCBkb21haW4gKmQsCiBpbnQgbWFwX21taW9fcmVn aW9ucyhzdHJ1Y3QgZG9tYWluICpkLAogICAgICAgICAgICAgICAgICAgICAgZ2ZuX3Qgc3RhcnRf Z2ZuLAogICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBuciwKLSAgICAgICAgICAg ICAgICAgICAgIG1mbl90IG1mbikKKyAgICAgICAgICAgICAgICAgICAgIG1mbl90IG1mbiwKKyAg ICAgICAgICAgICAgICAgICAgIHAybV90eXBlX3QgcDJtdCkKIHsKICAgICBpbnQgcmV0ID0gMDsK ICAgICB1bnNpZ25lZCBsb25nIGk7CiAgICAgdW5zaWduZWQgaW50IGl0ZXIsIG9yZGVyOwogCisg ICAgaWYgKCBwMm10ICE9IHAybV9tbWlvX2RpcmVjdCApCisgICAgICAgIHJldHVybiAtRU9QTk9U U1VQUDsKKwogICAgIGlmICggIXBhZ2luZ19tb2RlX3RyYW5zbGF0ZShkKSApCiAgICAgICAgIHJl dHVybiAwOwogCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL2RvbWN0bC5jIGIveGVuL2NvbW1vbi9k b21jdGwuYwppbmRleCBiYWRlOWE2Li4xOGEwZjhmIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL2Rv bWN0bC5jCisrKyBiL3hlbi9jb21tb24vZG9tY3RsLmMKQEAgLTkyNyw2ICs5MjcsNyBAQCBsb25n IGRvX2RvbWN0bChYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhlbl9kb21jdGxfdCkgdV9kb21jdGwp CiAgICAgICAgIHVuc2lnbmVkIGxvbmcgbnJfbWZucyA9IG9wLT51Lm1lbW9yeV9tYXBwaW5nLm5y X21mbnM7CiAgICAgICAgIHVuc2lnbmVkIGxvbmcgbWZuX2VuZCA9IG1mbiArIG5yX21mbnMgLSAx OwogICAgICAgICBpbnQgYWRkID0gb3AtPnUubWVtb3J5X21hcHBpbmcuYWRkX21hcHBpbmc7Cisg ICAgICAgIHAybV90eXBlX3QgcDJtdDsKIAogICAgICAgICByZXQgPSAtRUlOVkFMOwogICAgICAg ICBpZiAoIG1mbl9lbmQgPCBtZm4gfHwgLyogd3JhcD8gKi8KQEAgLTkzOSw2ICs5NDAsMTAgQEAg bG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZW5fZG9tY3RsX3QpIHVfZG9t Y3RsKQogICAgICAgICAvKiBNdXN0IGJyZWFrIGh5cGVyY2FsbCB1cCBhcyB0aGlzIGNvdWxkIHRh a2UgYSB3aGlsZS4gKi8KICAgICAgICAgaWYgKCBucl9tZm5zID4gNjQgKQogICAgICAgICAgICAg YnJlYWs7CisKKyAgICAgICAgcDJtdCA9IHAybV9tbWlvX2RpcmVjdF9kZXY7CisjZWxzZQorICAg ICAgICBwMm10ID0gcDJtX21taW9fZGlyZWN0OwogI2VuZGlmCiAKICAgICAgICAgcmV0ID0gLUVQ RVJNOwpAQCAtOTU2LDcgKzk2MSw3IEBAIGxvbmcgZG9fZG9tY3RsKFhFTl9HVUVTVF9IQU5ETEVf UEFSQU0oeGVuX2RvbWN0bF90KSB1X2RvbWN0bCkKICAgICAgICAgICAgICAgICAgICAibWVtb3J5 X21hcDphZGQ6IGRvbSVkIGdmbj0lbHggbWZuPSVseCBucj0lbHhcbiIsCiAgICAgICAgICAgICAg ICAgICAgZC0+ZG9tYWluX2lkLCBnZm4sIG1mbiwgbnJfbWZucyk7CiAKLSAgICAgICAgICAgIHJl dCA9IG1hcF9tbWlvX3JlZ2lvbnMoZCwgX2dmbihnZm4pLCBucl9tZm5zLCBfbWZuKG1mbikpOwor ICAgICAgICAgICAgcmV0ID0gbWFwX21taW9fcmVnaW9ucyhkLCBfZ2ZuKGdmbiksIG5yX21mbnMs IF9tZm4obWZuKSwgcDJtdCk7CiAgICAgICAgICAgICBpZiAoIHJldCA8IDAgKQogICAgICAgICAg ICAgICAgIHByaW50ayhYRU5MT0dfR19XQVJOSU5HCiAgICAgICAgICAgICAgICAgICAgICAgICJt ZW1vcnlfbWFwOmZhaWw6IGRvbSVkIGdmbj0lbHggbWZuPSVseCBucj0lbHggcmV0OiVsZFxuIiwK ZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3ZwY2kvaGVhZGVyLmMgYi94ZW4vZHJpdmVycy92cGNp L2hlYWRlci5jCmluZGV4IGVmYjZjYTkuLjZhZGZhNTUgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJz L3ZwY2kvaGVhZGVyLmMKKysrIGIveGVuL2RyaXZlcnMvdnBjaS9oZWFkZXIuYwpAQCAtNTIsNyAr NTIsOCBAQCBzdGF0aWMgaW50IG1hcF9yYW5nZSh1bnNpZ25lZCBsb25nIHMsIHVuc2lnbmVkIGxv bmcgZSwgdm9pZCAqZGF0YSwKICAgICAgICAgICogLSB7dW59bWFwX21taW9fcmVnaW9ucyBkb2Vz bid0IHN1cHBvcnQgcHJlZW1wdGlvbi4KICAgICAgICAgICovCiAKLSAgICAgICAgcmMgPSBtYXAt Pm1hcCA/IG1hcF9tbWlvX3JlZ2lvbnMobWFwLT5kLCBfZ2ZuKHMpLCBzaXplLCBfbWZuKHMpKQor ICAgICAgICByYyA9IG1hcC0+bWFwID8gbWFwX21taW9fcmVnaW9ucyhtYXAtPmQsIF9nZm4ocyks IHNpemUsIF9tZm4ocyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHAybV9tbWlvX2RpcmVjdCkKICAgICAgICAgICAgICAgICAgICAgICA6IHVubWFwX21taW9fcmVn aW9ucyhtYXAtPmQsIF9nZm4ocyksIHNpemUsIF9tZm4ocykpOwogICAgICAgICBpZiAoIHJjID09 IDAgKQogICAgICAgICB7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJtL3AybS5oIGIv eGVuL2luY2x1ZGUvYXNtLWFybS9wMm0uaAppbmRleCAwNDFkZWE4Li4wMjE4MDIxIDEwMDY0NAot LS0gYS94ZW4vaW5jbHVkZS9hc20tYXJtL3AybS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0v cDJtLmgKQEAgLTI1MiwyMSArMjUyLDYgQEAgdm9pZCBwMm1fdG9nZ2xlX2NhY2hlKHN0cnVjdCB2 Y3B1ICp2LCBib29sIHdhc19lbmFibGVkKTsKIAogdm9pZCBwMm1fZmx1c2hfdm0oc3RydWN0IHZj cHUgKnYpOwogCi0vKgotICogTWFwIGEgcmVnaW9uIGluIHRoZSBndWVzdCBwMm0gd2l0aCBhIHNw ZWNpZmljIHAybSB0eXBlLgotICogVGhlIG1lbW9yeSBhdHRyaWJ1dGVzIHdpbGwgYmUgZGVyaXZl ZCBmcm9tIHRoZSBwMm0gdHlwZS4KLSAqLwotaW50IG1hcF9yZWdpb25zX3AybXQoc3RydWN0IGRv bWFpbiAqZCwKLSAgICAgICAgICAgICAgICAgICAgIGdmbl90IGdmbiwKLSAgICAgICAgICAgICAg ICAgICAgIHVuc2lnbmVkIGxvbmcgbnIsCi0gICAgICAgICAgICAgICAgICAgICBtZm5fdCBtZm4s Ci0gICAgICAgICAgICAgICAgICAgICBwMm1fdHlwZV90IHAybXQpOwotCi1pbnQgdW5tYXBfcmVn aW9uc19wMm10KHN0cnVjdCBkb21haW4gKmQsCi0gICAgICAgICAgICAgICAgICAgICAgIGdmbl90 IGdmbiwKLSAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBuciwKLSAgICAgICAg ICAgICAgICAgICAgICAgbWZuX3QgbWZuKTsKLQogaW50IG1hcF9kZXZfbW1pb19yZWdpb24oc3Ry dWN0IGRvbWFpbiAqZCwKICAgICAgICAgICAgICAgICAgICAgICAgIGdmbl90IGdmbiwKICAgICAg ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbnIsCmRpZmYgLS1naXQgYS94ZW4vaW5j bHVkZS94ZW4vcDJtLWNvbW1vbi5oIGIveGVuL2luY2x1ZGUveGVuL3AybS1jb21tb24uaAppbmRl eCA1ODAzMWE2Li42OWM4MmNjIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vcDJtLWNvbW1v bi5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9wMm0tY29tbW9uLmgKQEAgLTE0LDcgKzE0LDggQEAg Z3Vlc3RfcGh5c21hcF9yZW1vdmVfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCBnZm5fdCBnZm4sIG1m bl90IG1mbiwKIGludCBtYXBfbW1pb19yZWdpb25zKHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAg ICAgICAgICAgICAgICBnZm5fdCBzdGFydF9nZm4sCiAgICAgICAgICAgICAgICAgICAgICB1bnNp Z25lZCBsb25nIG5yLAotICAgICAgICAgICAgICAgICAgICAgbWZuX3QgbWZuKTsKKyAgICAgICAg ICAgICAgICAgICAgIG1mbl90IG1mbiwKKyAgICAgICAgICAgICAgICAgICAgIHAybV90eXBlX3Qg cDJtdCk7CiBpbnQgdW5tYXBfbW1pb19yZWdpb25zKHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAg ICAgICAgICAgICAgICAgIGdmbl90IHN0YXJ0X2dmbiwKICAgICAgICAgICAgICAgICAgICAgICAg dW5zaWduZWQgbG9uZyBuciwKLS0gCjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlz dHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xp c3RpbmZvL3hlbi1kZXZlbA== 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 71422C43219 for ; Tue, 30 Apr 2019 21:03:13 +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 308572081C for ; Tue, 30 Apr 2019 21:03:13 +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="sdJHjDC+" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 308572081C 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 1hLZty-0007er-Kn; Tue, 30 Apr 2019 21:02:58 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hLZtx-0007eg-Pc for xen-devel@lists.xenproject.org; Tue, 30 Apr 2019 21:02:57 +0000 X-Inumbo-ID: 5364d7e0-6b8b-11e9-843c-bc764e045a96 Received: from mail.kernel.org (unknown [198.145.29.99]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id 5364d7e0-6b8b-11e9-843c-bc764e045a96; Tue, 30 Apr 2019 21:02:55 +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 0EF1D2081C; 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=B07q0EaNvzGUmvz2QxiHkU/wVi5bPU2YEgwaMLclBvA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=sdJHjDC+MegTr98W6yZtaCrvIhDUiY+CLrbaQP5+F74T1IOLWGwoF7lU8oQKU67TE DdfgsmxgYQsaF7s45NDHON6zyigf3Ue6A73rjAs7ng+L51B0zwP3HZ7XWED34V/ixC ICBbuQuLnjKJ38y/Q1xCNQLLbaNb6OHD/GbJgYzM= From: Stefano Stabellini To: xen-devel@lists.xenproject.org Date: Tue, 30 Apr 2019 14:02:43 -0700 Message-Id: <1556658172-8824-1-git-send-email-sstabellini@kernel.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: References: Subject: [Xen-devel] [PATCH v2 01/10] xen: add a p2mt parameter to map_mmio_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: <20190430210243.3TZQT-_0Dz2WYSyb9BuynR4NvzjxCncaGV5zrowfLR4@z> QWRkIGEgcDJtdCBwYXJhbWV0ZXIgdG8gbWFwX21taW9fcmVnaW9ucywgcGFzcyBwMm1fbW1pb19k aXJlY3RfZGV2IG9uCkFSTSBhbmQgcDJtX21taW9fZGlyZWN0IG9uIHg4NiAtLSBubyBjaGFuZ2Vz IGluIGJlaGF2aW9yLgoKT24gQVJNLCBnaXZlbiB0aGUgc2ltaWxhcml0eSBiZXR3ZWVuIG1hcF9t bWlvX3JlZ2lvbnMgYWZ0ZXIgdGhlIGNoYW5nZQphbmQgbWFwX3JlZ2lvbnNfcDJtdCwgcmVtb3Zl IHVuL21hcF9yZWdpb25zX3AybXQuCgpTaWduZWQtb2ZmLWJ5OiBTdGVmYW5vIFN0YWJlbGxpbmkg PHN0ZWZhbm9zQHhpbGlueC5jb20+CkNDOiBKQmV1bGljaEBzdXNlLmNvbQpDQzogYW5kcmV3LmNv b3BlcjNAY2l0cml4LmNvbQotLS0KQ2hhbmdlcyBpbiB2MjoKLSBuZXcgcGF0Y2gKLS0tCiB4ZW4v YXJjaC9hcm0vYWNwaS9kb21haW5fYnVpbGQuYyB8ICA0ICsrLS0KIHhlbi9hcmNoL2FybS9kb21h aW5fYnVpbGQuYyAgICAgIHwgIDIgKy0KIHhlbi9hcmNoL2FybS9naWMtdjIuYyAgICAgICAgICAg IHwgIDMgKystCiB4ZW4vYXJjaC9hcm0vcDJtLmMgICAgICAgICAgICAgICB8IDE4ICstLS0tLS0t LS0tLS0tLS0tLQogeGVuL2FyY2gvYXJtL3BsYXRmb3Jtcy9leHlub3M1LmMgfCAgNiArKysrLS0K IHhlbi9hcmNoL2FybS9wbGF0Zm9ybXMvb21hcDUuYyAgIHwgMTIgKysrKysrKystLS0tCiB4ZW4v YXJjaC9hcm0vdHJhcHMuYyAgICAgICAgICAgICB8ICAyICstCiB4ZW4vYXJjaC9hcm0vdmdpYy12 Mi5jICAgICAgICAgICB8ICAyICstCiB4ZW4vYXJjaC9hcm0vdmdpYy92Z2ljLXYyLmMgICAgICB8 ICAyICstCiB4ZW4vYXJjaC94ODYvaHZtL2RvbTBfYnVpbGQuYyAgICB8ICA3ICsrKysrLS0KIHhl bi9hcmNoL3g4Ni9tbS9wMm0uYyAgICAgICAgICAgIHwgIDYgKysrKystCiB4ZW4vY29tbW9uL2Rv bWN0bC5jICAgICAgICAgICAgICB8ICA3ICsrKysrKy0KIHhlbi9kcml2ZXJzL3ZwY2kvaGVhZGVy LmMgICAgICAgIHwgIDMgKystCiB4ZW4vaW5jbHVkZS9hc20tYXJtL3AybS5oICAgICAgICB8IDE1 IC0tLS0tLS0tLS0tLS0tLQogeGVuL2luY2x1ZGUveGVuL3AybS1jb21tb24uaCAgICAgfCAgMyAr Ky0KIDE1IGZpbGVzIGNoYW5nZWQsIDQxIGluc2VydGlvbnMoKyksIDUxIGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9hY3BpL2RvbWFpbl9idWlsZC5jIGIveGVuL2FyY2gv YXJtL2FjcGkvZG9tYWluX2J1aWxkLmMKaW5kZXggNWFhZTMyYS4uZjRhYzkxYyAxMDA2NDQKLS0t IGEveGVuL2FyY2gvYXJtL2FjcGkvZG9tYWluX2J1aWxkLmMKKysrIGIveGVuL2FyY2gvYXJtL2Fj cGkvZG9tYWluX2J1aWxkLmMKQEAgLTE5Myw3ICsxOTMsNyBAQCBzdGF0aWMgdm9pZCBfX2luaXQg YWNwaV9tYXBfb3RoZXJfdGFibGVzKHN0cnVjdCBkb21haW4gKmQpCiAgICAgewogICAgICAgICBh ZGRyID0gYWNwaV9nYmxfcm9vdF90YWJsZV9saXN0LnRhYmxlc1tpXS5hZGRyZXNzOwogICAgICAg ICBzaXplID0gYWNwaV9nYmxfcm9vdF90YWJsZV9saXN0LnRhYmxlc1tpXS5sZW5ndGg7Ci0gICAg ICAgIHJlcyA9IG1hcF9yZWdpb25zX3AybXQoZCwKKyAgICAgICAgcmVzID0gbWFwX21taW9fcmVn aW9ucyhkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdhZGRyX3RvX2dmbihhZGRy KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRk5fVVAoc2l6ZSksCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbWFkZHJfdG9fbWZuKGFkZHIpLApAQCAtNTQ3LDcgKzU0 Nyw3IEBAIGludCBfX2luaXQgcHJlcGFyZV9hY3BpKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCBr ZXJuZWxfaW5mbyAqa2luZm8pCiAgICAgYWNwaV9jcmVhdGVfZWZpX21tYXBfdGFibGUoZCwgJmtp bmZvLT5tZW0sIHRibF9hZGQpOwogCiAgICAgLyogTWFwIHRoZSBFRkkgYW5kIEFDUEkgdGFibGVz IHRvIERvbTAgKi8KLSAgICByYyA9IG1hcF9yZWdpb25zX3AybXQoZCwKKyAgICByYyA9IG1hcF9t bWlvX3JlZ2lvbnMoZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2FkZHJfdG9fZ2ZuKGQt PmFyY2guZWZpX2FjcGlfZ3BhKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgUEZOX1VQKGQt PmFyY2guZWZpX2FjcGlfbGVuKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlydF90b19t Zm4oZC0+YXJjaC5lZmlfYWNwaV90YWJsZSksCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vZG9t YWluX2J1aWxkLmMgYi94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMKaW5kZXggZDk4MzY3Ny4u MWY4MDhiMiAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jCisrKyBiL3hl bi9hcmNoL2FybS9kb21haW5fYnVpbGQuYwpAQCAtMTE3MSw3ICsxMTcxLDcgQEAgc3RhdGljIGlu dCBfX2luaXQgbWFwX3JhbmdlX3RvX2RvbWFpbihjb25zdCBzdHJ1Y3QgZHRfZGV2aWNlX25vZGUg KmRldiwKIAogICAgIGlmICggbmVlZF9tYXBwaW5nICkKICAgICB7Ci0gICAgICAgIHJlcyA9IG1h cF9yZWdpb25zX3AybXQoZCwKKyAgICAgICAgcmVzID0gbWFwX21taW9fcmVnaW9ucyhkLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdhZGRyX3RvX2dmbihhZGRyKSwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBQRk5fVVAobGVuKSwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBtYWRkcl90b19tZm4oYWRkciksCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0v Z2ljLXYyLmMgYi94ZW4vYXJjaC9hcm0vZ2ljLXYyLmMKaW5kZXggMjU2OTg4Yy4uZDJlZjM2MSAx MDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2dpYy12Mi5jCisrKyBiL3hlbi9hcmNoL2FybS9naWMt djIuYwpAQCAtNzAxLDcgKzcwMSw4IEBAIHN0YXRpYyBpbnQgZ2ljdjJfbWFwX2h3ZG93bl9leHRy YV9tYXBwaW5ncyhzdHJ1Y3QgZG9tYWluICpkKQogCiAgICAgICAgIHJldCA9IG1hcF9tbWlvX3Jl Z2lvbnMoZCwgZ2FkZHJfdG9fZ2ZuKHYybV9kYXRhLT5hZGRyKSwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBQRk5fVVAodjJtX2RhdGEtPnNpemUpLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG1hZGRyX3RvX21mbih2Mm1fZGF0YS0+YWRkcikpOworICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIG1hZGRyX3RvX21mbih2Mm1fZGF0YS0+YWRkciksCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgcDJtX21taW9fZGlyZWN0X2Rldik7CiAgICAgICAgIGlm ICggcmV0ICkKICAgICAgICAgewogICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19FUlIgIkdJQ3Yy OiBNYXAgdjJtIGZyYW1lIHRvIGQlZCBmYWlsZWQuXG4iLApkaWZmIC0tZ2l0IGEveGVuL2FyY2gv YXJtL3AybS5jIGIveGVuL2FyY2gvYXJtL3AybS5jCmluZGV4IGMzOGJkN2UuLmU0NGM5MzIgMTAw NjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9wMm0uYworKysgYi94ZW4vYXJjaC9hcm0vcDJtLmMKQEAg LTEzMzEsNyArMTMzMSw3IEBAIHN0YXRpYyBpbmxpbmUgaW50IHAybV9yZW1vdmVfbWFwcGluZyhz dHJ1Y3QgZG9tYWluICpkLAogICAgIHJldHVybiByYzsKIH0KIAotaW50IG1hcF9yZWdpb25zX3Ay bXQoc3RydWN0IGRvbWFpbiAqZCwKK2ludCBtYXBfbW1pb19yZWdpb25zKHN0cnVjdCBkb21haW4g KmQsCiAgICAgICAgICAgICAgICAgICAgICBnZm5fdCBnZm4sCiAgICAgICAgICAgICAgICAgICAg ICB1bnNpZ25lZCBsb25nIG5yLAogICAgICAgICAgICAgICAgICAgICAgbWZuX3QgbWZuLApAQCAt MTM0MCwyMiArMTM0MCw2IEBAIGludCBtYXBfcmVnaW9uc19wMm10KHN0cnVjdCBkb21haW4gKmQs CiAgICAgcmV0dXJuIHAybV9pbnNlcnRfbWFwcGluZyhkLCBnZm4sIG5yLCBtZm4sIHAybXQpOwog fQogCi1pbnQgdW5tYXBfcmVnaW9uc19wMm10KHN0cnVjdCBkb21haW4gKmQsCi0gICAgICAgICAg ICAgICAgICAgICAgIGdmbl90IGdmbiwKLSAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg bG9uZyBuciwKLSAgICAgICAgICAgICAgICAgICAgICAgbWZuX3QgbWZuKQotewotICAgIHJldHVy biBwMm1fcmVtb3ZlX21hcHBpbmcoZCwgZ2ZuLCBuciwgbWZuKTsKLX0KLQotaW50IG1hcF9tbWlv X3JlZ2lvbnMoc3RydWN0IGRvbWFpbiAqZCwKLSAgICAgICAgICAgICAgICAgICAgIGdmbl90IHN0 YXJ0X2dmbiwKLSAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbnIsCi0gICAgICAg ICAgICAgICAgICAgICBtZm5fdCBtZm4pCi17Ci0gICAgcmV0dXJuIHAybV9pbnNlcnRfbWFwcGlu ZyhkLCBzdGFydF9nZm4sIG5yLCBtZm4sIHAybV9tbWlvX2RpcmVjdF9kZXYpOwotfQotCiBpbnQg dW5tYXBfbW1pb19yZWdpb25zKHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAgICAgICAgICAgICAg ICAgIGdmbl90IHN0YXJ0X2dmbiwKICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9u ZyBuciwKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9wbGF0Zm9ybXMvZXh5bm9zNS5jIGIveGVu L2FyY2gvYXJtL3BsYXRmb3Jtcy9leHlub3M1LmMKaW5kZXggNjU2MDUwNy4uOTdjZDA4MCAxMDA2 NDQKLS0tIGEveGVuL2FyY2gvYXJtL3BsYXRmb3Jtcy9leHlub3M1LmMKKysrIGIveGVuL2FyY2gv YXJtL3BsYXRmb3Jtcy9leHlub3M1LmMKQEAgLTgzLDExICs4MywxMyBAQCBzdGF0aWMgaW50IGV4 eW5vczUyNTBfc3BlY2lmaWNfbWFwcGluZyhzdHJ1Y3QgZG9tYWluICpkKQogewogICAgIC8qIE1h cCB0aGUgY2hpcCBJRCAqLwogICAgIG1hcF9tbWlvX3JlZ2lvbnMoZCwgZ2FkZHJfdG9fZ2ZuKEVY WU5PUzVfUEFfQ0hJUElEKSwgMSwKLSAgICAgICAgICAgICAgICAgICAgIG1hZGRyX3RvX21mbihF WFlOT1M1X1BBX0NISVBJRCkpOworICAgICAgICAgICAgICAgICAgICAgbWFkZHJfdG9fbWZuKEVY WU5PUzVfUEFfQ0hJUElEKSwKKyAgICAgICAgICAgICAgICAgICAgIHAybV9tbWlvX2RpcmVjdF9k ZXYpOwogCiAgICAgLyogTWFwIHRoZSBQV00gcmVnaW9uICovCiAgICAgbWFwX21taW9fcmVnaW9u cyhkLCBnYWRkcl90b19nZm4oRVhZTk9TNV9QQV9USU1FUiksIDIsCi0gICAgICAgICAgICAgICAg ICAgICBtYWRkcl90b19tZm4oRVhZTk9TNV9QQV9USU1FUikpOworICAgICAgICAgICAgICAgICAg ICAgbWFkZHJfdG9fbWZuKEVYWU5PUzVfUEFfVElNRVIpLAorICAgICAgICAgICAgICAgICAgICAg cDJtX21taW9fZGlyZWN0X2Rldik7CiAKICAgICByZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL3hl bi9hcmNoL2FybS9wbGF0Zm9ybXMvb21hcDUuYyBiL3hlbi9hcmNoL2FybS9wbGF0Zm9ybXMvb21h cDUuYwppbmRleCBhZWUyNGU0Li5jNTcwMWRmIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vcGxh dGZvcm1zL29tYXA1LmMKKysrIGIveGVuL2FyY2gvYXJtL3BsYXRmb3Jtcy9vbWFwNS5jCkBAIC05 OSwxOSArOTksMjMgQEAgc3RhdGljIGludCBvbWFwNV9zcGVjaWZpY19tYXBwaW5nKHN0cnVjdCBk b21haW4gKmQpCiB7CiAgICAgLyogTWFwIHRoZSBQUk0gbW9kdWxlICovCiAgICAgbWFwX21taW9f cmVnaW9ucyhkLCBnYWRkcl90b19nZm4oT01BUDVfUFJNX0JBU0UpLCAyLAotICAgICAgICAgICAg ICAgICAgICAgbWFkZHJfdG9fbWZuKE9NQVA1X1BSTV9CQVNFKSk7CisgICAgICAgICAgICAgICAg ICAgICBtYWRkcl90b19tZm4oT01BUDVfUFJNX0JBU0UpLAorICAgICAgICAgICAgICAgICAgICAg cDJtX21taW9fZGlyZWN0X2Rldik7CiAKICAgICAvKiBNYXAgdGhlIFBSTV9NUFUgKi8KICAgICBt YXBfbW1pb19yZWdpb25zKGQsIGdhZGRyX3RvX2dmbihPTUFQNV9QUkNNX01QVV9CQVNFKSwgMSwK LSAgICAgICAgICAgICAgICAgICAgIG1hZGRyX3RvX21mbihPTUFQNV9QUkNNX01QVV9CQVNFKSk7 CisgICAgICAgICAgICAgICAgICAgICBtYWRkcl90b19tZm4oT01BUDVfUFJDTV9NUFVfQkFTRSks CisgICAgICAgICAgICAgICAgICAgICBwMm1fbW1pb19kaXJlY3RfZGV2KTsKIAogICAgIC8qIE1h cCB0aGUgV2FrZXVwIEdlbiAqLwogICAgIG1hcF9tbWlvX3JlZ2lvbnMoZCwgZ2FkZHJfdG9fZ2Zu KE9NQVA1X1dLVVBHRU5fQkFTRSksIDEsCi0gICAgICAgICAgICAgICAgICAgICBtYWRkcl90b19t Zm4oT01BUDVfV0tVUEdFTl9CQVNFKSk7CisgICAgICAgICAgICAgICAgICAgICBtYWRkcl90b19t Zm4oT01BUDVfV0tVUEdFTl9CQVNFKSwKKyAgICAgICAgICAgICAgICAgICAgIHAybV9tbWlvX2Rp cmVjdF9kZXYpOwogCiAgICAgLyogTWFwIHRoZSBvbi1jaGlwIFNSQU0gKi8KICAgICBtYXBfbW1p b19yZWdpb25zKGQsIGdhZGRyX3RvX2dmbihPTUFQNV9TUkFNX1BBKSwgMzIsCi0gICAgICAgICAg ICAgICAgICAgICBtYWRkcl90b19tZm4oT01BUDVfU1JBTV9QQSkpOworICAgICAgICAgICAgICAg ICAgICAgbWFkZHJfdG9fbWZuKE9NQVA1X1NSQU1fUEEpLAorICAgICAgICAgICAgICAgICAgICAg cDJtX21taW9fZGlyZWN0X2Rldik7CiAKICAgICByZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL3hl bi9hcmNoL2FybS90cmFwcy5jIGIveGVuL2FyY2gvYXJtL3RyYXBzLmMKaW5kZXggZDhiOWE4YS4u YWZhZTVhMSAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL3RyYXBzLmMKKysrIGIveGVuL2FyY2gv YXJtL3RyYXBzLmMKQEAgLTE4ODcsNyArMTg4Nyw3IEBAIHN0YXRpYyBib29sIHRyeV9tYXBfbW1p byhnZm5fdCBnZm4pCiAgICAgaWYgKCAhaW9tZW1fYWNjZXNzX3Blcm1pdHRlZChkLCBtZm5feCht Zm4pLCBtZm5feChtZm4pICsgMSkgKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICByZXR1 cm4gIW1hcF9yZWdpb25zX3AybXQoZCwgZ2ZuLCAxLCBtZm4sIHAybV9tbWlvX2RpcmVjdF9jKTsK KyAgICByZXR1cm4gIW1hcF9tbWlvX3JlZ2lvbnMoZCwgZ2ZuLCAxLCBtZm4sIHAybV9tbWlvX2Rp cmVjdF9jKTsKIH0KIAogc3RhdGljIHZvaWQgZG9fdHJhcF9zdGFnZTJfYWJvcnRfZ3Vlc3Qoc3Ry dWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdmdpYy12 Mi5jIGIveGVuL2FyY2gvYXJtL3ZnaWMtdjIuYwppbmRleCA2NGIxNDFmLi4xNTQzNjI1IDEwMDY0 NAotLS0gYS94ZW4vYXJjaC9hcm0vdmdpYy12Mi5jCisrKyBiL3hlbi9hcmNoL2FybS92Z2ljLXYy LmMKQEAgLTY5MSw3ICs2OTEsNyBAQCBzdGF0aWMgaW50IHZnaWNfdjJfZG9tYWluX2luaXQoc3Ry dWN0IGRvbWFpbiAqZCkKICAgICAgKiByZWdpb24gb2YgdGhlIGd1ZXN0LgogICAgICAqLwogICAg IHJldCA9IG1hcF9tbWlvX3JlZ2lvbnMoZCwgZ2FkZHJfdG9fZ2ZuKGNiYXNlKSwgY3NpemUgLyBQ QUdFX1NJWkUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBtYWRkcl90b19tZm4odmJhc2Up KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZGRyX3RvX21mbih2YmFzZSksIHAybV9t bWlvX2RpcmVjdF9kZXYpOwogICAgIGlmICggcmV0ICkKICAgICAgICAgcmV0dXJuIHJldDsKIApk aWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3ZnaWMvdmdpYy12Mi5jIGIveGVuL2FyY2gvYXJtL3Zn aWMvdmdpYy12Mi5jCmluZGV4IGI1YmE0YWMuLjA0ZjM0ZGQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo L2FybS92Z2ljL3ZnaWMtdjIuYworKysgYi94ZW4vYXJjaC9hcm0vdmdpYy92Z2ljLXYyLmMKQEAg LTMwOSw3ICszMDksNyBAQCBpbnQgdmdpY192Ml9tYXBfcmVzb3VyY2VzKHN0cnVjdCBkb21haW4g KmQpCiAgICAgICogcmVnaW9uIG9mIHRoZSBndWVzdC4KICAgICAgKi8KICAgICByZXQgPSBtYXBf bW1pb19yZWdpb25zKGQsIGdhZGRyX3RvX2dmbihjYmFzZSksIGNzaXplIC8gUEFHRV9TSVpFLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFkZHJfdG9fbWZuKHZiYXNlKSk7CisgICAgICAg ICAgICAgICAgICAgICAgICAgICBtYWRkcl90b19tZm4odmJhc2UpLCBwMm1fbW1pb19kaXJlY3Rf ZGV2KTsKICAgICBpZiAoIHJldCApCiAgICAgewogICAgICAgICBnZHByaW50ayhYRU5MT0dfRVJS LCAiVW5hYmxlIHRvIHJlbWFwIFZHSUMgQ1BVIHRvIFZDUFVcbiIpOwpkaWZmIC0tZ2l0IGEveGVu L2FyY2gveDg2L2h2bS9kb20wX2J1aWxkLmMgYi94ZW4vYXJjaC94ODYvaHZtL2RvbTBfYnVpbGQu YwppbmRleCBhYTU5OWYwLi44NDc3NmZjIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL2Rv bTBfYnVpbGQuYworKysgYi94ZW4vYXJjaC94ODYvaHZtL2RvbTBfYnVpbGQuYwpAQCAtNzksOCAr NzksMTEgQEAgc3RhdGljIGludCBfX2luaXQgbW9kaWZ5X2lkZW50aXR5X21taW8oc3RydWN0IGRv bWFpbiAqZCwgdW5zaWduZWQgbG9uZyBwZm4sCiAKICAgICBmb3IgKCA7IDsgKQogICAgIHsKLSAg ICAgICAgcmMgPSBtYXAgPyAgIG1hcF9tbWlvX3JlZ2lvbnMoZCwgX2dmbihwZm4pLCBucl9wYWdl cywgX21mbihwZm4pKQotICAgICAgICAgICAgICAgICA6IHVubWFwX21taW9fcmVnaW9ucyhkLCBf Z2ZuKHBmbiksIG5yX3BhZ2VzLCBfbWZuKHBmbikpOworICAgICAgICBpZiAoIG1hcCApCisgICAg ICAgICAgICByYyA9IG1hcF9tbWlvX3JlZ2lvbnMoZCwgX2dmbihwZm4pLCBucl9wYWdlcywgX21m bihwZm4pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAybV9tbWlvX2RpcmVj dCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJjID0gdW5tYXBfbW1pb19yZWdpb25zKGQs IF9nZm4ocGZuKSwgbnJfcGFnZXMsIF9tZm4ocGZuKSk7CiAgICAgICAgIGlmICggcmMgPT0gMCAp CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgaWYgKCByYyA8IDAgKQpkaWZmIC0tZ2l0IGEv eGVuL2FyY2gveDg2L21tL3AybS5jIGIveGVuL2FyY2gveDg2L21tL3AybS5jCmluZGV4IDllODFh MzAuLmE3MmYwMTIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYworKysgYi94ZW4v YXJjaC94ODYvbW0vcDJtLmMKQEAgLTIyNjQsMTIgKzIyNjQsMTYgQEAgc3RhdGljIHVuc2lnbmVk IGludCBtbWlvX29yZGVyKGNvbnN0IHN0cnVjdCBkb21haW4gKmQsCiBpbnQgbWFwX21taW9fcmVn aW9ucyhzdHJ1Y3QgZG9tYWluICpkLAogICAgICAgICAgICAgICAgICAgICAgZ2ZuX3Qgc3RhcnRf Z2ZuLAogICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBuciwKLSAgICAgICAgICAg ICAgICAgICAgIG1mbl90IG1mbikKKyAgICAgICAgICAgICAgICAgICAgIG1mbl90IG1mbiwKKyAg ICAgICAgICAgICAgICAgICAgIHAybV90eXBlX3QgcDJtdCkKIHsKICAgICBpbnQgcmV0ID0gMDsK ICAgICB1bnNpZ25lZCBsb25nIGk7CiAgICAgdW5zaWduZWQgaW50IGl0ZXIsIG9yZGVyOwogCisg ICAgaWYgKCBwMm10ICE9IHAybV9tbWlvX2RpcmVjdCApCisgICAgICAgIHJldHVybiAtRU9QTk9U U1VQUDsKKwogICAgIGlmICggIXBhZ2luZ19tb2RlX3RyYW5zbGF0ZShkKSApCiAgICAgICAgIHJl dHVybiAwOwogCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL2RvbWN0bC5jIGIveGVuL2NvbW1vbi9k b21jdGwuYwppbmRleCBiYWRlOWE2Li4xOGEwZjhmIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL2Rv bWN0bC5jCisrKyBiL3hlbi9jb21tb24vZG9tY3RsLmMKQEAgLTkyNyw2ICs5MjcsNyBAQCBsb25n IGRvX2RvbWN0bChYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhlbl9kb21jdGxfdCkgdV9kb21jdGwp CiAgICAgICAgIHVuc2lnbmVkIGxvbmcgbnJfbWZucyA9IG9wLT51Lm1lbW9yeV9tYXBwaW5nLm5y X21mbnM7CiAgICAgICAgIHVuc2lnbmVkIGxvbmcgbWZuX2VuZCA9IG1mbiArIG5yX21mbnMgLSAx OwogICAgICAgICBpbnQgYWRkID0gb3AtPnUubWVtb3J5X21hcHBpbmcuYWRkX21hcHBpbmc7Cisg ICAgICAgIHAybV90eXBlX3QgcDJtdDsKIAogICAgICAgICByZXQgPSAtRUlOVkFMOwogICAgICAg ICBpZiAoIG1mbl9lbmQgPCBtZm4gfHwgLyogd3JhcD8gKi8KQEAgLTkzOSw2ICs5NDAsMTAgQEAg bG9uZyBkb19kb21jdGwoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZW5fZG9tY3RsX3QpIHVfZG9t Y3RsKQogICAgICAgICAvKiBNdXN0IGJyZWFrIGh5cGVyY2FsbCB1cCBhcyB0aGlzIGNvdWxkIHRh a2UgYSB3aGlsZS4gKi8KICAgICAgICAgaWYgKCBucl9tZm5zID4gNjQgKQogICAgICAgICAgICAg YnJlYWs7CisKKyAgICAgICAgcDJtdCA9IHAybV9tbWlvX2RpcmVjdF9kZXY7CisjZWxzZQorICAg ICAgICBwMm10ID0gcDJtX21taW9fZGlyZWN0OwogI2VuZGlmCiAKICAgICAgICAgcmV0ID0gLUVQ RVJNOwpAQCAtOTU2LDcgKzk2MSw3IEBAIGxvbmcgZG9fZG9tY3RsKFhFTl9HVUVTVF9IQU5ETEVf UEFSQU0oeGVuX2RvbWN0bF90KSB1X2RvbWN0bCkKICAgICAgICAgICAgICAgICAgICAibWVtb3J5 X21hcDphZGQ6IGRvbSVkIGdmbj0lbHggbWZuPSVseCBucj0lbHhcbiIsCiAgICAgICAgICAgICAg ICAgICAgZC0+ZG9tYWluX2lkLCBnZm4sIG1mbiwgbnJfbWZucyk7CiAKLSAgICAgICAgICAgIHJl dCA9IG1hcF9tbWlvX3JlZ2lvbnMoZCwgX2dmbihnZm4pLCBucl9tZm5zLCBfbWZuKG1mbikpOwor ICAgICAgICAgICAgcmV0ID0gbWFwX21taW9fcmVnaW9ucyhkLCBfZ2ZuKGdmbiksIG5yX21mbnMs IF9tZm4obWZuKSwgcDJtdCk7CiAgICAgICAgICAgICBpZiAoIHJldCA8IDAgKQogICAgICAgICAg ICAgICAgIHByaW50ayhYRU5MT0dfR19XQVJOSU5HCiAgICAgICAgICAgICAgICAgICAgICAgICJt ZW1vcnlfbWFwOmZhaWw6IGRvbSVkIGdmbj0lbHggbWZuPSVseCBucj0lbHggcmV0OiVsZFxuIiwK ZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3ZwY2kvaGVhZGVyLmMgYi94ZW4vZHJpdmVycy92cGNp L2hlYWRlci5jCmluZGV4IGVmYjZjYTkuLjZhZGZhNTUgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJz L3ZwY2kvaGVhZGVyLmMKKysrIGIveGVuL2RyaXZlcnMvdnBjaS9oZWFkZXIuYwpAQCAtNTIsNyAr NTIsOCBAQCBzdGF0aWMgaW50IG1hcF9yYW5nZSh1bnNpZ25lZCBsb25nIHMsIHVuc2lnbmVkIGxv bmcgZSwgdm9pZCAqZGF0YSwKICAgICAgICAgICogLSB7dW59bWFwX21taW9fcmVnaW9ucyBkb2Vz bid0IHN1cHBvcnQgcHJlZW1wdGlvbi4KICAgICAgICAgICovCiAKLSAgICAgICAgcmMgPSBtYXAt Pm1hcCA/IG1hcF9tbWlvX3JlZ2lvbnMobWFwLT5kLCBfZ2ZuKHMpLCBzaXplLCBfbWZuKHMpKQor ICAgICAgICByYyA9IG1hcC0+bWFwID8gbWFwX21taW9fcmVnaW9ucyhtYXAtPmQsIF9nZm4ocyks IHNpemUsIF9tZm4ocyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHAybV9tbWlvX2RpcmVjdCkKICAgICAgICAgICAgICAgICAgICAgICA6IHVubWFwX21taW9fcmVn aW9ucyhtYXAtPmQsIF9nZm4ocyksIHNpemUsIF9tZm4ocykpOwogICAgICAgICBpZiAoIHJjID09 IDAgKQogICAgICAgICB7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJtL3AybS5oIGIv eGVuL2luY2x1ZGUvYXNtLWFybS9wMm0uaAppbmRleCAwNDFkZWE4Li4wMjE4MDIxIDEwMDY0NAot LS0gYS94ZW4vaW5jbHVkZS9hc20tYXJtL3AybS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0v cDJtLmgKQEAgLTI1MiwyMSArMjUyLDYgQEAgdm9pZCBwMm1fdG9nZ2xlX2NhY2hlKHN0cnVjdCB2 Y3B1ICp2LCBib29sIHdhc19lbmFibGVkKTsKIAogdm9pZCBwMm1fZmx1c2hfdm0oc3RydWN0IHZj cHUgKnYpOwogCi0vKgotICogTWFwIGEgcmVnaW9uIGluIHRoZSBndWVzdCBwMm0gd2l0aCBhIHNw ZWNpZmljIHAybSB0eXBlLgotICogVGhlIG1lbW9yeSBhdHRyaWJ1dGVzIHdpbGwgYmUgZGVyaXZl ZCBmcm9tIHRoZSBwMm0gdHlwZS4KLSAqLwotaW50IG1hcF9yZWdpb25zX3AybXQoc3RydWN0IGRv bWFpbiAqZCwKLSAgICAgICAgICAgICAgICAgICAgIGdmbl90IGdmbiwKLSAgICAgICAgICAgICAg ICAgICAgIHVuc2lnbmVkIGxvbmcgbnIsCi0gICAgICAgICAgICAgICAgICAgICBtZm5fdCBtZm4s Ci0gICAgICAgICAgICAgICAgICAgICBwMm1fdHlwZV90IHAybXQpOwotCi1pbnQgdW5tYXBfcmVn aW9uc19wMm10KHN0cnVjdCBkb21haW4gKmQsCi0gICAgICAgICAgICAgICAgICAgICAgIGdmbl90 IGdmbiwKLSAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBuciwKLSAgICAgICAg ICAgICAgICAgICAgICAgbWZuX3QgbWZuKTsKLQogaW50IG1hcF9kZXZfbW1pb19yZWdpb24oc3Ry dWN0IGRvbWFpbiAqZCwKICAgICAgICAgICAgICAgICAgICAgICAgIGdmbl90IGdmbiwKICAgICAg ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbnIsCmRpZmYgLS1naXQgYS94ZW4vaW5j bHVkZS94ZW4vcDJtLWNvbW1vbi5oIGIveGVuL2luY2x1ZGUveGVuL3AybS1jb21tb24uaAppbmRl eCA1ODAzMWE2Li42OWM4MmNjIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vcDJtLWNvbW1v bi5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9wMm0tY29tbW9uLmgKQEAgLTE0LDcgKzE0LDggQEAg Z3Vlc3RfcGh5c21hcF9yZW1vdmVfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCBnZm5fdCBnZm4sIG1m bl90IG1mbiwKIGludCBtYXBfbW1pb19yZWdpb25zKHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAg ICAgICAgICAgICAgICBnZm5fdCBzdGFydF9nZm4sCiAgICAgICAgICAgICAgICAgICAgICB1bnNp Z25lZCBsb25nIG5yLAotICAgICAgICAgICAgICAgICAgICAgbWZuX3QgbWZuKTsKKyAgICAgICAg ICAgICAgICAgICAgIG1mbl90IG1mbiwKKyAgICAgICAgICAgICAgICAgICAgIHAybV90eXBlX3Qg cDJtdCk7CiBpbnQgdW5tYXBfbW1pb19yZWdpb25zKHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAg ICAgICAgICAgICAgICAgIGdmbl90IHN0YXJ0X2dmbiwKICAgICAgICAgICAgICAgICAgICAgICAg dW5zaWduZWQgbG9uZyBuciwKLS0gCjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlz dHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xp c3RpbmZvL3hlbi1kZXZlbA==