From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: [PATCH v4 5/8] drm/i915: cgroup integration (v3) Date: Fri, 16 Mar 2018 17:09:02 -0700 Message-ID: <20180317000905.7091-6-matthew.d.roper@intel.com> References: <20180317000905.7091-1-matthew.d.roper@intel.com> Mime-Version: 1.0 Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180317000905.7091-1-matthew.d.roper@intel.com> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Content-Type: text/plain; charset="us-ascii" To: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, cgroups@vger.kernel.org SW50cm9kdWNlIGEgbmV3IERSTV9JT0NUTF9JOTE1X0NHUk9VUF9TRVRQQVJBTSBpb2N0bCB0aGF0 IHdpbGwgYWxsb3cKdXNlcnNwYWNlIHRvIHNldCBpOTE1LXNwZWNpZmljIHBhcmFtZXRlcnMgZm9y IGluZGl2aWR1YWwgY2dyb3Vwcy4gIGk5MTUKY2dyb3VwIGRhdGEgd2lsbCBiZSByZWdpc3RlcmVk IGFuZCBsYXRlciBsb29rZWQgdXAgdmlhIHRoZSBuZXcKY2dyb3VwX3ByaXYgaW5mcmFzdHJ1Y3R1 cmUuCgp2MjoKIC0gTGFyZ2UgcmViYXNlL3Jld3JpdGUgZm9yIG5ldyBjZ3JvdXBfcHJpdiBpbnRl cmZhY2UKdjM6CiAtIEFub3RoZXIgcmViYXNlL3Jld3JpdGUgZm9yIGlkYS1iYXNlZCBrZXlzIGFu ZCBrcmVmLWJhc2VkIHN0b3JhZ2UKIC0gQWNjZXNzIGNvbnRyb2wgbm8gbG9uZ2VyIGZvbGxvd3Mg Y2dyb3VwIGZpbGVzeXN0ZW0gcGVybWlzc2lvbnM7CiAgIGluc3RlYWQgd2UgcmVzdHJpY3QgYWNj ZXNzIHRvIGVpdGhlciBEUk0gbWFzdGVyIG9yCiAgIGNhcGFibGUoQ0FQX1NZU19SRVNPVVJDRSku CgpTaWduZWQtb2ZmLWJ5OiBNYXR0IFJvcGVyIDxtYXR0aGV3LmQucm9wZXJAaW50ZWwuY29tPgot LS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlICAgICAgfCAgIDEgKwogZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9jZ3JvdXAuYyB8IDE0MCArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jICAgIHwgICA3ICsr CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgIHwgIDI1ICsrKysrKysKIGluY2x1 ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaCAgICAgICAgfCAgMTIgKysrKwogNSBmaWxlcyBjaGFuZ2Vk LCAxODUgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfY2dyb3VwLmMKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtl ZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCmluZGV4IDU1MmU0M2U5NjYzZi4u MjYwMzExODVjZjBlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQpAQCAtNDgsNiArNDgsNyBAQCBpOTE1 LXkgOj0gaTkxNV9kcnYubyBcCiBpOTE1LSQoQ09ORklHX0NPTVBBVCkgICArPSBpOTE1X2lvYzMy Lm8KIGk5MTUtJChDT05GSUdfREVCVUdfRlMpICs9IGk5MTVfZGVidWdmcy5vIGludGVsX3BpcGVf Y3JjLm8KIGk5MTUtJChDT05GSUdfUEVSRl9FVkVOVFMpICs9IGk5MTVfcG11Lm8KK2k5MTUtJChD T05GSUdfQ0dST1VQUykgKz0gaTkxNV9jZ3JvdXAubwogCiAjIEdFTSBjb2RlCiBpOTE1LXkgKz0g aTkxNV9jbWRfcGFyc2VyLm8gXApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9jZ3JvdXAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfY2dyb3VwLmMKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5lYWE1NDBiNjVlZmQKLS0tIC9kZXYvbnVs bAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Nncm91cC5jCkBAIC0wLDAgKzEsMTQw IEBACisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUICovCisvKgorICogaTkxNV9jZ3Jv dXAuYyAtIExpbnV4IGNncm91cHMgaW50ZWdyYXRpb24gZm9yIGk5MTUKKyAqCisgKiBDb3B5cmln aHQgKEMpIDIwMTggSW50ZWwgQ29ycG9yYXRpb24KKyAqLworCisjaW5jbHVkZSA8bGludXgvY2dy b3VwLmg+CisKKyNpbmNsdWRlICJpOTE1X2Rydi5oIgorCitzdHJ1Y3QgaTkxNV9jZ3JvdXBfZGF0 YSB7CisJc3RydWN0IGtyZWYgcmVmOworfTsKKworc3RhdGljIGlubGluZSBzdHJ1Y3QgaTkxNV9j Z3JvdXBfZGF0YSAqCitjZ3JwX3JlZl90b19pOTE1KHN0cnVjdCBrcmVmICpyZWYpCit7CisJcmV0 dXJuIGNvbnRhaW5lcl9vZihyZWYsIHN0cnVjdCBpOTE1X2Nncm91cF9kYXRhLCByZWYpOworfQor CitzdGF0aWMgdm9pZAoraTkxNV9jZ3JvdXBfZnJlZShzdHJ1Y3Qga3JlZiAqcmVmKQoreworCXN0 cnVjdCBpOTE1X2Nncm91cF9kYXRhICpwcml2OworCisJcHJpdiA9IGNncnBfcmVmX3RvX2k5MTUo cmVmKTsKKwlrZnJlZShwcml2KTsKK30KKworaW50CitpOTE1X2Nncm91cF9pbml0KHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKK3sKKwlpbnQgcmV0ID0gMDsKKworCWRldl9wcml2 LT5jZ3JvdXBfcHJpdl9rZXkgPSBjZ3JvdXBfcHJpdl9nZXRrZXkoaTkxNV9jZ3JvdXBfZnJlZSk7 CisJaWYgKGRldl9wcml2LT5jZ3JvdXBfcHJpdl9rZXkgPCAwKSB7CisJCURSTV9ERUJVR19EUklW RVIoIkZhaWxlZCB0byBnZXQgYSBjZ3JvdXAgcHJpdmF0ZSBkYXRhIGtleVxuIik7CisJCXJldCA9 IGRldl9wcml2LT5jZ3JvdXBfcHJpdl9rZXk7CisJfQorCisJbXV0ZXhfaW5pdCgmZGV2X3ByaXYt PmNncm91cF9sb2NrKTsKKworCXJldHVybiByZXQ7Cit9CisKK3ZvaWQKK2k5MTVfY2dyb3VwX3No dXRkb3duKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKK3sKKwljZ3JvdXBfcHJp dl9kZXN0cm95a2V5KGRldl9wcml2LT5jZ3JvdXBfcHJpdl9rZXkpOworfQorCisvKgorICogUmV0 dXJuIGk5MTUgY2dyb3VwIHByaXZhdGUgZGF0YSwgY3JlYXRpbmcgYW5kIHJlZ2lzdGVyaW5nIGl0 IGlmIG9uZSBkb2Vzbid0CisgKiBhbHJlYWR5IGV4aXN0IGZvciB0aGlzIGNncm91cC4KKyAqLwor X19tYXliZV91bnVzZWQKK3N0YXRpYyBzdHJ1Y3QgaTkxNV9jZ3JvdXBfZGF0YSAqCitnZXRfb3Jf Y3JlYXRlX2Nncm91cF9kYXRhKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJ CSAgc3RydWN0IGNncm91cCAqY2dycCkKK3sKKwlzdHJ1Y3Qga3JlZiAqcmVmOworCXN0cnVjdCBp OTE1X2Nncm91cF9kYXRhICpwcml2OworCisJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPmNncm91cF9s b2NrKTsKKworCXJlZiA9IGNncm91cF9wcml2X2dldChjZ3JwLCBkZXZfcHJpdi0+Y2dyb3VwX3By aXZfa2V5KTsKKwlpZiAocmVmKSB7CisJCXByaXYgPSBjZ3JwX3JlZl90b19pOTE1KHJlZik7CisJ fSBlbHNlIHsKKwkJcHJpdiA9IGt6YWxsb2Moc2l6ZW9mICpwcml2LCBHRlBfS0VSTkVMKTsKKwkJ aWYgKCFwcml2KSB7CisJCQlwcml2ID0gRVJSX1BUUigtRU5PTUVNKTsKKwkJCWdvdG8gb3V0Owor CQl9CisKKwkJa3JlZl9pbml0KCZwcml2LT5yZWYpOworCQljZ3JvdXBfcHJpdl9pbnN0YWxsKGNn cnAsIGRldl9wcml2LT5jZ3JvdXBfcHJpdl9rZXksCisJCQkJICAgICZwcml2LT5yZWYpOworCX0K Kworb3V0OgorCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPmNncm91cF9sb2NrKTsKKworCXJldHVy biBwcml2OworfQorCisvKioKKyAqIGk5MTVfY2dyb3VwX3NldHBhcmFtX2lvY3RsIC0gaW9jdGwg dG8gYWx0ZXIgaTkxNSBzZXR0aW5ncyBmb3IgYSBjZ3JvdXAKKyAqIEBkZXY6IERSTSBkZXZpY2UK KyAqIEBkYXRhOiBkYXRhIHBvaW50ZXIgZm9yIHRoZSBpb2N0bAorICogQGZpbGVfcHJpdjogRFJN IGZpbGUgaGFuZGxlIGZvciB0aGUgaW9jdGwgY2FsbAorICoKKyAqIEFsbG93cyBpOTE1LXNwZWNp ZmljIHBhcmFtZXRlcnMgdG8gYmUgc2V0IGZvciBhIExpbnV4IGNncm91cC4KKyAqLworaW50Citp OTE1X2Nncm91cF9zZXRwYXJhbV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAorCQkJICAg dm9pZCAqZGF0YSwKKwkJCSAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSkKK3sKKwlzdHJ1Y3QgZHJt X2k5MTVfY2dyb3VwX3BhcmFtICpyZXEgPSBkYXRhOworCXN0cnVjdCBjZ3JvdXAgKmNncnA7CisJ aW50IHJldDsKKworCS8qIFdlIGRvbid0IGFjdHVhbGx5IHN1cHBvcnQgYW55IGZsYWdzIHlldC4g Ki8KKwlpZiAocmVxLT5mbGFncykgeworCQlEUk1fREVCVUdfRFJJVkVSKCJJbnZhbGlkIGZsYWdz XG4iKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJLyoKKwkgKiBNYWtlIHN1cmUgdGhlIGZp bGUgZGVzY3JpcHRvciByZWFsbHkgaXMgYSBjZ3JvdXAgZmQgYW5kIGlzIG9uIHRoZQorCSAqIHYy IGhpZXJhcmNoeS4KKwkgKi8KKwljZ3JwID0gY2dyb3VwX2dldF9mcm9tX2ZkKHJlcS0+Y2dyb3Vw X2ZkKTsKKwlpZiAoSVNfRVJSKGNncnApKSB7CisJCURSTV9ERUJVR19EUklWRVIoIkludmFsaWQg Y2dyb3VwIGZpbGUgZGVzY3JpcHRvclxuIik7CisJCXJldHVybiBQVFJfRVJSKGNncnApOworCX0K KworCS8qCisJICogQWNjZXNzIGNvbnRyb2w6ICBGb3Igbm93IHdlIGdyYW50IGFjY2VzcyB2aWEg Q0FQX1NZU19SRVNPVVJDRSBfb3JfCisJICogRFJNIG1hc3RlciBzdGF0dXMuCisJICovCisJaWYg KCFjYXBhYmxlKENBUF9TWVNfUkVTT1VSQ0UpICYmICFkcm1faXNfY3VycmVudF9tYXN0ZXIoZmls ZSkpIHsKKwkJRFJNX0RFQlVHX0RSSVZFUigiSW5zdWZmaWNpZW50IHBlcm1pc3Npb25zIHRvIGFk anVzdCBpOTE1IGNncm91cCBzZXR0aW5nc1xuIik7CisJCWdvdG8gb3V0OworCX0KKworCXN3aXRj aCAocmVxLT5wYXJhbSkgeworCWRlZmF1bHQ6CisJCURSTV9ERUJVR19EUklWRVIoIkludmFsaWQg Y2dyb3VwIHBhcmFtZXRlciAlbGxkXG4iLCByZXEtPnBhcmFtKTsKKwkJcmV0ID0gLUVJTlZBTDsK Kwl9CisKK291dDoKKwljZ3JvdXBfcHV0KGNncnApOworCisJcmV0dXJuIHJldDsKK30KZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5jCmluZGV4IDNkZjUxOTM0ODdmMy4uOTliNTcxY2I3ZWY4IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmMKQEAgLTE0MDcsNiArMTQwNywxMCBAQCBpbnQgaTkxNV9kcml2ZXJf bG9hZChzdHJ1Y3QgcGNpX2RldiAqcGRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmVu dCkKIAogCWludGVsX3J1bnRpbWVfcG1fcHV0KGRldl9wcml2KTsKIAorCXJldCA9IGk5MTVfY2dy b3VwX2luaXQoZGV2X3ByaXYpOworCWlmIChyZXQgPCAwKQorCQlnb3RvIG91dF9jbGVhbnVwX2h3 OworCiAJaTkxNV93ZWxjb21lX21lc3NhZ2VzKGRldl9wcml2KTsKIAogCXJldHVybiAwOwpAQCAt MTQzMyw2ICsxNDM3LDggQEAgdm9pZCBpOTE1X2RyaXZlcl91bmxvYWQoc3RydWN0IGRybV9kZXZp Y2UgKmRldikKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRl dik7CiAJc3RydWN0IHBjaV9kZXYgKnBkZXYgPSBkZXZfcHJpdi0+ZHJtLnBkZXY7CiAKKwlpOTE1 X2Nncm91cF9zaHV0ZG93bihkZXZfcHJpdik7CisKIAlpOTE1X2RyaXZlcl91bnJlZ2lzdGVyKGRl dl9wcml2KTsKIAogCWlmIChpOTE1X2dlbV9zdXNwZW5kKGRldl9wcml2KSkKQEAgLTI4MzQsNiAr Mjg0MCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2lvY3RsX2Rlc2MgaTkxNV9pb2N0bHNb XSA9IHsKIAlEUk1fSU9DVExfREVGX0RSVihJOTE1X1BFUkZfQUREX0NPTkZJRywgaTkxNV9wZXJm X2FkZF9jb25maWdfaW9jdGwsIERSTV9VTkxPQ0tFRHxEUk1fUkVOREVSX0FMTE9XKSwKIAlEUk1f SU9DVExfREVGX0RSVihJOTE1X1BFUkZfUkVNT1ZFX0NPTkZJRywgaTkxNV9wZXJmX3JlbW92ZV9j b25maWdfaW9jdGwsIERSTV9VTkxPQ0tFRHxEUk1fUkVOREVSX0FMTE9XKSwKIAlEUk1fSU9DVExf REVGX0RSVihJOTE1X1FVRVJZLCBpOTE1X3F1ZXJ5X2lvY3RsLCBEUk1fVU5MT0NLRUR8RFJNX1JF TkRFUl9BTExPVyksCisJRFJNX0lPQ1RMX0RFRl9EUlYoSTkxNV9DR1JPVVBfU0VUUEFSQU0sIGk5 MTVfY2dyb3VwX3NldHBhcmFtX2lvY3RsLCBEUk1fVU5MT0NLRUR8RFJNX1JFTkRFUl9BTExPVyks CiB9OwogCiBzdGF0aWMgc3RydWN0IGRybV9kcml2ZXIgZHJpdmVyID0gewpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKaW5kZXggNmNlN2QwNjYyYmI2Li5iMTg2MmZlNWUxYTYgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaApAQCAtMTczOCw2ICsxNzM4LDEwIEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRl IHsKIAogCXN0cnVjdCBpbnRlbF9wcGF0IHBwYXQ7CiAKKwkvKiBjZ3JvdXAgcHJpdmF0ZSBkYXRh ICovCisJaW50IGNncm91cF9wcml2X2tleTsKKwlzdHJ1Y3QgbXV0ZXggY2dyb3VwX2xvY2s7CisK IAkvKiBLZXJuZWwgTW9kZXNldHRpbmcgKi8KIAogCXN0cnVjdCBpbnRlbF9jcnRjICpwbGFuZV90 b19jcnRjX21hcHBpbmdbSTkxNV9NQVhfUElQRVNdOwpAQCAtMjY3OCw2ICsyNjgyLDI3IEBAIGlu dGVsX2dndHRfdXBkYXRlX25lZWRzX3Z0ZF93YShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCiBpbnQgaW50ZWxfc2FuaXRpemVfZW5hYmxlX3BwZ3R0KHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKIAkJCQlpbnQgZW5hYmxlX3BwZ3R0KTsKIAorLyogaTkxNV9jZ3Jv dXAuYyAqLworI2lmZGVmIENPTkZJR19DR1JPVVBTCitpbnQgaTkxNV9jZ3JvdXBfaW5pdChzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOworaW50IGk5MTVfY2dyb3VwX3NldHBhcmFt X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCisJCQkgICAgICAgc3Ry dWN0IGRybV9maWxlICpmaWxlKTsKK3ZvaWQgaTkxNV9jZ3JvdXBfc2h1dGRvd24oc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIGludAoraTkx NV9jZ3JvdXBfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCit7CisJcmV0 dXJuIDA7Cit9CitzdGF0aWMgaW5saW5lIHZvaWQgaTkxNV9jZ3JvdXBfc2h1dGRvd24oc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KSB7fQorc3RhdGljIGlubGluZSBpbnQKK2k5MTVf Y2dyb3VwX3NldHBhcmFtX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEs CisJCQkgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpCit7CisJcmV0dXJuIC1FSU5WQUw7Cit9Cisj ZW5kaWYKKwogLyogaTkxNV9kcnYuYyAqLwogdm9pZCBfX3ByaW50ZigzLCA0KQogX19pOTE1X3By aW50ayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGNvbnN0IGNoYXIgKmxldmVs LApkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oIGIvaW5jbHVkZS91YXBp L2RybS9pOTE1X2RybS5oCmluZGV4IDdmNTYzNGNlOGU4OC4uNzM1MTI4ZmE2MWRlIDEwMDY0NAot LS0gYS9pbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmgKKysrIGIvaW5jbHVkZS91YXBpL2RybS9p OTE1X2RybS5oCkBAIC0zMTksNiArMzE5LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX2RybV9pOTE1X3Nh cmVhIHsKICNkZWZpbmUgRFJNX0k5MTVfUEVSRl9BRERfQ09ORklHCTB4MzcKICNkZWZpbmUgRFJN X0k5MTVfUEVSRl9SRU1PVkVfQ09ORklHCTB4MzgKICNkZWZpbmUgRFJNX0k5MTVfUVVFUlkJCQkw eDM5CisjZGVmaW5lIERSTV9JOTE1X0NHUk9VUF9TRVRQQVJBTQkweDNhCiAKICNkZWZpbmUgRFJN X0lPQ1RMX0k5MTVfSU5JVAkJRFJNX0lPVyggRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0lO SVQsIGRybV9pOTE1X2luaXRfdCkKICNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfRkxVU0gJCURSTV9J TyAoIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9GTFVTSCkKQEAgLTM3Nyw2ICszNzgsNyBA QCB0eXBlZGVmIHN0cnVjdCBfZHJtX2k5MTVfc2FyZWEgewogI2RlZmluZSBEUk1fSU9DVExfSTkx NV9QRVJGX0FERF9DT05GSUcJRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfUEVS Rl9BRERfQ09ORklHLCBzdHJ1Y3QgZHJtX2k5MTVfcGVyZl9vYV9jb25maWcpCiAjZGVmaW5lIERS TV9JT0NUTF9JOTE1X1BFUkZfUkVNT1ZFX0NPTkZJRwlEUk1fSU9XKERSTV9DT01NQU5EX0JBU0Ug KyBEUk1fSTkxNV9QRVJGX1JFTU9WRV9DT05GSUcsIF9fdTY0KQogI2RlZmluZSBEUk1fSU9DVExf STkxNV9RVUVSWQkJCURSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9RVUVSWSwg c3RydWN0IGRybV9pOTE1X3F1ZXJ5KQorI2RlZmluZSBEUk1fSU9DVExfSTkxNV9DR1JPVVBfU0VU UEFSQU0JCURSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0NHUk9VUF9TRVRQQVJB TSwgc3RydWN0IGRybV9pOTE1X2Nncm91cF9wYXJhbSkKIAogLyogQWxsb3cgZHJpdmVycyB0byBz dWJtaXQgYmF0Y2hidWZmZXJzIGRpcmVjdGx5IHRvIGhhcmR3YXJlLCByZWx5aW5nCiAgKiBvbiB0 aGUgc2VjdXJpdHkgbWVjaGFuaXNtcyBwcm92aWRlZCBieSBoYXJkd2FyZS4KQEAgLTE3MTcsNiAr MTcxOSwxNiBAQCBzdHJ1Y3QgZHJtX2k5MTVfcXVlcnlfdG9wb2xvZ3lfaW5mbyB7CiAJX191OCBk YXRhW107CiB9OwogCisvKioKKyAqIFN0cnVjdHVyZSB0byBzZXQgaTkxNSBwYXJhbWV0ZXIgb24g YSBjZ3JvdXAuCisgKi8KK3N0cnVjdCBkcm1faTkxNV9jZ3JvdXBfcGFyYW0geworCV9fczMyIGNn cm91cF9mZDsKKwlfX3UzMiBmbGFnczsKKwlfX3U2NCBwYXJhbTsKKwlfX3M2NCB2YWx1ZTsKK307 CisKICNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQogfQogI2VuZGlmCi0tIAoyLjE0LjMKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=