From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 3/4] drm/i915: Add the CPU mapping of the hw context to the pinned items. Date: Wed, 7 Oct 2015 18:08:41 +0200 Message-ID: <20151007160841.GU3383@phenom.ffwll.local> References: <1444143124-16030-1-git-send-email-nicholas.hoath@intel.com> <1444143124-16030-4-git-send-email-nicholas.hoath@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f173.google.com (mail-wi0-f173.google.com [209.85.212.173]) by gabe.freedesktop.org (Postfix) with ESMTPS id 758D36EBD2 for ; Wed, 7 Oct 2015 09:05:48 -0700 (PDT) Received: by wicgb1 with SMTP id gb1so218298818wic.1 for ; Wed, 07 Oct 2015 09:05:46 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1444143124-16030-4-git-send-email-nicholas.hoath@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Nick Hoath Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBPY3QgMDYsIDIwMTUgYXQgMDM6NTI6MDNQTSArMDEwMCwgTmljayBIb2F0aCB3cm90 ZToKPiBQaW4gdGhlIGh3IGN0eCBtYXBwaW5nIHNvIHRoYXQgaXQgaXMgbm90IG1hcHBlZC91bm1h cHBlZCBwZXIgYmIKPiB3aGVuIGRvaW5nIEd1QyBzdWJtaXNzaW9uLgo+IAo+IElzc3VlOiBWSVot NDI3Nwo+IENjOiBEYXZpZCBHb3Jkb24gPGRhdmlkLnMuZ29yZG9uQGludGVsLmNvbT4KPiBTaWdu ZWQtb2ZmLWJ5OiBOaWNrIEhvYXRoIDxuaWNob2xhcy5ob2F0aEBpbnRlbC5jb20+Cj4gLS0tCj4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIHwgMTQgKysrKy0tLS0tLQo+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICB8ICA0ICsrLQo+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICB8IDU2ICsrKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0KPiAgMyBmaWxlcyBjaGFuZ2VkLCA1MCBpbnNlcnRpb25zKCspLCAyNCBkZWxl dGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1 Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+IGluZGV4IDNmMmE3 YTcuLmU2OGNmNWZhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVi dWdmcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiBAQCAt MTk3MCwxMCArMTk3MCw5IEBAIHN0YXRpYyBpbnQgaTkxNV9jb250ZXh0X3N0YXR1cyhzdHJ1Y3Qg c2VxX2ZpbGUgKm0sIHZvaWQgKnVudXNlZCkKPiAgCj4gIHN0YXRpYyB2b2lkIGk5MTVfZHVtcF9s cmNfb2JqKHN0cnVjdCBzZXFfZmlsZSAqbSwKPiAgCQkJICAgICAgc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqcmluZywKPiAtCQkJICAgICAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmN0eF9v YmopCj4gKwkJCSAgICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpjdHhfb2JqLAo+ICsJ CQkgICAgICB1aW50MzJfdCAqcmVnX3N0YXRlKQo+ICB7Cj4gLQlzdHJ1Y3QgcGFnZSAqcGFnZTsK PiAtCXVpbnQzMl90ICpyZWdfc3RhdGU7Cj4gIAlpbnQgajsKPiAgCXVuc2lnbmVkIGxvbmcgZ2d0 dF9vZmZzZXQgPSAwOwo+ICAKPiBAQCAtMTk5NiwxNyArMTk5NSwxMyBAQCBzdGF0aWMgdm9pZCBp OTE1X2R1bXBfbHJjX29iaihzdHJ1Y3Qgc2VxX2ZpbGUgKm0sCj4gIAkJcmV0dXJuOwo+ICAJfQo+ ICAKPiAtCXBhZ2UgPSBpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2UoY3R4X29iaiwgTFJDX1NUQVRF X1BOKTsKPiAtCWlmICghV0FSTl9PTihwYWdlID09IE5VTEwpKSB7Cj4gLQkJcmVnX3N0YXRlID0g a21hcF9hdG9taWMocGFnZSk7Cj4gLQo+ICsJaWYgKCFXQVJOX09OKHJlZ19zdGF0ZSA9PSBOVUxM KSkgewo+ICAJCWZvciAoaiA9IDA7IGogPCAweDYwMCAvIHNpemVvZih1MzIpIC8gNDsgaiArPSA0 KSB7Cj4gIAkJCXNlcV9wcmludGYobSwgIlx0WzB4JTA4bHhdIDB4JTA4eCAweCUwOHggMHglMDh4 IDB4JTA4eFxuIiwKPiAgCQkJCSAgIGdndHRfb2Zmc2V0ICsgNDA5NiArIChqICogNCksCj4gIAkJ CQkgICByZWdfc3RhdGVbal0sIHJlZ19zdGF0ZVtqICsgMV0sCj4gIAkJCQkgICByZWdfc3RhdGVb aiArIDJdLCByZWdfc3RhdGVbaiArIDNdKTsKPiAgCQl9Cj4gLQkJa3VubWFwX2F0b21pYyhyZWdf c3RhdGUpOwo+ICAJfQo+ICAKPiAgCXNlcV9wdXRjKG0sICdcbicpOwo+IEBAIC0yMDM0LDcgKzIw MjksOCBAQCBzdGF0aWMgaW50IGk5MTVfZHVtcF9scmMoc3RydWN0IHNlcV9maWxlICptLCB2b2lk ICp1bnVzZWQpCj4gIAkJZm9yX2VhY2hfcmluZyhyaW5nLCBkZXZfcHJpdiwgaSkgewo+ICAJCQlp ZiAocmluZy0+ZGVmYXVsdF9jb250ZXh0ICE9IGN0eCkKPiAgCQkJCWk5MTVfZHVtcF9scmNfb2Jq KG0sIHJpbmcsCj4gLQkJCQkJCSAgY3R4LT5lbmdpbmVbaV0uc3RhdGUpOwo+ICsJCQkJCQkgIGN0 eC0+ZW5naW5lW2ldLnN0YXRlLAo+ICsJCQkJCQkgIGN0eC0+ZW5naW5lW2ldLnJlZ19zdGF0ZSk7 Cj4gIAkJfQo+ICAJfQo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBpbmRleCBkNjYwZWUz Li5iNDlmZDEyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gQEAgLTg3OSw4ICs4Nzks MTAgQEAgc3RydWN0IGludGVsX2NvbnRleHQgewo+ICAJfSBsZWdhY3lfaHdfY3R4Owo+ICAKPiAg CS8qIEV4ZWNsaXN0cyAqLwo+IC0Jc3RydWN0IHsKPiArCXN0cnVjdCBpbnRlbF9jb250ZXh0X2Vu Z2luZSB7Cj4gIAkJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKnN0YXRlOwo+ICsJCXVpbnQz Ml90ICpyZWdfc3RhdGU7Cj4gKwkJc3RydWN0IHBhZ2UgKnBhZ2U7Cj4gIAkJc3RydWN0IGludGVs X3JpbmdidWZmZXIgKnJpbmdidWY7Cj4gIAkJaW50IHBpbl9jb3VudDsKPiAgCX0gZW5naW5lW0k5 MTVfTlVNX1JJTkdTXTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf bHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwo+IGluZGV4IGI4MDc5Mjgu LjU1YTRkZTU2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiBAQCAtMzYwLDE2ICsz NjAsMTMgQEAgc3RhdGljIGludCBleGVjbGlzdHNfdXBkYXRlX2NvbnRleHQoc3RydWN0IGRybV9p OTE1X2dlbV9yZXF1ZXN0ICpycSkKPiAgCXN0cnVjdCBpOTE1X2h3X3BwZ3R0ICpwcGd0dCA9IHJx LT5jdHgtPnBwZ3R0Owo+ICAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmN0eF9vYmogPSBy cS0+Y3R4LT5lbmdpbmVbcmluZy0+aWRdLnN0YXRlOwo+ICAJc3RydWN0IGRybV9pOTE1X2dlbV9v YmplY3QgKnJiX29iaiA9IHJxLT5yaW5nYnVmLT5vYmo7Cj4gLQlzdHJ1Y3QgcGFnZSAqcGFnZTsK PiAtCXVpbnQzMl90ICpyZWdfc3RhdGU7Cj4gKwl1aW50MzJfdCAqcmVnX3N0YXRlID0gcnEtPmN0 eC0+ZW5naW5lW3JpbmctPmlkXS5yZWdfc3RhdGU7Cj4gIAo+ICAJQlVHX09OKCFjdHhfb2JqKTsK PiArCVdBUk5fT04oIXJlZ19zdGF0ZSk7Cj4gIAlXQVJOX09OKCFpOTE1X2dlbV9vYmpfaXNfcGlu bmVkKGN0eF9vYmopKTsKPiAgCVdBUk5fT04oIWk5MTVfZ2VtX29ial9pc19waW5uZWQocmJfb2Jq KSk7Cj4gIAo+IC0JcGFnZSA9IGk5MTVfZ2VtX29iamVjdF9nZXRfcGFnZShjdHhfb2JqLCBMUkNf U1RBVEVfUE4pOwo+IC0JcmVnX3N0YXRlID0ga21hcF9hdG9taWMocGFnZSk7Cj4gLQo+ICAJcmVn X3N0YXRlW0NUWF9SSU5HX1RBSUwrMV0gPSBycS0+dGFpbDsKPiAgCXJlZ19zdGF0ZVtDVFhfUklO R19CVUZGRVJfU1RBUlQrMV0gPSBpOTE1X2dlbV9vYmpfZ2d0dF9vZmZzZXQocmJfb2JqKTsKPiAg Cj4gQEAgLTM4NSw4ICszODIsNiBAQCBzdGF0aWMgaW50IGV4ZWNsaXN0c191cGRhdGVfY29udGV4 dChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJxKQo+ICAJCUFTU0lHTl9DVFhfUERQKHBw Z3R0LCByZWdfc3RhdGUsIDApOwo+ICAJfQo+ICAKPiAtCWt1bm1hcF9hdG9taWMocmVnX3N0YXRl KTsKPiAtCj4gIAlyZXR1cm4gMDsKPiAgfQo+ICAKPiBAQCAtMTAwNCw3ICs5OTksMzEgQEAgaW50 IGxvZ2ljYWxfcmluZ19mbHVzaF9hbGxfY2FjaGVzKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVz dCAqcmVxKQo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAgCj4gLXN0YXRpYyBpbnQgaW50ZWxfbHJfY29u dGV4dF9kb19waW4oc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKPiArc3RhdGljIGludCBp bnRlbF9tbWFwX2h3X2NvbnRleHQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKPiAr CQlib29sIHVubWFwKQo+ICt7Cj4gKwlpbnQgcmV0ID0gMDsKPiArCXN0cnVjdCBpbnRlbF9jb250 ZXh0X2VuZ2luZSAqaWNlID0KPiArCQkJKHN0cnVjdCBpbnRlbF9jb250ZXh0X2VuZ2luZSAqKW9i ai0+bWFwcGFibGU7Cj4gKwlzdHJ1Y3QgcGFnZSAqcGFnZTsKPiArCXVpbnQzMl90ICpyZWdfc3Rh dGU7Cj4gKwo+ICsJaWYgKHVubWFwKSB7Cj4gKwkJa3VubWFwKGljZS0+cGFnZSk7Cj4gKwkJaWNl LT5yZWdfc3RhdGUgPSBOVUxMOwo+ICsJCWljZS0+cGFnZSA9IE5VTEw7Cj4gKwl9IGVsc2Ugewo+ ICsJCXBhZ2UgPSBpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2Uob2JqLCBMUkNfU1RBVEVfUE4pOwo+ ICsJCXJlZ19zdGF0ZSA9IGttYXAocGFnZSk7Cj4gKwkJaWNlLT5yZWdfc3RhdGUgPSByZWdfc3Rh dGU7Cj4gKwkJaWNlLT5wYWdlID0gcGFnZTsKPiArCX0KPiArCXJldHVybiByZXQ7Cj4gK30KPiAr Cj4gK3N0YXRpYyBpbnQgaW50ZWxfbHJfY29udGV4dF9kb19waW4oCj4gKwkJc3RydWN0IGludGVs X2NvbnRleHQgKmN0eCwKPiArCQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAo+ICAJCXN0 cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpjdHhfb2JqLAo+ICAJCXN0cnVjdCBpbnRlbF9yaW5n YnVmZmVyICpyaW5nYnVmKQo+ICB7Cj4gQEAgLTEwNTEsNyArMTA3MCw3IEBAIHN0YXRpYyBpbnQg aW50ZWxfbHJfY29udGV4dF9waW4oc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpycSkKPiAg CXN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmID0gcnEtPnJpbmdidWY7Cj4gIAo+ICAJ aWYgKHJxLT5jdHgtPmVuZ2luZVtyaW5nLT5pZF0ucGluX2NvdW50KysgPT0gMCkgewo+IC0JCXJl dCA9IGludGVsX2xyX2NvbnRleHRfZG9fcGluKHJpbmcsIGN0eF9vYmosIHJpbmdidWYpOwo+ICsJ CXJldCA9IGludGVsX2xyX2NvbnRleHRfZG9fcGluKHJxLT5jdHgsIHJpbmcsIGN0eF9vYmosIHJp bmdidWYpOwo+ICAJCWlmIChyZXQpCj4gIAkJCWdvdG8gcmVzZXRfcGluX2NvdW50Owo+ICAJfQo+ IEBAIC0xOTE1LDYgKzE5MzQsOCBAQCB2b2lkIGludGVsX2xvZ2ljYWxfcmluZ19jbGVhbnVwKHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCj4gIAo+ICBzdGF0aWMgaW50IGxvZ2ljYWxfcmlu Z19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJp bmcpCj4gIHsKPiArCXN0cnVjdCBwYWdlICpwYWdlOwo+ICsJdWludDMyX3QgKnJlZ19zdGF0ZTsK PiAgCWludCByZXQ7Cj4gIAo+ICAJLyogSW50ZW50aW9uYWxseSBsZWZ0IGJsYW5rLiAqLwo+IEBA IC0xOTM5LDYgKzE5NjAsNyBAQCBzdGF0aWMgaW50IGxvZ2ljYWxfcmluZ19pbml0KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbgo+ICAKPiAgCS8qIEFz IHRoaXMgaXMgdGhlIGRlZmF1bHQgY29udGV4dCwgYWx3YXlzIHBpbiBpdCAqLwo+ICAJcmV0ID0g aW50ZWxfbHJfY29udGV4dF9kb19waW4oCj4gKwkJCXJpbmctPmRlZmF1bHRfY29udGV4dCwKPiAg CQkJcmluZywKPiAgCQkJcmluZy0+ZGVmYXVsdF9jb250ZXh0LT5lbmdpbmVbcmluZy0+aWRdLnN0 YXRlLAo+ICAJCQlyaW5nLT5kZWZhdWx0X2NvbnRleHQtPmVuZ2luZVtyaW5nLT5pZF0ucmluZ2J1 Zik7Cj4gQEAgLTE5NDksNiArMTk3MSwxMyBAQCBzdGF0aWMgaW50IGxvZ2ljYWxfcmluZ19pbml0 KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbgo+ICAJ CXJldHVybiByZXQ7Cj4gIAl9Cj4gIAo+ICsJcGFnZSA9IGk5MTVfZ2VtX29iamVjdF9nZXRfcGFn ZSgKPiArCQkJcmluZy0+ZGVmYXVsdF9jb250ZXh0LT5lbmdpbmVbcmluZy0+aWRdLnN0YXRlLAo+ ICsJCQlMUkNfU1RBVEVfUE4pOwo+ICsJcmVnX3N0YXRlID0ga21hcChwYWdlKTsKPiArCXJpbmct PmRlZmF1bHRfY29udGV4dC0+ZW5naW5lW3JpbmctPmlkXS5yZWdfc3RhdGUgPSByZWdfc3RhdGU7 Cj4gKwlyaW5nLT5kZWZhdWx0X2NvbnRleHQtPmVuZ2luZVtyaW5nLT5pZF0ucGFnZSA9IHBhZ2U7 Cj4gKwo+ICAJcmV0dXJuIHJldDsKPiAgfQo+ICAKPiBAQCAtMjM4OCw2ICsyNDE3LDcgQEAgdm9p ZCBpbnRlbF9scl9jb250ZXh0X2ZyZWUoc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCkKPiAgCQkJ c3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyA9IHJpbmdidWYtPnJpbmc7Cj4gIAo+ICAJCQlp ZiAoY3R4ID09IHJpbmctPmRlZmF1bHRfY29udGV4dCkgewo+ICsJCQkJa3VubWFwKGN0eC0+ZW5n aW5lW3JpbmctPmlkXS5wYWdlKTsKClRoaXMgc2hvdWxkbid0IGJlIG5lY2Vzc2FyeSwgdGhlIGdl bmVyaWMgdm1hIHVuYmluZCBob29rIHNob3VsZCB0YWtlIGNhcmUKb2YgdGhpcyBsaWtlIGZvciBv dGhlciBvYmplY3RzIHRvby4gT3IgZGlkIEkgbWlzcyBzb21ldGhpbmc/Ci1EYW5pZWwKCj4gIAkJ CQlpOTE1X2dlbV9vYmplY3RfZ2d0dF91bnBpbihyaW5nYnVmLT5vYmopOwo+ICAJCQkJaTkxNV9n ZW1fb2JqZWN0X2dndHRfdW5waW4oY3R4X29iaik7Cj4gIAkJCX0KPiBAQCAtMjQ4OSw2ICsyNTE5 LDggQEAgaW50IGludGVsX2xyX2NvbnRleHRfZGVmZXJyZWRfYWxsb2Moc3RydWN0IGludGVsX2Nv bnRleHQgKmN0eCwKPiAgCQlnb3RvIGVycm9yX3JpbmdidWY7Cj4gIAl9Cj4gIAo+ICsJY3R4X29i ai0+bW1hcCA9IGludGVsX21tYXBfaHdfY29udGV4dDsKPiArCWN0eF9vYmotPm1hcHBhYmxlID0g JihjdHgtPmVuZ2luZVtyaW5nLT5pZF0pOwo+ICAJY3R4LT5lbmdpbmVbcmluZy0+aWRdLnJpbmdi dWYgPSByaW5nYnVmOwo+ICAJY3R4LT5lbmdpbmVbcmluZy0+aWRdLnN0YXRlID0gY3R4X29iajsK PiAgCj4gQEAgLTI1MzYsNyArMjU2OCw2IEBAIHZvaWQgaW50ZWxfbHJfY29udGV4dF9yZXNldChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJCXN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5n YnVmID0KPiAgCQkJCWN0eC0+ZW5naW5lW3JpbmctPmlkXS5yaW5nYnVmOwo+ICAJCXVpbnQzMl90 ICpyZWdfc3RhdGU7Cj4gLQkJc3RydWN0IHBhZ2UgKnBhZ2U7Cj4gIAo+ICAJCWlmICghY3R4X29i aikKPiAgCQkJY29udGludWU7Cj4gQEAgLTI1NDUsMTQgKzI1NzYsMTEgQEAgdm9pZCBpbnRlbF9s cl9jb250ZXh0X3Jlc2V0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAkJCVdBUk4oMSwgIkZh aWxlZCBnZXRfcGFnZXMgZm9yIGNvbnRleHQgb2JqXG4iKTsKPiAgCQkJY29udGludWU7Cj4gIAkJ fQo+IC0JCXBhZ2UgPSBpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2UoY3R4X29iaiwgTFJDX1NUQVRF X1BOKTsKPiAtCQlyZWdfc3RhdGUgPSBrbWFwX2F0b21pYyhwYWdlKTsKPiArCQlyZWdfc3RhdGUg PSBjdHgtPmVuZ2luZVtyaW5nLT5pZF0ucmVnX3N0YXRlOwo+ICAKPiAgCQlyZWdfc3RhdGVbQ1RY X1JJTkdfSEVBRCsxXSA9IDA7Cj4gIAkJcmVnX3N0YXRlW0NUWF9SSU5HX1RBSUwrMV0gPSAwOwo+ ICAKPiAtCQlrdW5tYXBfYXRvbWljKHJlZ19zdGF0ZSk7Cj4gLQo+ICAJCXJpbmdidWYtPmhlYWQg PSAwOwo+ICAJCXJpbmdidWYtPnRhaWwgPSAwOwo+ICAKPiAtLSAKPiAxLjkuMQo+IAo+IF9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgotLSAKRGFuaWVs IFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cu ZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK