From mboxrd@z Thu Jan 1 00:00:00 1970 From: Deepak Rawat Subject: [PATCH 01/14] drm: add new plane property FB_DAMAGE_CLIPS to send damage during plane update Date: Wed, 5 Sep 2018 16:38:48 -0700 Message-ID: <20180905233901.2321-2-drawat@vmware.com> References: <20180905233901.2321-1-drawat@vmware.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from EX13-EDG-OU-002.vmware.com (ex13-edg-ou-002.vmware.com [208.91.0.190]) by gabe.freedesktop.org (Postfix) with ESMTPS id 88D6A6E14D for ; Wed, 5 Sep 2018 23:39:29 +0000 (UTC) In-Reply-To: <20180905233901.2321-1-drawat@vmware.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, linux-graphics-maintainer@vmware.com, thellstrom@vmware.com, syeh@vmware.com Cc: Deepak Rawat , lukasz.spintzyk@displaylink.com List-Id: dri-devel@lists.freedesktop.org RnJvbTogTHVrYXN6IFNwaW50enlrIDxsdWthc3ouc3BpbnR6eWtAZGlzcGxheWxpbmsuY29tPgoK RkJfREFNQUdFX0NMSVBTIGlzIGFuIG9wdGlvbmFsIHBsYW5lIHByb3BlcnR5IHRvIG1hcmsgZGFt YWdlZCByZWdpb25zCm9uIHRoZSBwbGFuZSBpbiBmcmFtZWJ1ZmZlciBjb29yZGluYXRlcyBvZiB0 aGUgZnJhbWVidWZmZXIgYXR0YWNoZWQgdG8KdGhlIHBsYW5lLgoKVGhlIGxheW91dCBvZiBibG9i IGRhdGEgaXMgc2ltcGx5IGFuIGFycmF5IG9mICJzdHJ1Y3QgZHJtX21vZGVfcmVjdCIKd2l0aCBt YXhpbXVtIGFycmF5IHNpemUgbGltaXRlZCBieSBEUk1fTU9ERV9GQl9ESVJUWV9NQVhfQ0xJUFMu IFVubGlrZQpwbGFuZSBzcmMgY29vcmRpbmF0ZXMsIGRhbWFnZSBjbGlwcyBhcmUgbm90IGluIDE2 LjE2IGZpeGVkIHBvaW50LiBBcwpwbGFuZSBzcmMgaW4gZnJhbWVidWZmZXIgY2Fubm90IGJlIG5l Z2F0aXZlIHNvIGFyZSBkYW1hZ2UgY2xpcHMuIEluCmRhbWFnZSBjbGlwLCB4MS95MSBhcmUgaW5j bHVzaXZlIGFuZCB4Mi95MiBhcmUgZXhjbHVzaXZlLgoKVGhpcyBwYXRjaCBhbHNvIGV4cG9ydHMg dGhlIGtlcm5lbCBpbnRlcm5hbCBkcm1fcmVjdCB0byB1c2Vyc3BhY2UgYXMKZHJtX21vZGVfcmVj dC4gVGhpcyBpcyBiZWNhdXNlICJzdHJ1Y3QgZHJtX2NsaXBfcmVjdCIgaXMgbm90IHN1ZmZpY2ll bnQKdG8gcmVwcmVzZW50IGRhbWFnZSBmb3IgY3VycmVudCBwbGFuZSBzaXplLgoKVXBwZXIgbGlt aXQgaXMgc2V0IG9uIHRoZSBtYXhpbXVtIG51bWJlciBvZiBkYW1hZ2UgY2xpcHMgdG8gYXZvaWQK b3ZlcmZsb3cgYnkgdXNlci1zcGFjZS4KCkRyaXZlciB3aGljaCBhcmUgaW50ZXJlc3RlZCBpbiBl bmFibGluZyBGQl9EQU1BR0VfQ0xJUFMgcHJvcGVydHkgZm9yIGEKcGxhbmUgc2hvdWxkIGVuYWJs ZSB0aGlzIHByb3BlcnR5IHVzaW5nIGRybV9wbGFuZV9lbmFibGVfZGFtYWdlX2NsaXBzLgoKU2ln bmVkLW9mZi1ieTogTHVrYXN6IFNwaW50enlrIDxsdWthc3ouc3BpbnR6eWtAZGlzcGxheWxpbmsu Y29tPgpTaWduZWQtb2ZmLWJ5OiBEZWVwYWsgUmF3YXQgPGRyYXdhdEB2bXdhcmUuY29tPgotLS0K IERvY3VtZW50YXRpb24vZ3B1L2RybS1rbXMucnN0ICAgICAgIHwgIDkgKysrCiBkcml2ZXJzL2dw dS9kcm0vTWFrZWZpbGUgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0 b21pYy5jICAgICAgICB8IDEzICsrKysKIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBl ci5jIHwgIDQgKysKIGRyaXZlcnMvZ3B1L2RybS9kcm1fZGFtYWdlX2hlbHBlci5jIHwgOTIgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZV9jb25m aWcuYyAgIHwgIDYgKysKIGRyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2ttcy5jIHwgIDEg KwogaW5jbHVkZS9kcm0vZHJtX2RhbWFnZV9oZWxwZXIuaCAgICAgfCA2MyArKysrKysrKysrKysr KysrKysrKwogaW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmggICAgICAgfCAxMCArKysrCiBp bmNsdWRlL2RybS9kcm1fcGxhbmUuaCAgICAgICAgICAgICB8ICA4ICsrKwogaW5jbHVkZS91YXBp L2RybS9kcm1fbW9kZS5oICAgICAgICAgfCAxOSArKysrKysKIDExIGZpbGVzIGNoYW5nZWQsIDIy NiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVy cy9ncHUvZHJtL2RybV9kYW1hZ2VfaGVscGVyLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRl L2RybS9kcm1fZGFtYWdlX2hlbHBlci5oCgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9ncHUv ZHJtLWttcy5yc3QgYi9Eb2N1bWVudGF0aW9uL2dwdS9kcm0ta21zLnJzdAppbmRleCA1ZGVlNmI4 YTRjMTIuLjc4YjY2ZTYyODg1NyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9ncHUvZHJtLWtt cy5yc3QKKysrIGIvRG9jdW1lbnRhdGlvbi9ncHUvZHJtLWttcy5yc3QKQEAgLTU0Miw2ICs1NDIs MTUgQEAgUGxhbmUgQ29tcG9zaXRpb24gUHJvcGVydGllcwogLi4ga2VybmVsLWRvYzo6IGRyaXZl cnMvZ3B1L2RybS9kcm1fYmxlbmQuYwogICAgOmV4cG9ydDoKIAorRkJfREFNQUdFX0NMSVBTCit+ fn5+fn5+fn5+fn5+fn4KKworLi4ga2VybmVsLWRvYzo6IGRyaXZlcnMvZ3B1L2RybS9kcm1fZGFt YWdlX2hlbHBlci5jCisgICA6ZG9jOiBvdmVydmlldworCisuLiBrZXJuZWwtZG9jOjogZHJpdmVy cy9ncHUvZHJtL2RybV9kYW1hZ2VfaGVscGVyLmMKKyAgIDpleHBvcnQ6CisKIENvbG9yIE1hbmFn ZW1lbnQgUHJvcGVydGllcwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9NYWtlZmlsZQpp bmRleCBhNjc3MWNlZjg1ZTIuLmNhNWJlMGRlY2IzZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9NYWtlZmlsZQpAQCAtMzUsNyArMzUs NyBAQCBkcm1fa21zX2hlbHBlci15IDo9IGRybV9jcnRjX2hlbHBlci5vIGRybV9kcF9oZWxwZXIu byBkcm1fcHJvYmVfaGVscGVyLm8gXAogCQlkcm1fcGxhbmVfaGVscGVyLm8gZHJtX2RwX21zdF90 b3BvbG9neS5vIGRybV9hdG9taWNfaGVscGVyLm8gXAogCQlkcm1fa21zX2hlbHBlcl9jb21tb24u byBkcm1fZHBfZHVhbF9tb2RlX2hlbHBlci5vIFwKIAkJZHJtX3NpbXBsZV9rbXNfaGVscGVyLm8g ZHJtX21vZGVzZXRfaGVscGVyLm8gXAotCQlkcm1fc2NkY19oZWxwZXIubyBkcm1fZ2VtX2ZyYW1l YnVmZmVyX2hlbHBlci5vCisJCWRybV9zY2RjX2hlbHBlci5vIGRybV9nZW1fZnJhbWVidWZmZXJf aGVscGVyLm8gZHJtX2RhbWFnZV9oZWxwZXIubwogCiBkcm1fa21zX2hlbHBlci0kKENPTkZJR19E Uk1fUEFORUxfQlJJREdFKSArPSBicmlkZ2UvcGFuZWwubwogZHJtX2ttc19oZWxwZXItJChDT05G SUdfRFJNX0ZCREVWX0VNVUxBVElPTikgKz0gZHJtX2ZiX2hlbHBlci5vCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMu YwppbmRleCAzZWIwNjFlMTFlMmUuLjY1MmU3OGNhMWY4MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2RybV9hdG9taWMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCkBA IC04NTcsNiArODU3LDggQEAgc3RhdGljIGludCBkcm1fYXRvbWljX3BsYW5lX3NldF9wcm9wZXJ0 eShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0g cGxhbmUtPmRldjsKIAlzdHJ1Y3QgZHJtX21vZGVfY29uZmlnICpjb25maWcgPSAmZGV2LT5tb2Rl X2NvbmZpZzsKKwlib29sIHJlcGxhY2VkID0gZmFsc2U7CisJaW50IHJldDsKIAogCWlmIChwcm9w ZXJ0eSA9PSBjb25maWctPnByb3BfZmJfaWQpIHsKIAkJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAq ZmIgPSBkcm1fZnJhbWVidWZmZXJfbG9va3VwKGRldiwgTlVMTCwgdmFsKTsKQEAgLTkwOCw2ICs5 MTAsMTQgQEAgc3RhdGljIGludCBkcm1fYXRvbWljX3BsYW5lX3NldF9wcm9wZXJ0eShzdHJ1Y3Qg ZHJtX3BsYW5lICpwbGFuZSwKIAkJc3RhdGUtPmNvbG9yX2VuY29kaW5nID0gdmFsOwogCX0gZWxz ZSBpZiAocHJvcGVydHkgPT0gcGxhbmUtPmNvbG9yX3JhbmdlX3Byb3BlcnR5KSB7CiAJCXN0YXRl LT5jb2xvcl9yYW5nZSA9IHZhbDsKKwl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+cHJv cF9mYl9kYW1hZ2VfY2xpcHMpIHsKKwkJcmV0ID0gZHJtX2F0b21pY19yZXBsYWNlX3Byb3BlcnR5 X2Jsb2JfZnJvbV9pZChkZXYsCisJCQkJCSZzdGF0ZS0+ZmJfZGFtYWdlX2NsaXBzLAorCQkJCQl2 YWwsCisJCQkJCS0xLAorCQkJCQlzaXplb2Yoc3RydWN0IGRybV9yZWN0KSwKKwkJCQkJJnJlcGxh Y2VkKTsKKwkJcmV0dXJuIHJldDsKIAl9IGVsc2UgaWYgKHBsYW5lLT5mdW5jcy0+YXRvbWljX3Nl dF9wcm9wZXJ0eSkgewogCQlyZXR1cm4gcGxhbmUtPmZ1bmNzLT5hdG9taWNfc2V0X3Byb3BlcnR5 KHBsYW5lLCBzdGF0ZSwKIAkJCQlwcm9wZXJ0eSwgdmFsKTsKQEAgLTk3Niw2ICs5ODYsOSBAQCBk cm1fYXRvbWljX3BsYW5lX2dldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJ KnZhbCA9IHN0YXRlLT5jb2xvcl9lbmNvZGluZzsKIAl9IGVsc2UgaWYgKHByb3BlcnR5ID09IHBs YW5lLT5jb2xvcl9yYW5nZV9wcm9wZXJ0eSkgewogCQkqdmFsID0gc3RhdGUtPmNvbG9yX3Jhbmdl OworCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5wcm9wX2ZiX2RhbWFnZV9jbGlwcykg eworCQkqdmFsID0gKHN0YXRlLT5mYl9kYW1hZ2VfY2xpcHMpID8KKwkJCXN0YXRlLT5mYl9kYW1h Z2VfY2xpcHMtPmJhc2UuaWQgOiAwOwogCX0gZWxzZSBpZiAocGxhbmUtPmZ1bmNzLT5hdG9taWNf Z2V0X3Byb3BlcnR5KSB7CiAJCXJldHVybiBwbGFuZS0+ZnVuY3MtPmF0b21pY19nZXRfcHJvcGVy dHkocGxhbmUsIHN0YXRlLCBwcm9wZXJ0eSwgdmFsKTsKIAl9IGVsc2UgewpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJt X2F0b21pY19oZWxwZXIuYwppbmRleCA4MGJlNzRkZjdiYTYuLmJlODNlMjc2M2MxOCAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKQEAgLTM1NzYsNiArMzU3Niw3IEBAIHZvaWQgZHJt X2F0b21pY19oZWxwZXJfcGxhbmVfcmVzZXQoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCiAJCS8q IFJlc2V0IHRoZSBhbHBoYSB2YWx1ZSB0byBmdWxseSBvcGFxdWUgaWYgaXQgbWF0dGVycyAqLwog CQlpZiAocGxhbmUtPmFscGhhX3Byb3BlcnR5KQogCQkJcGxhbmUtPnN0YXRlLT5hbHBoYSA9IHBs YW5lLT5hbHBoYV9wcm9wZXJ0eS0+dmFsdWVzWzFdOworCQlwbGFuZS0+c3RhdGUtPmZiX2RhbWFn ZV9jbGlwcyA9IE5VTEw7CiAJfQogfQogRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX2hlbHBlcl9w bGFuZV9yZXNldCk7CkBAIC0zNTk4LDYgKzM1OTksNyBAQCB2b2lkIF9fZHJtX2F0b21pY19oZWxw ZXJfcGxhbmVfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCiAJc3Rh dGUtPmZlbmNlID0gTlVMTDsKIAlzdGF0ZS0+Y29tbWl0ID0gTlVMTDsKKwlzdGF0ZS0+ZmJfZGFt YWdlX2NsaXBzID0gTlVMTDsKIH0KIEVYUE9SVF9TWU1CT0woX19kcm1fYXRvbWljX2hlbHBlcl9w bGFuZV9kdXBsaWNhdGVfc3RhdGUpOwogCkBAIC0zNjQyLDYgKzM2NDQsOCBAQCB2b2lkIF9fZHJt X2F0b21pY19oZWxwZXJfcGxhbmVfZGVzdHJveV9zdGF0ZShzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRl ICpzdGF0ZSkKIAogCWlmIChzdGF0ZS0+Y29tbWl0KQogCQlkcm1fY3J0Y19jb21taXRfcHV0KHN0 YXRlLT5jb21taXQpOworCisJZHJtX3Byb3BlcnR5X2Jsb2JfcHV0KHN0YXRlLT5mYl9kYW1hZ2Vf Y2xpcHMpOwogfQogRVhQT1JUX1NZTUJPTChfX2RybV9hdG9taWNfaGVscGVyX3BsYW5lX2Rlc3Ry b3lfc3RhdGUpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2RhbWFnZV9oZWxw ZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZGFtYWdlX2hlbHBlci5jCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uM2U3ZGU1YWZlN2Y2Ci0tLSAvZGV2L251bGwKKysr IGIvZHJpdmVycy9ncHUvZHJtL2RybV9kYW1hZ2VfaGVscGVyLmMKQEAgLTAsMCArMSw5MiBAQAor Ly8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAgT1IgTUlUCisvKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTggVk13YXJlLCBJbmMuLCBQYWxvIEFsdG8s IENBLiwgVVNBCisgKiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMg aGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBh CisgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBm aWxlcyAodGhlCisgKiAiU29mdHdhcmUiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91 dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisgKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0 cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisgKiBkaXN0cmlidXRlLCBz dWIgbGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvCisg KiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8g c28sIHN1YmplY3QgdG8KKyAqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUg YWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVk aW5nIHRoZQorICogbmV4dCBwYXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3Bp ZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMKKyAqIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBU SEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkg S0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBU TyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OLUlORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwK KyAqIFRIRSBDT1BZUklHSFQgSE9MREVSUywgQVVUSE9SUyBBTkQvT1IgSVRTIFNVUFBMSUVSUyBC RSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwKKyAqIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBX SEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUgorICogT1RIRVJXSVNFLCBB UklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9S IFRIRQorICogVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKiBB dXRob3JzOgorICogRGVlcGFrIFJhd2F0IDxkcmF3YXRAdm13YXJlLmNvbT4KKyAqCisgKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKiovCisKKyNpbmNsdWRlIDxkcm0vZHJtUC5oPgorI2luY2x1ZGUgPGRybS9kcm1f ZGFtYWdlX2hlbHBlci5oPgorCisvKioKKyAqIERPQzogb3ZlcnZpZXcKKyAqCisgKiBGQl9EQU1B R0VfQ0xJUFMgaXMgYW4gb3B0aW9uYWwgcGxhbmUgcHJvcGVydHkgd2hpY2ggcHJvdmlkZXMgYSBt ZWFucyB0bworICogc3BlY2lmeSBhIGxpc3Qgb2YgZGFtYWdlIHJlY3RhbmdsZXMgb24gYSBwbGFu ZSBpbiBmcmFtZWJ1ZmZlciBjb29yZGluYXRlcyBvZgorICogdGhlIGZyYW1lYnVmZmVyIGF0dGFj aGVkIHRvIHRoZSBwbGFuZS4gSW4gY3VycmVudCBjb250ZXh0IGRhbWFnZSBpcyB0aGUgYXJlYQor ICogb2YgcGxhbmUgZnJhbWVidWZmZXIgKGV4Y2x1ZGluZyB0aGUgZnJhbWVidWZmZXIgYXJlYSB3 aGljaCBpcyBvdXRzaWRlIG9mCisgKiBwbGFuZSBzcmMpIHRoYXQgaGFzIGNoYW5nZWQgc2luY2Ug bGFzdCBwbGFuZSB1cGRhdGUgKGFsc28gY2FsbGVkIHBhZ2UtZmxpcCkuCisgKiBPbmx5IHRoZSBh cmVhIGluc2lkZSBkYW1hZ2UgcmVjdGFuZ2xlcyB3aWxsIGJlIGNvbnNpZGVyZWQgZGlmZmVyZW50 IHdoZXRoZXIKKyAqIGN1cnJlbnRseSBhdHRhY2hlZCBmcmFtZWJ1ZmZlciBpcyBzYW1lIGFzIGZy YW1lYnVmZmVyIGF0dGFjaGVkIGR1cmluZyBsYXN0CisgKiBwbGFuZSB1cGRhdGUgb3Igbm90Lgor ICoKKyAqIEZCX0RBTUFHRV9DTElQUyBpcyBhIGhpbnQgdG8ga2VybmVsIHdoaWNoIGNvdWxkIGJl IGhlbHBmdWwgZm9yIHNvbWUgZHJpdmVycworICogdG8gb3B0aW1pemUgaW50ZXJuYWxseSBlc3Bl Y2lhbGx5IGZvciB2aXJ0dWFsIGRldmljZXMgd2hlcmUgZWFjaCBmcmFtZWJ1ZmZlcgorICogY2hh bmdlIG5lZWRzIHRvIGJlIHRyYW5zbWl0dGVkIG92ZXIgbmV0d29yaywgdXNiLCBldGMuCisgKgor ICogU2luY2UgRkJfREFNQUdFX0NMSVBTIGlzIGEgaGludCBzbyBpdCBpcyBhbiBvcHRpb25hbCBw cm9wZXJ0eS4gVXNlci1zcGFjZSBjYW4KKyAqIGlnbm9yZSB0aGUgZGFtYWdlIGNsaXBzIHByb3Bl cnR5IGFuZCBpbiB0aGF0IGNhc2Uga2VybmVsIHdpbGwgZG8gYSBmdWxsIHBsYW5lCisgKiB1cGRh dGUuIEluIGNhc2UgZGFtYWdlIGNsaXBzIGFyZSBwcm92aWRlZCB0aGVuIGl0IGlzIGd1YXJhbnRl ZWQgdGhhdCB0aGUgYXJlYQorICogaW5zaWRlIGRhbWFnZSBjbGlwcyB3aWxsIGJlIHVwZGF0ZWQg dG8gcGxhbmUuIEZvciBlZmZpY2llbmN5IGtlcm5lbCBjYW4gZG8KKyAqIGZ1bGwgdXBkYXRlIG9y IG1vcmUgYXJlYSB0aGFuIHNwZWNpZmllZCBpbiBkYW1hZ2UgY2xpcHMuCisgKgorICogRkJfREFN QUdFX0NMSVBTIGlzIGEgYmxvYiBwcm9wZXJ0eSB3aXRoIHRoZSBsYXlvdXQgb2YgYmxvYiBkYXRh IGlzIHNpbXBseSBhbgorICogYXJyYXkgb2YgZHJtX21vZGVfcmVjdChpbnRlcm5hbGx5IGRybV9y ZWN0KSB3aXRoIG1heGltdW0gYXJyYXkgc2l6ZSBsaW1pdGVkCisgKiBieSBEUk1fTU9ERV9GQl9E SVJUWV9NQVhfQ0xJUFMuIFVubGlrZSBwbGFuZSBzcmMgY29vcmRpbmF0ZXMsIGRhbWFnZSBjbGlw cworICogYXJlIG5vdCBpbiAxNi4xNiBmaXhlZCBwb2ludC4gU2ltaWxhciB0byBwbGFuZSBzcmMg aW4gZnJhbWVidWZmZXIsIGRhbWFnZQorICogY2xpcHMgY2Fubm90IGJlIG5lZ2F0aXZlLiBJbiBk YW1hZ2UgY2xpcCwgeDEveTEgYXJlIGluY2x1c2l2ZSBhbmQgeDIveTIgYXJlCisgKiBleGNsdXNp dmUuCisgKgorICogQWxsIHRoZSBkYW1hZ2UgY2xpcHMgYXJlIGluIGZyYW1lYnVmZmVyIGNvb3Jk aW5hdGVzIGFuZCBzaG91bGQgYmUgaW5zaWRlCisgKiBwbGFuZSBzcmMgYW5kIGlmIGFueSBjbGlw IGZhbGxzIG91dHNpZGUgcGxhbmUgc3JjIGl0IHdpbGwgYmUgaWdub3JlZCBhbmQKKyAqIHVzZXIt c3BhY2Ugd29uJ3QgYmUgbm90aWZpZWQgb2YgdGhlIHNhbWUuIEFzIG1lbnRpb25lZCBhYm92ZSwg c29tZXRpbWVzCisgKiBrZXJuZWwgd2lsbCBkbyBmdWxsIHBsYW5lIHVwZGF0ZSBkdWUgdG8gY2hh bmdlIGluIHByb3BlcnRpZXMgd2hpY2ggY2FuIGFmZmVjdAorICogZnVsbCBwbGFuZSBlLmcuIGNv bG9yIG1hbmFnZW1lbnQgcHJvcGVydGllcy4gQWxzbyBkdXJpbmcgZnVsbCBtb2Rlc2V0IGRhbWFn ZQorICogaXMgaXJyZWxldmFudCBzbyBpZiBwcm92aWRlZCBieSB1c2VyLXNwYWNlIGl0IHNpbXBs eSB3aWxsIGJlIGlnbm9yZWQuCisgKiBXaGVuZXZlciBkYW1hZ2UgY2xpcHMgYXJlIGlnbm9yZWQg Ynkga2VybmVsLCB1c2VyLXNwYWNlIHdpbGwgbm90IGJlIGluZm9ybWVkLgorICogSWYgYSB1c2Vy LXNwYWNlIHByb3ZpZGVzIGRhbWFnZSBjbGlwcyB3aGljaCBkb2Vzbid0IGVuY29tcGFzcyB0aGUg YWN0dWFsCisgKiBkYW1hZ2UgdG8gZnJhbWVidWZmZXIgKHNpbmNlIGxhc3QgcGxhbmUgdXBkYXRl KSB3aWxsIHJlc3VsdCBpbiBpbmNvcnJlY3QKKyAqIHJlbmRlcmluZyBkdXJpbmcgcGxhbmUgdXBk YXRlLgorICoKKyAqIFdoaWxlIGtlcm5lbCBkb2VzIG5vdCBlcnJvciBmb3Igb3ZlcmxhcHBlZCBk YW1hZ2UgY2xpcHMsIGl0IGlzIGRpc2NvdXJhZ2VkLgorICovCisKKy8qKgorICogZHJtX3BsYW5l X2VuYWJsZV9mYl9kYW1hZ2VfY2xpcHMgLSBlbmFibGVzIHBsYW5lIGZiIGRhbWFnZSBjbGlwcyBw cm9wZXJ0eQorICogQHBsYW5lOiBwbGFuZSBvbiB3aGljaCB0byBlbmFibGUgZGFtYWdlIGNsaXBz IHByb3BlcnR5CisgKgorICogVGhpcyBmdW5jdGlvbiBsZXRzIGRyaXZlciB0byBlbmFibGUgdGhl IGRhbWFnZSBjbGlwcyBwcm9wZXJ0eSBvbiBhIHBsYW5lLgorICovCit2b2lkIGRybV9wbGFuZV9l bmFibGVfZmJfZGFtYWdlX2NsaXBzKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKQoreworCXN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSBwbGFuZS0+ZGV2OworCXN0cnVjdCBkcm1fbW9kZV9jb25maWcg KmNvbmZpZyA9ICZkZXYtPm1vZGVfY29uZmlnOworCisJZHJtX29iamVjdF9hdHRhY2hfcHJvcGVy dHkoJnBsYW5lLT5iYXNlLCBjb25maWctPnByb3BfZmJfZGFtYWdlX2NsaXBzLAorCQkJCSAgIDAp OworfQorRVhQT1JUX1NZTUJPTChkcm1fcGxhbmVfZW5hYmxlX2ZiX2RhbWFnZV9jbGlwcyk7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVfY29uZmlnLmMgYi9kcml2ZXJzL2dw dS9kcm0vZHJtX21vZGVfY29uZmlnLmMKaW5kZXggMjFlMzUzYmQzOTQ4Li41MDZmNWE1MjczM2Yg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZV9jb25maWcuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX21vZGVfY29uZmlnLmMKQEAgLTI5OCw2ICsyOTgsMTIgQEAgc3RhdGlj IGludCBkcm1fbW9kZV9jcmVhdGVfc3RhbmRhcmRfcHJvcGVydGllcyhzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KQogCQlyZXR1cm4gLUVOT01FTTsKIAlkZXYtPm1vZGVfY29uZmlnLnByb3BfY3J0Y19p ZCA9IHByb3A7CiAKKwlwcm9wID0gZHJtX3Byb3BlcnR5X2NyZWF0ZShkZXYsIERSTV9NT0RFX1BS T1BfQkxPQiwgIkZCX0RBTUFHRV9DTElQUyIsCisJCQkJICAgMCk7CisJaWYgKCFwcm9wKQorCQly ZXR1cm4gLUVOT01FTTsKKwlkZXYtPm1vZGVfY29uZmlnLnByb3BfZmJfZGFtYWdlX2NsaXBzID0g cHJvcDsKKwogCXByb3AgPSBkcm1fcHJvcGVydHlfY3JlYXRlX2Jvb2woZGV2LCBEUk1fTU9ERV9Q Uk9QX0FUT01JQywKIAkJCSJBQ1RJVkUiKTsKIAlpZiAoIXByb3ApCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9rbXMuYyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngv dm13Z2Z4X2ttcy5jCmluZGV4IDIzYmVmZjVkOGUzYy4uMWVkYmFlNzNkNmQ2IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9rbXMuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vdm13Z2Z4L3Ztd2dmeF9rbXMuYwpAQCAtNzIzLDYgKzcyMyw3IEBAIHZvaWQgdm13X2R1X3Bs YW5lX3Jlc2V0KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKQogCXBsYW5lLT5zdGF0ZSA9ICZ2cHMt PmJhc2U7CiAJcGxhbmUtPnN0YXRlLT5wbGFuZSA9IHBsYW5lOwogCXBsYW5lLT5zdGF0ZS0+cm90 YXRpb24gPSBEUk1fTU9ERV9ST1RBVEVfMDsKKwlwbGFuZS0+c3RhdGUtPmZiX2RhbWFnZV9jbGlw cyA9IE5VTEw7CiB9CiAKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2RhbWFnZV9oZWxw ZXIuaCBiL2luY2x1ZGUvZHJtL2RybV9kYW1hZ2VfaGVscGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4yMTc2OTRlOTE2OGMKLS0tIC9kZXYvbnVsbAorKysgYi9p bmNsdWRlL2RybS9kcm1fZGFtYWdlX2hlbHBlci5oCkBAIC0wLDAgKzEsNjMgQEAKKy8qIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wIE9SIE1JVCAqLworLyoqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq CisgKgorICogQ29weXJpZ2h0IChjKSAyMDE4IFZNd2FyZSwgSW5jLiwgUGFsbyBBbHRvLCBDQS4s IFVTQQorICogQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVi eSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorICog Y29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMg KHRoZQorICogIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVz dHJpY3Rpb24sIGluY2x1ZGluZworICogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8g dXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorICogZGlzdHJpYnV0ZSwgc3ViIGxp Y2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0bworICogcGVy bWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBz dWJqZWN0IHRvCisgKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3Zl IGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgKGluY2x1ZGluZyB0 aGUKKyAqIG5leHQgcGFyYWdyYXBoKSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9y IHN1YnN0YW50aWFsIHBvcnRpb25zCisgKiBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNP RlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQs IEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhF IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UgQU5EIE5PTi1JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMCisgKiBU SEUgQ09QWVJJR0hUIEhPTERFUlMsIEFVVEhPUlMgQU5EL09SIElUUyBTVVBQTElFUlMgQkUgTElB QkxFIEZPUiBBTlkgQ0xBSU0sCisgKiBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhF UiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IKKyAqIE9USEVSV0lTRSwgQVJJU0lO RyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUK KyAqIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKgorICogQXV0aG9y czoKKyAqIERlZXBhayBSYXdhdCA8ZHJhd2F0QHZtd2FyZS5jb20+CisgKgorICoqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqLworCisjaWZuZGVmIERSTV9EQU1BR0VfSEVMUEVSX0hfCisjZGVmaW5lIERSTV9EQU1B R0VfSEVMUEVSX0hfCisKKy8qKgorICogZHJtX3BsYW5lX2dldF9kYW1hZ2VfY2xpcHNfY291bnQg LSByZXR1cm5zIGRhbWFnZSBjbGlwcyBjb3VudAorICogQHN0YXRlOiBQbGFuZSBzdGF0ZQorICoK KyAqIFJldHVybnM6IE51bWJlciBvZiBjbGlwcyBpbiBwbGFuZSBmYl9kYW1hZ2VfY2xpcHMgYmxv YiBwcm9wZXJ0eS4KKyAqLworc3RhdGljIGlubGluZSB1aW50MzJfdAorZHJtX3BsYW5lX2dldF9k YW1hZ2VfY2xpcHNfY291bnQoY29uc3Qgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3RhdGUpCit7 CisJcmV0dXJuIChzdGF0ZSAmJiBzdGF0ZS0+ZmJfZGFtYWdlX2NsaXBzKSA/CisJCXN0YXRlLT5m Yl9kYW1hZ2VfY2xpcHMtPmxlbmd0aC9zaXplb2Yoc3RydWN0IGRybV9yZWN0KSA6IDA7Cit9CisK Ky8qKgorICogZHJtX3BsYW5lX2dldF9kYW1hZ2VfY2xpcHMgLSByZXR1cm5zIGRhbWFnZSBjbGlw cworICogQHN0YXRlOiBQbGFuZSBzdGF0ZQorICoKKyAqIFJldHVybnM6IENsaXBzIGluIHBsYW5l IGZiX2RhbWFnZV9jbGlwcyBibG9iIHByb3BlcnR5LgorICovCitzdGF0aWMgaW5saW5lIHN0cnVj dCBkcm1fcmVjdCAqCitkcm1fcGxhbmVfZ2V0X2RhbWFnZV9jbGlwcyhjb25zdCBzdHJ1Y3QgZHJt X3BsYW5lX3N0YXRlICpzdGF0ZSkKK3sKKwlyZXR1cm4gKHN0cnVjdCBkcm1fcmVjdCAqKSgoc3Rh dGUgJiYgc3RhdGUtPmZiX2RhbWFnZV9jbGlwcykgPworCQkJCSAgIHN0YXRlLT5mYl9kYW1hZ2Vf Y2xpcHMtPmRhdGEgOiBOVUxMKTsKK30KKwordm9pZCBkcm1fcGxhbmVfZW5hYmxlX2ZiX2RhbWFn ZV9jbGlwcyhzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSk7CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEv aW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmggYi9pbmNsdWRlL2RybS9kcm1fbW9kZV9jb25m aWcuaAppbmRleCBhMGIyMDJlMWQ2OWEuLjhjY2I1ZGRjZDk5ZCAxMDA2NDQKLS0tIGEvaW5jbHVk ZS9kcm0vZHJtX21vZGVfY29uZmlnLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmln LmgKQEAgLTYyNyw2ICs2MjcsMTYgQEAgc3RydWN0IGRybV9tb2RlX2NvbmZpZyB7CiAJICogJmRy bV9jcnRjLgogCSAqLwogCXN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3BfY3J0Y19pZDsKKwkvKioK KwkgKiBAcHJvcF9mYl9kYW1hZ2VfY2xpcHM6IE9wdGlvbmFsIHBsYW5lIHByb3BlcnR5IHRvIG1h cmsgZGFtYWdlZAorCSAqIHJlZ2lvbnMgb24gdGhlIHBsYW5lIGluIGZyYW1lYnVmZmVyIGNvb3Jk aW5hdGVzIG9mIHRoZSBmcmFtZWJ1ZmZlcgorCSAqIGF0dGFjaGVkIHRvIHRoZSBwbGFuZS4KKwkg KgorCSAqIFRoZSBsYXlvdXQgb2YgYmxvYiBkYXRhIGlzIHNpbXBseSBhbiBhcnJheSBvZiBkcm1f bW9kZV9yZWN0IHdpdGgKKwkgKiBtYXhpbXVtIGFycmF5IHNpemUgbGltaXRlZCBieSBEUk1fTU9E RV9GQl9ESVJUWV9NQVhfQ0xJUFMuIFVubGlrZQorCSAqIHBsYW5lIHNyYyBjb29yZGluYXRlcywg ZGFtYWdlIGNsaXBzIGFyZSBub3QgaW4gMTYuMTYgZml4ZWQgcG9pbnQuCisJICovCisJc3RydWN0 IGRybV9wcm9wZXJ0eSAqcHJvcF9mYl9kYW1hZ2VfY2xpcHM7CiAJLyoqCiAJICogQHByb3BfYWN0 aXZlOiBEZWZhdWx0IGF0b21pYyBDUlRDIHByb3BlcnR5IHRvIGNvbnRyb2wgdGhlIGFjdGl2ZQog CSAqIHN0YXRlLCB3aGljaCBpcyB0aGUgc2ltcGxpZmllZCBpbXBsZW1lbnRhdGlvbiBmb3IgRFBN UyBpbiBhdG9taWMKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9wbGFuZS5oIGIvaW5jbHVk ZS9kcm0vZHJtX3BsYW5lLmgKaW5kZXggOGExNTJkYzE2ZWE1Li5iYjhiMDkzNDExOWMgMTAwNjQ0 Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9wbGFuZS5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9wbGFu ZS5oCkBAIC0xODIsNiArMTgyLDE0IEBAIHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgewogCSAqLwog CXN0cnVjdCBkcm1fY3J0Y19jb21taXQgKmNvbW1pdDsKIAorCS8qKgorCSAqIEBmYl9kYW1hZ2Vf Y2xpcHM6CisJICoKKwkgKiBCbG9iIHJlcHJlc2VudGluZyBkYW1hZ2UgKGFyZWEgaW4gcGxhbmUg ZnJhbWVidWZmZXIgdGhhdCBjaGFuZ2VkCisJICogc2luY2UgbGFzdCBwYWdlIGZsaXApIGFzIGFy cmF5IG9mIGRybV9yZWN0IGluIGZyYW1lYnVmZmVyIGNvb2RpbmF0ZXMuCisJICovCisJc3RydWN0 IGRybV9wcm9wZXJ0eV9ibG9iICpmYl9kYW1hZ2VfY2xpcHM7CisKIAkvKiogQHN0YXRlOiBiYWNr cG9pbnRlciB0byBnbG9iYWwgZHJtX2F0b21pY19zdGF0ZSAqLwogCXN0cnVjdCBkcm1fYXRvbWlj X3N0YXRlICpzdGF0ZTsKIH07CmRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2Rl LmggYi9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmgKaW5kZXggOGQ2NzI0Mzk1MmY0Li44NjJl YTA4OTNlMmUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaAorKysgYi9p bmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmgKQEAgLTg4Nyw2ICs4ODcsMjUgQEAgc3RydWN0IGRy bV9tb2RlX3Jldm9rZV9sZWFzZSB7CiAJX191MzIgbGVzc2VlX2lkOwogfTsKIAorLyoqCisgKiBz dHJ1Y3QgZHJtX21vZGVfcmVjdCAtIHR3byBkaW1lbnNpb25hbCByZWN0YW5nbGUKKyAqIEB4MTog aG9yaXpvbnRhbCBzdGFydGluZyBjb29yZGluYXRlIChpbmNsdXNpdmUpCisgKiBAeTE6IHZlcnRp Y2FsIHN0YXJ0aW5nIGNvb3JkaW5hdGUgKGluY2x1c2l2ZSkKKyAqIEB4MjogaG9yaXpvbnRhbCBl bmRpbmcgY29vcmRpbmF0ZSAoZXhjbHVzaXZlKQorICogQHkyOiB2ZXJ0aWNhbCBlbmRpbmcgY29v cmRpbmF0ZSAoZXhjbHVzaXZlKQorICoKKyAqIFdpdGggZHJtIHN1YnN5c3RlbSB1c2luZyBzdHJ1 Y3QgZHJtX3JlY3QgdG8gbWFuYWdlIHJlY3Rhbmd1bGFyIGFyZWEgdGhpcworICogZXhwb3J0IGl0 IHRvIHVzZXItc3BhY2UuCisgKgorICogQ3VycmVudGx5IHVzZWQgYnkgZHJtX21vZGVfYXRvbWlj IGJsb2IgcHJvcGVydHkgRkJfREFNQUdFX0NMSVBTLgorICovCitzdHJ1Y3QgZHJtX21vZGVfcmVj dCB7CisJX19zMzIgeDE7CisJX19zMzIgeTE7CisJX19zMzIgeDI7CisJX19zMzIgeTI7Cit9Owor CiAjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKIH0KICNlbmRpZgotLSAKMi4xNy4xCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGlu ZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK