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=-15.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 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 3BE98C2B9F4 for ; Mon, 28 Jun 2021 16:28:42 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 04E466144E for ; Mon, 28 Jun 2021 16:28:42 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 04E466144E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 8EF7F89CAF; Mon, 28 Jun 2021 16:28:41 +0000 (UTC) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id CE6A489CAF; Mon, 28 Jun 2021 16:28:39 +0000 (UTC) X-IronPort-AV: E=McAfee;i="6200,9189,10029"; a="207809064" X-IronPort-AV: E=Sophos;i="5.83,306,1616482800"; d="scan'208";a="207809064" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Jun 2021 09:28:36 -0700 X-IronPort-AV: E=Sophos;i="5.83,306,1616482800"; d="scan'208";a="419230312" Received: from vipulcha-mobl.ger.corp.intel.com (HELO [10.213.225.54]) ([10.213.225.54]) by fmsmga007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Jun 2021 09:28:34 -0700 To: =?UTF-8?Q?Thomas_Hellstr=c3=b6m?= , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org References: <20210628144626.76126-1-thomas.hellstrom@linux.intel.com> <20210628144626.76126-2-thomas.hellstrom@linux.intel.com> From: Matthew Auld Message-ID: <363b99a9-d429-3611-c1a0-aae7f3722bd1@intel.com> Date: Mon, 28 Jun 2021 17:28:31 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1 MIME-Version: 1.0 In-Reply-To: <20210628144626.76126-2-thomas.hellstrom@linux.intel.com> Content-Language: en-GB Subject: Re: [Intel-gfx] [PATCH v3 1/5] drm/i915/gem: Implement object migration X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" T24gMjgvMDYvMjAyMSAxNTo0NiwgVGhvbWFzIEhlbGxzdHLDtm0gd3JvdGU6Cj4gSW50cm9kdWNl IGFuIGludGVyZmFjZSB0byBtaWdyYXRlIG9iamVjdHMgYmV0d2VlbiByZWdpb25zLgo+IFRoaXMg aXMgcHJpbWFyaWx5IGludGVuZGVkIHRvIG1pZ3JhdGUgb2JqZWN0cyB0byBMTUVNIGZvciBkaXNw bGF5IGFuZAo+IHRvIFNZU1RFTSBmb3IgZG1hLWJ1ZiwgYnV0IG1pZ2h0IGJlIHJldXNlZCBpbiBv bmUgZm9ybSBvciBhbm90aGVyIGZvcgo+IHBlcmZvcm1hbmNlLWJhc2VkIG1pZ3JhdGlvbi4KPiAK PiB2MjoKPiAtIFZlcmlmeSB0aGF0IHRoZSBtZW1vcnkgcmVnaW9uIGdpdmVuIGFzIGFuIGlkIHJl YWxseSBleGlzdHMuCj4gICAgKFJlcG9ydGVkIGJ5IE1hdHRoZXcgQXVsZCkKPiAtIENhbGwgaTkx NV9nZW1fb2JqZWN0X3tpbml0LHJlbGVhc2V9X21lbW9yeV9yZWdpb24oKSB3aGVuIHN3aXRjaGlu ZyByZWdpb24KPiAgICB0byBoYW5kbGUgYWxzbyBzd2l0Y2hpbmcgcmVnaW9uIGxpc3RzLiAoUmVw b3J0ZWQgYnkgTWF0dGhldyBBdWxkKQo+IHYzOgo+IC0gRml4IGk5MTVfZ2VtX29iamVjdF9jYW5f bWlncmF0ZSgpIHRvIHJldHVybiB0cnVlIGlmIG9iamVjdCBpcyBhbHJlYWR5IGluCj4gICAgdGhl IGNvcnJlY3QgcmVnaW9uLCBldmVuIGlmIHRoZSBvYmplY3Qgb3BzIGRvZXNuJ3QgaGF2ZSBhIG1p Z3JhdGUoKQo+ICAgIGNhbGxiYWNrLgo+IC0gVXBkYXRlIHR5cG8gaW4gY29tbWl0IG1lc3NhZ2Uu Cj4gLSBGaXgga2VybmVsZG9jIG9mIGk5MTVfZ2VtX29iamVjdF93YWl0X21pZ3JhdGlvbigpLgo+ IAo+IFJlcG9ydGVkLWJ5OiBrZXJuZWwgdGVzdCByb2JvdCA8bGtwQGludGVsLmNvbT4KPiBTaWdu ZWQtb2ZmLWJ5OiBUaG9tYXMgSGVsbHN0csO2bSA8dGhvbWFzLmhlbGxzdHJvbUBsaW51eC5pbnRl bC5jb20+Cj4gLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0 LmMgICAgfCA5NiArKysrKysrKysrKysrKysrKysrCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fb2JqZWN0LmggICAgfCAxMiArKysKPiAgIC4uLi9ncHUvZHJtL2k5MTUvZ2Vt L2k5MTVfZ2VtX29iamVjdF90eXBlcy5oICB8ICA5ICsrCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9nZW0vaTkxNV9nZW1fdHRtLmMgICAgICAgfCA2OSArKysrKysrKystLS0tCj4gICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fd2FpdC5jICAgICAgfCAxOSArKysrCj4gICA1IGZp bGVzIGNoYW5nZWQsIDE4OCBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkKPiAKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5jCj4gaW5kZXggMDdlOGZmOWE4 YWFlLi4xYzE4YmUwNjdiNTggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2Vt L2k5MTVfZ2VtX29iamVjdC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVf Z2VtX29iamVjdC5jCj4gQEAgLTUxMyw2ICs1MTMsMTAyIEBAIGJvb2wgaTkxNV9nZW1fb2JqZWN0 X2hhc19pb21lbShjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQo+ICAgCXJl dHVybiBvYmotPm1lbV9mbGFncyAmIEk5MTVfQk9fRkxBR19JT01FTTsKPiAgIH0KPiAgIAo+ICsv KioKPiArICogaTkxNV9nZW1fb2JqZWN0X2Nhbl9taWdyYXRlIC0gV2hldGhlciBhbiBvYmplY3Qg bGlrZWx5IGNhbiBiZSBtaWdyYXRlZAo+ICsgKgo+ICsgKiBAb2JqOiBUaGUgb2JqZWN0IHRvIG1p Z3JhdGUKPiArICogQGlkOiBUaGUgcmVnaW9uIGludGVuZGVkIHRvIG1pZ3JhdGUgdG8KPiArICoK PiArICogQ2hlY2sgd2hldGhlciB0aGUgb2JqZWN0IGJhY2tlbmQgc3VwcG9ydHMgbWlncmF0aW9u IHRvIHRoZQo+ICsgKiBnaXZlbiByZWdpb24uIE5vdGUgdGhhdCBwaW5uaW5nIG1heSBhZmZlY3Qg dGhlIGFiaWxpdHkgdG8gbWlncmF0ZS4KPiArICoKPiArICogUmV0dXJuOiB0cnVlIGlmIG1pZ3Jh dGlvbiBpcyBwb3NzaWJsZSwgZmFsc2Ugb3RoZXJ3aXNlLgo+ICsgKi8KPiArYm9vbCBpOTE1X2dl bV9vYmplY3RfY2FuX21pZ3JhdGUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKPiAr CQkJCSBlbnVtIGludGVsX3JlZ2lvbl9pZCBpZCkKPiArewo+ICsJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTUgPSB0b19pOTE1KG9iai0+YmFzZS5kZXYpOwo+ICsJdW5zaWduZWQgaW50IG51 bV9hbGxvd2VkID0gb2JqLT5tbS5uX3BsYWNlbWVudHM7Cj4gKwlzdHJ1Y3QgaW50ZWxfbWVtb3J5 X3JlZ2lvbiAqbXI7Cj4gKwl1bnNpZ25lZCBpbnQgaTsKPiArCj4gKwlHRU1fQlVHX09OKGlkID49 IElOVEVMX1JFR0lPTl9VTktOT1dOKTsKPiArCUdFTV9CVUdfT04ob2JqLT5tbS5tYWR2ICE9IEk5 MTVfTUFEVl9XSUxMTkVFRCk7Cj4gKwo+ICsJbXIgPSBpOTE1LT5tbS5yZWdpb25zW2lkXTsKPiAr CWlmICghbXIpCj4gKwkJcmV0dXJuIGZhbHNlOwo+ICsKPiArCWlmIChvYmotPm1tLnJlZ2lvbiA9 PSBtcikKPiArCQlyZXR1cm4gdHJ1ZTsKPiArCj4gKwlpZiAoIWk5MTVfZ2VtX29iamVjdF9ldmlj dGFibGUob2JqKSkKPiArCQlyZXR1cm4gZmFsc2U7Cj4gKwo+ICsJaWYgKCFvYmotPm9wcy0+bWln cmF0ZSkKPiArCQlyZXR1cm4gZmFsc2U7Cj4gKwo+ICsJaWYgKCEob2JqLT5mbGFncyAmIEk5MTVf Qk9fQUxMT0NfVVNFUikpCj4gKwkJcmV0dXJuIHRydWU7Cj4gKwo+ICsJaWYgKG51bV9hbGxvd2Vk ID09IDApCj4gKwkJcmV0dXJuIGZhbHNlOwo+ICsKPiArCWZvciAoaSA9IDA7IGkgPCBudW1fYWxs b3dlZDsgKytpKSB7Cj4gKwkJaWYgKG1yID09IG9iai0+bW0ucGxhY2VtZW50c1tpXSkKPiArCQkJ cmV0dXJuIHRydWU7Cj4gKwl9Cj4gKwo+ICsJcmV0dXJuIGZhbHNlOwo+ICt9Cj4gKwo+ICsvKioK PiArICogaTkxNV9nZW1fb2JqZWN0X21pZ3JhdGUgLSBNaWdyYXRlIGFuIG9iamVjdCB0byB0aGUg ZGVzaXJlZCByZWdpb24gaWQKPiArICogQG9iajogVGhlIG9iamVjdCB0byBtaWdyYXRlLgo+ICsg KiBAd3c6IEFuIG9wdGlvbmFsIHN0cnVjdCBpOTE1X2dlbV93d19jdHguIElmIE5VTEwsIHRoZSBi YWNrZW5kIG1heQo+ICsgKiBub3QgYmUgc3VjY2Vzc2Z1bCBpbiBldmljdGluZyBvdGhlciBvYmpl Y3RzIHRvIG1ha2Ugcm9vbSBmb3IgdGhpcyBvYmplY3QuCj4gKyAqIEBpZDogVGhlIHJlZ2lvbiBp ZCB0byBtaWdyYXRlIHRvLgo+ICsgKgo+ICsgKiBBdHRlbXB0IHRvIG1pZ3JhdGUgdGhlIG9iamVj dCB0byB0aGUgZGVzaXJlZCBtZW1vcnkgcmVnaW9uLiBUaGUKPiArICogb2JqZWN0IGJhY2tlbmQg bXVzdCBzdXBwb3J0IG1pZ3JhdGlvbiBhbmQgdGhlIG9iamVjdCBtYXkgbm90IGJlCj4gKyAqIHBp bm5lZCwgKGV4cGxpY2l0bHkgcGlubmVkIHBhZ2VzIG9yIHBpbm5lZCB2bWFzKS4gVGhlIG9iamVj dCBtdXN0Cj4gKyAqIGJlIGxvY2tlZC4KPiArICogT24gc3VjY2Vzc2Z1bCBjb21wbGV0aW9uLCB0 aGUgb2JqZWN0IHdpbGwgaGF2ZSBwYWdlcyBwb2ludGluZyB0bwo+ICsgKiBtZW1vcnkgaW4gdGhl IG5ldyByZWdpb24sIGJ1dCBhbiBhc3luYyBtaWdyYXRpb24gdGFzayBtYXkgbm90IGhhdmUKPiAr ICogY29tcGxldGVkIHlldCwgYW5kIHRvIGFjY29tcGxpc2ggdGhhdCwgaTkxNV9nZW1fb2JqZWN0 X3dhaXRfbWlncmF0aW9uKCkKPiArICogbXVzdCBiZSBjYWxsZWQuCj4gKyAqCj4gKyAqIFJldHVy bjogMCBvbiBzdWNjZXNzLiBOZWdhdGl2ZSBlcnJvciBjb2RlIG9uIGZhaWx1cmUuIEluIHBhcnRp Y3VsYXIgbWF5Cj4gKyAqIHJldHVybiAtRU5YSU8gb24gbGFjayBvZiByZWdpb24gc3BhY2UsIC1F REVBRExLIGZvciBkZWFkbG9jayBhdm9pZGFuY2UKPiArICogaWYgQHd3IGlzIHNldCwgLUVJTlRS IG9yIC1FUkVTVEFSVFNZUyBpZiBzaWduYWwgcGVuZGluZywgYW5kCj4gKyAqIC1FQlVTWSBpZiB0 aGUgb2JqZWN0IGlzIHBpbm5lZC4KPiArICovCj4gK2ludCBpOTE1X2dlbV9vYmplY3RfbWlncmF0 ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+ICsJCQkgICAgc3RydWN0IGk5MTVf Z2VtX3d3X2N0eCAqd3csCj4gKwkJCSAgICBlbnVtIGludGVsX3JlZ2lvbl9pZCBpZCkKPiArewo+ ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19pOTE1KG9iai0+YmFzZS5kZXYp Owo+ICsJc3RydWN0IGludGVsX21lbW9yeV9yZWdpb24gKm1yOwo+ICsKPiArCUdFTV9CVUdfT04o aWQgPj0gSU5URUxfUkVHSU9OX1VOS05PV04pOwo+ICsJR0VNX0JVR19PTihvYmotPm1tLm1hZHYg IT0gSTkxNV9NQURWX1dJTExORUVEKTsKPiArCWFzc2VydF9vYmplY3RfaGVsZChvYmopOwo+ICsK PiArCW1yID0gaTkxNS0+bW0ucmVnaW9uc1tpZF07Cj4gKwlHRU1fQlVHX09OKCFtcik7Cj4gKwo+ ICsJaWYgKG9iai0+bW0ucmVnaW9uID09IG1yKQo+ICsJCXJldHVybiAwOwo+ICsKPiArCWlmICgh aTkxNV9nZW1fb2JqZWN0X2V2aWN0YWJsZShvYmopKQo+ICsJCXJldHVybiAtRUJVU1k7Cj4gKwo+ ICsJaWYgKCFvYmotPm9wcy0+bWlncmF0ZSkKPiArCQlyZXR1cm4gLUVPUE5PVFNVUFA7Cj4gKwo+ ICsJcmV0dXJuIG9iai0+b3BzLT5taWdyYXRlKG9iaiwgbXIpOwo+ICt9Cj4gKwo+ICAgdm9pZCBp OTE1X2dlbV9pbml0X19vYmplY3RzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQo+ICAg ewo+ICAgCUlOSVRfV09SSygmaTkxNS0+bW0uZnJlZV93b3JrLCBfX2k5MTVfZ2VtX2ZyZWVfd29y ayk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmpl Y3QuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuaAo+IGluZGV4 IGVhMzIyNGE0ODBjNC4uOGNiZDdhNTMzNGUyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2dlbS9pOTE1X2dlbV9vYmplY3QuaAo+IEBAIC0xNyw2ICsxNyw4IEBACj4gICAjaW5jbHVkZSAi aTkxNV9nZW1fd3cuaCIKPiAgICNpbmNsdWRlICJpOTE1X3ZtYV90eXBlcy5oIgo+ICAgCj4gK2Vu dW0gaW50ZWxfcmVnaW9uX2lkOwo+ICsKPiAgIC8qCj4gICAgKiBYWFg6IFRoZXJlIGlzIGEgcHJl dmFsZW5jZSBvZiB0aGUgYXNzdW1wdGlvbiB0aGF0IHdlIGZpdCB0aGUKPiAgICAqIG9iamVjdCdz IHBhZ2UgY291bnQgaW5zaWRlIGEgMzJiaXQgX3NpZ25lZF8gdmFyaWFibGUuIExldCdzIGRvY3Vt ZW50Cj4gQEAgLTU5Nyw2ICs1OTksMTYgQEAgYm9vbCBpOTE1X2dlbV9vYmplY3RfbWlncmF0YWJs ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKTsKPiAgIAo+ICAgYm9vbCBpOTE1X2dl bV9vYmplY3RfdmFsaWRhdGVzX3RvX2xtZW0oc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9i aik7Cj4gICAKPiAraW50IGk5MTVfZ2VtX29iamVjdF9taWdyYXRlKHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmosCj4gKwkJCSAgICBzdHJ1Y3QgaTkxNV9nZW1fd3dfY3R4ICp3dywKPiAr CQkJICAgIGVudW0gaW50ZWxfcmVnaW9uX2lkIGlkKTsKPiArCj4gK2Jvb2wgaTkxNV9nZW1fb2Jq ZWN0X2Nhbl9taWdyYXRlKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCj4gKwkJCQkg ZW51bSBpbnRlbF9yZWdpb25faWQgaWQpOwo+ICsKPiAraW50IGk5MTVfZ2VtX29iamVjdF93YWl0 X21pZ3JhdGlvbihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+ICsJCQkJICAgdW5z aWduZWQgaW50IGZsYWdzKTsKPiArCj4gICAjaWZkZWYgQ09ORklHX01NVV9OT1RJRklFUgo+ICAg c3RhdGljIGlubGluZSBib29sCj4gICBpOTE1X2dlbV9vYmplY3RfaXNfdXNlcnB0cihzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0X3R5cGVzLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fb2JqZWN0X3R5cGVzLmgKPiBpbmRleCA0NDFmOTEzYzg3ZTYuLmVmM2RlMmFl OTcyMyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2Jq ZWN0X3R5cGVzLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2Jq ZWN0X3R5cGVzLmgKPiBAQCAtMTgsNiArMTgsNyBAQAo+ICAgCj4gICBzdHJ1Y3QgZHJtX2k5MTVf Z2VtX29iamVjdDsKPiAgIHN0cnVjdCBpbnRlbF9mcm9uYnVmZmVyOwo+ICtzdHJ1Y3QgaW50ZWxf bWVtb3J5X3JlZ2lvbjsKPiAgIAo+ICAgLyoKPiAgICAqIHN0cnVjdCBpOTE1X2x1dF9oYW5kbGUg dHJhY2tzIHRoZSBmYXN0IGxvb2t1cHMgZnJvbSBoYW5kbGUgdG8gdm1hIHVzZWQKPiBAQCAtNzcs NiArNzgsMTQgQEAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Rfb3BzIHsKPiAgIAkgKiBkZWxh eWVkX2ZyZWUgLSBPdmVycmlkZSB0aGUgZGVmYXVsdCBkZWxheWVkIGZyZWUgaW1wbGVtZW50YXRp b24KPiAgIAkgKi8KPiAgIAl2b2lkICgqZGVsYXllZF9mcmVlKShzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdCAqb2JqKTsKPiArCj4gKwkvKioKPiArCSAqIG1pZ3JhdGUgLSBNaWdyYXRlIG9iamVj dCB0byBhIGRpZmZlcmVudCByZWdpb24gZWl0aGVyIGZvcgo+ICsJICogcGlubmluZyBvciBmb3Ig YXMgbG9uZyBhcyB0aGUgb2JqZWN0IGxvY2sgaXMgaGVsZC4KPiArCSAqLwo+ICsJaW50ICgqbWln cmF0ZSkoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKPiArCQkgICAgICAgc3RydWN0 IGludGVsX21lbW9yeV9yZWdpb24gKm1yKTsKPiArCj4gICAJdm9pZCAoKnJlbGVhc2UpKHN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopOwo+ICAgCj4gICAJY29uc3Qgc3RydWN0IHZtX29w ZXJhdGlvbnNfc3RydWN0ICptbWFwX29wczsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ2VtL2k5MTVfZ2VtX3R0bS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVf Z2VtX3R0bS5jCj4gaW5kZXggYzM5ZDk4MmM0ZmE2Li44Zjg5MTg1YjY1MDcgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3R0bS5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3R0bS5jCj4gQEAgLTYxNyw3ICs2MTcsOCBAQCBz dHJ1Y3QgdHRtX2RldmljZV9mdW5jcyAqaTkxNV90dG1fZHJpdmVyKHZvaWQpCj4gICAJcmV0dXJu ICZpOTE1X3R0bV9ib19kcml2ZXI7Cj4gICB9Cj4gICAKPiAtc3RhdGljIGludCBpOTE1X3R0bV9n ZXRfcGFnZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKPiArc3RhdGljIGludCBf X2k5MTVfdHRtX2dldF9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+ICsJ CQkJc3RydWN0IHR0bV9wbGFjZW1lbnQgKnBsYWNlbWVudCkKPiAgIHsKPiAgIAlzdHJ1Y3QgdHRt X2J1ZmZlcl9vYmplY3QgKmJvID0gaTkxNV9nZW1fdG9fdHRtKG9iaik7Cj4gICAJc3RydWN0IHR0 bV9vcGVyYXRpb25fY3R4IGN0eCA9IHsKPiBAQCAtNjI1LDE5ICs2MjYsMTIgQEAgc3RhdGljIGlu dCBpOTE1X3R0bV9nZXRfcGFnZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKPiAg IAkJLm5vX3dhaXRfZ3B1ID0gZmFsc2UsCj4gICAJfTsKPiAgIAlzdHJ1Y3Qgc2dfdGFibGUgKnN0 Owo+IC0Jc3RydWN0IHR0bV9wbGFjZSByZXF1ZXN0ZWQsIGJ1c3lbSTkxNV9UVE1fTUFYX1BMQUNF TUVOVFNdOwo+IC0Jc3RydWN0IHR0bV9wbGFjZW1lbnQgcGxhY2VtZW50Owo+ICAgCWludCByZWFs X251bV9idXN5Owo+ICAgCWludCByZXQ7Cj4gICAKPiAtCUdFTV9CVUdfT04ob2JqLT5tbS5uX3Bs YWNlbWVudHMgPiBJOTE1X1RUTV9NQVhfUExBQ0VNRU5UUyk7Cj4gLQo+IC0JLyogTW92ZSB0byB0 aGUgcmVxdWVzdGVkIHBsYWNlbWVudC4gKi8KPiAtCWk5MTVfdHRtX3BsYWNlbWVudF9mcm9tX29i aihvYmosICZyZXF1ZXN0ZWQsIGJ1c3ksICZwbGFjZW1lbnQpOwo+IC0KPiAgIAkvKiBGaXJzdCB0 cnkgb25seSB0aGUgcmVxdWVzdGVkIHBsYWNlbWVudC4gTm8gZXZpY3Rpb24uICovCj4gLQlyZWFs X251bV9idXN5ID0gZmV0Y2hfYW5kX3plcm8oJnBsYWNlbWVudC5udW1fYnVzeV9wbGFjZW1lbnQp Owo+IC0JcmV0ID0gdHRtX2JvX3ZhbGlkYXRlKGJvLCAmcGxhY2VtZW50LCAmY3R4KTsKPiArCXJl YWxfbnVtX2J1c3kgPSBmZXRjaF9hbmRfemVybygmcGxhY2VtZW50LT5udW1fYnVzeV9wbGFjZW1l bnQpOwo+ICsJcmV0ID0gdHRtX2JvX3ZhbGlkYXRlKGJvLCBwbGFjZW1lbnQsICZjdHgpOwo+ICAg CWlmIChyZXQpIHsKPiAgIAkJcmV0ID0gaTkxNV90dG1fZXJyX3RvX2dlbShyZXQpOwo+ICAgCQkv Kgo+IEBAIC02NTIsOCArNjQ2LDggQEAgc3RhdGljIGludCBpOTE1X3R0bV9nZXRfcGFnZXMoc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKPiAgIAkJICogSWYgdGhlIGluaXRpYWwgYXR0 ZW1wdCBmYWlscywgYWxsb3cgYWxsIGFjY2VwdGVkIHBsYWNlbWVudHMsCj4gICAJCSAqIGV2aWN0 aW5nIGlmIG5lY2Vzc2FyeS4KPiAgIAkJICovCj4gLQkJcGxhY2VtZW50Lm51bV9idXN5X3BsYWNl bWVudCA9IHJlYWxfbnVtX2J1c3k7Cj4gLQkJcmV0ID0gdHRtX2JvX3ZhbGlkYXRlKGJvLCAmcGxh Y2VtZW50LCAmY3R4KTsKPiArCQlwbGFjZW1lbnQtPm51bV9idXN5X3BsYWNlbWVudCA9IHJlYWxf bnVtX2J1c3k7Cj4gKwkJcmV0ID0gdHRtX2JvX3ZhbGlkYXRlKGJvLCBwbGFjZW1lbnQsICZjdHgp Owo+ICAgCQlpZiAocmV0KQo+ICAgCQkJcmV0dXJuIGk5MTVfdHRtX2Vycl90b19nZW0ocmV0KTsK PiAgIAl9Cj4gQEAgLTY2OCwxNiArNjYyLDU2IEBAIHN0YXRpYyBpbnQgaTkxNV90dG1fZ2V0X3Bh Z2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCj4gICAJCWk5MTVfdHRtX2FkanVz dF9nZW1fYWZ0ZXJfbW92ZShvYmopOwo+ICAgCX0KPiAgIAo+IC0JLyogT2JqZWN0IGVpdGhlciBo YXMgYSBwYWdlIHZlY3RvciBvciBpcyBhbiBpb21lbSBvYmplY3QgKi8KPiAtCXN0ID0gYm8tPnR0 bSA/IGk5MTVfdHRtX3R0X2dldF9zdChiby0+dHRtKSA6IG9iai0+dHRtLmNhY2hlZF9pb19zdDsK PiAtCWlmIChJU19FUlIoc3QpKQo+IC0JCXJldHVybiBQVFJfRVJSKHN0KTsKPiArCWlmICghb2Jq LT5tbS5wYWdlcykgewoKSXMgdGhpcyBmb3IgdGhlIG1pZ3JhdGlvbiBjYXNlPyBXaGVyZSBhcmUg d2UgdXBkYXRpbmcgdGhlIG1tLnBhZ2VzLCAKYXNzdW1pbmcgdGhlIG1pZ3JhdGlvbiBzdGVwIGhh cyB0byB0YWtlIGNhcmUgb2YgcHJlLWV4aXN0aW5nIHBhZ2VzPyBXaGF0IAphbSBJIG1pc3Npbmc/ Cgo+ICsJCS8qIE9iamVjdCBlaXRoZXIgaGFzIGEgcGFnZSB2ZWN0b3Igb3IgaXMgYW4gaW9tZW0g b2JqZWN0ICovCj4gKwkJc3QgPSBiby0+dHRtID8gaTkxNV90dG1fdHRfZ2V0X3N0KGJvLT50dG0p IDogb2JqLT50dG0uY2FjaGVkX2lvX3N0Owo+ICsJCWlmIChJU19FUlIoc3QpKQo+ICsJCQlyZXR1 cm4gUFRSX0VSUihzdCk7Cj4gICAKPiAtCV9faTkxNV9nZW1fb2JqZWN0X3NldF9wYWdlcyhvYmos IHN0LCBpOTE1X3NnX2RtYV9zaXplcyhzdC0+c2dsKSk7Cj4gKwkJX19pOTE1X2dlbV9vYmplY3Rf c2V0X3BhZ2VzKG9iaiwgc3QsIGk5MTVfc2dfZG1hX3NpemVzKHN0LT5zZ2wpKTsKPiArCX0KPiAg IAo+ICAgCXJldHVybiByZXQ7Cj4gICB9Cj4gICAKPiArc3RhdGljIGludCBpOTE1X3R0bV9nZXRf cGFnZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKPiArewo+ICsJc3RydWN0IHR0 bV9wbGFjZSByZXF1ZXN0ZWQsIGJ1c3lbSTkxNV9UVE1fTUFYX1BMQUNFTUVOVFNdOwo+ICsJc3Ry dWN0IHR0bV9wbGFjZW1lbnQgcGxhY2VtZW50Owo+ICsKPiArCUdFTV9CVUdfT04ob2JqLT5tbS5u X3BsYWNlbWVudHMgPiBJOTE1X1RUTV9NQVhfUExBQ0VNRU5UUyk7Cj4gKwo+ICsJLyogTW92ZSB0 byB0aGUgcmVxdWVzdGVkIHBsYWNlbWVudC4gKi8KPiArCWk5MTVfdHRtX3BsYWNlbWVudF9mcm9t X29iaihvYmosICZyZXF1ZXN0ZWQsIGJ1c3ksICZwbGFjZW1lbnQpOwo+ICsKPiArCXJldHVybiBf X2k5MTVfdHRtX2dldF9wYWdlcyhvYmosICZwbGFjZW1lbnQpOwo+ICt9Cj4gKwo+ICtzdGF0aWMg aW50IGk5MTVfdHRtX21pZ3JhdGUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKPiAr CQkJICAgIHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptcikKPiArewo+ICsJc3RydWN0IHR0 bV9wbGFjZSByZXF1ZXN0ZWQ7Cj4gKwlzdHJ1Y3QgdHRtX3BsYWNlbWVudCBwbGFjZW1lbnQ7Cj4g KwlpbnQgcmV0Owo+ICsKPiArCWk5MTVfdHRtX3BsYWNlX2Zyb21fcmVnaW9uKG1yLCAmcmVxdWVz dGVkLCBvYmotPmZsYWdzKTsKPiArCXBsYWNlbWVudC5udW1fcGxhY2VtZW50ID0gMTsKPiArCXBs YWNlbWVudC5udW1fYnVzeV9wbGFjZW1lbnQgPSAxOwo+ICsJcGxhY2VtZW50LnBsYWNlbWVudCA9 ICZyZXF1ZXN0ZWQ7Cj4gKwlwbGFjZW1lbnQuYnVzeV9wbGFjZW1lbnQgPSAmcmVxdWVzdGVkOwo+ ICsKPiArCXJldCA9IF9faTkxNV90dG1fZ2V0X3BhZ2VzKG9iaiwgJnBsYWNlbWVudCk7Cj4gKwlp ZiAocmV0KQo+ICsJCXJldHVybiByZXQ7Cj4gKwo+ICsJaWYgKG9iai0+bW0ucmVnaW9uICE9IG1y KSB7Cj4gKwkJaTkxNV9nZW1fb2JqZWN0X3JlbGVhc2VfbWVtb3J5X3JlZ2lvbihvYmopOwo+ICsJ CWk5MTVfZ2VtX29iamVjdF9pbml0X21lbW9yeV9yZWdpb24ob2JqLCBtcik7CgpIbW0sIHNvIGlz IHRoaXMgbm90IGFscmVhZHkgaGFuZGxlZCBieSBhZGp1c3RfZ2VtX2FmdGVyX21vdmUoKT8KCj4g Kwl9Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gICBzdGF0aWMgdm9pZCBpOTE1X3R0bV9w dXRfcGFnZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKPiAgIAkJCSAgICAgICBz dHJ1Y3Qgc2dfdGFibGUgKnN0KQo+ICAgewo+IEBAIC04MTQsNiArODQ4LDcgQEAgc3RhdGljIGNv bnN0IHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0X29wcyBpOTE1X2dlbV90dG1fb2JqX29wcyA9 IHsKPiAgIAkudHJ1bmNhdGUgPSBpOTE1X3R0bV9wdXJnZSwKPiAgIAkuYWRqdXN0X2xydSA9IGk5 MTVfdHRtX2FkanVzdF9scnUsCj4gICAJLmRlbGF5ZWRfZnJlZSA9IGk5MTVfdHRtX2RlbGF5ZWRf ZnJlZSwKPiArCS5taWdyYXRlID0gaTkxNV90dG1fbWlncmF0ZSwKPiAgIAkubW1hcF9vZmZzZXQg PSBpOTE1X3R0bV9tbWFwX29mZnNldCwKPiAgIAkubW1hcF9vcHMgPSAmdm1fb3BzX3R0bSwKPiAg IH07Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV93YWl0 LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fd2FpdC5jCj4gaW5kZXggMTA3 MGQzYWZkY2U3Li5mOTA5YWFhMDlkOWMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ2VtL2k5MTVfZ2VtX3dhaXQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9p OTE1X2dlbV93YWl0LmMKPiBAQCAtMjkwLDMgKzI5MCwyMiBAQCBpOTE1X2dlbV93YWl0X2lvY3Rs KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsIHN0cnVjdCBkcm1fZmlsZSAqZmls ZSkKPiAgIAlpOTE1X2dlbV9vYmplY3RfcHV0KG9iaik7Cj4gICAJcmV0dXJuIHJldDsKPiAgIH0K PiArCj4gKy8qKgo+ICsgKiBpOTE1X2dlbV9vYmplY3Rfd2FpdF9taWdyYXRpb24gLSBTeW5jIGFu IGFjY2VsZXJhdGVkIG1pZ3JhdGlvbiBvcGVyYXRpb24KPiArICogQG9iajogVGhlIG1pZ3JhdGlu ZyBvYmplY3QuCj4gKyAqIEBmbGFnczogd2FpdGluZyBmbGFncy4gQ3VycmVudGx5IHN1cHBvcnRz IG9ubHkgSTkxNV9XQUlUX0lOVEVSUlVQVElCTEUuCj4gKyAqCj4gKyAqIFdhaXQgZm9yIGFueSBw ZW5kaW5nIGFzeW5jIG1pZ3JhdGlvbiBvcGVyYXRpb24gb24gdGhlIG9iamVjdCwKPiArICogd2hl dGhlciBpdCdzIGV4cGxpY2l0bHkgKGk5MTVfZ2VtX29iamVjdF9taWdyYXRlKCkpIG9yIGltcGxp Y2l0bHkKPiArICogKHN3YXBpbiwgaW5pdGlhbCBjbGVhcmluZykgaW5pdGlhdGVkLgo+ICsgKgo+ ICsgKiBSZXR1cm46IDAgaWYgc3VjY2Vzc2Z1bCwgLUVSRVNUQVJUU1lTIGlmIGEgc2lnbmFsIHdh cyBoaXQgZHVyaW5nIHdhaXRpbmcuCj4gKyAqLwo+ICtpbnQgaTkxNV9nZW1fb2JqZWN0X3dhaXRf bWlncmF0aW9uKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCj4gKwkJCQkgICB1bnNp Z25lZCBpbnQgZmxhZ3MpCj4gK3sKPiArCW1pZ2h0X3NsZWVwKCk7Cj4gKwkvKiBOT1AgZm9yIG5v dy4gKi8KPiArCXJldHVybiAwOwo+ICt9Cj4gCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAo=