From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH v3 05/37] drm/i915/region: support volatile objects Date: Fri, 9 Aug 2019 23:26:11 +0100 Message-ID: <20190809222643.23142-6-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: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: intel-gfx@lists.freedesktop.org Cc: Abdiel Janulgue , CQ Tang , dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Vm9sYXRpbGUgb2JqZWN0cyBhcmUgbWFya2VkIGFzIERPTlRORUVEIHdoaWxlIHBpbm5lZCwgdGhl cmVmb3JlIG9uY2UKdW5waW5uZWQgdGhlIGJhY2tpbmcgc3RvcmUgY2FuIGJlIGRpc2NhcmRlZC4K ClNpZ25lZC1vZmYtYnk6IE1hdHRoZXcgQXVsZCA8bWF0dGhldy5hdWxkQGludGVsLmNvbT4KU2ln bmVkLW9mZi1ieTogQ1EgVGFuZyA8Y3EudGFuZ0BpbnRlbC5jb20+CkNjOiBKb29uYXMgTGFodGlu ZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+CkNjOiBBYmRpZWwgSmFudWxndWUg PGFiZGllbC5qYW51bGd1ZUBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ2VtL2k5MTVfZ2VtX2ludGVybmFsLmMgIHwgMTcgKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmggICAgfCAgNiArKwogLi4uL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fb2JqZWN0X3R5cGVzLmggIHwgIDMgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2dlbS9pOTE1X2dlbV9wYWdlcy5jICAgICB8ICA2ICsrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fcmVnaW9uLmMgICAgfCAgNyArKy0KIC4uLi9ncHUvZHJtL2k5MTUvZ2VtL3Nl bGZ0ZXN0cy9odWdlX3BhZ2VzLmMgICB8IDEyICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3Nl bGZ0ZXN0cy9pOTE1X2dlbV9ndHQuYyB8ICA1ICstCiAuLi4vZHJtL2k5MTUvc2VsZnRlc3RzL2lu dGVsX21lbW9yeV9yZWdpb24uYyAgfCA1NiArKysrKysrKysrKysrKysrKysrCiA4IGZpbGVzIGNo YW5nZWQsIDkxIGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9pbnRlcm5hbC5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2ludGVybmFsLmMKaW5kZXggMGM0MWUwNGFiOGZhLi41ZTcy Y2IxY2MyZDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9p bnRlcm5hbC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9pbnRlcm5h bC5jCkBAIC0xMTcsMTMgKzExNyw2IEBAIHN0YXRpYyBpbnQgaTkxNV9nZW1fb2JqZWN0X2dldF9w YWdlc19pbnRlcm5hbChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCQlnb3RvIGVy cjsKIAl9CiAKLQkvKiBNYXJrIHRoZSBwYWdlcyBhcyBkb250bmVlZCB3aGlsc3QgdGhleSBhcmUg c3RpbGwgcGlubmVkLiBBcyBzb29uCi0JICogYXMgdGhleSBhcmUgdW5waW5uZWQgdGhleSBhcmUg YWxsb3dlZCB0byBiZSByZWFwZWQgYnkgdGhlIHNocmlua2VyLAotCSAqIGFuZCB0aGUgY2FsbGVy IGlzIGV4cGVjdGVkIHRvIHJlcG9wdWxhdGUgLSB0aGUgY29udGVudHMgb2YgdGhpcwotCSAqIG9i amVjdCBhcmUgb25seSB2YWxpZCB3aGlsc3QgYWN0aXZlIGFuZCBwaW5uZWQuCi0JICovCi0Jb2Jq LT5tbS5tYWR2ID0gSTkxNV9NQURWX0RPTlRORUVEOwotCiAJX19pOTE1X2dlbV9vYmplY3Rfc2V0 X3BhZ2VzKG9iaiwgc3QsIHNnX3BhZ2Vfc2l6ZXMpOwogCiAJcmV0dXJuIDA7CkBAIC0xNDMsNyAr MTM2LDYgQEAgc3RhdGljIHZvaWQgaTkxNV9nZW1fb2JqZWN0X3B1dF9wYWdlc19pbnRlcm5hbChz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCWludGVybmFsX2ZyZWVfcGFnZXMocGFn ZXMpOwogCiAJb2JqLT5tbS5kaXJ0eSA9IGZhbHNlOwotCW9iai0+bW0ubWFkdiA9IEk5MTVfTUFE Vl9XSUxMTkVFRDsKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 X29wcyBpOTE1X2dlbV9vYmplY3RfaW50ZXJuYWxfb3BzID0gewpAQCAtMTg4LDYgKzE4MCwxNSBA QCBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX2ludGVybmFsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICppOTE1LAogCWRybV9nZW1fcHJpdmF0ZV9vYmplY3RfaW5pdCgmaTkxNS0+ZHJtLCAmb2JqLT5i YXNlLCBzaXplKTsKIAlpOTE1X2dlbV9vYmplY3RfaW5pdChvYmosICZpOTE1X2dlbV9vYmplY3Rf aW50ZXJuYWxfb3BzKTsKIAorCS8qCisJICogTWFyayB0aGUgb2JqZWN0IGFzIHZvbGF0aWxlLCBz dWNoIHRoYXQgdGhlIHBhZ2VzIGFyZSBtYXJrZWQgYXMKKwkgKiBkb250bmVlZCB3aGlsc3QgdGhl eSBhcmUgc3RpbGwgcGlubmVkLiBBcyBzb29uIGFzIHRoZXkgYXJlIHVucGlubmVkCisJICogdGhl eSBhcmUgYWxsb3dlZCB0byBiZSByZWFwZWQgYnkgdGhlIHNocmlua2VyLCBhbmQgdGhlIGNhbGxl ciBpcworCSAqIGV4cGVjdGVkIHRvIHJlcG9wdWxhdGUgLSB0aGUgY29udGVudHMgb2YgdGhpcyBv YmplY3QgYXJlIG9ubHkgdmFsaWQKKwkgKiB3aGlsc3QgYWN0aXZlIGFuZCBwaW5uZWQuCisJICov CisJb2JqLT5mbGFncyA9IEk5MTVfQk9fQUxMT0NfVk9MQVRJTEU7CisKIAlvYmotPnJlYWRfZG9t YWlucyA9IEk5MTVfR0VNX0RPTUFJTl9DUFU7CiAJb2JqLT53cml0ZV9kb21haW4gPSBJOTE1X0dF TV9ET01BSU5fQ1BVOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkx NV9nZW1fb2JqZWN0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0 LmgKaW5kZXggMzcxNGNmMjM0ZDY0Li4xYWY4MzgwNTBkNmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmgKQEAgLTEyMiw2ICsxMjIsMTIgQEAgaTkxNV9nZW1f b2JqZWN0X2xvY2tfZmVuY2Uoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaik7CiB2b2lk IGk5MTVfZ2VtX29iamVjdF91bmxvY2tfZmVuY2Uoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Qg Km9iaiwKIAkJCQkgIHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlKTsKIAorc3RhdGljIGlubGluZSBi b29sCitpOTE1X2dlbV9vYmplY3RfaXNfdm9sYXRpbGUoY29uc3Qgc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3QgKm9iaikKK3sKKwlyZXR1cm4gb2JqLT5mbGFncyAmIEk5MTVfQk9fQUxMT0NfVk9M QVRJTEU7Cit9CisKIHN0YXRpYyBpbmxpbmUgdm9pZAogaTkxNV9nZW1fb2JqZWN0X3NldF9yZWFk b25seShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogewpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdF90eXBlcy5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdF90eXBlcy5oCmluZGV4IGViOTIyNDNkNDcz Yi4uMjE0MmQ3NGE1N2VhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkx NV9nZW1fb2JqZWN0X3R5cGVzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVf Z2VtX29iamVjdF90eXBlcy5oCkBAIC0xMTgsNyArMTE4LDggQEAgc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3QgewogCiAJdW5zaWduZWQgbG9uZyBmbGFnczsKICNkZWZpbmUgSTkxNV9CT19BTExP Q19DT05USUdVT1VTIEJJVCgwKQotI2RlZmluZSBJOTE1X0JPX0FMTE9DX0ZMQUdTIChJOTE1X0JP X0FMTE9DX0NPTlRJR1VPVVMpCisjZGVmaW5lIEk5MTVfQk9fQUxMT0NfVk9MQVRJTEUgICBCSVQo MSkKKyNkZWZpbmUgSTkxNV9CT19BTExPQ19GTEFHUyAoSTkxNV9CT19BTExPQ19DT05USUdVT1VT IHwgSTkxNV9CT19BTExPQ19WT0xBVElMRSkKIAogCS8qCiAJICogSXMgdGhlIG9iamVjdCB0byBi ZSBtYXBwZWQgYXMgcmVhZC1vbmx5IHRvIHRoZSBHUFUKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9wYWdlcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2Vt L2k5MTVfZ2VtX3BhZ2VzLmMKaW5kZXggMThmMGNlMDEzNWMxLi5kM2YwZGViZGI4NzUgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9wYWdlcy5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9wYWdlcy5jCkBAIC0xOCw2ICsxOCw5IEBA IHZvaWQgX19pOTE1X2dlbV9vYmplY3Rfc2V0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpvYmosCiAKIAlsb2NrZGVwX2Fzc2VydF9oZWxkKCZvYmotPm1tLmxvY2spOwogCisJaWYg KGk5MTVfZ2VtX29iamVjdF9pc192b2xhdGlsZShvYmopKQorCQlvYmotPm1tLm1hZHYgPSBJOTE1 X01BRFZfRE9OVE5FRUQ7CisKIAkvKiBNYWtlIHRoZSBwYWdlcyBjb2hlcmVudCB3aXRoIHRoZSBH UFUgKGZsdXNoaW5nIGFueSBzd2FwaW4pLiAqLwogCWlmIChvYmotPmNhY2hlX2RpcnR5KSB7CiAJ CW9iai0+d3JpdGVfZG9tYWluID0gMDsKQEAgLTE1OSw2ICsxNjIsOSBAQCBfX2k5MTVfZ2VtX29i amVjdF91bnNldF9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCWlmIChJ U19FUlJfT1JfTlVMTChwYWdlcykpCiAJCXJldHVybiBwYWdlczsKIAorCWlmIChpOTE1X2dlbV9v YmplY3RfaXNfdm9sYXRpbGUob2JqKSkKKwkJb2JqLT5tbS5tYWR2ID0gSTkxNV9NQURWX1dJTExO RUVEOworCiAJaTkxNV9nZW1fb2JqZWN0X21ha2VfdW5zaHJpbmthYmxlKG9iaik7CiAKIAlpZiAo b2JqLT5tbS5tYXBwaW5nKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0v aTkxNV9nZW1fcmVnaW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcmVn aW9uLmMKaW5kZXggZDljZDcyMmI1ZGJmLi4wZDA5ZGE5ZjcxNjggMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9yZWdpb24uYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9nZW0vaTkxNV9nZW1fcmVnaW9uLmMKQEAgLTEwOSw3ICsxMDksMTIgQEAgdm9pZCBp OTE1X2dlbV9vYmplY3RfaW5pdF9tZW1vcnlfcmVnaW9uKHN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpvYmosCiAJb2JqLT5mbGFncyA9IGZsYWdzOwogCiAJbXV0ZXhfbG9jaygmbWVtLT5vYmpf bG9jayk7Ci0JbGlzdF9hZGQoJm9iai0+bW0ucmVnaW9uX2xpbmssICZtZW0tPm9iamVjdHMpOwor CisJaWYgKG9iai0+ZmxhZ3MgJiBJOTE1X0JPX0FMTE9DX1ZPTEFUSUxFKQorCQlsaXN0X2FkZCgm b2JqLT5tbS5yZWdpb25fbGluaywgJm1lbS0+cHVyZ2VhYmxlKTsKKwllbHNlCisJCWxpc3RfYWRk KCZvYmotPm1tLnJlZ2lvbl9saW5rLCAmbWVtLT5vYmplY3RzKTsKKwogCW11dGV4X3VubG9jaygm bWVtLT5vYmpfbG9jayk7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dl bS9zZWxmdGVzdHMvaHVnZV9wYWdlcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0 ZXN0cy9odWdlX3BhZ2VzLmMKaW5kZXggNGM1OTRmOTBiNzc2Li42ZWFkNTM0NTVjNTEgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaHVnZV9wYWdlcy5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaHVnZV9wYWdlcy5jCkBAIC0x MTUsOCArMTE1LDYgQEAgc3RhdGljIGludCBnZXRfaHVnZV9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVf Z2VtX29iamVjdCAqb2JqKQogCWlmIChpOTE1X2dlbV9ndHRfcHJlcGFyZV9wYWdlcyhvYmosIHN0 KSkKIAkJZ290byBlcnI7CiAKLQlvYmotPm1tLm1hZHYgPSBJOTE1X01BRFZfRE9OVE5FRUQ7Ci0K IAlHRU1fQlVHX09OKHNnX3BhZ2Vfc2l6ZXMgIT0gb2JqLT5tbS5wYWdlX21hc2spOwogCV9faTkx NV9nZW1fb2JqZWN0X3NldF9wYWdlcyhvYmosIHN0LCBzZ19wYWdlX3NpemVzKTsKIApAQCAtMTM3 LDcgKzEzNSw2IEBAIHN0YXRpYyB2b2lkIHB1dF9odWdlX3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmosCiAJaHVnZV9wYWdlc19mcmVlX3BhZ2VzKHBhZ2VzKTsKIAogCW9iai0+ bW0uZGlydHkgPSBmYWxzZTsKLQlvYmotPm1tLm1hZHYgPSBJOTE1X01BRFZfV0lMTE5FRUQ7CiB9 CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdF9vcHMgaHVnZV9wYWdl X29wcyA9IHsKQEAgLTE3MCw2ICsxNjcsOCBAQCBodWdlX3BhZ2VzX29iamVjdChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqaTkxNSwKIAlkcm1fZ2VtX3ByaXZhdGVfb2JqZWN0X2luaXQoJmk5MTUt PmRybSwgJm9iai0+YmFzZSwgc2l6ZSk7CiAJaTkxNV9nZW1fb2JqZWN0X2luaXQob2JqLCAmaHVn ZV9wYWdlX29wcyk7CiAKKwlvYmotPmZsYWdzID0gSTkxNV9CT19BTExPQ19WT0xBVElMRTsKKwog CW9iai0+d3JpdGVfZG9tYWluID0gSTkxNV9HRU1fRE9NQUlOX0NQVTsKIAlvYmotPnJlYWRfZG9t YWlucyA9IEk5MTVfR0VNX0RPTUFJTl9DUFU7CiAJb2JqLT5jYWNoZV9sZXZlbCA9IEk5MTVfQ0FD SEVfTk9ORTsKQEAgLTIyOSw4ICsyMjgsNiBAQCBzdGF0aWMgaW50IGZha2VfZ2V0X2h1Z2VfcGFn ZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAogCWk5MTVfc2dfdHJpbShzdCk7 CiAKLQlvYmotPm1tLm1hZHYgPSBJOTE1X01BRFZfRE9OVE5FRUQ7Ci0KIAlfX2k5MTVfZ2VtX29i amVjdF9zZXRfcGFnZXMob2JqLCBzdCwgc2dfcGFnZV9zaXplcyk7CiAKIAlyZXR1cm4gMDsKQEAg LTI2Myw4ICsyNjAsNiBAQCBzdGF0aWMgaW50IGZha2VfZ2V0X2h1Z2VfcGFnZXNfc2luZ2xlKHN0 cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAJc2dfZG1hX2xlbihzZykgPSBvYmotPmJh c2Uuc2l6ZTsKIAlzZ19kbWFfYWRkcmVzcyhzZykgPSBwYWdlX3NpemU7CiAKLQlvYmotPm1tLm1h ZHYgPSBJOTE1X01BRFZfRE9OVE5FRUQ7Ci0KIAlfX2k5MTVfZ2VtX29iamVjdF9zZXRfcGFnZXMo b2JqLCBzdCwgc2ctPmxlbmd0aCk7CiAKIAlyZXR1cm4gMDsKQEAgLTI4Myw3ICsyNzgsNiBAQCBz dGF0aWMgdm9pZCBmYWtlX3B1dF9odWdlX3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpvYmosCiB7CiAJZmFrZV9mcmVlX2h1Z2VfcGFnZXMob2JqLCBwYWdlcyk7CiAJb2JqLT5tbS5k aXJ0eSA9IGZhbHNlOwotCW9iai0+bW0ubWFkdiA9IEk5MTVfTUFEVl9XSUxMTkVFRDsKIH0KIAog c3RhdGljIGNvbnN0IHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0X29wcyBmYWtlX29wcyA9IHsK QEAgLTMyMyw2ICszMTcsOCBAQCBmYWtlX2h1Z2VfcGFnZXNfb2JqZWN0KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICppOTE1LCB1NjQgc2l6ZSwgYm9vbCBzaW5nbGUpCiAJZWxzZQogCQlpOTE1X2dl bV9vYmplY3RfaW5pdChvYmosICZmYWtlX29wcyk7CiAKKwlvYmotPmZsYWdzID0gSTkxNV9CT19B TExPQ19WT0xBVElMRTsKKwogCW9iai0+d3JpdGVfZG9tYWluID0gSTkxNV9HRU1fRE9NQUlOX0NQ VTsKIAlvYmotPnJlYWRfZG9tYWlucyA9IEk5MTVfR0VNX0RPTUFJTl9DUFU7CiAJb2JqLT5jYWNo ZV9sZXZlbCA9IEk5MTVfQ0FDSEVfTk9ORTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9ndHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0 ZXN0cy9pOTE1X2dlbV9ndHQuYwppbmRleCAzMWE1MWNhMWRkY2IuLjgxODUwZTNhN2QyZCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2d0dC5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9ndHQuYwpAQCAtODgs OCArODgsNiBAQCBzdGF0aWMgaW50IGZha2VfZ2V0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmopCiAJfQogCUdFTV9CVUdfT04ocmVtKTsKIAotCW9iai0+bW0ubWFkdiA9IEk5 MTVfTUFEVl9ET05UTkVFRDsKLQogCV9faTkxNV9nZW1fb2JqZWN0X3NldF9wYWdlcyhvYmosIHBh Z2VzLCBzZ19wYWdlX3NpemVzKTsKIAogCXJldHVybiAwOwpAQCAtMTAxLDcgKzk5LDYgQEAgc3Rh dGljIHZvaWQgZmFrZV9wdXRfcGFnZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwK IHsKIAlmYWtlX2ZyZWVfcGFnZXMob2JqLCBwYWdlcyk7CiAJb2JqLT5tbS5kaXJ0eSA9IGZhbHNl OwotCW9iai0+bW0ubWFkdiA9IEk5MTVfTUFEVl9XSUxMTkVFRDsKIH0KIAogc3RhdGljIGNvbnN0 IHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0X29wcyBmYWtlX29wcyA9IHsKQEAgLTEyOCw2ICsx MjUsOCBAQCBmYWtlX2RtYV9vYmplY3Qoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsIHU2 NCBzaXplKQogCWRybV9nZW1fcHJpdmF0ZV9vYmplY3RfaW5pdCgmaTkxNS0+ZHJtLCAmb2JqLT5i YXNlLCBzaXplKTsKIAlpOTE1X2dlbV9vYmplY3RfaW5pdChvYmosICZmYWtlX29wcyk7CiAKKwlv YmotPmZsYWdzID0gSTkxNV9CT19BTExPQ19WT0xBVElMRTsKKwogCW9iai0+d3JpdGVfZG9tYWlu ID0gSTkxNV9HRU1fRE9NQUlOX0NQVTsKIAlvYmotPnJlYWRfZG9tYWlucyA9IEk5MTVfR0VNX0RP TUFJTl9DUFU7CiAJb2JqLT5jYWNoZV9sZXZlbCA9IEk5MTVfQ0FDSEVfTk9ORTsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF9tZW1vcnlfcmVnaW9uLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaW50ZWxfbWVtb3J5X3JlZ2lvbi5jCmlu ZGV4IDcwYjQ2N2Q0ZTgxMS4uZjk0ZTdlYWU5MGU5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9zZWxmdGVzdHMvaW50ZWxfbWVtb3J5X3JlZ2lvbi5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF9tZW1vcnlfcmVnaW9uLmMKQEAgLTI5NSwxMiArMjk1 LDY4IEBAIHN0YXRpYyBpbnQgaWd0X21vY2tfY29udGludW91cyh2b2lkICphcmcpCiAJcmV0dXJu IGVycjsKIH0KIAorc3RhdGljIGludCBpZ3RfbW9ja192b2xhdGlsZSh2b2lkICphcmcpCit7CisJ c3RydWN0IGludGVsX21lbW9yeV9yZWdpb24gKm1lbSA9IGFyZzsKKwlzdHJ1Y3QgZHJtX2k5MTVf Z2VtX29iamVjdCAqb2JqOworCWludCBlcnI7CisKKwlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3Jl YXRlX3JlZ2lvbihtZW0sIFBBR0VfU0laRSwgMCk7CisJaWYgKElTX0VSUihvYmopKQorCQlyZXR1 cm4gUFRSX0VSUihvYmopOworCisJZXJyID0gaTkxNV9nZW1fb2JqZWN0X3Bpbl9wYWdlcyhvYmop OworCWlmIChlcnIpCisJCWdvdG8gZXJyX3B1dDsKKworCWk5MTVfZ2VtX29iamVjdF91bnBpbl9w YWdlcyhvYmopOworCisJZXJyID0gaW50ZWxfbWVtb3J5X3JlZ2lvbl9ldmljdChtZW0sIFBBR0Vf U0laRSwgMCk7CisJaWYgKGVyciAhPSAtRU5PU1BDKSB7CisJCXByX2Vycigic2hyaW5rIG1lbW9y eSByZWdpb25cbiIpOworCQlnb3RvIGVycl9wdXQ7CisJfQorCisJaTkxNV9nZW1fb2JqZWN0X3B1 dChvYmopOworCisJb2JqID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9yZWdpb24obWVtLCBQQUdF X1NJWkUsIEk5MTVfQk9fQUxMT0NfVk9MQVRJTEUpOworCWlmIChJU19FUlIob2JqKSkKKwkJcmV0 dXJuIFBUUl9FUlIob2JqKTsKKworCWlmICghKG9iai0+ZmxhZ3MgJiBJOTE1X0JPX0FMTE9DX1ZP TEFUSUxFKSkgeworCQlwcl9lcnIoIm1pc3NpbmcgZmxhZ3NcbiIpOworCQlnb3RvIGVycl9wdXQ7 CisJfQorCisJZXJyID0gaTkxNV9nZW1fb2JqZWN0X3Bpbl9wYWdlcyhvYmopOworCWlmIChlcnIp CisJCWdvdG8gZXJyX3B1dDsKKworCWk5MTVfZ2VtX29iamVjdF91bnBpbl9wYWdlcyhvYmopOwor CisJZXJyID0gaW50ZWxfbWVtb3J5X3JlZ2lvbl9ldmljdChtZW0sIFBBR0VfU0laRSwgMCk7CisJ aWYgKGVycikgeworCQlwcl9lcnIoImZhaWxlZCB0byBzaHJpbmsgbWVtb3J5XG4iKTsKKwkJZ290 byBlcnJfcHV0OworCX0KKworCWlmIChpOTE1X2dlbV9vYmplY3RfaGFzX3BhZ2VzKG9iaikpIHsK KwkJcHJfZXJyKCJvYmplY3QgcGFnZXMgbm90IGRpc2NhcmRlZFxuIik7CisJCWVyciA9IC1FSU5W QUw7CisJfQorCitlcnJfcHV0OgorCWk5MTVfZ2VtX29iamVjdF9wdXQob2JqKTsKKwlyZXR1cm4g ZXJyOworfQorCiBpbnQgaW50ZWxfbWVtb3J5X3JlZ2lvbl9tb2NrX3NlbGZ0ZXN0cyh2b2lkKQog ewogCXN0YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9zdWJ0ZXN0IHRlc3RzW10gPSB7CiAJCVNVQlRF U1QoaWd0X21vY2tfZmlsbCksCiAJCVNVQlRFU1QoaWd0X21vY2tfc2hyaW5rKSwKIAkJU1VCVEVT VChpZ3RfbW9ja19jb250aW51b3VzKSwKKwkJU1VCVEVTVChpZ3RfbW9ja192b2xhdGlsZSksCiAJ fTsKIAlzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtOwogCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICppOTE1OwotLSAKMi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9kcmktZGV2ZWw=