From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH 07/22] drm/i915: support creating LMEM objects Date: Fri, 27 Sep 2019 18:33:54 +0100 Message-ID: <20190927173409.31175-8-matthew.auld@intel.com> References: <20190927173409.31175-1-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5D6176E178 for ; Fri, 27 Sep 2019 17:34:23 +0000 (UTC) In-Reply-To: <20190927173409.31175-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: daniel.vetter@ffwll.ch List-Id: intel-gfx@lists.freedesktop.org V2UgY3VycmVudGx5IGRlZmluZSBMTUVNLCBvciBsb2NhbCBtZW1vcnksIGFzIGp1c3QgYW5vdGhl ciBtZW1vcnkKcmVnaW9uLCBsaWtlIHN5c3RlbSBtZW1vcnkgb3Igc3RvbGVuLCB3aGljaCB3ZSBj YW4gZXhwb3NlIHRvIHVzZXJzcGFjZQphbmQgY2FuIGJlIG1hcHBlZCB0byB0aGUgQ1BVIHZpYSBz b21lIEJBUi4KClNpZ25lZC1vZmYtYnk6IE1hdHRoZXcgQXVsZCA8bWF0dGhldy5hdWxkQGludGVs LmNvbT4KQ2M6IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNv bT4KQ2M6IEFiZGllbCBKYW51bGd1ZSA8YWJkaWVsLmphbnVsZ3VlQGxpbnV4LmludGVsLmNvbT4K LS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZSAgICAgICAgICAgICAgICAgfCAgMiAr CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fbG1lbS5jICAgICAgfCAzMSArKysr KysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fbG1lbS5oICAgICAg fCAyMyArKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAg ICAgICAgfCAgNSArKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX21lbW9yeV9yZWdpb24u YyAgICB8ICA2ICsrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbWVtb3J5X3JlZ2lvbi5o ICAgIHwgMzAgKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmVnaW9u X2xtZW0uYyAgICAgIHwgNDMgKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9yZWdpb25fbG1lbS5oICAgICAgfCAxMSArKysrKwogLi4uL2RybS9pOTE1L3NlbGZ0 ZXN0cy9pOTE1X2xpdmVfc2VsZnRlc3RzLmggIHwgIDEgKwogLi4uL2RybS9pOTE1L3NlbGZ0ZXN0 cy9pbnRlbF9tZW1vcnlfcmVnaW9uLmMgIHwgNDUgKysrKysrKysrKysrKysrKysrKwogMTAgZmls ZXMgY2hhbmdlZCwgMTk3IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJz L2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fbG1lbS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJp dmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2xtZW0uaAogY3JlYXRlIG1vZGUgMTAwNjQ0 IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JlZ2lvbl9sbWVtLmMKIGNyZWF0ZSBtb2RlIDEw MDY0NCBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yZWdpb25fbG1lbS5oCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9N YWtlZmlsZQppbmRleCBkODQ5ZGZmMzFmNzYuLmNjZjQyMjNlZDNmOSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFr ZWZpbGUKQEAgLTExNSw2ICsxMTUsNyBAQCBnZW0teSArPSBcCiAJZ2VtL2k5MTVfZ2VtX2ludGVy bmFsLm8gXAogCWdlbS9pOTE1X2dlbV9vYmplY3QubyBcCiAJZ2VtL2k5MTVfZ2VtX29iamVjdF9i bHQubyBcCisJZ2VtL2k5MTVfZ2VtX2xtZW0ubyBcCiAJZ2VtL2k5MTVfZ2VtX21tYW4ubyBcCiAJ Z2VtL2k5MTVfZ2VtX3BhZ2VzLm8gXAogCWdlbS9pOTE1X2dlbV9waHlzLm8gXApAQCAtMTQzLDYg KzE0NCw3IEBAIGk5MTUteSArPSBcCiAJICBpOTE1X3NjaGVkdWxlci5vIFwKIAkgIGk5MTVfdHJh Y2VfcG9pbnRzLm8gXAogCSAgaTkxNV92bWEubyBcCisJICBpbnRlbF9yZWdpb25fbG1lbS5vIFwK IAkgIGludGVsX3dvcGNtLm8KIAogIyBnZW5lcmFsLXB1cnBvc2UgbWljcm9jb250cm9sbGVyIChH dUMpIHN1cHBvcnQKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dl bV9sbWVtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fbG1lbS5jCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMjZhMjMzMDRkZjMyCi0tLSAvZGV2 L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2xtZW0uYwpAQCAt MCwwICsxLDMxIEBACisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUCisvKgorICogQ29w eXJpZ2h0IMKpIDIwMTkgSW50ZWwgQ29ycG9yYXRpb24KKyAqLworCisjaW5jbHVkZSAiaW50ZWxf bWVtb3J5X3JlZ2lvbi5oIgorI2luY2x1ZGUgImdlbS9pOTE1X2dlbV9yZWdpb24uaCIKKyNpbmNs dWRlICJnZW0vaTkxNV9nZW1fbG1lbS5oIgorI2luY2x1ZGUgImk5MTVfZHJ2LmgiCisKK2NvbnN0 IHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0X29wcyBpOTE1X2dlbV9sbWVtX29ial9vcHMgPSB7 CisJLmdldF9wYWdlcyA9IGk5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXNfYnVkZHksCisJLnB1dF9w YWdlcyA9IGk5MTVfZ2VtX29iamVjdF9wdXRfcGFnZXNfYnVkZHksCisJLnJlbGVhc2UgPSBpOTE1 X2dlbV9vYmplY3RfcmVsZWFzZV9tZW1vcnlfcmVnaW9uLAorfTsKKworYm9vbCBpOTE1X2dlbV9v YmplY3RfaXNfbG1lbShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQoreworCXN0cnVj dCBpbnRlbF9tZW1vcnlfcmVnaW9uICpyZWdpb24gPSBvYmotPm1tLnJlZ2lvbjsKKworCXJldHVy biByZWdpb24gJiYgcmVnaW9uLT50eXBlID09IElOVEVMX0xNRU07Cit9CisKK3N0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICoKK2k5MTVfZ2VtX29iamVjdF9jcmVhdGVfbG1lbShzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqaTkxNSwKKwkJCSAgICByZXNvdXJjZV9zaXplX3Qgc2l6ZSwKKwkJCSAg ICB1bnNpZ25lZCBpbnQgZmxhZ3MpCit7CisJcmV0dXJuIGk5MTVfZ2VtX29iamVjdF9jcmVhdGVf cmVnaW9uKGk5MTUtPm1tLnJlZ2lvbnNbSU5URUxfTUVNT1JZX0xNRU1dLAorCQkJCQkgICAgIHNp emUsIGZsYWdzKTsKK30KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1 X2dlbV9sbWVtLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fbG1lbS5oCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZWJjMTVmZTI0ZjU4Ci0tLSAv ZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2xtZW0uaApA QCAtMCwwICsxLDIzIEBACisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUICovCisvKgor ICogQ29weXJpZ2h0IMKpIDIwMTkgSW50ZWwgQ29ycG9yYXRpb24KKyAqLworCisjaWZuZGVmIF9f STkxNV9HRU1fTE1FTV9ICisjZGVmaW5lIF9fSTkxNV9HRU1fTE1FTV9ICisKKyNpbmNsdWRlIDxs aW51eC90eXBlcy5oPgorCitzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZTsKK3N0cnVjdCBkcm1faTkx NV9nZW1fb2JqZWN0OworCitleHRlcm4gY29uc3Qgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Rf b3BzIGk5MTVfZ2VtX2xtZW1fb2JqX29wczsKKworYm9vbCBpOTE1X2dlbV9vYmplY3RfaXNfbG1l bShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKTsKKworc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3QgKgoraTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9sbWVtKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICppOTE1LAorCQkJICAgIHJlc291cmNlX3NpemVfdCBzaXplLAorCQkJICAgIHVuc2ln bmVkIGludCBmbGFncyk7CisKKyNlbmRpZiAvKiAhX19JOTE1X0dFTV9MTUVNX0ggKi8KZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oCmluZGV4IDkzMTE2Y2M4YjE0OS4uMDVhNjQ5MTY5MGY3IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTEwMCw2ICsxMDAsOCBAQAogI2luY2x1ZGUgImk5MTVfdm1h LmgiCiAjaW5jbHVkZSAiaTkxNV9pcnEuaCIKIAorI2luY2x1ZGUgImludGVsX3JlZ2lvbl9sbWVt LmgiCisKICNpbmNsdWRlICJpbnRlbF9ndnQuaCIKIAogLyogR2VuZXJhbCBjdXN0b21pemF0aW9u OgpAQCAtNjg2LDYgKzY4OCw4IEBAIHN0cnVjdCBpOTE1X2dlbV9tbSB7CiAJICovCiAJc3RydWN0 IHZmc21vdW50ICpnZW1mczsKIAorCXN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICpyZWdpb25z W0lOVEVMX01FTU9SWV9VS05PV05dOworCiAJc3RydWN0IG5vdGlmaWVyX2Jsb2NrIG9vbV9ub3Rp ZmllcjsKIAlzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgdm1hcF9ub3RpZmllcjsKIAlzdHJ1Y3Qgc2hy aW5rZXIgc2hyaW5rZXI7CkBAIC0yMTcxLDYgKzIxNzUsNyBAQCBJU19TVUJQTEFURk9STShjb25z dCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKICNkZWZpbmUgSEFTX0lQQyhkZXZfcHJp dikJCSAoSU5URUxfSU5GTyhkZXZfcHJpdiktPmRpc3BsYXkuaGFzX2lwYykKIAogI2RlZmluZSBI QVNfUkVHSU9OKGk5MTUsIGkpIChJTlRFTF9JTkZPKGk5MTUpLT5tZW1vcnlfcmVnaW9ucyAmIChp KSkKKyNkZWZpbmUgSEFTX0xNRU0oaTkxNSkgSEFTX1JFR0lPTihpOTE1LCBSRUdJT05fTE1FTSkK IAogI2RlZmluZSBIQVNfR1RfVUMoZGV2X3ByaXYpCShJTlRFTF9JTkZPKGRldl9wcml2KS0+aGFz X2d0X3VjKQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tZW1vcnlf cmVnaW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tZW1vcnlfcmVnaW9uLmMKaW5k ZXggZmJhMDdmNzFkOWJkLi43MDNjNjE1MzMxYzAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX21lbW9yeV9yZWdpb24uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9tZW1vcnlfcmVnaW9uLmMKQEAgLTYsNiArNiwxMiBAQAogI2luY2x1ZGUgImludGVsX21l bW9yeV9yZWdpb24uaCIKICNpbmNsdWRlICJpOTE1X2Rydi5oIgogCitjb25zdCB1MzIgaW50ZWxf cmVnaW9uX21hcFtdID0geworCVtJTlRFTF9NRU1PUllfU01FTV0gPSBCSVQoSU5URUxfU01FTSAr IElOVEVMX01FTU9SWV9UWVBFX1NISUZUKSB8IEJJVCgwKSwKKwlbSU5URUxfTUVNT1JZX0xNRU1d ID0gQklUKElOVEVMX0xNRU0gKyBJTlRFTF9NRU1PUllfVFlQRV9TSElGVCkgfCBCSVQoMCksCisJ W0lOVEVMX01FTU9SWV9TVE9MRU5dID0gQklUKElOVEVMX1NUT0xFTiArIElOVEVMX01FTU9SWV9U WVBFX1NISUZUKSB8IEJJVCgwKSwKK307CisKIHN0YXRpYyB1NjQKIGludGVsX21lbW9yeV9yZWdp b25fZnJlZV9wYWdlcyhzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtLAogCQkJICAgICAg IHN0cnVjdCBsaXN0X2hlYWQgKmJsb2NrcykKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX21lbW9yeV9yZWdpb24uaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX21l bW9yeV9yZWdpb24uaAppbmRleCAwOTVmNWE4Yjc3YWYuLjllZjJlYzc2MGE0YiAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbWVtb3J5X3JlZ2lvbi5oCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX21lbW9yeV9yZWdpb24uaApAQCAtMTcsOSArMTcsMzkgQEAg c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Q7CiBzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbjsK IHN0cnVjdCBzZ190YWJsZTsKIAorLyoqCisgKiAgQmFzZSBtZW1vcnkgdHlwZQorICovCitlbnVt IGludGVsX21lbW9yeV90eXBlIHsKKwlJTlRFTF9TTUVNID0gMCwKKwlJTlRFTF9MTUVNLAorCUlO VEVMX1NUT0xFTiwKK307CisKK2VudW0gaW50ZWxfcmVnaW9uX2lkIHsKKwlJTlRFTF9NRU1PUllf U01FTSA9IDAsCisJSU5URUxfTUVNT1JZX0xNRU0sCisJSU5URUxfTUVNT1JZX1NUT0xFTiwKKwlJ TlRFTF9NRU1PUllfVUtOT1dOLCAvKiBTaG91bGQgYmUgbGFzdCAqLworfTsKKworI2RlZmluZSBS RUdJT05fU01FTSAgICAgQklUKElOVEVMX01FTU9SWV9TTUVNKQorI2RlZmluZSBSRUdJT05fTE1F TSAgICAgQklUKElOVEVMX01FTU9SWV9MTUVNKQorI2RlZmluZSBSRUdJT05fU1RPTEVOICAgQklU KElOVEVMX01FTU9SWV9TVE9MRU4pCisKKyNkZWZpbmUgSU5URUxfTUVNT1JZX1RZUEVfU0hJRlQg MTYKKworI2RlZmluZSBNRU1PUllfVFlQRV9GUk9NX1JFR0lPTihyKSAoaWxvZzIociA+PiBJTlRF TF9NRU1PUllfVFlQRV9TSElGVCkpCisjZGVmaW5lIE1FTU9SWV9JTlNUQU5DRV9GUk9NX1JFR0lP TihyKSAoaWxvZzIociAmIDB4ZmZmZikpCisKICNkZWZpbmUgSTkxNV9BTExPQ19NSU5fUEFHRV9T SVpFICBCSVQoMCkKICNkZWZpbmUgSTkxNV9BTExPQ19DT05USUdVT1VTICAgICBCSVQoMSkKIAor LyoqCisgKiBNZW1vcnkgcmVnaW9ucyBlbmNvZGVkIGFzIHR5cGUgfCBpbnN0YW5jZQorICovCitl eHRlcm4gY29uc3QgdTMyIGludGVsX3JlZ2lvbl9tYXBbXTsKKwogc3RydWN0IGludGVsX21lbW9y eV9yZWdpb25fb3BzIHsKIAl1bnNpZ25lZCBpbnQgZmxhZ3M7CiAKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3JlZ2lvbl9sbWVtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9yZWdpb25fbG1lbS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwMC4uN2EzZjk2ZTFmNzY2Ci0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcmVnaW9uX2xtZW0uYwpAQCAtMCwwICsxLDQzIEBACisvLyBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogTUlUCisvKgorICogQ29weXJpZ2h0IMKpIDIwMTkgSW50ZWwgQ29ycG9yYXRp b24KKyAqLworCisjaW5jbHVkZSAiaTkxNV9kcnYuaCIKKyNpbmNsdWRlICJpbnRlbF9tZW1vcnlf cmVnaW9uLmgiCisjaW5jbHVkZSAiZ2VtL2k5MTVfZ2VtX2xtZW0uaCIKKyNpbmNsdWRlICJnZW0v aTkxNV9nZW1fcmVnaW9uLmgiCisjaW5jbHVkZSAiaW50ZWxfcmVnaW9uX2xtZW0uaCIKKworc3Rh dGljIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICoKK2xtZW1fY3JlYXRlX29iamVjdChzdHJ1 Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtLAorCQkgICByZXNvdXJjZV9zaXplX3Qgc2l6ZSwK KwkJICAgdW5zaWduZWQgaW50IGZsYWdzKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpp OTE1ID0gbWVtLT5pOTE1OworCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7CisKKwlp ZiAoc2l6ZSA+IEJJVChtZW0tPm1tLm1heF9vcmRlcikgKiBtZW0tPm1tLmNodW5rX3NpemUpCisJ CXJldHVybiBFUlJfUFRSKC1FMkJJRyk7CisKKwlvYmogPSBpOTE1X2dlbV9vYmplY3RfYWxsb2Mo KTsKKwlpZiAoIW9iaikKKwkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CisKKwlkcm1fZ2VtX3By aXZhdGVfb2JqZWN0X2luaXQoJmk5MTUtPmRybSwgJm9iai0+YmFzZSwgc2l6ZSk7CisJaTkxNV9n ZW1fb2JqZWN0X2luaXQob2JqLCAmaTkxNV9nZW1fbG1lbV9vYmpfb3BzKTsKKworCW9iai0+cmVh ZF9kb21haW5zID0gSTkxNV9HRU1fRE9NQUlOX1dDIHwgSTkxNV9HRU1fRE9NQUlOX0dUVDsKKwor CWk5MTVfZ2VtX29iamVjdF9zZXRfY2FjaGVfY29oZXJlbmN5KG9iaiwgSTkxNV9DQUNIRV9OT05F KTsKKworCWk5MTVfZ2VtX29iamVjdF9pbml0X21lbW9yeV9yZWdpb24ob2JqLCBtZW0sIGZsYWdz KTsKKworCXJldHVybiBvYmo7Cit9CisKK2NvbnN0IHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9u X29wcyBpbnRlbF9yZWdpb25fbG1lbV9vcHMgPSB7CisJLmluaXQgPSBpbnRlbF9tZW1vcnlfcmVn aW9uX2luaXRfYnVkZHksCisJLnJlbGVhc2UgPSBpbnRlbF9tZW1vcnlfcmVnaW9uX3JlbGVhc2Vf YnVkZHksCisJLmNyZWF0ZV9vYmplY3QgPSBsbWVtX2NyZWF0ZV9vYmplY3QsCit9OwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmVnaW9uX2xtZW0uaCBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3JlZ2lvbl9sbWVtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwMDAwLi5lZDJhM2JhYjY0NDMKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9yZWdpb25fbG1lbS5oCkBAIC0wLDAgKzEsMTEgQEAKKy8qIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQgKi8KKy8qCisgKiBDb3B5cmlnaHQgwqkgMjAxOSBJ bnRlbCBDb3Jwb3JhdGlvbgorICovCisKKyNpZm5kZWYgX19JTlRFTF9SRUdJT05fTE1FTV9ICisj ZGVmaW5lIF9fSU5URUxfUkVHSU9OX0xNRU1fSAorCitleHRlcm4gY29uc3Qgc3RydWN0IGludGVs X21lbW9yeV9yZWdpb25fb3BzIGludGVsX3JlZ2lvbl9sbWVtX29wczsKKworI2VuZGlmIC8qICFf X0lOVEVMX1JFR0lPTl9MTUVNX0ggKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L3NlbGZ0ZXN0cy9pOTE1X2xpdmVfc2VsZnRlc3RzLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9z ZWxmdGVzdHMvaTkxNV9saXZlX3NlbGZ0ZXN0cy5oCmluZGV4IDY2ZDgzYzEzOTBjMS4uYjRhNTA3 YzdlYzFkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9s aXZlX3NlbGZ0ZXN0cy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1 X2xpdmVfc2VsZnRlc3RzLmgKQEAgLTMxLDYgKzMxLDcgQEAgc2VsZnRlc3QoZ2VtX2NvbnRleHRz LCBpOTE1X2dlbV9jb250ZXh0X2xpdmVfc2VsZnRlc3RzKQogc2VsZnRlc3QoYmx0LCBpOTE1X2dl bV9vYmplY3RfYmx0X2xpdmVfc2VsZnRlc3RzKQogc2VsZnRlc3QoY2xpZW50LCBpOTE1X2dlbV9j bGllbnRfYmx0X2xpdmVfc2VsZnRlc3RzKQogc2VsZnRlc3QocmVzZXQsIGludGVsX3Jlc2V0X2xp dmVfc2VsZnRlc3RzKQorc2VsZnRlc3QobWVtb3J5X3JlZ2lvbiwgaW50ZWxfbWVtb3J5X3JlZ2lv bl9saXZlX3NlbGZ0ZXN0cykKIHNlbGZ0ZXN0KGhhbmdjaGVjaywgaW50ZWxfaGFuZ2NoZWNrX2xp dmVfc2VsZnRlc3RzKQogc2VsZnRlc3QoZXhlY2xpc3RzLCBpbnRlbF9leGVjbGlzdHNfbGl2ZV9z ZWxmdGVzdHMpCiBzZWxmdGVzdChndWMsIGludGVsX2d1Y19saXZlX3NlbGZ0ZXN0KQpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2ludGVsX21lbW9yeV9yZWdpb24u YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF9tZW1vcnlfcmVnaW9uLmMK aW5kZXggYzQzZDAwZWMzOGVhLi4xZTlhMGVlZjE3ZmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF9tZW1vcnlfcmVnaW9uLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvc2VsZnRlc3RzL2ludGVsX21lbW9yeV9yZWdpb24uYwpAQCAtMTEsOCArMTEs MTAgQEAKICNpbmNsdWRlICJtb2NrX2dlbV9kZXZpY2UuaCIKICNpbmNsdWRlICJtb2NrX3JlZ2lv bi5oIgogCisjaW5jbHVkZSAiZ2VtL2k5MTVfZ2VtX2xtZW0uaCIKICNpbmNsdWRlICJnZW0vaTkx NV9nZW1fcmVnaW9uLmgiCiAjaW5jbHVkZSAiZ2VtL3NlbGZ0ZXN0cy9tb2NrX2NvbnRleHQuaCIK KyNpbmNsdWRlICJndC9pbnRlbF9ndC5oIgogI2luY2x1ZGUgInNlbGZ0ZXN0cy9pOTE1X3JhbmRv bS5oIgogCiBzdGF0aWMgdm9pZCBjbG9zZV9vYmplY3RzKHN0cnVjdCBsaXN0X2hlYWQgKm9iamVj dHMpCkBAIC0yNTEsNiArMjUzLDI3IEBAIHN0YXRpYyBpbnQgaWd0X21vY2tfY29udGludW91cyh2 b2lkICphcmcpCiAJcmV0dXJuIGVycjsKIH0KIAorc3RhdGljIGludCBpZ3RfbG1lbV9jcmVhdGUo dm9pZCAqYXJnKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gYXJnOworCXN0 cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7CisJaW50IGVyciA9IDA7CisKKwlvYmogPSBp OTE1X2dlbV9vYmplY3RfY3JlYXRlX2xtZW0oaTkxNSwgUEFHRV9TSVpFLCAwKTsKKwlpZiAoSVNf RVJSKG9iaikpCisJCXJldHVybiBQVFJfRVJSKG9iaik7CisKKwllcnIgPSBpOTE1X2dlbV9vYmpl Y3RfcGluX3BhZ2VzKG9iaik7CisJaWYgKGVycikKKwkJZ290byBvdXRfcHV0OworCisJaTkxNV9n ZW1fb2JqZWN0X3VucGluX3BhZ2VzKG9iaik7CitvdXRfcHV0OgorCWk5MTVfZ2VtX29iamVjdF9w dXQob2JqKTsKKworCXJldHVybiBlcnI7Cit9CisKIGludCBpbnRlbF9tZW1vcnlfcmVnaW9uX21v Y2tfc2VsZnRlc3RzKHZvaWQpCiB7CiAJc3RhdGljIGNvbnN0IHN0cnVjdCBpOTE1X3N1YnRlc3Qg dGVzdHNbXSA9IHsKQEAgLTI4NSwzICszMDgsMjUgQEAgaW50IGludGVsX21lbW9yeV9yZWdpb25f bW9ja19zZWxmdGVzdHModm9pZCkKIAogCXJldHVybiBlcnI7CiB9CisKK2ludCBpbnRlbF9tZW1v cnlfcmVnaW9uX2xpdmVfc2VsZnRlc3RzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQor eworCXN0YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9zdWJ0ZXN0IHRlc3RzW10gPSB7CisJCVNVQlRF U1QoaWd0X2xtZW1fY3JlYXRlKSwKKwl9OworCWludCBlcnI7CisKKwlpZiAoIUhBU19MTUVNKGk5 MTUpKSB7CisJCXByX2luZm8oImRldmljZSBsYWNrcyBMTUVNIHN1cHBvcnQsIHNraXBwaW5nXG4i KTsKKwkJcmV0dXJuIDA7CisJfQorCisJaWYgKGludGVsX2d0X2lzX3dlZGdlZCgmaTkxNS0+Z3Qp KQorCQlyZXR1cm4gMDsKKworCW11dGV4X2xvY2soJmk5MTUtPmRybS5zdHJ1Y3RfbXV0ZXgpOwor CWVyciA9IGk5MTVfc3VidGVzdHModGVzdHMsIGk5MTUpOworCW11dGV4X3VubG9jaygmaTkxNS0+ ZHJtLnN0cnVjdF9tdXRleCk7CisKKwlyZXR1cm4gZXJyOworfQotLSAKMi4yMC4xCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=