From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arun Siluvery Subject: [RFC 2/2] drm/i915/bxt: Enable pooled EUs for BXT Date: Fri, 10 Jul 2015 18:35:20 +0100 Message-ID: <1436549720-34166-3-git-send-email-arun.siluvery@linux.intel.com> References: <1436549720-34166-1-git-send-email-arun.siluvery@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id B1DF66EE32 for ; Fri, 10 Jul 2015 10:35:29 -0700 (PDT) In-Reply-To: <1436549720-34166-1-git-send-email-arun.siluvery@linux.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 RnJvbTogQXJtaW4gUmVlc2UgPGFybWluLmMucmVlc2VAaW50ZWwuY29tPgoKVGhlIHBvb2xlZCBF VSBmZWF0dXJlIGZvciBCWFQgd2lsbCBiZSBlbmFibGVkIGJ5IHRoZSBHRU45CmdvbGRlbiBjb250 ZXh0IEJCLiAgUG9vbGluZyBFVXMgYWxsb3dzIG1vcmUgZXhlY3V0aW9uIHVuaXRzCnRvIGJlIGF2 YWlsYWJsZSBmb3IgcmVuZGVyaW5nIG9wZXJhdGlvbnMgYW5kIHNob3VsZCByZXN1bHQKaW4gaW1w cm92ZWQgcGVyZm9ybWFuY2UuICBUaGUgZ29sZGVuIGNvbnRleHQgYmF0Y2ggYnVmZmVyCmlzIHVz ZWQgdG8gZW5hYmxlIHRoZSBmZWF0dXJlIHNvIGl0IHdpbGwgYmUgYXZhaWxhYmxlIGFzCnRoZSBz eXN0ZW0ncyBkZWZhdWx0IHJlbmRlciBzdGF0ZS4KCnYxIC0gT3JpZ2luYWwgcGF0Y2gKCnYyIC0g UmViYXNlZAoKdjMgLSBBbGxvdyB0aGUgZHJpdmVyIHRvIG1vZGlmeSBtdWx0aXBsZSAnbW9kaWZp Y2F0aW9uIHJhbmdlcycKd2l0aGluIHRoZSBnb2xkZW4gY29udGV4dCBiYXRjaCBidWZmZXIuCgpT aWduZWQtb2ZmLWJ5OiBBcm1pbiBSZWVzZSA8YXJtaW4uYy5yZWVzZUBpbnRlbC5jb20+Ci0tLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVuZGVyX3N0YXRlLmMgIHwgMTIwICsrKysr KysrKysrKysrKysrKystLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yZW5kZXJz dGF0ZV9nZW42LmMgfCAgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JlbmRlcnN0 YXRlX2dlbjcuYyB8ICAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmVuZGVyc3Rh dGVfZ2VuOC5jIHwgICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yZW5kZXJzdGF0 ZV9nZW45LmMgfCAgMTYgKystLQogNSBmaWxlcyBjaGFuZ2VkLCAxMDIgaW5zZXJ0aW9ucygrKSwg NDAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fcmVuZGVyX3N0YXRlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZW5kZXJf c3RhdGUuYwppbmRleCA4MTgyMzNkLi43ZTI1NjEwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9yZW5kZXJfc3RhdGUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9yZW5kZXJfc3RhdGUuYwpAQCAtNDUsNDQgKzQ1LDEwNCBAQCByZW5kZXJfc3Rh dGVfZ2V0X3JvZGF0YShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBjb25zdCBpbnQgZ2VuKQogCXJl dHVybiBOVUxMOwogfQogCisvKiBUaGlzIGZ1bmN0aW9uIHdyaXRlcyB0aGUgcGxhdGZvcm0ncyBn b2xkZW4gY29udGV4dCAnbW9kaWZpY2F0aW9uIHZhbHVlcycKKyAqIHRvIHRoZSBzcGVjaWZpZWQg cmFuZ2VzIGluIHRoZSBnb2xkZW4gY29udGV4dCBiYXRjaCBidWZmZXIKKyAqLworc3RhdGljIGlu dCBnY193cml0ZV92YWx1ZXMoIGNvbnN0IHN0cnVjdCBpbnRlbF9yZW5kZXJzdGF0ZV9yb2RhdGEg KnJvZGF0YSwKKwkJCQlpbnQgbW9kX2luZGV4LAorCQkJCWludCByYW5nZV9vZmZzZXQsCisJCQkJ aW50IG51bV92YWxzLAorCQkJCXUzMiAqbW9kX3ZhbCwKKwkJCQl1MzIgKmQpCit7CisJLyogbW9k X2luZGV4IAktIFRoZSBpbmRleCB0byB0aGUgaSd0aCAnbW9kX3ZhbHVlX2luZm8nIGVsZW1lbnQK KwkgKiAJCSAgaW4gaW50ZWxfcmVuZGVyc3RhdGVfZ2VueC5jCisJICogcmFuZ2Vfb2Zmc2V0IC0g SWYgdGhlICdtb2RfdmFsdWVfaW5mbycgZWxlbWVudCBzcGVjaWZpZXMgYSByYW5nZSBvZgorCSAq IAkJICB2YWx1ZXMgKG1vcmUgdGhhbiBvbmUgdmFsdWUgY2FuIGJlIG1vZGlmaWVkKSwgdGhlCisJ ICogCQkgIHJhbmdlX29mZnNldCBpcyB0aGUgdTMyIHBvc2l0aW9uIGluIHRoaXMgcmFuZ2UgYXQK KwkgKiAJCSAgd2hpY2ggd3JpdGluZyBuZXcgdmFsdWVzIG9jY3Vycy4gIE5vcm1hbGx5LCByYW5n ZQorCSAqCQkgX29mZnNldCBpcyAnMCcuCisJICogbnVtX3ZhbHMJLSBOdW1iZXIgb2YgdTMyIHZh bHVlcyB0byBiZSB3cml0dGVuIGluIHRoZSByYW5nZQorCSAqIG1vZF92YWwJLSBBcnJheSBvZiB1 MzIgdmFsdWVzIHRvIHdyaXRlIGludG8gdGhpcyBnb2xkZW4KKwkgKiAJCSAgY29udGV4dCBCQiBy YW5nZQorCSAqIGQJCS0gUG9pbnRlciB0byB0aGUgZ29sZGVuIGNvbnRleHQgYmF0Y2ggYnVmZmVy CisJICoKKwkgKi8KKwlpZiAobW9kX2luZGV4IDwgcm9kYXRhLT5tb2RfdmFsdWVfaXRlbXMpIHsK KwkJaW50IG1vZF9vZmZzZXQsIG1vZF9tYXhfY250LCBpOworCisJCS8qIFN0YXJ0IGJ5dGUgb2Zm c2V0IG9mIG1vZGlmaWNhdGlvbiByYW5nZSBpbiBnb2xkZW4gY29udGV4dAorCQkgKiBiYXRjaCBi dWZmZXIgKi8KKwkJbW9kX29mZnNldCA9CisJCQlyb2RhdGEtPm1vZF92YWx1ZXNbbW9kX2luZGV4 XS5vZmZzZXQ7CisJCS8qIE1heCAjIG9mIHUzMiB2YWx1ZXMgd2hpY2ggY2FuIGJlIHdyaXR0ZW4g Zm9yIHRoaXMgcmFuZ2UgKi8KKwkJbW9kX21heF9jbnQgPQorCQkJcm9kYXRhLT5tb2RfdmFsdWVz W21vZF9pbmRleF0ubWF4X2NudDsKKworCQkvKiBDaGVjayBmb3IgRFdPUkQgYWxpZ25lZCBhZGRy ZXNzLCBldCBhbCAqLworCQlpZiAoKG51bV92YWxzICsgcmFuZ2Vfb2Zmc2V0ID4gbW9kX21heF9j bnQpIHx8CisJCSAgICAobW9kX29mZnNldCA8PSAwKSB8fAorCQkgICAgKG1vZF9vZmZzZXQgPiBQ QUdFX1NJWkUgLSAobW9kX21heF9jbnQgKiBzaXplb2YodTMyKSkpIHx8CisJCSAgICAoKG1vZF9v ZmZzZXQgJiAoc2l6ZW9mKHUzMikgLSAxKSkgIT0gMCkpCisJCQlyZXR1cm4gLUVJTlZBTDsKKwor CQkvKiBDb3B5IHRoZSBuZXcgdmFsdWVzIGludG8gZ29sZGVuIGNvbnRleHQgQkIgKi8KKwkJZm9y IChpID0gMDsgaSA8IG51bV92YWxzOyBpKyspIHsKKwkJCWRbKG1vZF9vZmZzZXQvc2l6ZW9mKHUz MikpICsgcmFuZ2Vfb2Zmc2V0ICsgaV0gPSBtb2RfdmFsW2ldOworCQl9CisJfSBlbHNlCisJCXJl dHVybiAtRUlOVkFMOworCisJcmV0dXJuIDA7Cit9CisKIC8qKgogICogT2Zmc2V0cyBmb3IgZ29s ZGVuIGNvbnRleHQgInZhbHVlIG1vZGlmaWNhdGlvbnMiIGRlZmluZWQgaW4KICAqIGludGVsX3Jl bmRlcnN0YXRlX2dlbnguYyBhcmUgbG9jYXRpb25zIGluIHRoZSBiYXRjaCBidWZmZXIKICAqIHdo ZXJlIHRoZSBkcml2ZXIgaXMgYWxsb3dlZCB0byBtb2RpZnkgb25lIG9yIG1vcmUgRFdPUkRzCiAg KiB0byBjdXN0b21pemUgaW5zdHJ1Y3Rpb25zIGZvciB0aGUgR0VOIHBsYXRmb3JtIHByZXNlbnQu CiAgKi8KLXN0YXRpYyBpbnQgZ2NfbW9kaWZ5X3ZhbHVlcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAorc3RhdGljIGludCBnY19tb2RpZnlfcGxhdGZvcm1fdmFsdWVzKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsCiAJCQkgY29uc3Qgc3RydWN0IGludGVsX3JlbmRlcnN0YXRlX3JvZGF0YSAqcm9kYXRh LAogCQkJIHUzMiAqZCkKIHsKLQkvKiBJbml0IGluZGV4IHRvICJub3RoaW5nIHRvIG1vZGlmeSIg dmFsdWUgKi8KLQlpbnQgbW9kX2luZGV4ID0gLTE7Ci0JaW50IG1vZF92YWxbMV07Ci0JaW50IG51 bV92YWxzID0gMDsKLQotCS8qIFdyaXRlIHJlcXVpcmVkIHZhbHVlKHMpIHRvIHRoZSBzcGVjaWZp ZWQgb2Zmc2V0KHMpICovCi0JaWYgKChtb2RfaW5kZXggPj0gMCkgJiYKLQkgICAgKG51bV92YWxz ID4gMCkpIHsKLQkJaWYgKG1vZF9pbmRleCA8IHJvZGF0YS0+bW9kX3ZhbHVlX2l0ZW1zKSB7Ci0J CQlpbnQgbW9kX29mZnNldCwgbW9kX21heF9jbnQsIGk7Ci0KLQkJCW1vZF9vZmZzZXQgPQotCQkJ CXJvZGF0YS0+bW9kX3ZhbHVlc1ttb2RfaW5kZXhdLm9mZnNldDsKLQkJCW1vZF9tYXhfY250ID0K LQkJCQlyb2RhdGEtPm1vZF92YWx1ZXNbbW9kX2luZGV4XS5tYXhfY250OwotCi0JCQkvKiBDaGVj ayBmb3IgRFdPUkQgYWxpZ25lZCBhZGRyZXNzLCBldCBhbCAqLwotCQkJaWYgKChudW1fdmFscyA+ IG1vZF9tYXhfY250KSB8fAotCQkJICAgIChtb2Rfb2Zmc2V0IDw9IDApIHx8Ci0JCQkgICAgKG1v ZF9vZmZzZXQgPiBQQUdFX1NJWkUgLSAobW9kX21heF9jbnQgKiBzaXplb2YodTMyKSkpIHx8Ci0J CQkgICAgKChtb2Rfb2Zmc2V0ICYgKHNpemVvZih1MzIpIC0gMSkpICE9IDApKQotCQkJCXJldHVy biAtRUlOVkFMOwotCi0JCQlmb3IgKGkgPSAwOyBpIDwgbnVtX3ZhbHM7IGkrKykgewotCQkJCWRb KG1vZF9vZmZzZXQvc2l6ZW9mKHUzMikpICsgaV0gPSBtb2RfdmFsW2ldOwotCQkJfQotCQl9IGVs c2UKLQkJCXJldHVybiAtRUlOVkFMOworCS8qIE1vZGlmaWNhdGlvbnMgdG8gZ29sZGVuIGNvbnRl eHQgQkIgZm9yIEJyb3h0b24gKi8KKwlpZiAoSVNfQlJPWFRPTihkZXYpKSB7CisJCWludCByZXQs IG1vZF92YWxbMV07CisJCS8qIFN0ZXAgMSAuLi4KKwkJICogUmVtb3ZlIFNLTCdzIE1JX0JBVENI X0JVRkZFUl9FTkQgY29tbWFuZCBpbiB0aGUgbW9kX2luZGV4IDAKKwkJICogcmFuZ2UgdG8gYWxs b3cgdGhlIGdvbGRlbiBjb250ZXh0IGJhdGNoIGJ1ZmZlciB0byBwcm9jZWVkIHRvCisJCSAqIHRo ZSBCWFQgc3BlY2lmaWMgY29tbWFuZHMgc2V0dGluZyB1cCBwb29sZWQgRVVzCisJCSAqLworCQlt b2RfdmFsWzBdID0gMDsKKwkJcmV0ID0gZ2Nfd3JpdGVfdmFsdWVzKHJvZGF0YSwKKwkJCQkJMCwg LyogbW9kX2luZGV4IDAgKi8KKwkJCQkJMCwgLyogcmFuZ2Vfb2Zmc2V0ICovCisJCQkJCTEsIC8q IG51bV92YWxzICovCisJCQkJCW1vZF92YWwsIGQpOworCQlpZiAocmV0IDwgMCkKKwkJCXJldHVy biByZXQ7CisKKwkJLyogVE9ETyAtIEludGVncmF0ZSBKZWZmIE1jR2VlJ3MgcGF0Y2hlcyB0byBk ZXRlcm1pbmUKKwkJICogd2hldGhlciB0aGUgQlhUIGlzIDJ4NiBvciAzeDYuICBGb3Igbm93LCBh c3N1bWUgMng2CisJCSAqLworCQkjZGVmaW5lIElTX0JST1hUT05fMng2IDEgIC8qIEV2ZW50dWFs bHkgZ2V0IHJpZCBvZiB0aGlzICovCisKKwkJaWYgKElTX0JST1hUT05fMng2KSB7CisJCQkvKiBT dGVwIDIgLi4uCisJCQkgKiBSZXBsYWNlIGV4aXN0aW5nIFBvb2xCaXRGaWVsZC1TbGljZTAgdmFs dWUgaW4gdGhlCisJCQkgKiBtb2RfaW5kZXggMSByYW5nZSB3aXRoICcwJywgdGhlIHZhbHVlIGZv ciAyeDYKKwkJCSAqIHBvb2xlZCBFVXMKKwkJCSAqLworCQkJbW9kX3ZhbFswXSA9IDA7CisJCQly ZXQgPSBnY193cml0ZV92YWx1ZXMocm9kYXRhLAorCQkJCQkJMSwgLyogbW9kX2luZGV4IDEgKi8K KwkJCQkJCTAsIC8qIHJhbmdlX29mZnNldCwgdTMyICovCisJCQkJCQkxLCAvKiBudW1fdmFscyAq LworCQkJCQkJbW9kX3ZhbCwgZCk7CisJCQlpZiAocmV0IDwgMCkKKwkJCQlyZXR1cm4gcmV0Owor CQl9CiAJfQogCiAJcmV0dXJuIDA7CkBAIC0xNTYsNyArMjE2LDcgQEAgc3RhdGljIGludCByZW5k ZXJfc3RhdGVfc2V0dXAoc3RydWN0IHJlbmRlcl9zdGF0ZSAqc28sIHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCiAJLyogQW55IGdvbGRlbiBjb250ZXh0IEJCIGVudHJpZXMgdG8gbW9kaWZ5PyAqLwog CWlmICgocm9kYXRhLT5tb2RfdmFsdWVzWzBdLm9mZnNldCAhPSAtMSkgJiYKIAkgICAgKHJvZGF0 YS0+bW9kX3ZhbHVlc1swXS5tYXhfY250ID4gMCkpCi0JCXJldCA9IGdjX21vZGlmeV92YWx1ZXMo ZGV2LCByb2RhdGEsIGQpOworCQlyZXQgPSBnY19tb2RpZnlfcGxhdGZvcm1fdmFsdWVzKGRldiwg cm9kYXRhLCBkKTsKIAllbHNlCiAJCXJldCA9IDA7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3JlbmRlcnN0YXRlX2dlbjYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3JlbmRlcnN0YXRlX2dlbjYuYwppbmRleCBlZjI5MDY5Li5lZjg2MWQxIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yZW5kZXJzdGF0ZV9nZW42LmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmVuZGVyc3RhdGVfZ2VuNi5jCkBAIC0zNSw3ICsz NSw3IEBAIHN0YXRpYyBjb25zdCB1MzIgZ2VuNl9udWxsX3N0YXRlX3JlbG9jc1tdID0gewogfTsK IAogc3RhdGljIGNvbnN0IHN0cnVjdCBtb2RfdmFsdWVfaW5mbyBnZW42X21vZF92YWx1ZXNbXSA9 IHsKLQl7LTEsIDB9LAorCXstMSwgMH0KIH07CiAKIHN0YXRpYyBjb25zdCB1MzIgZ2VuNl9udWxs X3N0YXRlX2JhdGNoW10gPSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9yZW5kZXJzdGF0ZV9nZW43LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yZW5kZXJz dGF0ZV9nZW43LmMKaW5kZXggNDA4ZTkwMS4uNTMwMTNhMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcmVuZGVyc3RhdGVfZ2VuNy5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3JlbmRlcnN0YXRlX2dlbjcuYwpAQCAtMzQsNyArMzQsNyBAQCBzdGF0aWMg Y29uc3QgdTMyIGdlbjdfbnVsbF9zdGF0ZV9yZWxvY3NbXSA9IHsKIH07CiAKIHN0YXRpYyBjb25z dCBzdHJ1Y3QgbW9kX3ZhbHVlX2luZm8gZ2VuN19tb2RfdmFsdWVzW10gPSB7Ci0Jey0xLCAwfSwK Kwl7LTEsIDB9CiB9OwogCiBzdGF0aWMgY29uc3QgdTMyIGdlbjdfbnVsbF9zdGF0ZV9iYXRjaFtd ID0gewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmVuZGVyc3RhdGVf Z2VuOC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmVuZGVyc3RhdGVfZ2VuOC5jCmlu ZGV4IGQ1YjEzODMuLjAxMTVlZmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3JlbmRlcnN0YXRlX2dlbjguYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9y ZW5kZXJzdGF0ZV9nZW44LmMKQEAgLTM0LDcgKzM0LDcgQEAgc3RhdGljIGNvbnN0IHUzMiBnZW44 X251bGxfc3RhdGVfcmVsb2NzW10gPSB7CiB9OwogCiBzdGF0aWMgY29uc3Qgc3RydWN0IG1vZF92 YWx1ZV9pbmZvIGdlbjhfbW9kX3ZhbHVlc1tdID0gewotCXstMSwgMH0sCisJey0xLCAwfQogfTsK IAogc3RhdGljIGNvbnN0IHUzMiBnZW44X251bGxfc3RhdGVfYmF0Y2hbXSA9IHsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JlbmRlcnN0YXRlX2dlbjkuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3JlbmRlcnN0YXRlX2dlbjkuYwppbmRleCA3Y2I0M2EyLi4w NDc1ZjQwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yZW5kZXJzdGF0 ZV9nZW45LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmVuZGVyc3RhdGVfZ2Vu OS5jCkBAIC0zNCw3ICszNCw5IEBAIHN0YXRpYyBjb25zdCB1MzIgZ2VuOV9udWxsX3N0YXRlX3Jl bG9jc1tdID0gewogfTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBtb2RfdmFsdWVfaW5mbyBnZW45 X21vZF92YWx1ZXNbXSA9IHsKLQl7LTEsIDB9LAorCXsweDAwMDAwZGQ0LCAyfSwKKwl7MHgwMDAw MGRlOCwgNH0sCisJey0xLCAwfQogfTsKIAogc3RhdGljIGNvbnN0IHUzMiBnZW45X251bGxfc3Rh dGVfYmF0Y2hbXSA9IHsKQEAgLTkyMywxNiArOTI1LDE2IEBAIHN0YXRpYyBjb25zdCB1MzIgZ2Vu OV9udWxsX3N0YXRlX2JhdGNoW10gPSB7CiAJMHgwMDAwMDAwMSwKIAkweDAwMDAwMDAwLAogCTB4 MDAwMDAwMDAsCi0JMHgwNTAwMDAwMCwJIC8qIGNtZHMgZW5kICovCi0JMHgwMDAwMDAwMCwKLQkw eDAwMDAwMDAwLAotCTB4MDAwMDAwMDAsCi0JMHgwMDAwMDAwMCwKLQkweDAwMDAwMDAwLAorCTB4 MDUwMDAwMDAsCSAvKiAyIG1vZF92YWx1ZXMgKi8KIAkweDAwMDAwMDAwLAorCTB4NjkwNDAzMDIs CisJMHg3MDA1MDAwNCwKKwkweDgwMDAwMDAwLAorCTB4MDA3NzcwMDAsCSAvKiA0IG1vZF92YWx1 ZXMgKi8KIAkweDAwMDAwMDAwLAogCTB4MDAwMDAwMDAsCiAJMHgwMDAwMDAwMCwKKwkweDA1MDAw MDAwLAkgLyogY21kcyBlbmQgKi8KIAkweDAwMDAwMDAwLAogCTB4MDAwMDAwMDAsCSAvKiBzdGF0 ZSBzdGFydCAqLwogCTB4MDAwMDAwMDAsCi0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK