From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [CI 2/2] drm/i915: Treat WC a separate cache domain Date: Wed, 12 Apr 2017 12:01:11 +0100 Message-ID: <20170412110111.26626-2-chris@chris-wilson.co.uk> References: <20170412110111.26626-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wr0-x243.google.com (mail-wr0-x243.google.com [IPv6:2a00:1450:400c:c0c::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id AAA126E6D0 for ; Wed, 12 Apr 2017 11:01:15 +0000 (UTC) Received: by mail-wr0-x243.google.com with SMTP id u18so3646069wrc.1 for ; Wed, 12 Apr 2017 04:01:15 -0700 (PDT) Received: from haswell.alporthouse.com ([78.156.65.138]) by smtp.gmail.com with ESMTPSA id b10sm6118466wme.22.2017.04.12.04.01.12 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 12 Apr 2017 04:01:12 -0700 (PDT) In-Reply-To: <20170412110111.26626-1-chris@chris-wilson.co.uk> 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 List-Id: intel-gfx@lists.freedesktop.org V2hlbiBkaXNjdXNzaW5nIGEgbmV3IFdDIG1tYXAsIHdlIGJhc2VkIHRoZSBpbnRlcmZhY2UgdXBv biB0aGUKYXNzdW1wdGlvbiB0aGF0IEdUVCB3YXMgZnVsbHkgY29oZXJlbnQuIEhvdyBuYWl2ZSEg Q29tbWl0cyAzYjU3MjRkNzAyZWYKKCJkcm0vaTkxNTogV2FpdCBmb3Igd3JpdGVzIHRocm91Z2gg dGhlIEdUVCB0byBsYW5kIGJlZm9yZSByZWFkaW5nCmJhY2siKSBhbmQgZWQ0NTk2ZWE5OTJkICgi ZHJtL2k5MTUvZ3VjOiBXQSB0byBhZGRyZXNzIHRoZSBSaW5nYnVmZmVyCmNvaGVyZW5jeSBpc3N1 ZSIpIGRlbW9uc3RyYXRlIHRoYXQgd3JpdGVzIHRocm91Z2ggdGhlIEdUVCBhcmUgaW5kZWVkCmRl bGF5ZWQgYW5kIG1heSBiZSBvdmVydGFrZW4gYnkgZGlyZWN0IFdDIGFjY2Vzcy4gVG8gYmUgc2Fm ZSwgaWYKdXNlcnNwYWNlIGlzIG1peGluZyBXQyBtbWFwcyB3aXRoIG90aGVyIHBvdGVudGlhbCBH VFQgYWNjZXNzIChwd3JpdGUsCkdUVCBtbWFwcykgaXQgc2hvdWxkIHVzZSBzZXRfZG9tYWluKFdD KS4KCkJ1Z3ppbGxhOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9p ZD05NjU2MwpUZXN0Y2FzZTogaWd0L2dlbV9wd3JpdGUvc21hbGwtZ3R0KgpUZXN0Y2FzZTogaWd0 L2Rydl9zZWxmdGVzdC9jb2hlcmVuY3kKU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJp c0BjaHJpcy13aWxzb24uY28udWs+ClJldmlld2VkLWJ5OiBKb29uYXMgTGFodGluZW4gPGpvb25h cy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaCAgICAgICAgICAgICAgICAgICAgfCAgNSArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW0uYyAgICAgICAgICAgICAgICAgICAgfCA3NiArKysrKysrKysrKysrKysrKysrKy0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9nLmMgICAgICAgICAgICAgICB8ICA2 ICstCiAuLi4vZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9jb2hlcmVuY3kuYyAgICB8 IDEwICstLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX3JlcXVlc3Qu YyAgfCAgMiArLQogaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oICAgICAgICAgICAgICAgICAg ICAgICAgfCAgMiArCiA2IGZpbGVzIGNoYW5nZWQsIDg1IGluc2VydGlvbnMoKyksIDE2IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IGVkMDc5YzI0NGI1ZC4uMWFmNGU2 ZjU0MTBjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTM0NTMsOCArMzQ1Myw5IEBAIGlu dCBpOTE1X2dlbV9vYmplY3Rfd2FpdF9wcmlvcml0eShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqb2JqLAogI2RlZmluZSBJOTE1X1BSSU9SSVRZX0RJU1BMQVkgSTkxNV9QUklPUklUWV9NQVgK IAogaW50IF9fbXVzdF9jaGVjawotaTkxNV9nZW1fb2JqZWN0X3NldF90b19ndHRfZG9tYWluKHN0 cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCi0JCQkJICBib29sIHdyaXRlKTsKK2k5MTVf Z2VtX29iamVjdF9zZXRfdG9fd2NfZG9tYWluKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpv YmosIGJvb2wgd3JpdGUpOworaW50IF9fbXVzdF9jaGVjaworaTkxNV9nZW1fb2JqZWN0X3NldF90 b19ndHRfZG9tYWluKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosIGJvb2wgd3JpdGUp OwogaW50IF9fbXVzdF9jaGVjawogaTkxNV9nZW1fb2JqZWN0X3NldF90b19jcHVfZG9tYWluKHN0 cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosIGJvb2wgd3JpdGUpOwogc3RydWN0IGk5MTVf dm1hICogX19tdXN0X2NoZWNrCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwppbmRleCBmMWMyODY2OGVk YmYuLjMzZmIxMWNjNWFjYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCkBAIC0xNjM3LDEwICsx NjM3LDEyIEBAIGk5MTVfZ2VtX3NldF9kb21haW5faW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRl diwgdm9pZCAqZGF0YSwKIAlpZiAoZXJyKQogCQlnb3RvIG91dF91bnBpbjsKIAotCWlmIChyZWFk X2RvbWFpbnMgJiBJOTE1X0dFTV9ET01BSU5fR1RUKQotCQllcnIgPSBpOTE1X2dlbV9vYmplY3Rf c2V0X3RvX2d0dF9kb21haW4ob2JqLCB3cml0ZV9kb21haW4gIT0gMCk7CisJaWYgKHJlYWRfZG9t YWlucyAmIEk5MTVfR0VNX0RPTUFJTl9XQykKKwkJZXJyID0gaTkxNV9nZW1fb2JqZWN0X3NldF90 b193Y19kb21haW4ob2JqLCB3cml0ZV9kb21haW4pOworCWVsc2UgaWYgKHJlYWRfZG9tYWlucyAm IEk5MTVfR0VNX0RPTUFJTl9HVFQpCisJCWVyciA9IGk5MTVfZ2VtX29iamVjdF9zZXRfdG9fZ3R0 X2RvbWFpbihvYmosIHdyaXRlX2RvbWFpbik7CiAJZWxzZQotCQllcnIgPSBpOTE1X2dlbV9vYmpl Y3Rfc2V0X3RvX2NwdV9kb21haW4ob2JqLCB3cml0ZV9kb21haW4gIT0gMCk7CisJCWVyciA9IGk5 MTVfZ2VtX29iamVjdF9zZXRfdG9fY3B1X2RvbWFpbihvYmosIHdyaXRlX2RvbWFpbik7CiAKIAkv KiBBbmQgYnVtcCB0aGUgTFJVIGZvciB0aGlzIGFjY2VzcyAqLwogCWk5MTVfZ2VtX29iamVjdF9i dW1wX2luYWN0aXZlX2dndHQob2JqKTsKQEAgLTE3ODQsNiArMTc4Niw5IEBAIHN0YXRpYyB1bnNp Z25lZCBpbnQgdGlsZV9yb3dfcGFnZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikK ICAqICAgICBpbnRvIHVzZXJzcGFjZS4gKFRoaXMgdmlldyBpcyBhbGlnbmVkIGFuZCBzaXplZCBh cHByb3ByaWF0ZWx5IGZvcgogICogICAgIGZlbmNlZCBhY2Nlc3MuKQogICoKKyAqIDIgLSBSZWNv Z25pc2UgV0MgYXMgYSBzZXBhcmF0ZSBjYWNoZSBkb21haW4gc28gdGhhdCB3ZSBjYW4gZmx1c2gg dGhlCisgKiAgICAgZGVsYXllZCB3cml0ZXMgdmlhIEdUVCBiZWZvcmUgcGVyZm9ybWluZyBkaXJl Y3QgYWNjZXNzIHZpYSBXQy4KKyAqCiAgKiBSZXN0cmljdGlvbnM6CiAgKgogICogICogc25vb3Bh YmxlIG9iamVjdHMgY2Fubm90IGJlIGFjY2Vzc2VkIHZpYSB0aGUgR1RULiBJdCBjYW4gY2F1c2Ug bWFjaGluZQpAQCAtMTgxMSw3ICsxODE2LDcgQEAgc3RhdGljIHVuc2lnbmVkIGludCB0aWxlX3Jv d19wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogICovCiBpbnQgaTkxNV9n ZW1fbW1hcF9ndHRfdmVyc2lvbih2b2lkKQogewotCXJldHVybiAxOworCXJldHVybiAyOwogfQog CiBzdGF0aWMgaW5saW5lIHN0cnVjdCBpOTE1X2dndHRfdmlldwpAQCAtMzM4Nyw2ICszMzkyLDY5 IEBAIHZvaWQgaTkxNV9nZW1fb2JqZWN0X2ZsdXNoX2lmX2Rpc3BsYXkoc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKm9iaikKIH0KIAogLyoqCisgKiBNb3ZlcyBhIHNpbmdsZSBvYmplY3QgdG8g dGhlIFdDIHJlYWQsIGFuZCBwb3NzaWJseSB3cml0ZSBkb21haW4uCisgKiBAb2JqOiBvYmplY3Qg dG8gYWN0IG9uCisgKiBAd3JpdGU6IGFzayBmb3Igd3JpdGUgYWNjZXNzIG9yIHJlYWQgb25seQor ICoKKyAqIFRoaXMgZnVuY3Rpb24gcmV0dXJucyB3aGVuIHRoZSBtb3ZlIGlzIGNvbXBsZXRlLCBp bmNsdWRpbmcgd2FpdGluZyBvbgorICogZmx1c2hlcyB0byBvY2N1ci4KKyAqLworaW50CitpOTE1 X2dlbV9vYmplY3Rfc2V0X3RvX3djX2RvbWFpbihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAq b2JqLCBib29sIHdyaXRlKQoreworCWludCByZXQ7CisKKwlsb2NrZGVwX2Fzc2VydF9oZWxkKCZv YmotPmJhc2UuZGV2LT5zdHJ1Y3RfbXV0ZXgpOworCisJcmV0ID0gaTkxNV9nZW1fb2JqZWN0X3dh aXQob2JqLAorCQkJCSAgIEk5MTVfV0FJVF9JTlRFUlJVUFRJQkxFIHwKKwkJCQkgICBJOTE1X1dB SVRfTE9DS0VEIHwKKwkJCQkgICAod3JpdGUgPyBJOTE1X1dBSVRfQUxMIDogMCksCisJCQkJICAg TUFYX1NDSEVEVUxFX1RJTUVPVVQsCisJCQkJICAgTlVMTCk7CisJaWYgKHJldCkKKwkJcmV0dXJu IHJldDsKKworCWlmIChvYmotPmJhc2Uud3JpdGVfZG9tYWluID09IEk5MTVfR0VNX0RPTUFJTl9X QykKKwkJcmV0dXJuIDA7CisKKwkvKiBGbHVzaCBhbmQgYWNxdWlyZSBvYmotPnBhZ2VzIHNvIHRo YXQgd2UgYXJlIGNvaGVyZW50IHRocm91Z2gKKwkgKiBkaXJlY3QgYWNjZXNzIGluIG1lbW9yeSB3 aXRoIHByZXZpb3VzIGNhY2hlZCB3cml0ZXMgdGhyb3VnaAorCSAqIHNobWVtZnMgYW5kIHRoYXQg b3VyIGNhY2hlIGRvbWFpbiB0cmFja2luZyByZW1haW5zIHZhbGlkLgorCSAqIEZvciBleGFtcGxl LCBpZiB0aGUgb2JqLT5maWxwIHdhcyBtb3ZlZCB0byBzd2FwIHdpdGhvdXQgdXMKKwkgKiBiZWlu ZyBub3RpZmllZCBhbmQgcmVsZWFzaW5nIHRoZSBwYWdlcywgd2Ugd291bGQgbWlzdGFrZW5seQor CSAqIGNvbnRpbnVlIHRvIGFzc3VtZSB0aGF0IHRoZSBvYmogcmVtYWluZWQgb3V0IG9mIHRoZSBD UFUgY2FjaGVkCisJICogZG9tYWluLgorCSAqLworCXJldCA9IGk5MTVfZ2VtX29iamVjdF9waW5f cGFnZXMob2JqKTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCisJZmx1c2hfd3JpdGVfZG9t YWluKG9iaiwgfkk5MTVfR0VNX0RPTUFJTl9XQyk7CisKKwkvKiBTZXJpYWxpc2UgZGlyZWN0IGFj Y2VzcyB0byB0aGlzIG9iamVjdCB3aXRoIHRoZSBiYXJyaWVycyBmb3IKKwkgKiBjb2hlcmVudCB3 cml0ZXMgZnJvbSB0aGUgR1BVLCBieSBlZmZlY3RpdmVseSBpbnZhbGlkYXRpbmcgdGhlCisJICog V0MgZG9tYWluIHVwb24gZmlyc3QgYWNjZXNzLgorCSAqLworCWlmICgob2JqLT5iYXNlLnJlYWRf ZG9tYWlucyAmIEk5MTVfR0VNX0RPTUFJTl9XQykgPT0gMCkKKwkJbWIoKTsKKworCS8qIEl0IHNo b3VsZCBub3cgYmUgb3V0IG9mIGFueSBvdGhlciB3cml0ZSBkb21haW5zLCBhbmQgd2UgY2FuIHVw ZGF0ZQorCSAqIHRoZSBkb21haW4gdmFsdWVzIGZvciBvdXIgY2hhbmdlcy4KKwkgKi8KKwlHRU1f QlVHX09OKChvYmotPmJhc2Uud3JpdGVfZG9tYWluICYgfkk5MTVfR0VNX0RPTUFJTl9XQykgIT0g MCk7CisJb2JqLT5iYXNlLnJlYWRfZG9tYWlucyB8PSBJOTE1X0dFTV9ET01BSU5fV0M7CisJaWYg KHdyaXRlKSB7CisJCW9iai0+YmFzZS5yZWFkX2RvbWFpbnMgPSBJOTE1X0dFTV9ET01BSU5fV0M7 CisJCW9iai0+YmFzZS53cml0ZV9kb21haW4gPSBJOTE1X0dFTV9ET01BSU5fV0M7CisJCW9iai0+ bW0uZGlydHkgPSB0cnVlOworCX0KKworCWk5MTVfZ2VtX29iamVjdF91bnBpbl9wYWdlcyhvYmop OworCXJldHVybiAwOworfQorCisvKioKICAqIE1vdmVzIGEgc2luZ2xlIG9iamVjdCB0byB0aGUg R1RUIHJlYWQsIGFuZCBwb3NzaWJseSB3cml0ZSBkb21haW4uCiAgKiBAb2JqOiBvYmplY3QgdG8g YWN0IG9uCiAgKiBAd3JpdGU6IGFzayBmb3Igd3JpdGUgYWNjZXNzIG9yIHJlYWQgb25seQpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xvZy5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xvZy5jCmluZGV4IDZmYjYzYTNjNjViMC4uMTZkM2I4NzE5 Y2FiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9nLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xvZy5jCkBAIC0zNTksMTIgKzM1OSwx NiBAQCBzdGF0aWMgaW50IGd1Y19sb2dfcnVudGltZV9jcmVhdGUoc3RydWN0IGludGVsX2d1YyAq Z3VjKQogCXZvaWQgKnZhZGRyOwogCXN0cnVjdCByY2hhbiAqZ3VjX2xvZ19yZWxheV9jaGFuOwog CXNpemVfdCBuX3N1YmJ1ZnMsIHN1YmJ1Zl9zaXplOwotCWludCByZXQgPSAwOworCWludCByZXQ7 CiAKIAlsb2NrZGVwX2Fzc2VydF9oZWxkKCZkZXZfcHJpdi0+ZHJtLnN0cnVjdF9tdXRleCk7CiAK IAlHRU1fQlVHX09OKGd1Y19sb2dfaGFzX3J1bnRpbWUoZ3VjKSk7CiAKKwlyZXQgPSBpOTE1X2dl bV9vYmplY3Rfc2V0X3RvX3djX2RvbWFpbihndWMtPmxvZy52bWEtPm9iaiwgdHJ1ZSk7CisJaWYg KHJldCkKKwkJcmV0dXJuIHJldDsKKwogCS8qIENyZWF0ZSBhIFdDIChVbmNhY2hlZCBmb3IgcmVh ZCkgdm1hbGxvYyBtYXBwaW5nIG9mIGxvZwogCSAqIGJ1ZmZlciBwYWdlcywgc28gdGhhdCB3ZSBj YW4gZGlyZWN0bHkgZ2V0IHRoZSBkYXRhCiAJICogKHVwLXRvLWRhdGUpIGZyb20gbWVtb3J5Lgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2NvaGVy ZW5jeS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2NvaGVyZW5j eS5jCmluZGV4IGM2MWQwZWYyMTE4Yy4uOTVkNGFlYmMwMTgxIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fY29oZXJlbmN5LmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2NvaGVyZW5jeS5jCkBAIC0xMzgsMTAg KzEzOCw3IEBAIHN0YXRpYyBpbnQgd2Nfc2V0KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpv YmosCiAJdHlwZW9mKHYpICptYXA7CiAJaW50IGVycjsKIAotCS8qIFhYWCBHVFQgd3JpdGUgZm9s bG93ZWQgYnkgV0Mgd3JpdGUgZ28gbWlzc2luZyAqLwotCWZsdXNoX3dyaXRlX2RvbWFpbihvYmos IH4wKTsKLQotCWVyciA9IGk5MTVfZ2VtX29iamVjdF9zZXRfdG9fZ3R0X2RvbWFpbihvYmosIHRy dWUpOworCWVyciA9IGk5MTVfZ2VtX29iamVjdF9zZXRfdG9fd2NfZG9tYWluKG9iaiwgdHJ1ZSk7 CiAJaWYgKGVycikKIAkJcmV0dXJuIGVycjsKIApAQCAtMTYyLDEwICsxNTksNyBAQCBzdGF0aWMg aW50IHdjX2dldChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCXR5cGVvZih2KSBt YXA7CiAJaW50IGVycjsKIAotCS8qIFhYWCBXQyB3cml0ZSBmb2xsb3dlZCBieSBHVFQgd3JpdGUg Z28gbWlzc2luZyAqLwotCWZsdXNoX3dyaXRlX2RvbWFpbihvYmosIH4wKTsKLQotCWVyciA9IGk5 MTVfZ2VtX29iamVjdF9zZXRfdG9fZ3R0X2RvbWFpbihvYmosIGZhbHNlKTsKKwllcnIgPSBpOTE1 X2dlbV9vYmplY3Rfc2V0X3RvX3djX2RvbWFpbihvYmosIGZhbHNlKTsKIAlpZiAoZXJyKQogCQly ZXR1cm4gZXJyOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMv aTkxNV9nZW1fcmVxdWVzdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVf Z2VtX3JlcXVlc3QuYwppbmRleCA5OGI3YWFjNDFlZWMuLjY2NjRjYjJlYjBiOCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX3JlcXVlc3QuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fcmVxdWVzdC5jCkBAIC01 ODAsNyArNTgwLDcgQEAgc3RhdGljIHN0cnVjdCBpOTE1X3ZtYSAqcmVjdXJzaXZlX2JhdGNoKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogCWlmIChlcnIpCiAJCWdvdG8gZXJyOwogCi0J ZXJyID0gaTkxNV9nZW1fb2JqZWN0X3NldF90b19ndHRfZG9tYWluKG9iaiwgdHJ1ZSk7CisJZXJy ID0gaTkxNV9nZW1fb2JqZWN0X3NldF90b193Y19kb21haW4ob2JqLCB0cnVlKTsKIAlpZiAoZXJy KQogCQlnb3RvIGVycjsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5o IGIvaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oCmluZGV4IDM1NTQ0OTViZWYxMy4uOWVlMDZl YzhhMmQ2IDEwMDY0NAotLS0gYS9pbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmgKKysrIGIvaW5j bHVkZS91YXBpL2RybS9pOTE1X2RybS5oCkBAIC02NjYsNiArNjY2LDggQEAgc3RydWN0IGRybV9p OTE1X2dlbV9yZWxvY2F0aW9uX2VudHJ5IHsKICNkZWZpbmUgSTkxNV9HRU1fRE9NQUlOX1ZFUlRF WAkJMHgwMDAwMDAyMAogLyoqIEdUVCBkb21haW4gLSBhcGVydHVyZSBhbmQgc2Nhbm91dCAqLwog I2RlZmluZSBJOTE1X0dFTV9ET01BSU5fR1RUCQkweDAwMDAwMDQwCisvKiogV0MgZG9tYWluIC0g dW5jYWNoZWQgYWNjZXNzICovCisjZGVmaW5lIEk5MTVfR0VNX0RPTUFJTl9XQwkJMHgwMDAwMDA4 MAogLyoqIEB9ICovCiAKIHN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19vYmplY3QgewotLSAKMi4x MS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK