From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Gordon Subject: [PATCH] drm/i915: add enable_guc_loading parameter Date: Wed, 3 Feb 2016 12:56:08 +0000 Message-ID: <1454504168-29891-1-git-send-email-david.s.gordon@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 B83066E6E0 for ; Wed, 3 Feb 2016 04:56:13 -0800 (PST) References: 87mvshzghm.fsf@intel.com References: 1452548791-3142-1-git-send-email-yu.dai@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 U3BsaXQgdGhlIGZ1bmN0aW9uIG9mICJlbmFibGVfZ3VjX3N1Ym1pc3Npb24iIGludG8gdHdvIHNl cGFyYXRlIG9wdGlvbnMuClRoZSBuZXcgb25lICJlbmFibGVfZ3VjX2xvYWRpbmciIGNvbnRyb2xz IG9ubHkgdGhlICpmZXRjaGluZyBhbmQgbG9hZGluZyoKb2YgdGhlIEd1QyBmaXJtd2FyZSBpbWFn ZS4gVGhlIGV4aXN0aW5nIG9uZSBpcyByZWRlZmluZWQgdG8gY29udHJvbCBvbmx5CnRoZSAqdXNl KiBvZiB0aGUgR3VDIGZvciBiYXRjaCBzdWJtaXNzaW9uIG9uY2UgdGhlIGZpcm13YXJlIGlzIGxv YWRlZC4KCkluIGFkZGl0aW9uLCB0aGUgZGVncmVlIG9mIGNvbnRyb2wgaGFzIGJlZW4gcmVmaW5l ZCBmcm9tIGEgc2ltcGxlIGJvb2wKdG8gYW4gaW50ZWdlciBrZXksIGFsbG93aW5nIHNldmVyYWwg b3B0aW9uczoKIC0xICAoZGVmYXVsdCkgICAgd2hhdGV2ZXIgdGhlIHBsYXRmb3JtIGRlZmF1bHQg aXMKICAwICBESVNBQkxFICAgICAgZG9uJ3QgbG9hZC91c2UgdGhlIEd1QwogIDEgIEJFU1QgRUZG T1JUICB0cnkgdG8gbG9hZC91c2UgdGhlIEd1QywgZmFsbGJhY2sgaWYgbm90IGF2YWlsYWJsZQog IDIgIFJFUVVJUkUgICAgICBtdXN0IGxvYWQvdXNlIHRoZSBHdUMsIGVsc2UgbGVhdmUgdGhlIEdQ VSB3ZWRnZWQKClRoZSBuZXcgcGxhdGZvcm0gZGVmYXVsdCAoYXMgY29kZWQgaGVyZSkgd2lsbCBi ZSB0byBhdHRlbXB0IHRvIGxvYWQKdGhlIEd1QyBpZmYgdGhlIGRldmljZSBoYXMgYSBHdUMgdGhh dCByZXF1aXJlcyBmaXJtd2FyZSwgdG8gYXR0ZW1wdCB0bwp1c2UgaXQgaWZmIHRoZSBkZXZpY2Ug aGFzIGEgR3VDIHRoYXQgc3VwcG9ydHMgdGhlIHN1Ym1pc3Npb24gcHJvdG9jb2wKKHdpdGggb3Ig d2l0aG91dCBmaXJtd2FyZSksIGFuZCB0byBmYWxsIGJhY2sgdG8gZXhlY2xpc3QgbW9kZSBpZiBh bnkKcmVxdWlyZWQgZmlybXdhcmUgY2Fubm90IGJlIGZvdW5kIG9yIGZhaWxzIHRvIGxvYWQuCgpT aWduZWQtb2ZmLWJ5OiBEYXZlIEdvcmRvbiA8ZGF2aWQucy5nb3Jkb25AaW50ZWwuY29tPgpDYzog SmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICAgICAgfCAgMSAtCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3BhcmFtcy5jICAgICAgfCAxNCArKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9wYXJhbXMuaCAgICAgIHwgIDMgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19s b2FkZXIuYyB8IDk5ICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQogNCBmaWxlcyBj aGFuZ2VkLCA2OCBpbnNlcnRpb25zKCspLCA0OSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW0uYwppbmRleCBhOTI4ODIzLi5jZDdhYWRhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMK QEAgLTQ4OTIsNyArNDg5Miw2IEBAIGludCBpOTE1X2dlbV9pbml0X3JpbmdzKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpCiAJCXJldCA9IGludGVsX2d1Y191Y29kZV9sb2FkKGRldik7CiAJCWlmIChy ZXQpIHsKIAkJCURSTV9FUlJPUigiRmFpbGVkIHRvIGluaXRpYWxpemUgR3VDLCBlcnJvciAlZFxu IiwgcmV0KTsKLQkJCXJldCA9IC1FSU87CiAJCQlnb3RvIG91dDsKIAkJfQogCX0KZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3BhcmFtcy5jCmluZGV4IDhiOWYzNjguLmFkNzg1YWQgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9wYXJhbXMuYwpAQCAtNTUsNyArNTUsOCBAQCBzdHJ1Y3QgaTkxNV9wYXJhbXMgaTkx NSBfX3JlYWRfbW9zdGx5ID0gewogCS52ZXJib3NlX3N0YXRlX2NoZWNrcyA9IDEsCiAJLm51Y2xl YXJfcGFnZWZsaXAgPSAwLAogCS5lZHBfdnN3aW5nID0gMCwKLQkuZW5hYmxlX2d1Y19zdWJtaXNz aW9uID0gZmFsc2UsCisJLmVuYWJsZV9ndWNfbG9hZGluZyA9IC0xLAorCS5lbmFibGVfZ3VjX3N1 Ym1pc3Npb24gPSAtMSwKIAkuZ3VjX2xvZ19sZXZlbCA9IC0xLAogfTsKIApAQCAtMTk4LDggKzE5 OSwxNSBAQCBzdHJ1Y3QgaTkxNV9wYXJhbXMgaTkxNSBfX3JlYWRfbW9zdGx5ID0gewogCQkgIigw PXVzZSB2YWx1ZSBmcm9tIHZidCBbZGVmYXVsdF0sIDE9bG93IHBvd2VyIHN3aW5nKDIwMG1WKSwi CiAJCSAiMj1kZWZhdWx0IHN3aW5nKDQwMG1WKSkiKTsKIAotbW9kdWxlX3BhcmFtX25hbWVkX3Vu c2FmZShlbmFibGVfZ3VjX3N1Ym1pc3Npb24sIGk5MTUuZW5hYmxlX2d1Y19zdWJtaXNzaW9uLCBi b29sLCAwNDAwKTsKLU1PRFVMRV9QQVJNX0RFU0MoZW5hYmxlX2d1Y19zdWJtaXNzaW9uLCAiRW5h YmxlIEd1QyBzdWJtaXNzaW9uIChkZWZhdWx0OmZhbHNlKSIpOworbW9kdWxlX3BhcmFtX25hbWVk X3Vuc2FmZShlbmFibGVfZ3VjX2xvYWRpbmcsIGk5MTUuZW5hYmxlX2d1Y19sb2FkaW5nLCBpbnQs IDA0MDApOworTU9EVUxFX1BBUk1fREVTQyhlbmFibGVfZ3VjX3N1Ym1pc3Npb24sCisJCSJFbmFi bGUgR3VDIGZpcm13YXJlIGxvYWRpbmcgIgorCQkiKC0xPWF1dG8gW2RlZmF1bHRdLCAwPW5ldmVy LCAxPWlmIGF2YWlsYWJsZSwgMj1yZXF1aXJlZCkiKTsKKworbW9kdWxlX3BhcmFtX25hbWVkX3Vu c2FmZShlbmFibGVfZ3VjX3N1Ym1pc3Npb24sIGk5MTUuZW5hYmxlX2d1Y19zdWJtaXNzaW9uLCBp bnQsIDA0MDApOworTU9EVUxFX1BBUk1fREVTQyhlbmFibGVfZ3VjX3N1Ym1pc3Npb24sCisJCSJF bmFibGUgR3VDIHN1Ym1pc3Npb24gIgorCQkiKC0xPWF1dG8gW2RlZmF1bHRdLCAwPW5ldmVyLCAx PWlmIGF2YWlsYWJsZSwgMj1yZXF1aXJlZCkiKTsKIAogbW9kdWxlX3BhcmFtX25hbWVkKGd1Y19s b2dfbGV2ZWwsIGk5MTUuZ3VjX2xvZ19sZXZlbCwgaW50LCAwNDAwKTsKIE1PRFVMRV9QQVJNX0RF U0MoZ3VjX2xvZ19sZXZlbCwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf cGFyYW1zLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5oCmluZGV4IDUyOTky OTAuLjcxODAyNjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1z LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuaApAQCAtNDUsNiArNDUs OCBAQCBzdHJ1Y3QgaTkxNV9wYXJhbXMgewogCWludCBlbmFibGVfaXBzOwogCWludCBpbnZlcnRf YnJpZ2h0bmVzczsKIAlpbnQgZW5hYmxlX2NtZF9wYXJzZXI7CisJaW50IGVuYWJsZV9ndWNfbG9h ZGluZzsKKwlpbnQgZW5hYmxlX2d1Y19zdWJtaXNzaW9uOwogCWludCBndWNfbG9nX2xldmVsOwog CWludCB1c2VfbW1pb19mbGlwOwogCWludCBtbWlvX2RlYnVnOwpAQCAtNTcsNyArNTksNiBAQCBz dHJ1Y3QgaTkxNV9wYXJhbXMgewogCWJvb2wgcmVzZXQ7CiAJYm9vbCBkaXNhYmxlX2Rpc3BsYXk7 CiAJYm9vbCBkaXNhYmxlX3Z0ZF93YTsKLQlib29sIGVuYWJsZV9ndWNfc3VibWlzc2lvbjsKIAli b29sIHZlcmJvc2Vfc3RhdGVfY2hlY2tzOwogCWJvb2wgbnVjbGVhcl9wYWdlZmxpcDsKIH07CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9hZGVyLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9hZGVyLmMKaW5kZXggM2FjY2Q5MS4uZTdlYjNk YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xvYWRlci5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2FkZXIuYwpAQCAtMzY5LDQ5ICsz NjksMzcgQEAgaW50IGludGVsX2d1Y191Y29kZV9sb2FkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp CiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0 ZTsKIAlzdHJ1Y3QgaW50ZWxfZ3VjX2Z3ICpndWNfZncgPSAmZGV2X3ByaXYtPmd1Yy5ndWNfZnc7 CisJY29uc3QgY2hhciAqZndfcGF0aCA9IGd1Y19mdy0+Z3VjX2Z3X3BhdGg7CiAJaW50IGVyciA9 IDA7CiAKLQlpZiAoIWk5MTUuZW5hYmxlX2d1Y19zdWJtaXNzaW9uKQotCQlyZXR1cm4gMDsKLQot CURSTV9ERUJVR19EUklWRVIoIkd1QyBmdyBzdGF0dXM6IGZldGNoICVzLCBsb2FkICVzXG4iLAor CURSTV9ERUJVR19EUklWRVIoIkd1QyBmdyBzdGF0dXM6IHBhdGggJXMsIGZldGNoICVzLCBsb2Fk ICVzXG4iLAorCQlmd19wYXRoLAogCQlpbnRlbF9ndWNfZndfc3RhdHVzX3JlcHIoZ3VjX2Z3LT5n dWNfZndfZmV0Y2hfc3RhdHVzKSwKIAkJaW50ZWxfZ3VjX2Z3X3N0YXR1c19yZXByKGd1Y19mdy0+ Z3VjX2Z3X2xvYWRfc3RhdHVzKSk7CiAKLQlkaXJlY3RfaW50ZXJydXB0c190b19ob3N0KGRldl9w cml2KTsKKwkvKiBMb2FkaW5nIGZvcmJpZGRlbiwgb3Igbm8gZmlybXdhcmUgdG8gbG9hZD8gKi8K KwlpZiAoIWk5MTUuZW5hYmxlX2d1Y19sb2FkaW5nKQorCQlnb3RvIGZhaWw7CisJaWYgKGZ3X3Bh dGggPT0gTlVMTCkKKwkJZ290byBmYWlsOworCWlmICgqZndfcGF0aCA9PSAnXDAnKSB7CisJCURS TV9FUlJPUigiTm8gR3VDIGZpcm13YXJlIGtub3duIGZvciB0aGlzIHBsYXRmb3JtXG4iKTsKKwkJ Z290byBmYWlsOworCX0KIAotCWlmIChndWNfZnctPmd1Y19md19mZXRjaF9zdGF0dXMgPT0gR1VD X0ZJUk1XQVJFX05PTkUpCi0JCXJldHVybiAwOworCS8qIEZldGNoIGZhaWxlZCwgb3IgYWxyZWFk eSBmZXRjaGVkIGJ1dCBmYWlsZWQgdG8gbG9hZD8gKi8KKwlpZiAoZ3VjX2Z3LT5ndWNfZndfZmV0 Y2hfc3RhdHVzICE9IEdVQ19GSVJNV0FSRV9TVUNDRVNTKQorCQlnb3RvIGZhaWw7CisJaWYgKGd1 Y19mdy0+Z3VjX2Z3X2xvYWRfc3RhdHVzID09IEdVQ19GSVJNV0FSRV9GQUlMKQorCQlnb3RvIGZh aWw7CiAKLQlpZiAoZ3VjX2Z3LT5ndWNfZndfZmV0Y2hfc3RhdHVzID09IEdVQ19GSVJNV0FSRV9T VUNDRVNTICYmCi0JICAgIGd1Y19mdy0+Z3VjX2Z3X2xvYWRfc3RhdHVzID09IEdVQ19GSVJNV0FS RV9GQUlMKQotCQlyZXR1cm4gLUVOT0VYRUM7CisJZGlyZWN0X2ludGVycnVwdHNfdG9faG9zdChk ZXZfcHJpdik7CiAKIAlndWNfZnctPmd1Y19md19sb2FkX3N0YXR1cyA9IEdVQ19GSVJNV0FSRV9Q RU5ESU5HOwogCi0JRFJNX0RFQlVHX0RSSVZFUigiR3VDIGZ3IGZldGNoIHN0YXR1cyAlc1xuIiwK LQkJaW50ZWxfZ3VjX2Z3X3N0YXR1c19yZXByKGd1Y19mdy0+Z3VjX2Z3X2ZldGNoX3N0YXR1cykp OwotCi0Jc3dpdGNoIChndWNfZnctPmd1Y19md19mZXRjaF9zdGF0dXMpIHsKLQljYXNlIEdVQ19G SVJNV0FSRV9GQUlMOgotCQkvKiBzb21ldGhpbmcgd2VudCB3cm9uZyA6KCAqLwotCQllcnIgPSAt RUlPOwotCQlnb3RvIGZhaWw7Ci0KLQljYXNlIEdVQ19GSVJNV0FSRV9OT05FOgotCWNhc2UgR1VD X0ZJUk1XQVJFX1BFTkRJTkc6Ci0JZGVmYXVsdDoKLQkJLyogImNhbid0IGhhcHBlbiIgKi8KLQkJ V0FSTl9PTkNFKDEsICJHdUMgZncgJXMgaW52YWxpZCBndWNfZndfZmV0Y2hfc3RhdHVzICVzIFsl ZF1cbiIsCi0JCQlndWNfZnctPmd1Y19md19wYXRoLAotCQkJaW50ZWxfZ3VjX2Z3X3N0YXR1c19y ZXByKGd1Y19mdy0+Z3VjX2Z3X2ZldGNoX3N0YXR1cyksCi0JCQlndWNfZnctPmd1Y19md19mZXRj aF9zdGF0dXMpOwotCQllcnIgPSAtRU5YSU87Ci0JCWdvdG8gZmFpbDsKLQotCWNhc2UgR1VDX0ZJ Uk1XQVJFX1NVQ0NFU1M6Ci0JCWJyZWFrOwotCX0KKwlEUk1fREVCVUdfRFJJVkVSKCJHdUMgZncg c3RhdHVzOiBmZXRjaCAlcywgbG9hZCAlc1xuIiwKKwkJaW50ZWxfZ3VjX2Z3X3N0YXR1c19yZXBy KGd1Y19mdy0+Z3VjX2Z3X2ZldGNoX3N0YXR1cyksCisJCWludGVsX2d1Y19md19zdGF0dXNfcmVw cihndWNfZnctPmd1Y19md19sb2FkX3N0YXR1cykpOwogCiAJZXJyID0gaTkxNV9ndWNfc3VibWlz c2lvbl9pbml0KGRldik7CiAJaWYgKGVycikKQEAgLTQ0MCw2ICs0MjgsOCBAQCBpbnQgaW50ZWxf Z3VjX3Vjb2RlX2xvYWQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAlyZXR1cm4gMDsKIAogZmFp bDoKKwlEUk1fREVCVUdfRFJJVkVSKCJHdUMgZmlybXdhcmUgbG9hZCBmYWlsLCBlcnIgJWRcbiIs IGVycik7CisKIAlpZiAoZ3VjX2Z3LT5ndWNfZndfbG9hZF9zdGF0dXMgPT0gR1VDX0ZJUk1XQVJF X1BFTkRJTkcpCiAJCWd1Y19mdy0+Z3VjX2Z3X2xvYWRfc3RhdHVzID0gR1VDX0ZJUk1XQVJFX0ZB SUw7CiAKQEAgLTQ0Nyw2ICs0MzcsMjkgQEAgaW50IGludGVsX2d1Y191Y29kZV9sb2FkKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCiAJaTkxNV9ndWNfc3VibWlzc2lvbl9kaXNhYmxlKGRldik7CiAJ aTkxNV9ndWNfc3VibWlzc2lvbl9maW5pKGRldik7CiAKKwkvKgorCSAqIFdlJ3ZlIGZhaWxlZCB0 byBsb2FkIHRoZSBmaXJtd2FyZSA6KAorCSAqCisJICogRGVjaWRlIHdoZXRoZXIgdG8gZGlzYWJs ZSBHdUMgc3VibWlzc2lvbiBhbmQgZmFsbCBiYWNrIHRvCisJICogZXhlY2xpc3QgbW9kZSwgYW5k IHdoZXRoZXIgdG8gaGlkZSB0aGUgZXJyb3IgYnkgcmV0dXJuaW5nCisJICogemVybyBvciB0byBy ZXR1cm4gLUVJTywgd2hpY2ggdGhlIGNhbGxlciB3aWxsIHRyZWF0IGFzIGEKKwkgKiBub25mYXRh bCBlcnJvciAoaS5lLiBpdCBkb2Vzbid0IHByZXZlbnQgZHJpdmVyIGxvYWQsIGJ1dAorCSAqIG1h cmtzIHRoZSBHUFUgYXMgd2VkZ2VkIHVudGlsIHJlc2V0KS4KKwkgKi8KKwlpZiAoaTkxNS5lbmFi bGVfZ3VjX2xvYWRpbmcgPiAxKSB7CisJCWVyciA9IC1FSU87CisJfSBlbHNlIGlmIChIQVNfR1VD X1NDSEVEKGRldikgJiYgIUhBU19HVUNfVUNPREUoZGV2KSkgeworCQlyZXR1cm4gMDsKKwl9IGVs c2UgaWYgKGk5MTUuZW5hYmxlX2d1Y19zdWJtaXNzaW9uID4gMSkgeworCQllcnIgPSAtRUlPOwor CX0gZWxzZSB7CisJCWVyciA9IDA7CisJfQorCisJaTkxNS5lbmFibGVfZ3VjX3N1Ym1pc3Npb24g PSAwOworCisJRFJNX0RFQlVHX0RSSVZFUigiZmFsbGluZyBiYWNrIHRvIGV4ZWNsaXN0IG1vZGUs IGVyciAlZFxuIiwgZXJyKTsKKwogCXJldHVybiBlcnI7CiB9CiAKQEAgLTU4OCw4ICs2MDEsMTEg QEAgdm9pZCBpbnRlbF9ndWNfdWNvZGVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCXN0 cnVjdCBpbnRlbF9ndWNfZncgKmd1Y19mdyA9ICZkZXZfcHJpdi0+Z3VjLmd1Y19mdzsKIAljb25z dCBjaGFyICpmd19wYXRoOwogCi0JaWYgKCFIQVNfR1VDX1NDSEVEKGRldikpCi0JCWk5MTUuZW5h YmxlX2d1Y19zdWJtaXNzaW9uID0gZmFsc2U7CisJLyogQSBuZWdhdGl2ZSB2YWx1ZSBtZWFucyAi dXNlIHBsYXRmb3JtIGRlZmF1bHQiICovCisJaWYgKGk5MTUuZW5hYmxlX2d1Y19sb2FkaW5nIDwg MCkKKwkJaTkxNS5lbmFibGVfZ3VjX2xvYWRpbmcgPSBIQVNfR1VDX1VDT0RFKGRldik7CisJaWYg KGk5MTUuZW5hYmxlX2d1Y19zdWJtaXNzaW9uIDwgMCkKKwkJaTkxNS5lbmFibGVfZ3VjX3N1Ym1p c3Npb24gPSBIQVNfR1VDX1NDSEVEKGRldik7CiAKIAlpZiAoIUhBU19HVUNfVUNPREUoZGV2KSkg ewogCQlmd19wYXRoID0gTlVMTDsKQEAgLTU5OCwyNiArNjE0LDIxIEBAIHZvaWQgaW50ZWxfZ3Vj X3Vjb2RlX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkJZ3VjX2Z3LT5ndWNfZndfbWFq b3Jfd2FudGVkID0gNDsKIAkJZ3VjX2Z3LT5ndWNfZndfbWlub3Jfd2FudGVkID0gMzsKIAl9IGVs c2UgewotCQlpOTE1LmVuYWJsZV9ndWNfc3VibWlzc2lvbiA9IGZhbHNlOwogCQlmd19wYXRoID0g IiI7CS8qIHVua25vd24gZGV2aWNlICovCiAJfQogCi0JaWYgKCFpOTE1LmVuYWJsZV9ndWNfc3Vi bWlzc2lvbikKLQkJcmV0dXJuOwotCiAJZ3VjX2Z3LT5ndWNfZGV2ID0gZGV2OwogCWd1Y19mdy0+ Z3VjX2Z3X3BhdGggPSBmd19wYXRoOwogCWd1Y19mdy0+Z3VjX2Z3X2ZldGNoX3N0YXR1cyA9IEdV Q19GSVJNV0FSRV9OT05FOwogCWd1Y19mdy0+Z3VjX2Z3X2xvYWRfc3RhdHVzID0gR1VDX0ZJUk1X QVJFX05PTkU7CiAKKwkvKiBFYXJseSAoYW5kIHNpbGVudCkgcmV0dXJuIGlmIEd1QyBsb2FkaW5n IGlzIGRpc2FibGVkICovCisJaWYgKCFpOTE1LmVuYWJsZV9ndWNfbG9hZGluZykKKwkJcmV0dXJu OwogCWlmIChmd19wYXRoID09IE5VTEwpCiAJCXJldHVybjsKLQotCWlmICgqZndfcGF0aCA9PSAn XDAnKSB7Ci0JCURSTV9FUlJPUigiTm8gR3VDIGZpcm13YXJlIGtub3duIGZvciB0aGlzIHBsYXRm b3JtXG4iKTsKLQkJZ3VjX2Z3LT5ndWNfZndfZmV0Y2hfc3RhdHVzID0gR1VDX0ZJUk1XQVJFX0ZB SUw7CisJaWYgKCpmd19wYXRoID09ICdcMCcpCiAJCXJldHVybjsKLQl9CiAKIAlndWNfZnctPmd1 Y19md19mZXRjaF9zdGF0dXMgPSBHVUNfRklSTVdBUkVfUEVORElORzsKIAlEUk1fREVCVUdfRFJJ VkVSKCJHdUMgZmlybXdhcmUgcGVuZGluZywgcGF0aCAlc1xuIiwgZndfcGF0aCk7Ci0tIAoxLjku MQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK