From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH v2 06/22] drm/i915: support creating LMEM objects Date: Thu, 3 Oct 2019 20:24:28 +0100 Message-ID: <20191003192444.10113-7-matthew.auld@intel.com> References: <20191003192444.10113-1-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7F1616EA57 for ; Thu, 3 Oct 2019 19:25:02 +0000 (UTC) In-Reply-To: <20191003192444.10113-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 List-Id: intel-gfx@lists.freedesktop.org V2UgY3VycmVudGx5IGRlZmluZSBMTUVNLCBvciBsb2NhbCBtZW1vcnksIGFzIGp1c3QgYW5vdGhl ciBtZW1vcnkKcmVnaW9uLCBsaWtlIHN5c3RlbSBtZW1vcnkgb3Igc3RvbGVuLCB3aGljaCB3ZSBj YW4gZXhwb3NlIHRvIHVzZXJzcGFjZQphbmQgY2FuIGJlIG1hcHBlZCB0byB0aGUgQ1BVIHZpYSBz b21lIEJBUi4KClNpZ25lZC1vZmYtYnk6IE1hdHRoZXcgQXVsZCA8bWF0dGhldy5hdWxkQGludGVs LmNvbT4KQ2M6IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNv bT4KQ2M6IEFiZGllbCBKYW51bGd1ZSA8YWJkaWVsLmphbnVsZ3VlQGxpbnV4LmludGVsLmNvbT4K LS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZSAgICAgICAgICAgICAgICAgfCAgMiAr CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fbG1lbS5jICAgICAgfCAzMSArKysr KysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fbG1lbS5oICAgICAg fCAyMyArKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAg ICAgICAgfCAgNSArKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX21lbW9yeV9yZWdpb24u YyAgICB8IDEwICsrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tZW1vcnlfcmVnaW9u LmggICAgfCAzMCArKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yZWdp b25fbG1lbS5jICAgICAgfCA0MyArKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3JlZ2lvbl9sbWVtLmggICAgICB8IDExICsrKysrCiAuLi4vZHJtL2k5MTUvc2Vs ZnRlc3RzL2k5MTVfbGl2ZV9zZWxmdGVzdHMuaCAgfCAgMSArCiAuLi4vZHJtL2k5MTUvc2VsZnRl c3RzL2ludGVsX21lbW9yeV9yZWdpb24uYyAgfCA0NSArKysrKysrKysrKysrKysrKysrCiAxMCBm aWxlcyBjaGFuZ2VkLCAyMDEgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZl cnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9sbWVtLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBk cml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fbG1lbS5oCiBjcmVhdGUgbW9kZSAxMDA2 NDQgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmVnaW9uX2xtZW0uYwogY3JlYXRlIG1vZGUg MTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JlZ2lvbl9sbWVtLmgKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L01ha2VmaWxlCmluZGV4IGRhNjFiMGRmZTEwNS4uMDdiMWQzYTY5NTVjIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9N YWtlZmlsZQpAQCAtMTE2LDYgKzExNiw3IEBAIGdlbS15ICs9IFwKIAlnZW0vaTkxNV9nZW1faW50 ZXJuYWwubyBcCiAJZ2VtL2k5MTVfZ2VtX29iamVjdC5vIFwKIAlnZW0vaTkxNV9nZW1fb2JqZWN0 X2JsdC5vIFwKKwlnZW0vaTkxNV9nZW1fbG1lbS5vIFwKIAlnZW0vaTkxNV9nZW1fbW1hbi5vIFwK IAlnZW0vaTkxNV9nZW1fcGFnZXMubyBcCiAJZ2VtL2k5MTVfZ2VtX3BoeXMubyBcCkBAIC0xNDQs NiArMTQ1LDcgQEAgaTkxNS15ICs9IFwKIAkgIGk5MTVfc2NoZWR1bGVyLm8gXAogCSAgaTkxNV90 cmFjZV9wb2ludHMubyBcCiAJICBpOTE1X3ZtYS5vIFwKKwkgIGludGVsX3JlZ2lvbl9sbWVtLm8g XAogCSAgaW50ZWxfd29wY20ubwogCiAjIGdlbmVyYWwtcHVycG9zZSBtaWNyb2NvbnRyb2xsZXIg KEd1Qykgc3VwcG9ydApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVf Z2VtX2xtZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9sbWVtLmMKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4yNmEyMzMwNGRmMzIKLS0tIC9k ZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fbG1lbS5jCkBA IC0wLDAgKzEsMzEgQEAKKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQKKy8qCisgKiBD b3B5cmlnaHQgwqkgMjAxOSBJbnRlbCBDb3Jwb3JhdGlvbgorICovCisKKyNpbmNsdWRlICJpbnRl bF9tZW1vcnlfcmVnaW9uLmgiCisjaW5jbHVkZSAiZ2VtL2k5MTVfZ2VtX3JlZ2lvbi5oIgorI2lu Y2x1ZGUgImdlbS9pOTE1X2dlbV9sbWVtLmgiCisjaW5jbHVkZSAiaTkxNV9kcnYuaCIKKworY29u c3Qgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Rfb3BzIGk5MTVfZ2VtX2xtZW1fb2JqX29wcyA9 IHsKKwkuZ2V0X3BhZ2VzID0gaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlc19idWRkeSwKKwkucHV0 X3BhZ2VzID0gaTkxNV9nZW1fb2JqZWN0X3B1dF9wYWdlc19idWRkeSwKKwkucmVsZWFzZSA9IGk5 MTVfZ2VtX29iamVjdF9yZWxlYXNlX21lbW9yeV9yZWdpb24sCit9OworCitib29sIGk5MTVfZ2Vt X29iamVjdF9pc19sbWVtKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCit7CisJc3Ry dWN0IGludGVsX21lbW9yeV9yZWdpb24gKnJlZ2lvbiA9IG9iai0+bW0ucmVnaW9uOworCisJcmV0 dXJuIHJlZ2lvbiAmJiByZWdpb24tPnR5cGUgPT0gSU5URUxfTE1FTTsKK30KKworc3RydWN0IGRy bV9pOTE1X2dlbV9vYmplY3QgKgoraTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9sbWVtKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1LAorCQkJICAgIHJlc291cmNlX3NpemVfdCBzaXplLAorCQkJ ICAgIHVuc2lnbmVkIGludCBmbGFncykKK3sKKwlyZXR1cm4gaTkxNV9nZW1fb2JqZWN0X2NyZWF0 ZV9yZWdpb24oaTkxNS0+bW0ucmVnaW9uc1tJTlRFTF9NRU1PUllfTE1FTV0sCisJCQkJCSAgICAg c2l6ZSwgZmxhZ3MpOworfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5 MTVfZ2VtX2xtZW0uaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9sbWVtLmgK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5lYmMxNWZlMjRmNTgKLS0t IC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fbG1lbS5o CkBAIC0wLDAgKzEsMjMgQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQgKi8KKy8q CisgKiBDb3B5cmlnaHQgwqkgMjAxOSBJbnRlbCBDb3Jwb3JhdGlvbgorICovCisKKyNpZm5kZWYg X19JOTE1X0dFTV9MTUVNX0gKKyNkZWZpbmUgX19JOTE1X0dFTV9MTUVNX0gKKworI2luY2x1ZGUg PGxpbnV4L3R5cGVzLmg+CisKK3N0cnVjdCBkcm1faTkxNV9wcml2YXRlOworc3RydWN0IGRybV9p OTE1X2dlbV9vYmplY3Q7CisKK2V4dGVybiBjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dF9vcHMgaTkxNV9nZW1fbG1lbV9vYmpfb3BzOworCitib29sIGk5MTVfZ2VtX29iamVjdF9pc19s bWVtKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopOworCitzdHJ1Y3QgZHJtX2k5MTVf Z2VtX29iamVjdCAqCitpOTE1X2dlbV9vYmplY3RfY3JlYXRlX2xtZW0oc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmk5MTUsCisJCQkgICAgcmVzb3VyY2Vfc2l6ZV90IHNpemUsCisJCQkgICAgdW5z aWduZWQgaW50IGZsYWdzKTsKKworI2VuZGlmIC8qICFfX0k5MTVfR0VNX0xNRU1fSCAqLwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggZjdiNTZhMDdhMDM1Li5hMjY3M2Y0MWQ5M2IgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMTAwLDYgKzEwMCw4IEBACiAjaW5jbHVkZSAiaTkxNV92 bWEuaCIKICNpbmNsdWRlICJpOTE1X2lycS5oIgogCisjaW5jbHVkZSAiaW50ZWxfcmVnaW9uX2xt ZW0uaCIKKwogI2luY2x1ZGUgImludGVsX2d2dC5oIgogCiAvKiBHZW5lcmFsIGN1c3RvbWl6YXRp b246CkBAIC02NzksNiArNjgxLDggQEAgc3RydWN0IGk5MTVfZ2VtX21tIHsKIAkgKi8KIAlzdHJ1 Y3QgdmZzbW91bnQgKmdlbWZzOwogCisJc3RydWN0IGludGVsX21lbW9yeV9yZWdpb24gKnJlZ2lv bnNbSU5URUxfTUVNT1JZX1VLTk9XTl07CisKIAlzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgb29tX25v dGlmaWVyOwogCXN0cnVjdCBub3RpZmllcl9ibG9jayB2bWFwX25vdGlmaWVyOwogCXN0cnVjdCBz aHJpbmtlciBzaHJpbmtlcjsKQEAgLTIxNjQsNiArMjE2OCw3IEBAIElTX1NVQlBMQVRGT1JNKGNv bnN0IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAogI2RlZmluZSBIQVNfSVBDKGRldl9w cml2KQkJIChJTlRFTF9JTkZPKGRldl9wcml2KS0+ZGlzcGxheS5oYXNfaXBjKQogCiAjZGVmaW5l IEhBU19SRUdJT04oaTkxNSwgaSkgKElOVEVMX0lORk8oaTkxNSktPm1lbW9yeV9yZWdpb25zICYg KGkpKQorI2RlZmluZSBIQVNfTE1FTShpOTE1KSBIQVNfUkVHSU9OKGk5MTUsIFJFR0lPTl9MTUVN KQogCiAjZGVmaW5lIEhBU19HVF9VQyhkZXZfcHJpdikJKElOVEVMX0lORk8oZGV2X3ByaXYpLT5o YXNfZ3RfdWMpCiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX21lbW9y eV9yZWdpb24uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX21lbW9yeV9yZWdpb24uYwpp bmRleCBmZTgwODg5OWNiZjguLjkyMGY5NTkwZjQxMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfbWVtb3J5X3JlZ2lvbi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX21lbW9yeV9yZWdpb24uYwpAQCAtNiw2ICs2LDE2IEBACiAjaW5jbHVkZSAiaW50ZWxf bWVtb3J5X3JlZ2lvbi5oIgogI2luY2x1ZGUgImk5MTVfZHJ2LmgiCiAKKy8qIFhYWDogSHlzdGVy aWNhbCByYWlzaW5zLiBCSVQoaW5zdCkgbmVlZHMgdG8ganVzdCBiZSAoaW5zdCkgYXQgc29tZSBw b2ludC4gKi8KKyNkZWZpbmUgUkVHSU9OX01BUCh0eXBlLCBpbnN0KSBcCisJQklUKCh0eXBlKSAr IElOVEVMX01FTU9SWV9UWVBFX1NISUZUKSB8IEJJVChpbnN0KQorCitjb25zdCB1MzIgaW50ZWxf cmVnaW9uX21hcFtdID0geworCVtJTlRFTF9NRU1PUllfU01FTV0gPSBSRUdJT05fTUFQKElOVEVM X1NNRU0sIDApLAorCVtJTlRFTF9NRU1PUllfTE1FTV0gPSBSRUdJT05fTUFQKElOVEVMX0xNRU0s IDApLAorCVtJTlRFTF9NRU1PUllfU1RPTEVOXSA9IFJFR0lPTl9NQVAoSU5URUxfU1RPTEVOLCAw KSwKK307CisKIHN0YXRpYyB1NjQKIGludGVsX21lbW9yeV9yZWdpb25fZnJlZV9wYWdlcyhzdHJ1 Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtLAogCQkJICAgICAgIHN0cnVjdCBsaXN0X2hlYWQg KmJsb2NrcykKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX21lbW9yeV9y ZWdpb24uaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX21lbW9yeV9yZWdpb24uaAppbmRl eCBhNTlmNjM4MDhlNDQuLjE0YWZjZDYxNTkzNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfbWVtb3J5X3JlZ2lvbi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX21lbW9yeV9yZWdpb24uaApAQCAtMTgsOSArMTgsMzkgQEAgc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3Q7CiBzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbjsKIHN0cnVjdCBzZ190YWJsZTsK IAorLyoqCisgKiAgQmFzZSBtZW1vcnkgdHlwZQorICovCitlbnVtIGludGVsX21lbW9yeV90eXBl IHsKKwlJTlRFTF9TTUVNID0gMCwKKwlJTlRFTF9MTUVNLAorCUlOVEVMX1NUT0xFTiwKK307CisK K2VudW0gaW50ZWxfcmVnaW9uX2lkIHsKKwlJTlRFTF9NRU1PUllfU01FTSA9IDAsCisJSU5URUxf TUVNT1JZX0xNRU0sCisJSU5URUxfTUVNT1JZX1NUT0xFTiwKKwlJTlRFTF9NRU1PUllfVUtOT1dO LCAvKiBTaG91bGQgYmUgbGFzdCAqLworfTsKKworI2RlZmluZSBSRUdJT05fU01FTSAgICAgQklU KElOVEVMX01FTU9SWV9TTUVNKQorI2RlZmluZSBSRUdJT05fTE1FTSAgICAgQklUKElOVEVMX01F TU9SWV9MTUVNKQorI2RlZmluZSBSRUdJT05fU1RPTEVOICAgQklUKElOVEVMX01FTU9SWV9TVE9M RU4pCisKKyNkZWZpbmUgSU5URUxfTUVNT1JZX1RZUEVfU0hJRlQgMTYKKworI2RlZmluZSBNRU1P UllfVFlQRV9GUk9NX1JFR0lPTihyKSAoaWxvZzIociA+PiBJTlRFTF9NRU1PUllfVFlQRV9TSElG VCkpCisjZGVmaW5lIE1FTU9SWV9JTlNUQU5DRV9GUk9NX1JFR0lPTihyKSAoaWxvZzIociAmIDB4 ZmZmZikpCisKICNkZWZpbmUgSTkxNV9BTExPQ19NSU5fUEFHRV9TSVpFICBCSVQoMCkKICNkZWZp bmUgSTkxNV9BTExPQ19DT05USUdVT1VTICAgICBCSVQoMSkKIAorLyoqCisgKiBNZW1vcnkgcmVn aW9ucyBlbmNvZGVkIGFzIHR5cGUgfCBpbnN0YW5jZQorICovCitleHRlcm4gY29uc3QgdTMyIGlu dGVsX3JlZ2lvbl9tYXBbXTsKKwogc3RydWN0IGludGVsX21lbW9yeV9yZWdpb25fb3BzIHsKIAl1 bnNpZ25lZCBpbnQgZmxhZ3M7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3JlZ2lvbl9sbWVtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yZWdpb25fbG1l bS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uN2EzZjk2ZTFmNzY2 Ci0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmVnaW9uX2xt ZW0uYwpAQCAtMCwwICsxLDQzIEBACisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUCisv KgorICogQ29weXJpZ2h0IMKpIDIwMTkgSW50ZWwgQ29ycG9yYXRpb24KKyAqLworCisjaW5jbHVk ZSAiaTkxNV9kcnYuaCIKKyNpbmNsdWRlICJpbnRlbF9tZW1vcnlfcmVnaW9uLmgiCisjaW5jbHVk ZSAiZ2VtL2k5MTVfZ2VtX2xtZW0uaCIKKyNpbmNsdWRlICJnZW0vaTkxNV9nZW1fcmVnaW9uLmgi CisjaW5jbHVkZSAiaW50ZWxfcmVnaW9uX2xtZW0uaCIKKworc3RhdGljIHN0cnVjdCBkcm1faTkx NV9nZW1fb2JqZWN0ICoKK2xtZW1fY3JlYXRlX29iamVjdChzdHJ1Y3QgaW50ZWxfbWVtb3J5X3Jl Z2lvbiAqbWVtLAorCQkgICByZXNvdXJjZV9zaXplX3Qgc2l6ZSwKKwkJICAgdW5zaWduZWQgaW50 IGZsYWdzKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gbWVtLT5pOTE1Owor CXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7CisKKwlpZiAoc2l6ZSA+IEJJVChtZW0t Pm1tLm1heF9vcmRlcikgKiBtZW0tPm1tLmNodW5rX3NpemUpCisJCXJldHVybiBFUlJfUFRSKC1F MkJJRyk7CisKKwlvYmogPSBpOTE1X2dlbV9vYmplY3RfYWxsb2MoKTsKKwlpZiAoIW9iaikKKwkJ cmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CisKKwlkcm1fZ2VtX3ByaXZhdGVfb2JqZWN0X2luaXQo Jmk5MTUtPmRybSwgJm9iai0+YmFzZSwgc2l6ZSk7CisJaTkxNV9nZW1fb2JqZWN0X2luaXQob2Jq LCAmaTkxNV9nZW1fbG1lbV9vYmpfb3BzKTsKKworCW9iai0+cmVhZF9kb21haW5zID0gSTkxNV9H RU1fRE9NQUlOX1dDIHwgSTkxNV9HRU1fRE9NQUlOX0dUVDsKKworCWk5MTVfZ2VtX29iamVjdF9z ZXRfY2FjaGVfY29oZXJlbmN5KG9iaiwgSTkxNV9DQUNIRV9OT05FKTsKKworCWk5MTVfZ2VtX29i amVjdF9pbml0X21lbW9yeV9yZWdpb24ob2JqLCBtZW0sIGZsYWdzKTsKKworCXJldHVybiBvYmo7 Cit9CisKK2NvbnN0IHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uX29wcyBpbnRlbF9yZWdpb25f bG1lbV9vcHMgPSB7CisJLmluaXQgPSBpbnRlbF9tZW1vcnlfcmVnaW9uX2luaXRfYnVkZHksCisJ LnJlbGVhc2UgPSBpbnRlbF9tZW1vcnlfcmVnaW9uX3JlbGVhc2VfYnVkZHksCisJLmNyZWF0ZV9v YmplY3QgPSBsbWVtX2NyZWF0ZV9vYmplY3QsCit9OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcmVnaW9uX2xtZW0uaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3JlZ2lvbl9sbWVtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5l ZDJhM2JhYjY0NDMKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9yZWdpb25fbG1lbS5oCkBAIC0wLDAgKzEsMTEgQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBNSVQgKi8KKy8qCisgKiBDb3B5cmlnaHQgwqkgMjAxOSBJbnRlbCBDb3Jwb3JhdGlvbgor ICovCisKKyNpZm5kZWYgX19JTlRFTF9SRUdJT05fTE1FTV9ICisjZGVmaW5lIF9fSU5URUxfUkVH SU9OX0xNRU1fSAorCitleHRlcm4gY29uc3Qgc3RydWN0IGludGVsX21lbW9yeV9yZWdpb25fb3Bz IGludGVsX3JlZ2lvbl9sbWVtX29wczsKKworI2VuZGlmIC8qICFfX0lOVEVMX1JFR0lPTl9MTUVN X0ggKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2xp dmVfc2VsZnRlc3RzLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9saXZl X3NlbGZ0ZXN0cy5oCmluZGV4IDY3MTNlZmVhMzUwYi4uZDAwYzE5OGJhMWEyIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9saXZlX3NlbGZ0ZXN0cy5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2xpdmVfc2VsZnRlc3RzLmgK QEAgLTMyLDYgKzMyLDcgQEAgc2VsZnRlc3QoZ2VtX2NvbnRleHRzLCBpOTE1X2dlbV9jb250ZXh0 X2xpdmVfc2VsZnRlc3RzKQogc2VsZnRlc3QoYmx0LCBpOTE1X2dlbV9vYmplY3RfYmx0X2xpdmVf c2VsZnRlc3RzKQogc2VsZnRlc3QoY2xpZW50LCBpOTE1X2dlbV9jbGllbnRfYmx0X2xpdmVfc2Vs ZnRlc3RzKQogc2VsZnRlc3QocmVzZXQsIGludGVsX3Jlc2V0X2xpdmVfc2VsZnRlc3RzKQorc2Vs ZnRlc3QobWVtb3J5X3JlZ2lvbiwgaW50ZWxfbWVtb3J5X3JlZ2lvbl9saXZlX3NlbGZ0ZXN0cykK IHNlbGZ0ZXN0KGhhbmdjaGVjaywgaW50ZWxfaGFuZ2NoZWNrX2xpdmVfc2VsZnRlc3RzKQogc2Vs ZnRlc3QoZXhlY2xpc3RzLCBpbnRlbF9leGVjbGlzdHNfbGl2ZV9zZWxmdGVzdHMpCiBzZWxmdGVz dChndWMsIGludGVsX2d1Y19saXZlX3NlbGZ0ZXN0KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvc2VsZnRlc3RzL2ludGVsX21lbW9yeV9yZWdpb24uYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF9tZW1vcnlfcmVnaW9uLmMKaW5kZXggNWVlZmJlYWE2NzRh Li45NjkyZGQ0NDhiOGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0 cy9pbnRlbF9tZW1vcnlfcmVnaW9uLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRl c3RzL2ludGVsX21lbW9yeV9yZWdpb24uYwpAQCAtMTEsOCArMTEsMTAgQEAKICNpbmNsdWRlICJt b2NrX2dlbV9kZXZpY2UuaCIKICNpbmNsdWRlICJtb2NrX3JlZ2lvbi5oIgogCisjaW5jbHVkZSAi Z2VtL2k5MTVfZ2VtX2xtZW0uaCIKICNpbmNsdWRlICJnZW0vaTkxNV9nZW1fcmVnaW9uLmgiCiAj aW5jbHVkZSAiZ2VtL3NlbGZ0ZXN0cy9tb2NrX2NvbnRleHQuaCIKKyNpbmNsdWRlICJndC9pbnRl bF9ndC5oIgogI2luY2x1ZGUgInNlbGZ0ZXN0cy9pOTE1X3JhbmRvbS5oIgogCiBzdGF0aWMgdm9p ZCBjbG9zZV9vYmplY3RzKHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0sCkBAIC0yNTEs NiArMjUzLDI3IEBAIHN0YXRpYyBpbnQgaWd0X21vY2tfY29udGlndW91cyh2b2lkICphcmcpCiAJ cmV0dXJuIGVycjsKIH0KIAorc3RhdGljIGludCBpZ3RfbG1lbV9jcmVhdGUodm9pZCAqYXJnKQor eworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gYXJnOworCXN0cnVjdCBkcm1faTkx NV9nZW1fb2JqZWN0ICpvYmo7CisJaW50IGVyciA9IDA7CisKKwlvYmogPSBpOTE1X2dlbV9vYmpl Y3RfY3JlYXRlX2xtZW0oaTkxNSwgUEFHRV9TSVpFLCAwKTsKKwlpZiAoSVNfRVJSKG9iaikpCisJ CXJldHVybiBQVFJfRVJSKG9iaik7CisKKwllcnIgPSBpOTE1X2dlbV9vYmplY3RfcGluX3BhZ2Vz KG9iaik7CisJaWYgKGVycikKKwkJZ290byBvdXRfcHV0OworCisJaTkxNV9nZW1fb2JqZWN0X3Vu cGluX3BhZ2VzKG9iaik7CitvdXRfcHV0OgorCWk5MTVfZ2VtX29iamVjdF9wdXQob2JqKTsKKwor CXJldHVybiBlcnI7Cit9CisKIGludCBpbnRlbF9tZW1vcnlfcmVnaW9uX21vY2tfc2VsZnRlc3Rz KHZvaWQpCiB7CiAJc3RhdGljIGNvbnN0IHN0cnVjdCBpOTE1X3N1YnRlc3QgdGVzdHNbXSA9IHsK QEAgLTI4MSwzICszMDQsMjUgQEAgaW50IGludGVsX21lbW9yeV9yZWdpb25fbW9ja19zZWxmdGVz dHModm9pZCkKIAlkcm1fZGV2X3B1dCgmaTkxNS0+ZHJtKTsKIAlyZXR1cm4gZXJyOwogfQorCitp bnQgaW50ZWxfbWVtb3J5X3JlZ2lvbl9saXZlX3NlbGZ0ZXN0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSkKK3sKKwlzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfc3VidGVzdCB0ZXN0c1td ID0geworCQlTVUJURVNUKGlndF9sbWVtX2NyZWF0ZSksCisJfTsKKwlpbnQgZXJyOworCisJaWYg KCFIQVNfTE1FTShpOTE1KSkgeworCQlwcl9pbmZvKCJkZXZpY2UgbGFja3MgTE1FTSBzdXBwb3J0 LCBza2lwcGluZ1xuIik7CisJCXJldHVybiAwOworCX0KKworCWlmIChpbnRlbF9ndF9pc193ZWRn ZWQoJmk5MTUtPmd0KSkKKwkJcmV0dXJuIDA7CisKKwltdXRleF9sb2NrKCZpOTE1LT5kcm0uc3Ry dWN0X211dGV4KTsKKwllcnIgPSBpOTE1X3N1YnRlc3RzKHRlc3RzLCBpOTE1KTsKKwltdXRleF91 bmxvY2soJmk5MTUtPmRybS5zdHJ1Y3RfbXV0ZXgpOworCisJcmV0dXJuIGVycjsKK30KLS0gCjIu MjAuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4