From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH 02/21] drm/i915: introduce simple gemfs Date: Fri, 22 Sep 2017 18:32:33 +0100 Message-ID: <20170922173252.10137-3-matthew.auld@intel.com> References: <20170922173252.10137-1-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id C2D376E036 for ; Fri, 22 Sep 2017 17:33:15 +0000 (UTC) In-Reply-To: <20170922173252.10137-1-matthew.auld@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: Dave Hansen , Hugh Dickins , linux-mm@kvack.org, "Kirill A . Shutemov" List-Id: intel-gfx@lists.freedesktop.org Tm90IGEgZnVsbHkgYmxvd24gZ2VtZnMsIGp1c3Qgb3VyIHZlcnkgb3duIHRtcGZzIGtlcm5lbCBt b3VudC4gRG9pbmcgc28KbW92ZXMgdXMgYXdheSBmcm9tIHRoZSBzaG1lbWZzIHNobV9tbnQsIGFu ZCBnaXZlcyB1cyB0aGUgbXVjaCBuZWVkZWQKZmxleGliaWxpdHkgdG8gZG8gdGhpbmdzIGxpa2Ug c2V0IG91ciBvd24gbW91bnQgb3B0aW9ucywgbmFtZWx5IGh1Z2U9CndoaWNoIHNob3VsZCBhbGxv dyB1cyB0byBlbmFibGUgdGhlIHVzZSBvZiB0cmFuc3BhcmVudC1odWdlLXBhZ2VzIGZvcgpvdXIg c2htZW0gYmFja2VkIG9iamVjdHMuCgp2MjogdmFyaW91cyBpbXByb3ZlbWVudHMgc3VnZ2VzdGVk IGJ5IEpvb25hcwoKdjM6IG1vdmUgZ2VtZnMgaW5zdGFuY2UgdG8gaTkxNS5tbSBhbmQgc2ltcGxp Znkgbm93IHRoYXQgd2UgaGF2ZQpmaWxlX3NldHVwX3dpdGhfbW50Cgp2NDogZmFsbGJhY2sgdG8g dG1wZnMgc2htX21udCB1cG9uIGZhaWx1cmUgdG8gc2V0dXAgZ2VtZnMKClNpZ25lZC1vZmYtYnk6 IE1hdHRoZXcgQXVsZCA8bWF0dGhldy5hdWxkQGludGVsLmNvbT4KQ2M6IEpvb25hcyBMYWh0aW5l biA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4KQ2M6IENocmlzIFdpbHNvbiA8Y2hy aXNAY2hyaXMtd2lsc29uLmNvLnVrPgpDYzogRGF2ZSBIYW5zZW4gPGRhdmUuaGFuc2VuQGludGVs LmNvbT4KQ2M6IEtpcmlsbCBBLiBTaHV0ZW1vdiA8a2lyaWxsQHNodXRlbW92Lm5hbWU+CkNjOiBI dWdoIERpY2tpbnMgPGh1Z2hkQGdvb2dsZS5jb20+CkNjOiBsaW51eC1tbUBrdmFjay5vcmcKLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICAgfCAgMSAr CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgICAgICAgICAgfCAgNSAr KysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgICAgICAgICAgICB8IDMw ICsrKysrKysrKysrKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbWZzLmMgICAgICAg ICAgICAgICAgfCA1MiArKysrKysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtZnMuaCAgICAgICAgICAgICAgICB8IDM0ICsrKysrKysrKysrKysrKysKIGRy aXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2dlbV9kZXZpY2UuYyB8ICA0ICsrCiA2 IGZpbGVzIGNoYW5nZWQsIDEyNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUg bW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1mcy5jCiBjcmVhdGUgbW9k ZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1mcy5oCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtl ZmlsZQppbmRleCA1MTgyZTNkNTU1N2QuLjk4MGM0MTU2OGY0NiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZp bGUKQEAgLTQ3LDYgKzQ3LDcgQEAgaTkxNS15ICs9IGk5MTVfY21kX3BhcnNlci5vIFwKIAkgIGk5 MTVfZ2VtX3RpbGluZy5vIFwKIAkgIGk5MTVfZ2VtX3RpbWVsaW5lLm8gXAogCSAgaTkxNV9nZW1f dXNlcnB0ci5vIFwKKwkgIGk5MTVfZ2VtZnMubyBcCiAJICBpOTE1X3RyYWNlX3BvaW50cy5vIFwK IAkgIGk5MTVfdm1hLm8gXAogCSAgaW50ZWxfYnJlYWRjcnVtYnMubyBcCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaAppbmRleCBmNWQwZTgxNjAwOGQuLmI1OTcxNGYwYzFiZiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oCkBAIC0xNTAwLDYgKzE1MDAsMTEgQEAgc3RydWN0IGk5MTVfZ2VtX21tIHsKIAkv KiogVXNhYmxlIHBvcnRpb24gb2YgdGhlIEdUVCBmb3IgR0VNICovCiAJZG1hX2FkZHJfdCBzdG9s ZW5fYmFzZTsgLyogbGltaXRlZCB0byBsb3cgbWVtb3J5ICgzMi1iaXQpICovCiAKKwkvKioKKwkg KiB0bXBmcyBpbnN0YW5jZSB1c2VkIGZvciBzaG1lbSBiYWNrZWQgb2JqZWN0cworCSAqLworCXN0 cnVjdCB2ZnNtb3VudCAqZ2VtZnM7CisKIAkvKiogUFBHVFQgdXNlZCBmb3IgYWxpYXNpbmcgdGhl IFBQR1RUIHdpdGggdGhlIEdUVCAqLwogCXN0cnVjdCBpOTE1X2h3X3BwZ3R0ICphbGlhc2luZ19w cGd0dDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXggMmE2NTBmOTJhYTc0Li5lNTcxOGFj OTE2NmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1 ZGUgImludGVsX2Rydi5oIgogI2luY2x1ZGUgImludGVsX2Zyb250YnVmZmVyLmgiCiAjaW5jbHVk ZSAiaW50ZWxfbW9jcy5oIgorI2luY2x1ZGUgImk5MTVfZ2VtZnMuaCIKICNpbmNsdWRlIDxsaW51 eC9kbWEtZmVuY2UtYXJyYXkuaD4KICNpbmNsdWRlIDxsaW51eC9rdGhyZWFkLmg+CiAjaW5jbHVk ZSA8bGludXgvcmVzZXJ2YXRpb24uaD4KQEAgLTQyNTEsNiArNDI1MiwyOSBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Rfb3BzIGk5MTVfZ2VtX29iamVjdF9vcHMgPSB7 CiAJLnB3cml0ZSA9IGk5MTVfZ2VtX29iamVjdF9wd3JpdGVfZ3R0LAogfTsKIAorc3RhdGljIGlu dCBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3NobWVtKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCisJ CQkJCXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLAorCQkJCQlzaXplX3Qgc2l6ZSkKK3sKKwlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IHRvX2k5MTUoZGV2KTsKKwlzdHJ1Y3QgZmls ZSAqZmlscDsKKworCWRybV9nZW1fcHJpdmF0ZV9vYmplY3RfaW5pdChkZXYsIG9iaiwgc2l6ZSk7 CisKKwlpZiAoaTkxNS0+bW0uZ2VtZnMpCisJCWZpbHAgPSBzaG1lbV9maWxlX3NldHVwX3dpdGhf bW50KGk5MTUtPm1tLmdlbWZzLCAiaTkxNSIsIHNpemUsCisJCQkJCQkgVk1fTk9SRVNFUlZFKTsK KwllbHNlCisJCWZpbHAgPSBzaG1lbV9maWxlX3NldHVwKCJpOTE1Iiwgc2l6ZSwgVk1fTk9SRVNF UlZFKTsKKworCWlmIChJU19FUlIoZmlscCkpCisJCXJldHVybiBQVFJfRVJSKGZpbHApOworCisJ b2JqLT5maWxwID0gZmlscDsKKworCXJldHVybiAwOworfQorCiBzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdCAqCiBpOTE1X2dlbV9vYmplY3RfY3JlYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwgdTY0IHNpemUpCiB7CkBAIC00Mjc1LDcgKzQyOTksNyBAQCBpOTE1X2dlbV9v YmplY3RfY3JlYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTY0IHNpemUp CiAJaWYgKG9iaiA9PSBOVUxMKQogCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKIAotCXJldCA9 IGRybV9nZW1fb2JqZWN0X2luaXQoJmRldl9wcml2LT5kcm0sICZvYmotPmJhc2UsIHNpemUpOwor CXJldCA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfc2htZW0oJmRldl9wcml2LT5kcm0sICZvYmot PmJhc2UsIHNpemUpOwogCWlmIChyZXQpCiAJCWdvdG8gZmFpbDsKIApAQCAtNDkxNCw2ICs0OTM4 LDggQEAgaTkxNV9nZW1fbG9hZF9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKIAogCXNwaW5fbG9ja19pbml0KCZkZXZfcHJpdi0+ZmJfdHJhY2tpbmcubG9jayk7CiAKKwlX QVJOX09OKGk5MTVfZ2VtZnNfaW5pdChkZXZfcHJpdikpOworCiAJcmV0dXJuIDA7CiAKIGVycl9w cmlvcml0aWVzOgpAQCAtNDk1Miw2ICs0OTc4LDggQEAgdm9pZCBpOTE1X2dlbV9sb2FkX2NsZWFu dXAoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCiAJLyogQW5kIGVuc3VyZSB0 aGF0IG91ciBERVNUUk9ZX0JZX1JDVSBzbGFicyBhcmUgdHJ1bHkgZGVzdHJveWVkICovCiAJcmN1 X2JhcnJpZXIoKTsKKworCWk5MTVfZ2VtZnNfZmluaShkZXZfcHJpdik7CiB9CiAKIGludCBpOTE1 X2dlbV9mcmVlemUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1mcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1mcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4u MTY4ZDBiZDk4ZjYwCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1mcy5jCkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgwqkgMjAxNyBJbnRl bCBDb3Jwb3JhdGlvbgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUg b2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisgKiBjb3B5IG9mIHRoaXMgc29m dHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIp LAorICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVk aW5nIHdpdGhvdXQgbGltaXRhdGlvbgorICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlm eSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCisgKiBhbmQvb3Igc2Vs bCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0 aGUKKyAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9s bG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5k IHRoaXMgcGVybWlzc2lvbiBub3RpY2UgKGluY2x1ZGluZyB0aGUgbmV4dAorICogcGFyYWdyYXBo KSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25z IG9mIHRoZQorICogU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJB UyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJ RUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hB TlRBQklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklO RlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMCisgKiBUSEUgQVVUSE9SUyBPUiBDT1BZUklH SFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgorICog TElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhF UldJU0UsIEFSSVNJTkcKKyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhF IFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MKKyAqIElOIFRIRSBTT0ZUV0FS RS4KKyAqCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CisjaW5jbHVkZSA8bGludXgvbW91 bnQuaD4KKworI2luY2x1ZGUgImk5MTVfZHJ2LmgiCisjaW5jbHVkZSAiaTkxNV9nZW1mcy5oIgor CitpbnQgaTkxNV9nZW1mc19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQorewor CXN0cnVjdCBmaWxlX3N5c3RlbV90eXBlICp0eXBlOworCXN0cnVjdCB2ZnNtb3VudCAqZ2VtZnM7 CisKKwl0eXBlID0gZ2V0X2ZzX3R5cGUoInRtcGZzIik7CisJaWYgKCF0eXBlKQorCQlyZXR1cm4g LUVOT0RFVjsKKworCWdlbWZzID0ga2Vybl9tb3VudCh0eXBlKTsKKwlpZiAoSVNfRVJSKGdlbWZz KSkKKwkJcmV0dXJuIFBUUl9FUlIoZ2VtZnMpOworCisJaTkxNS0+bW0uZ2VtZnMgPSBnZW1mczsK KworCXJldHVybiAwOworfQorCit2b2lkIGk5MTVfZ2VtZnNfZmluaShzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqaTkxNSkKK3sKKwlrZXJuX3VubW91bnQoaTkxNS0+bW0uZ2VtZnMpOworfQpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1mcy5oIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1mcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwMC4uY2NhOGJkYzViOTNlCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1mcy5oCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgwqkgMjAx NyBJbnRlbCBDb3Jwb3JhdGlvbgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQs IGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisgKiBjb3B5IG9mIHRo aXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0 d2FyZSIpLAorICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwg aW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgorICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHks IG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCisgKiBhbmQv b3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8g d2hvbSB0aGUKKyAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0 aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp Y2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgKGluY2x1ZGluZyB0aGUgbmV4dAorICogcGFy YWdyYXBoKSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBv cnRpb25zIG9mIHRoZQorICogU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJ REVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAq IElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0Yg TUVSQ0hBTlRBQklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5E IE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMCisgKiBUSEUgQVVUSE9SUyBPUiBD T1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhF UgorICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBP UiBPVEhFUldJU0UsIEFSSVNJTkcKKyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJ VEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MKKyAqIElOIFRIRSBT T0ZUV0FSRS4KKyAqCisgKi8KKworI2lmbmRlZiBfX0k5MTVfR0VNRlNfSF9fCisjZGVmaW5lIF9f STkxNV9HRU1GU19IX18KKworc3RydWN0IGRybV9pOTE1X3ByaXZhdGU7CisKK2ludCBpOTE1X2dl bWZzX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpOworCit2b2lkIGk5MTVfZ2Vt ZnNfZmluaShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSk7CisKKyNlbmRpZgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ2VtX2RldmljZS5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ2VtX2RldmljZS5jCmluZGV4IDIz ODg0MjRhMTRkYS4uZWQzNDA3YjA3OGU3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9zZWxmdGVzdHMvbW9ja19nZW1fZGV2aWNlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv c2VsZnRlc3RzL21vY2tfZ2VtX2RldmljZS5jCkBAIC04Myw2ICs4Myw4IEBAIHN0YXRpYyB2b2lk IG1vY2tfZGV2aWNlX3JlbGVhc2Uoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAlrbWVtX2NhY2hl X2Rlc3Ryb3koaTkxNS0+dm1hcyk7CiAJa21lbV9jYWNoZV9kZXN0cm95KGk5MTUtPm9iamVjdHMp OwogCisJaTkxNV9nZW1mc19maW5pKGk5MTUpOworCiAJZHJtX2Rldl9maW5pKCZpOTE1LT5kcm0p OwogCXB1dF9kZXZpY2UoJmk5MTUtPmRybS5wZGV2LT5kZXYpOwogfQpAQCAtMjM5LDYgKzI0MSw4 IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICptb2NrX2dlbV9kZXZpY2Uodm9pZCkKIAlpZiAo IWk5MTUtPmtlcm5lbF9jb250ZXh0KQogCQlnb3RvIGVycl9lbmdpbmU7CiAKKwlXQVJOX09OKGk5 MTVfZ2VtZnNfaW5pdChpOTE1KSk7CisKIAlyZXR1cm4gaTkxNTsKIAogZXJyX2VuZ2luZToKLS0g CjIuMTMuNQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==