From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH v3 35/37] drm/i915: Introduce GEM_OBJECT_SETPARAM with I915_PARAM_MEMORY_REGION Date: Fri, 9 Aug 2019 23:26:41 +0100 Message-ID: <20190809222643.23142-36-matthew.auld@intel.com> References: <20190809222643.23142-1-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190809222643.23142-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: dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogQWJkaWVsIEphbnVsZ3VlIDxhYmRpZWwuamFudWxndWVAbGludXguaW50ZWwuY29tPgoK VGhpcyBjYWxsIHdpbGwgc3BlY2lmeSB3aGljaCBtZW1vcnkgcmVnaW9uIGFuIG9iamVjdCBzaG91 bGQgYmUgcGxhY2VkLgoKTm90ZSB0aGF0IGNoYW5naW5nIHRoZSBvYmplY3QncyBiYWNraW5nIHN0 b3JhZ2Ugc2hvdWxkIGJlIGltbWVkaWF0ZWx5CmRvbmUgYWZ0ZXIgYW4gb2JqZWN0IGlzIGNyZWF0 ZWQgb3IgaWYgaXQncyBub3QgeWV0IGluIHVzZSwgb3RoZXJ3aXNlCnRoaXMgd2lsbCBmYWlsIG9u IGEgYnVzeSBvYmplY3QuCgpTaWduZWQtb2ZmLWJ5OiBBYmRpZWwgSmFudWxndWUgPGFiZGllbC5q YW51bGd1ZUBsaW51eC5pbnRlbC5jb20+CkNjOiBKb29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0 aW5lbkBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVf Z2VtX2NvbnRleHQuYyB8ICAxNyArKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dl bV9jb250ZXh0LmggfCAgIDIgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2lv Y3Rscy5oICB8ICAgMiArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0 LmMgIHwgMTE1ICsrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5jICAgICAgICAgICAgIHwgICAyICstCiBpbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmgg ICAgICAgICAgICAgICAgIHwgIDIzICsrKysKIDYgZmlsZXMgY2hhbmdlZCwgMTYwIGluc2VydGlv bnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fY29udGV4dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2Vt X2NvbnRleHQuYwppbmRleCBiNDA3YmFhZjAwMTQuLjU3MjAzM2FjNmUzYiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2NvbnRleHQuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fY29udGV4dC5jCkBAIC03Niw2ICs3Niw3IEBACiAj aW5jbHVkZSAiaTkxNV9nbG9iYWxzLmgiCiAjaW5jbHVkZSAiaTkxNV90cmFjZS5oIgogI2luY2x1 ZGUgImk5MTVfdXNlcl9leHRlbnNpb25zLmgiCisjaW5jbHVkZSAiaTkxNV9nZW1faW9jdGxzLmgi CiAKICNkZWZpbmUgQUxMX0wzX1NMSUNFUyhkZXYpICgxIDw8IE5VTV9MM19TTElDRVMoZGV2KSkg LSAxCiAKQEAgLTIzMDgsNiArMjMwOSwyMiBAQCBpbnQgaTkxNV9nZW1fY29udGV4dF9zZXRwYXJh bV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCXJldHVybiByZXQ7 CiB9CiAKK2ludCBpOTE1X2dlbV9zZXRwYXJhbV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCB2b2lkICpkYXRhLAorCQkJICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSkKK3sKKwlzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX2NvbnRleHRfcGFyYW0gKmFyZ3MgPSBkYXRhOworCXUzMiBvYmplY3RfY2xh c3MgPSB1cHBlcl8zMl9iaXRzKGFyZ3MtPnBhcmFtKTsKKworCXN3aXRjaCAob2JqZWN0X2NsYXNz KSB7CisJY2FzZSAwOgorCQlyZXR1cm4gaTkxNV9nZW1fY29udGV4dF9zZXRwYXJhbV9pb2N0bChk ZXYsIGRhdGEsIGZpbGUpOworCWNhc2UgMToKKwkJcmV0dXJuIGk5MTVfZ2VtX29iamVjdF9zZXRw YXJhbV9pb2N0bChkZXYsIGRhdGEsIGZpbGUpOworCisJfQorCXJldHVybiAtRUlOVkFMOworfQor CiBpbnQgaTkxNV9nZW1fY29udGV4dF9yZXNldF9zdGF0c19pb2N0bChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAogCQkJCSAgICAgICB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpCiB7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fY29udGV4dC5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2NvbnRleHQuaAppbmRleCAxMDZl MmNjZjdhNGMuLjFjZmNmMWU2YmJiOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z2VtL2k5MTVfZ2VtX2NvbnRleHQuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkx NV9nZW1fY29udGV4dC5oCkBAIC0xNTcsNiArMTU3LDggQEAgaW50IGk5MTVfZ2VtX2NvbnRleHRf Z2V0cGFyYW1faW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJCQkg ICAgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpOwogaW50IGk5MTVfZ2VtX2NvbnRleHRfc2V0 cGFyYW1faW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJCQkgICAg c3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpOworaW50IGk5MTVfZ2VtX3NldHBhcmFtX2lvY3Rs KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCisJCQkgICAgc3RydWN0IGRybV9m aWxlICpmaWxlKTsKIGludCBpOTE1X2dlbV9jb250ZXh0X3Jlc2V0X3N0YXRzX2lvY3RsKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCQkJICAgICAgIHN0cnVjdCBkcm1fZmls ZSAqZmlsZSk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dl bV9pb2N0bHMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9pb2N0bHMuaApp bmRleCA1YWJkNWIyMTcyZjIuLmFmNzQ2NWJjZWViZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2lvY3Rscy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2dlbS9pOTE1X2dlbV9pb2N0bHMuaApAQCAtMzIsNiArMzIsOCBAQCBpbnQgaTkxNV9nZW1fbW1h cF9ndHRfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJCSAgICBz dHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpOwogaW50IGk5MTVfZ2VtX21tYXBfb2Zmc2V0X2lvY3RsKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCQkgICAgICAgc3RydWN0IGRybV9m aWxlICpmaWxlX3ByaXYpOworaW50IGk5MTVfZ2VtX29iamVjdF9zZXRwYXJhbV9pb2N0bChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAorCQkJCSAgIHN0cnVjdCBkcm1fZmlsZSAq ZmlsZV9wcml2KTsKIGludCBpOTE1X2dlbV9wcmVhZF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCB2b2lkICpkYXRhLAogCQkJIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSk7CiBpbnQgaTkxNV9n ZW1fcHdyaXRlX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmMKaW5kZXggNTk4MmFlYWFhMmUz Li41MmVhNjVmMjAzYTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1 X2dlbV9vYmplY3QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2Jq ZWN0LmMKQEAgLTUwNiw2ICs1MDYsMTIxIEBAIGludCBfX2luaXQgaTkxNV9nbG9iYWxfb2JqZWN0 c19pbml0KHZvaWQpCiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBlbnVtIGludGVsX3JlZ2lvbl9p ZAorX19yZWdpb25faWQodTMyIHJlZ2lvbikKK3sKKwllbnVtIGludGVsX3JlZ2lvbl9pZCBpZDsK KworCWZvciAoaWQgPSAwOyBpZCA8IElOVEVMX01FTU9SWV9VS05PV047ICsraWQpIHsKKwkJaWYg KGludGVsX3JlZ2lvbl9tYXBbaWRdID09IHJlZ2lvbikKKwkJCXJldHVybiBpZDsKKwl9CisKKwly ZXR1cm4gSU5URUxfTUVNT1JZX1VLTk9XTjsKK30KKworc3RhdGljIGludCBpOTE1X2dlbV9vYmpl Y3RfcmVnaW9uX3NlbGVjdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCQkJ CSBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdF9wYXJhbSAqYXJncywKKwkJCQkJIHN0cnVjdCBk cm1fZmlsZSAqZmlsZSwKKwkJCQkJIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCit7 CisJc3RydWN0IGludGVsX2NvbnRleHQgKmNlID0gZGV2X3ByaXYtPmVuZ2luZVtCQ1MwXS0+a2Vy bmVsX2NvbnRleHQ7CisJdTMyIF9fdXNlciAqdXJlZ2lvbnMgPSB1NjRfdG9fdXNlcl9wdHIoYXJn cy0+ZGF0YSk7CisJdTMyIHVyZWdpb25zX2NvcHlbSU5URUxfTUVNT1JZX1VLTk9XTl07CisJaW50 IGksIHJldDsKKworCWlmIChhcmdzLT5zaXplID4gSU5URUxfTUVNT1JZX1VLTk9XTikKKwkJcmV0 dXJuIC1FSU5WQUw7CisKKwltZW1zZXQodXJlZ2lvbnNfY29weSwgMCwgc2l6ZW9mKHVyZWdpb25z X2NvcHkpKTsKKwlmb3IgKGkgPSAwOyBpIDwgYXJncy0+c2l6ZTsgaSsrKSB7CisJCXUzMiByZWdp b247CisKKwkJcmV0ID0gZ2V0X3VzZXIocmVnaW9uLCB1cmVnaW9ucyk7CisJCWlmIChyZXQpCisJ CQlyZXR1cm4gcmV0OworCisJCXVyZWdpb25zX2NvcHlbaV0gPSByZWdpb247CisJCSsrdXJlZ2lv bnM7CisJfQorCisJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPmRybS5zdHJ1Y3RfbXV0ZXgpOworCXJl dCA9IGk5MTVfZ2VtX29iamVjdF9wcmVwYXJlX21vdmUob2JqKTsKKwlpZiAocmV0KSB7CisJCURS TV9FUlJPUigiQ2Fubm90IHNldCBtZW1vcnkgcmVnaW9uLCBvYmplY3QgaW4gdXNlXG4iKTsKKwkg ICAgICAgIGdvdG8gZXJyOworCX0KKworCWZvciAoaSA9IDA7IGkgPCBhcmdzLT5zaXplOyBpKysp IHsKKwkJdTMyIHJlZ2lvbiA9IHVyZWdpb25zX2NvcHlbaV07CisJCWVudW0gaW50ZWxfcmVnaW9u X2lkIGlkID0gX19yZWdpb25faWQocmVnaW9uKTsKKworCQlpZiAoaWQgPT0gSU5URUxfTUVNT1JZ X1VLTk9XTikgeworCQkJcmV0ID0gLUVJTlZBTDsKKwkJCWdvdG8gZXJyOworCQl9CisKKwkJcmV0 ID0gaTkxNV9nZW1fb2JqZWN0X21pZ3JhdGUob2JqLCBjZSwgaWQpOworCQlpZiAoIXJldCkgewor CQkJaWYgKCFpOTE1X2dlbV9vYmplY3RfaGFzX3BhZ2VzKG9iaikgJiYKKwkJCSAgICBNRU1PUllf VFlQRV9GUk9NX1JFR0lPTihyZWdpb24pID09CisJCQkgICAgSU5URUxfTE1FTSkgeworCQkJCS8q CisJCQkJICogVE9ETzogdGhpcyBzaG91bGQgYmUgcGFydCBvZiBnZXRfcGFnZXMoKSwKKwkJCQkg KiB3aGVuIGFzeW5jIGdldF9wYWdlcyBhcnJpdmVzCisJCQkJICovCisJCQkJcmV0ID0gaTkxNV9n ZW1fb2JqZWN0X2ZpbGxfYmx0KG9iaiwgY2UsIDApOworCQkJCWlmIChyZXQpIHsKKwkJCQkJRFJN X0VSUk9SKCJGYWlsZWQgY2xlYXJpbmcgdGhlIG9iamVjdFxuIik7CisJCQkJCWdvdG8gZXJyOwor CQkJCX0KKworCQkJCWk5MTVfZ2VtX29iamVjdF9sb2NrKG9iaik7CisJCQkJcmV0ID0gaTkxNV9n ZW1fb2JqZWN0X3NldF90b19jcHVfZG9tYWluKG9iaiwgZmFsc2UpOworCQkJCWk5MTVfZ2VtX29i amVjdF91bmxvY2sob2JqKTsKKwkJCQlpZiAocmV0KQorCQkJCQlnb3RvIGVycjsKKwkJCX0KKwkJ CWJyZWFrOworCQl9CisJfQorZXJyOgorCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPmRybS5zdHJ1 Y3RfbXV0ZXgpOworCXJldHVybiByZXQ7Cit9CisKK2ludCBpOTE1X2dlbV9vYmplY3Rfc2V0cGFy YW1faW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKKwkJCQkgICBzdHJ1 Y3QgZHJtX2ZpbGUgKmZpbGUpCit7CisKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdF9wYXJh bSAqYXJncyA9IGRhdGE7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShkZXYpOworCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7CisJaW50IHJldDsK KworCW9iaiA9IGk5MTVfZ2VtX29iamVjdF9sb29rdXAoZmlsZSwgYXJncy0+aGFuZGxlKTsKKwlp ZiAoIW9iaikKKwkJcmV0dXJuIC1FTk9FTlQ7CisKKwlzd2l0Y2ggKGxvd2VyXzMyX2JpdHMoYXJn cy0+cGFyYW0pKSB7CisJY2FzZSBJOTE1X1BBUkFNX01FTU9SWV9SRUdJT046CisJCXJldCA9IGk5 MTVfZ2VtX29iamVjdF9yZWdpb25fc2VsZWN0KGRldl9wcml2LCBhcmdzLCBmaWxlLCBvYmopOwor CQlpZiAocmV0KSB7CisJCQlEUk1fRVJST1IoIkNhbm5vdCBzZXQgbWVtb3J5IHJlZ2lvbiwgbWln cmF0aW9uIGZhaWxlZFxuIik7CisJCQlnb3RvIGVycjsKKwkJfQorCisJCWJyZWFrOworCWRlZmF1 bHQ6CisJCXJldCA9IC1FSU5WQUw7CisJCWJyZWFrOworCX0KKworZXJyOgorCWk5MTVfZ2VtX29i amVjdF9wdXQob2JqKTsKKwlyZXR1cm4gcmV0OworfQorCiAjaWYgSVNfRU5BQkxFRChDT05GSUdf RFJNX0k5MTVfU0VMRlRFU1QpCiAjaW5jbHVkZSAic2VsZnRlc3RzL2h1Z2VfZ2VtX29iamVjdC5j IgogI2luY2x1ZGUgInNlbGZ0ZXN0cy9odWdlX3BhZ2VzLmMiCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu YwppbmRleCBmNmEzZGFmNjk2ZjYuLjg0NWU4MGMyYWNjMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5jCkBAIC0yNzI5LDcgKzI3MjksNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9pb2N0bF9k ZXNjIGk5MTVfaW9jdGxzW10gPSB7CiAJRFJNX0lPQ1RMX0RFRl9EUlYoSTkxNV9HRVRfUkVTRVRf U1RBVFMsIGk5MTVfZ2VtX2NvbnRleHRfcmVzZXRfc3RhdHNfaW9jdGwsIERSTV9SRU5ERVJfQUxM T1cpLAogCURSTV9JT0NUTF9ERUZfRFJWKEk5MTVfR0VNX1VTRVJQVFIsIGk5MTVfZ2VtX3VzZXJw dHJfaW9jdGwsIERSTV9SRU5ERVJfQUxMT1cpLAogCURSTV9JT0NUTF9ERUZfRFJWKEk5MTVfR0VN X0NPTlRFWFRfR0VUUEFSQU0sIGk5MTVfZ2VtX2NvbnRleHRfZ2V0cGFyYW1faW9jdGwsIERSTV9S RU5ERVJfQUxMT1cpLAotCURSTV9JT0NUTF9ERUZfRFJWKEk5MTVfR0VNX0NPTlRFWFRfU0VUUEFS QU0sIGk5MTVfZ2VtX2NvbnRleHRfc2V0cGFyYW1faW9jdGwsIERSTV9SRU5ERVJfQUxMT1cpLAor CURSTV9JT0NUTF9ERUZfRFJWKEk5MTVfR0VNX0NPTlRFWFRfU0VUUEFSQU0sIGk5MTVfZ2VtX3Nl dHBhcmFtX2lvY3RsLCBEUk1fUkVOREVSX0FMTE9XKSwKIAlEUk1fSU9DVExfREVGX0RSVihJOTE1 X1BFUkZfT1BFTiwgaTkxNV9wZXJmX29wZW5faW9jdGwsIERSTV9SRU5ERVJfQUxMT1cpLAogCURS TV9JT0NUTF9ERUZfRFJWKEk5MTVfUEVSRl9BRERfQ09ORklHLCBpOTE1X3BlcmZfYWRkX2NvbmZp Z19pb2N0bCwgRFJNX1JFTkRFUl9BTExPVyksCiAJRFJNX0lPQ1RMX0RFRl9EUlYoSTkxNV9QRVJG X1JFTU9WRV9DT05GSUcsIGk5MTVfcGVyZl9yZW1vdmVfY29uZmlnX2lvY3RsLCBEUk1fUkVOREVS X0FMTE9XKSwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaCBiL2luY2x1 ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaAppbmRleCBmYjg0YWVkMTA4MjUuLjc1ZDc5YzE3ZTkxYiAx MDA2NDQKLS0tIGEvaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oCisrKyBiL2luY2x1ZGUvdWFw aS9kcm0vaTkxNV9kcm0uaApAQCAtMzYwLDYgKzM2MCw3IEBAIHR5cGVkZWYgc3RydWN0IF9kcm1f aTkxNV9zYXJlYSB7CiAjZGVmaW5lIERSTV9JOTE1X0dFTV9WTV9DUkVBVEUJCTB4M2EKICNkZWZp bmUgRFJNX0k5MTVfR0VNX1ZNX0RFU1RST1kJCTB4M2IKICNkZWZpbmUgRFJNX0k5MTVfR0VNX01N QVBfT0ZGU0VUICAgCURSTV9JOTE1X0dFTV9NTUFQX0dUVAorI2RlZmluZSBEUk1fSTkxNV9HRU1f T0JKRUNUX1NFVFBBUkFNCURSTV9JOTE1X0dFTV9DT05URVhUX1NFVFBBUkFNCiAvKiBNdXN0IGJl IGtlcHQgY29tcGFjdCAtLSBubyBob2xlcyAqLwogCiAjZGVmaW5lIERSTV9JT0NUTF9JOTE1X0lO SVQJCURSTV9JT1coIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9JTklULCBkcm1faTkxNV9p bml0X3QpCkBAIC00MjMsNiArNDI0LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX2RybV9pOTE1X3NhcmVh IHsKICNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfR0VNX1ZNX0NSRUFURQlEUk1fSU9XUihEUk1fQ09N TUFORF9CQVNFICsgRFJNX0k5MTVfR0VNX1ZNX0NSRUFURSwgc3RydWN0IGRybV9pOTE1X2dlbV92 bV9jb250cm9sKQogI2RlZmluZSBEUk1fSU9DVExfSTkxNV9HRU1fVk1fREVTVFJPWQlEUk1fSU9X IChEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfR0VNX1ZNX0RFU1RST1ksIHN0cnVjdCBkcm1f aTkxNV9nZW1fdm1fY29udHJvbCkKICNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfR0VNX01NQVBfT0ZG U0VUCQlEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfR0VNX01NQVBfT0ZGU0VU LCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX21tYXBfb2Zmc2V0KQorI2RlZmluZSBEUk1fSU9DVExfSTkx NV9HRU1fT0JKRUNUX1NFVFBBUkFNCURSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkx NV9HRU1fT0JKRUNUX1NFVFBBUkFNLCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdF9wYXJhbSkK IAogLyogQWxsb3cgZHJpdmVycyB0byBzdWJtaXQgYmF0Y2hidWZmZXJzIGRpcmVjdGx5IHRvIGhh cmR3YXJlLCByZWx5aW5nCiAgKiBvbiB0aGUgc2VjdXJpdHkgbWVjaGFuaXNtcyBwcm92aWRlZCBi eSBoYXJkd2FyZS4KQEAgLTE2MDEsNiArMTYwMywyNyBAQCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2Nv bnRleHRfcGFyYW0gewogCV9fdTY0IHZhbHVlOwogfTsKIAorc3RydWN0IGRybV9pOTE1X2dlbV9v YmplY3RfcGFyYW0geworCS8qKiBIYW5kbGUgZm9yIHRoZSBvYmplY3QgKi8KKwlfX3UzMiBoYW5k bGU7CisKKwlfX3UzMiBzaXplOworCisJLyoqIFNldCB0aGUgbWVtb3J5IHJlZ2lvbiBmb3IgdGhl IG9iamVjdCBsaXN0ZWQgaW4gcHJlZmVyZW5jZSBvcmRlcgorCSAqICBhcyBhbiBhcnJheSBvZiBy ZWdpb24gaWRzIHdpdGhpbiBkYXRhLiBUbyBmb3JjZSBhbiBvYmplY3QKKwkgKiAgdG8gYSBwYXJ0 aWN1bGFyIG1lbW9yeSByZWdpb24sIHNldCB0aGUgcmVnaW9uIGFzIHRoZSBzb2xlIGVudHJ5Lgor CSAqCisJICogIFZhbGlkIHJlZ2lvbiBpZHMgYXJlIGRlcml2ZWQgZnJvbSB0aGUgaWQgZmllbGQg b2YKKwkgKiAgc3RydWN0IGRybV9pOTE1X21lbW9yeV9yZWdpb25faW5mby4KKwkgKiAgU2VlIHN0 cnVjdCBkcm1faTkxNV9xdWVyeV9tZW1vcnlfcmVnaW9uX2luZm8uCisJICovCisjZGVmaW5lIEk5 MTVfT0JKRUNUX1BBUkFNICAoMXVsbDw8MzIpCisjZGVmaW5lIEk5MTVfUEFSQU1fTUVNT1JZX1JF R0lPTiAweDEKKwlfX3U2NCBwYXJhbTsKKworCV9fdTY0IGRhdGE7Cit9OworCiAvKioKICAqIENv bnRleHQgU1NFVSBwcm9ncmFtbWluZwogICoKLS0gCjIuMjAuMQoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4