From: Matthew Auld Subject: [PATCH 02/21] drm/i915: introduce simple gemfs Date: Thu, 5 Oct 2017 16:18:56 +0100 Message-ID: <20171005151915.11151-3-matthew.auld@intel.com> References: <20171005151915.11151-1-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 13C006E80C for ; Thu, 5 Oct 2017 15:19:22 +0000 (UTC) In-Reply-To: <20171005151915.11151-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 dG1wZnMgc2htX21udCB1cG9uIGZhaWx1cmUgdG8gc2V0dXAgZ2VtZnMKCnY1OiBtYWtlIHRtcGZz IGZhbGxiYWNrIGtpbmRlcgoKdjU6IGJldHRlciBnZW1mcyBmYWlsdXJlIG1lc3NhZ2UKICAgIGZs YWdzIHZhcmlhYmxlCgpTaWduZWQtb2ZmLWJ5OiBNYXR0aGV3IEF1bGQgPG1hdHRoZXcuYXVsZEBp bnRlbC5jb20+CkNjOiBKb29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRl bC5jb20+CkNjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6IERh dmUgSGFuc2VuIDxkYXZlLmhhbnNlbkBpbnRlbC5jb20+CkNjOiBLaXJpbGwgQS4gU2h1dGVtb3Yg PGtpcmlsbEBzaHV0ZW1vdi5uYW1lPgpDYzogSHVnaCBEaWNraW5zIDxodWdoZEBnb29nbGUuY29t PgpDYzogbGludXgtbW1Aa3ZhY2sub3JnClJldmlld2VkLWJ5OiBKb29uYXMgTGFodGluZW4gPGpv b25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv TWFrZWZpbGUgICAgICAgICAgICAgICAgICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaCAgICAgICAgICAgICAgICAgIHwgIDUgKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbS5jICAgICAgICAgICAgICAgICAgfCAzMyArKysrKysrKysrKysrKy0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtZnMuYyAgICAgICAgICAgICAgICB8IDUyICsrKysrKysr KysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1mcy5oICAgICAg ICAgICAgICAgIHwgMzQgKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvc2Vs ZnRlc3RzL21vY2tfZ2VtX2RldmljZS5jIHwgIDQgKysKIDYgZmlsZXMgY2hhbmdlZCwgMTI4IGlu c2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbWZzLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbWZzLmgKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9N YWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCmluZGV4IDQ4NTBmMjYwYWVh ZC4uY2E4NTU5MjE1ZjExIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmls ZQorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQpAQCAtNDcsNiArNDcsNyBAQCBp OTE1LXkgKz0gaTkxNV9jbWRfcGFyc2VyLm8gXAogCSAgaTkxNV9nZW1fdGlsaW5nLm8gXAogCSAg aTkxNV9nZW1fdGltZWxpbmUubyBcCiAJICBpOTE1X2dlbV91c2VycHRyLm8gXAorCSAgaTkxNV9n ZW1mcy5vIFwKIAkgIGk5MTVfdHJhY2VfcG9pbnRzLm8gXAogCSAgaTkxNV92bWEubyBcCiAJICBp bnRlbF9icmVhZGNydW1icy5vIFwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IDFmYzcwODBi ZmE3Yi4uZWM2ZjMyMGNjNGY1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTE1MTEsNiAr MTUxMSwxMSBAQCBzdHJ1Y3QgaTkxNV9nZW1fbW0gewogCS8qKiBVc2FibGUgcG9ydGlvbiBvZiB0 aGUgR1RUIGZvciBHRU0gKi8KIAlkbWFfYWRkcl90IHN0b2xlbl9iYXNlOyAvKiBsaW1pdGVkIHRv IGxvdyBtZW1vcnkgKDMyLWJpdCkgKi8KIAorCS8qKgorCSAqIHRtcGZzIGluc3RhbmNlIHVzZWQg Zm9yIHNobWVtIGJhY2tlZCBvYmplY3RzCisJICovCisJc3RydWN0IHZmc21vdW50ICpnZW1mczsK KwogCS8qKiBQUEdUVCB1c2VkIGZvciBhbGlhc2luZyB0aGUgUFBHVFQgd2l0aCB0aGUgR1RUICov CiAJc3RydWN0IGk5MTVfaHdfcHBndHQgKmFsaWFzaW5nX3BwZ3R0OwogCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW0uYwppbmRleCBhYjhjNjk0NmZlYTQuLjgxZDcwZDIzYTA1NyAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbS5jCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiaW50ZWxfZHJ2LmgiCiAjaW5j bHVkZSAiaW50ZWxfZnJvbnRidWZmZXIuaCIKICNpbmNsdWRlICJpbnRlbF9tb2NzLmgiCisjaW5j bHVkZSAiaTkxNV9nZW1mcy5oIgogI2luY2x1ZGUgPGxpbnV4L2RtYS1mZW5jZS1hcnJheS5oPgog I2luY2x1ZGUgPGxpbnV4L2t0aHJlYWQuaD4KICNpbmNsdWRlIDxsaW51eC9yZXNlcnZhdGlvbi5o PgpAQCAtNDI1MSw2ICs0MjUyLDMwIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdF9vcHMgaTkxNV9nZW1fb2JqZWN0X29wcyA9IHsKIAkucHdyaXRlID0gaTkxNV9nZW1f b2JqZWN0X3B3cml0ZV9ndHQsCiB9OwogCitzdGF0aWMgaW50IGk5MTVfZ2VtX29iamVjdF9jcmVh dGVfc2htZW0oc3RydWN0IGRybV9kZXZpY2UgKmRldiwKKwkJCQkJc3RydWN0IGRybV9nZW1fb2Jq ZWN0ICpvYmosCisJCQkJCXNpemVfdCBzaXplKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICppOTE1ID0gdG9faTkxNShkZXYpOworCXVuc2lnbmVkIGxvbmcgZmxhZ3MgPSBWTV9OT1JFU0VS VkU7CisJc3RydWN0IGZpbGUgKmZpbHA7CisKKwlkcm1fZ2VtX3ByaXZhdGVfb2JqZWN0X2luaXQo ZGV2LCBvYmosIHNpemUpOworCisJaWYgKGk5MTUtPm1tLmdlbWZzKQorCQlmaWxwID0gc2htZW1f ZmlsZV9zZXR1cF93aXRoX21udChpOTE1LT5tbS5nZW1mcywgImk5MTUiLCBzaXplLAorCQkJCQkJ IGZsYWdzKTsKKwllbHNlCisJCWZpbHAgPSBzaG1lbV9maWxlX3NldHVwKCJpOTE1Iiwgc2l6ZSwg ZmxhZ3MpOworCisJaWYgKElTX0VSUihmaWxwKSkKKwkJcmV0dXJuIFBUUl9FUlIoZmlscCk7CisK KwlvYmotPmZpbHAgPSBmaWxwOworCisJcmV0dXJuIDA7Cit9CisKIHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICoKIGk5MTVfZ2VtX29iamVjdF9jcmVhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LCB1NjQgc2l6ZSkKIHsKQEAgLTQyNzUsNyArNDMwMCw3IEBAIGk5MTVfZ2Vt X29iamVjdF9jcmVhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1NjQgc2l6 ZSkKIAlpZiAob2JqID09IE5VTEwpCiAJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwogCi0JcmV0 ID0gZHJtX2dlbV9vYmplY3RfaW5pdCgmZGV2X3ByaXYtPmRybSwgJm9iai0+YmFzZSwgc2l6ZSk7 CisJcmV0ID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zaG1lbSgmZGV2X3ByaXYtPmRybSwgJm9i ai0+YmFzZSwgc2l6ZSk7CiAJaWYgKHJldCkKIAkJZ290byBmYWlsOwogCkBAIC00OTE1LDYgKzQ5 NDAsMTAgQEAgaTkxNV9nZW1fbG9hZF9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKIAogCXNwaW5fbG9ja19pbml0KCZkZXZfcHJpdi0+ZmJfdHJhY2tpbmcubG9jayk7CiAK KwllcnIgPSBpOTE1X2dlbWZzX2luaXQoZGV2X3ByaXYpOworCWlmIChlcnIpCisJCURSTV9OT1RF KCJVbmFibGUgdG8gY3JlYXRlIGEgcHJpdmF0ZSB0bXBmcyBtb3VudCwgaHVnZXBhZ2Ugc3VwcG9y dCB3aWxsIGJlIGRpc2FibGVkKCVkKS5cbiIsIGVycik7CisKIAlyZXR1cm4gMDsKIAogZXJyX3By aW9yaXRpZXM6CkBAIC00OTUzLDYgKzQ5ODIsOCBAQCB2b2lkIGk5MTVfZ2VtX2xvYWRfY2xlYW51 cChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAKIAkvKiBBbmQgZW5zdXJlIHRo YXQgb3VyIERFU1RST1lfQllfUkNVIHNsYWJzIGFyZSB0cnVseSBkZXN0cm95ZWQgKi8KIAlyY3Vf YmFycmllcigpOworCisJaTkxNV9nZW1mc19maW5pKGRldl9wcml2KTsKIH0KIAogaW50IGk5MTVf Z2VtX2ZyZWV6ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbWZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbWZzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4x NjhkMGJkOThmNjAKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbWZzLmMKQEAgLTAsMCArMSw1MiBAQAorLyoKKyAqIENvcHlyaWdodCDCqSAyMDE3IEludGVs IENvcnBvcmF0aW9uCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBv ZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyAqIGNvcHkgb2YgdGhpcyBzb2Z0 d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiks CisgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRp bmcgd2l0aG91dCBsaW1pdGF0aW9uCisgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5 LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKKyAqIGFuZC9vciBzZWxs IGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRo ZQorICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xs b3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQg dGhpcyBwZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVkaW5nIHRoZSBuZXh0CisgKiBwYXJhZ3JhcGgp IHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMg b2YgdGhlCisgKiBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFT IElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElF RCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFO VEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5G UklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwKKyAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdI VCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCisgKiBM SUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVS V0lTRSwgQVJJU0lORworICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUg U09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUworICogSU4gVEhFIFNPRlRXQVJF LgorICoKKyAqLworCisjaW5jbHVkZSA8bGludXgvZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9tb3Vu dC5oPgorCisjaW5jbHVkZSAiaTkxNV9kcnYuaCIKKyNpbmNsdWRlICJpOTE1X2dlbWZzLmgiCisK K2ludCBpOTE1X2dlbWZzX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCit7CisJ c3RydWN0IGZpbGVfc3lzdGVtX3R5cGUgKnR5cGU7CisJc3RydWN0IHZmc21vdW50ICpnZW1mczsK KworCXR5cGUgPSBnZXRfZnNfdHlwZSgidG1wZnMiKTsKKwlpZiAoIXR5cGUpCisJCXJldHVybiAt RU5PREVWOworCisJZ2VtZnMgPSBrZXJuX21vdW50KHR5cGUpOworCWlmIChJU19FUlIoZ2VtZnMp KQorCQlyZXR1cm4gUFRSX0VSUihnZW1mcyk7CisKKwlpOTE1LT5tbS5nZW1mcyA9IGdlbWZzOwor CisJcmV0dXJuIDA7Cit9CisKK3ZvaWQgaTkxNV9nZW1mc19maW5pKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICppOTE1KQoreworCWtlcm5fdW5tb3VudChpOTE1LT5tbS5nZW1mcyk7Cit9CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbWZzLmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbWZzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAwLi5jY2E4YmRjNWI5M2UKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbWZzLmgKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCDCqSAyMDE3 IEludGVsIENvcnBvcmF0aW9uCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwg ZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyAqIGNvcHkgb2YgdGhp cyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3 YXJlIiksCisgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBp bmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCisgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwg bW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKKyAqIGFuZC9v ciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3 aG9tIHRoZQorICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRo ZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj ZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVkaW5nIHRoZSBuZXh0CisgKiBwYXJh Z3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9y dGlvbnMgb2YgdGhlCisgKiBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklE RUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICog SU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBN RVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQg Tk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwKKyAqIFRIRSBBVVRIT1JTIE9SIENP UFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVS CisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9S IE9USEVSV0lTRSwgQVJJU0lORworICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lU SCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUworICogSU4gVEhFIFNP RlRXQVJFLgorICoKKyAqLworCisjaWZuZGVmIF9fSTkxNV9HRU1GU19IX18KKyNkZWZpbmUgX19J OTE1X0dFTUZTX0hfXworCitzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZTsKKworaW50IGk5MTVfZ2Vt ZnNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSk7CisKK3ZvaWQgaTkxNV9nZW1m c19maW5pKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KTsKKworI2VuZGlmCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19nZW1fZGV2aWNlLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19nZW1fZGV2aWNlLmMKaW5kZXggMGM4 MjI1ZDY3N2U5Li5lMTg5ZDJiNWY2YzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L3NlbGZ0ZXN0cy9tb2NrX2dlbV9kZXZpY2UuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9z ZWxmdGVzdHMvbW9ja19nZW1fZGV2aWNlLmMKQEAgLTgzLDYgKzgzLDggQEAgc3RhdGljIHZvaWQg bW9ja19kZXZpY2VfcmVsZWFzZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCWttZW1fY2FjaGVf ZGVzdHJveShpOTE1LT52bWFzKTsKIAlrbWVtX2NhY2hlX2Rlc3Ryb3koaTkxNS0+b2JqZWN0cyk7 CiAKKwlpOTE1X2dlbWZzX2ZpbmkoaTkxNSk7CisKIAlkcm1fZGV2X2ZpbmkoJmk5MTUtPmRybSk7 CiAJcHV0X2RldmljZSgmaTkxNS0+ZHJtLnBkZXYtPmRldik7CiB9CkBAIC0yNDMsNiArMjQ1LDgg QEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKm1vY2tfZ2VtX2RldmljZSh2b2lkKQogCWlmICgh aTkxNS0+cHJlZW1wdF9jb250ZXh0KQogCQlnb3RvIGVycl9rZXJuZWxfY29udGV4dDsKIAorCVdB Uk5fT04oaTkxNV9nZW1mc19pbml0KGk5MTUpKTsKKwogCXJldHVybiBpOTE1OwogCiBlcnJfa2Vy bmVsX2NvbnRleHQ6Ci0tIAoyLjEzLjUKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAo=