From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Gordon Subject: [PATCH] drm/i915: add enable_guc_loading parameter Date: Thu, 25 Feb 2016 16:53:25 +0000 Message-ID: <1456419205-21843-1-git-send-email-david.s.gordon@intel.com> References: <1456332546-31050-1-git-send-email-yu.dai@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 85F526E917 for ; Thu, 25 Feb 2016 16:53:48 +0000 (UTC) In-Reply-To: <1456332546-31050-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 aWduZWQtb2ZmLWJ5OiBEYXZlIEdvcmRvbiA8ZGF2aWQucy5nb3Jkb25AaW50ZWwuY29tPgpSZXZp ZXdlZC1ieTogQWxleCBEYWkgPHl1LmRhaUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW0uYyAgICAgICAgIHwgIDEgLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9wYXJhbXMuYyAgICAgIHwgMTQgKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFy YW1zLmggICAgICB8ICAzICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9hZGVy LmMgfCA5OSArKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0KIDQgZmlsZXMgY2hhbmdl ZCwgNjggaW5zZXJ0aW9ucygrKSwgNDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt LmMKaW5kZXggZjY4ZjM0Ni4uM2Q5Mzk3ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCkBAIC00 ODkxLDcgKzQ4OTEsNiBAQCBpbnQgaTkxNV9nZW1faW5pdF9yaW5ncyhzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KQogCQlyZXQgPSBpbnRlbF9ndWNfdWNvZGVfbG9hZChkZXYpOwogCQlpZiAocmV0KSB7 CiAJCQlEUk1fRVJST1IoIkZhaWxlZCB0byBpbml0aWFsaXplIEd1QywgZXJyb3IgJWRcbiIsIHJl dCk7Ci0JCQlyZXQgPSAtRUlPOwogCQkJZ290byBvdXQ7CiAJCX0KIAl9CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9wYXJhbXMuYwppbmRleCAyNzhjOWM0Li5hNTdlMTZiIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcGFyYW1zLmMKQEAgLTU0LDcgKzU0LDggQEAgc3RydWN0IGk5MTVfcGFyYW1zIGk5MTUgX19y ZWFkX21vc3RseSA9IHsKIAkudmVyYm9zZV9zdGF0ZV9jaGVja3MgPSAxLAogCS5udWNsZWFyX3Bh Z2VmbGlwID0gMCwKIAkuZWRwX3Zzd2luZyA9IDAsCi0JLmVuYWJsZV9ndWNfc3VibWlzc2lvbiA9 IGZhbHNlLAorCS5lbmFibGVfZ3VjX2xvYWRpbmcgPSAtMSwKKwkuZW5hYmxlX2d1Y19zdWJtaXNz aW9uID0gLTEsCiAJLmd1Y19sb2dfbGV2ZWwgPSAtMSwKIH07CiAKQEAgLTE5NSw4ICsxOTYsMTUg QEAgc3RydWN0IGk5MTVfcGFyYW1zIGk5MTUgX19yZWFkX21vc3RseSA9IHsKIAkJICIoMD11c2Ug dmFsdWUgZnJvbSB2YnQgW2RlZmF1bHRdLCAxPWxvdyBwb3dlciBzd2luZygyMDBtViksIgogCQkg IjI9ZGVmYXVsdCBzd2luZyg0MDBtVikpIik7CiAKLW1vZHVsZV9wYXJhbV9uYW1lZF91bnNhZmUo ZW5hYmxlX2d1Y19zdWJtaXNzaW9uLCBpOTE1LmVuYWJsZV9ndWNfc3VibWlzc2lvbiwgYm9vbCwg MDQwMCk7Ci1NT0RVTEVfUEFSTV9ERVNDKGVuYWJsZV9ndWNfc3VibWlzc2lvbiwgIkVuYWJsZSBH dUMgc3VibWlzc2lvbiAoZGVmYXVsdDpmYWxzZSkiKTsKK21vZHVsZV9wYXJhbV9uYW1lZF91bnNh ZmUoZW5hYmxlX2d1Y19sb2FkaW5nLCBpOTE1LmVuYWJsZV9ndWNfbG9hZGluZywgaW50LCAwNDAw KTsKK01PRFVMRV9QQVJNX0RFU0MoZW5hYmxlX2d1Y19zdWJtaXNzaW9uLAorCQkiRW5hYmxlIEd1 QyBmaXJtd2FyZSBsb2FkaW5nICIKKwkJIigtMT1hdXRvIFtkZWZhdWx0XSwgMD1uZXZlciwgMT1p ZiBhdmFpbGFibGUsIDI9cmVxdWlyZWQpIik7CisKK21vZHVsZV9wYXJhbV9uYW1lZF91bnNhZmUo ZW5hYmxlX2d1Y19zdWJtaXNzaW9uLCBpOTE1LmVuYWJsZV9ndWNfc3VibWlzc2lvbiwgaW50LCAw NDAwKTsKK01PRFVMRV9QQVJNX0RFU0MoZW5hYmxlX2d1Y19zdWJtaXNzaW9uLAorCQkiRW5hYmxl IEd1QyBzdWJtaXNzaW9uICIKKwkJIigtMT1hdXRvIFtkZWZhdWx0XSwgMD1uZXZlciwgMT1pZiBh dmFpbGFibGUsIDI9cmVxdWlyZWQpIik7CiAKIG1vZHVsZV9wYXJhbV9uYW1lZChndWNfbG9nX2xl dmVsLCBpOTE1Lmd1Y19sb2dfbGV2ZWwsIGludCwgMDQwMCk7CiBNT0RVTEVfUEFSTV9ERVNDKGd1 Y19sb2dfbGV2ZWwsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFt cy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuaAppbmRleCBiZDUwMjZiLi44 ZWFmYmNlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmgKQEAgLTQ1LDYgKzQ1LDggQEAg c3RydWN0IGk5MTVfcGFyYW1zIHsKIAlpbnQgZW5hYmxlX2lwczsKIAlpbnQgaW52ZXJ0X2JyaWdo dG5lc3M7CiAJaW50IGVuYWJsZV9jbWRfcGFyc2VyOworCWludCBlbmFibGVfZ3VjX2xvYWRpbmc7 CisJaW50IGVuYWJsZV9ndWNfc3VibWlzc2lvbjsKIAlpbnQgZ3VjX2xvZ19sZXZlbDsKIAlpbnQg dXNlX21taW9fZmxpcDsKIAlpbnQgbW1pb19kZWJ1ZzsKQEAgLTU2LDcgKzU4LDYgQEAgc3RydWN0 IGk5MTVfcGFyYW1zIHsKIAlib29sIGxvYWRfZGV0ZWN0X3Rlc3Q7CiAJYm9vbCByZXNldDsKIAli b29sIGRpc2FibGVfZGlzcGxheTsKLQlib29sIGVuYWJsZV9ndWNfc3VibWlzc2lvbjsKIAlib29s IHZlcmJvc2Vfc3RhdGVfY2hlY2tzOwogCWJvb2wgbnVjbGVhcl9wYWdlZmxpcDsKIH07CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9hZGVyLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9hZGVyLmMKaW5kZXggODJhM2MwMy4uZTAwOTNhOSAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xvYWRlci5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2FkZXIuYwpAQCAtMzY5LDQ5ICszNjks MzcgQEAgaW50IGludGVsX2d1Y191Y29kZV9sb2FkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiB7 CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsK IAlzdHJ1Y3QgaW50ZWxfZ3VjX2Z3ICpndWNfZncgPSAmZGV2X3ByaXYtPmd1Yy5ndWNfZnc7CisJ Y29uc3QgY2hhciAqZndfcGF0aCA9IGd1Y19mdy0+Z3VjX2Z3X3BhdGg7CiAJaW50IGVyciA9IDA7 CiAKLQlpZiAoIWk5MTUuZW5hYmxlX2d1Y19zdWJtaXNzaW9uKQotCQlyZXR1cm4gMDsKLQotCURS TV9ERUJVR19EUklWRVIoIkd1QyBmdyBzdGF0dXM6IGZldGNoICVzLCBsb2FkICVzXG4iLAorCURS TV9ERUJVR19EUklWRVIoIkd1QyBmdyBzdGF0dXM6IHBhdGggJXMsIGZldGNoICVzLCBsb2FkICVz XG4iLAorCQlmd19wYXRoLAogCQlpbnRlbF9ndWNfZndfc3RhdHVzX3JlcHIoZ3VjX2Z3LT5ndWNf ZndfZmV0Y2hfc3RhdHVzKSwKIAkJaW50ZWxfZ3VjX2Z3X3N0YXR1c19yZXByKGd1Y19mdy0+Z3Vj X2Z3X2xvYWRfc3RhdHVzKSk7CiAKLQlkaXJlY3RfaW50ZXJydXB0c190b19ob3N0KGRldl9wcml2 KTsKKwkvKiBMb2FkaW5nIGZvcmJpZGRlbiwgb3Igbm8gZmlybXdhcmUgdG8gbG9hZD8gKi8KKwlp ZiAoIWk5MTUuZW5hYmxlX2d1Y19sb2FkaW5nKQorCQlnb3RvIGZhaWw7CisJaWYgKGZ3X3BhdGgg PT0gTlVMTCkKKwkJZ290byBmYWlsOworCWlmICgqZndfcGF0aCA9PSAnXDAnKSB7CisJCURSTV9F UlJPUigiTm8gR3VDIGZpcm13YXJlIGtub3duIGZvciB0aGlzIHBsYXRmb3JtXG4iKTsKKwkJZ290 byBmYWlsOworCX0KIAotCWlmIChndWNfZnctPmd1Y19md19mZXRjaF9zdGF0dXMgPT0gR1VDX0ZJ Uk1XQVJFX05PTkUpCi0JCXJldHVybiAwOworCS8qIEZldGNoIGZhaWxlZCwgb3IgYWxyZWFkeSBm ZXRjaGVkIGJ1dCBmYWlsZWQgdG8gbG9hZD8gKi8KKwlpZiAoZ3VjX2Z3LT5ndWNfZndfZmV0Y2hf c3RhdHVzICE9IEdVQ19GSVJNV0FSRV9TVUNDRVNTKQorCQlnb3RvIGZhaWw7CisJaWYgKGd1Y19m dy0+Z3VjX2Z3X2xvYWRfc3RhdHVzID09IEdVQ19GSVJNV0FSRV9GQUlMKQorCQlnb3RvIGZhaWw7 CiAKLQlpZiAoZ3VjX2Z3LT5ndWNfZndfZmV0Y2hfc3RhdHVzID09IEdVQ19GSVJNV0FSRV9TVUND RVNTICYmCi0JICAgIGd1Y19mdy0+Z3VjX2Z3X2xvYWRfc3RhdHVzID09IEdVQ19GSVJNV0FSRV9G QUlMKQotCQlyZXR1cm4gLUVOT0VYRUM7CisJZGlyZWN0X2ludGVycnVwdHNfdG9faG9zdChkZXZf cHJpdik7CiAKIAlndWNfZnctPmd1Y19md19sb2FkX3N0YXR1cyA9IEdVQ19GSVJNV0FSRV9QRU5E SU5HOwogCi0JRFJNX0RFQlVHX0RSSVZFUigiR3VDIGZ3IGZldGNoIHN0YXR1cyAlc1xuIiwKLQkJ aW50ZWxfZ3VjX2Z3X3N0YXR1c19yZXByKGd1Y19mdy0+Z3VjX2Z3X2ZldGNoX3N0YXR1cykpOwot Ci0Jc3dpdGNoIChndWNfZnctPmd1Y19md19mZXRjaF9zdGF0dXMpIHsKLQljYXNlIEdVQ19GSVJN V0FSRV9GQUlMOgotCQkvKiBzb21ldGhpbmcgd2VudCB3cm9uZyA6KCAqLwotCQllcnIgPSAtRUlP OwotCQlnb3RvIGZhaWw7Ci0KLQljYXNlIEdVQ19GSVJNV0FSRV9OT05FOgotCWNhc2UgR1VDX0ZJ Uk1XQVJFX1BFTkRJTkc6Ci0JZGVmYXVsdDoKLQkJLyogImNhbid0IGhhcHBlbiIgKi8KLQkJV0FS Tl9PTkNFKDEsICJHdUMgZncgJXMgaW52YWxpZCBndWNfZndfZmV0Y2hfc3RhdHVzICVzIFslZF1c biIsCi0JCQlndWNfZnctPmd1Y19md19wYXRoLAotCQkJaW50ZWxfZ3VjX2Z3X3N0YXR1c19yZXBy KGd1Y19mdy0+Z3VjX2Z3X2ZldGNoX3N0YXR1cyksCi0JCQlndWNfZnctPmd1Y19md19mZXRjaF9z dGF0dXMpOwotCQllcnIgPSAtRU5YSU87Ci0JCWdvdG8gZmFpbDsKLQotCWNhc2UgR1VDX0ZJUk1X QVJFX1NVQ0NFU1M6Ci0JCWJyZWFrOwotCX0KKwlEUk1fREVCVUdfRFJJVkVSKCJHdUMgZncgc3Rh dHVzOiBmZXRjaCAlcywgbG9hZCAlc1xuIiwKKwkJaW50ZWxfZ3VjX2Z3X3N0YXR1c19yZXByKGd1 Y19mdy0+Z3VjX2Z3X2ZldGNoX3N0YXR1cyksCisJCWludGVsX2d1Y19md19zdGF0dXNfcmVwcihn dWNfZnctPmd1Y19md19sb2FkX3N0YXR1cykpOwogCiAJZXJyID0gaTkxNV9ndWNfc3VibWlzc2lv bl9pbml0KGRldik7CiAJaWYgKGVycikKQEAgLTQ0MCw2ICs0MjgsOCBAQCBpbnQgaW50ZWxfZ3Vj X3Vjb2RlX2xvYWQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAlyZXR1cm4gMDsKIAogZmFpbDoK KwlEUk1fREVCVUdfRFJJVkVSKCJHdUMgZmlybXdhcmUgbG9hZCBmYWlsLCBlcnIgJWRcbiIsIGVy cik7CisKIAlpZiAoZ3VjX2Z3LT5ndWNfZndfbG9hZF9zdGF0dXMgPT0gR1VDX0ZJUk1XQVJFX1BF TkRJTkcpCiAJCWd1Y19mdy0+Z3VjX2Z3X2xvYWRfc3RhdHVzID0gR1VDX0ZJUk1XQVJFX0ZBSUw7 CiAKQEAgLTQ0Nyw2ICs0MzcsMjkgQEAgaW50IGludGVsX2d1Y191Y29kZV9sb2FkKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpCiAJaTkxNV9ndWNfc3VibWlzc2lvbl9kaXNhYmxlKGRldik7CiAJaTkx NV9ndWNfc3VibWlzc2lvbl9maW5pKGRldik7CiAKKwkvKgorCSAqIFdlJ3ZlIGZhaWxlZCB0byBs b2FkIHRoZSBmaXJtd2FyZSA6KAorCSAqCisJICogRGVjaWRlIHdoZXRoZXIgdG8gZGlzYWJsZSBH dUMgc3VibWlzc2lvbiBhbmQgZmFsbCBiYWNrIHRvCisJICogZXhlY2xpc3QgbW9kZSwgYW5kIHdo ZXRoZXIgdG8gaGlkZSB0aGUgZXJyb3IgYnkgcmV0dXJuaW5nCisJICogemVybyBvciB0byByZXR1 cm4gLUVJTywgd2hpY2ggdGhlIGNhbGxlciB3aWxsIHRyZWF0IGFzIGEKKwkgKiBub25mYXRhbCBl cnJvciAoaS5lLiBpdCBkb2Vzbid0IHByZXZlbnQgZHJpdmVyIGxvYWQsIGJ1dAorCSAqIG1hcmtz IHRoZSBHUFUgYXMgd2VkZ2VkIHVudGlsIHJlc2V0KS4KKwkgKi8KKwlpZiAoaTkxNS5lbmFibGVf Z3VjX2xvYWRpbmcgPiAxKSB7CisJCWVyciA9IC1FSU87CisJfSBlbHNlIGlmIChIQVNfR1VDX1ND SEVEKGRldikgJiYgIUhBU19HVUNfVUNPREUoZGV2KSkgeworCQlyZXR1cm4gMDsKKwl9IGVsc2Ug aWYgKGk5MTUuZW5hYmxlX2d1Y19zdWJtaXNzaW9uID4gMSkgeworCQllcnIgPSAtRUlPOworCX0g ZWxzZSB7CisJCWVyciA9IDA7CisJfQorCisJaTkxNS5lbmFibGVfZ3VjX3N1Ym1pc3Npb24gPSAw OworCisJRFJNX0RFQlVHX0RSSVZFUigiZmFsbGluZyBiYWNrIHRvIGV4ZWNsaXN0IG1vZGUsIGVy ciAlZFxuIiwgZXJyKTsKKwogCXJldHVybiBlcnI7CiB9CiAKQEAgLTU4OCw4ICs2MDEsMTEgQEAg dm9pZCBpbnRlbF9ndWNfdWNvZGVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCXN0cnVj dCBpbnRlbF9ndWNfZncgKmd1Y19mdyA9ICZkZXZfcHJpdi0+Z3VjLmd1Y19mdzsKIAljb25zdCBj aGFyICpmd19wYXRoOwogCi0JaWYgKCFIQVNfR1VDX1NDSEVEKGRldikpCi0JCWk5MTUuZW5hYmxl X2d1Y19zdWJtaXNzaW9uID0gZmFsc2U7CisJLyogQSBuZWdhdGl2ZSB2YWx1ZSBtZWFucyAidXNl IHBsYXRmb3JtIGRlZmF1bHQiICovCisJaWYgKGk5MTUuZW5hYmxlX2d1Y19sb2FkaW5nIDwgMCkK KwkJaTkxNS5lbmFibGVfZ3VjX2xvYWRpbmcgPSBIQVNfR1VDX1VDT0RFKGRldik7CisJaWYgKGk5 MTUuZW5hYmxlX2d1Y19zdWJtaXNzaW9uIDwgMCkKKwkJaTkxNS5lbmFibGVfZ3VjX3N1Ym1pc3Np b24gPSBIQVNfR1VDX1NDSEVEKGRldik7CiAKIAlpZiAoIUhBU19HVUNfVUNPREUoZGV2KSkgewog CQlmd19wYXRoID0gTlVMTDsKQEAgLTU5OCwyNiArNjE0LDIxIEBAIHZvaWQgaW50ZWxfZ3VjX3Vj b2RlX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkJZ3VjX2Z3LT5ndWNfZndfbWFqb3Jf d2FudGVkID0gNDsKIAkJZ3VjX2Z3LT5ndWNfZndfbWlub3Jfd2FudGVkID0gMzsKIAl9IGVsc2Ug ewotCQlpOTE1LmVuYWJsZV9ndWNfc3VibWlzc2lvbiA9IGZhbHNlOwogCQlmd19wYXRoID0gIiI7 CS8qIHVua25vd24gZGV2aWNlICovCiAJfQogCi0JaWYgKCFpOTE1LmVuYWJsZV9ndWNfc3VibWlz c2lvbikKLQkJcmV0dXJuOwotCiAJZ3VjX2Z3LT5ndWNfZGV2ID0gZGV2OwogCWd1Y19mdy0+Z3Vj X2Z3X3BhdGggPSBmd19wYXRoOwogCWd1Y19mdy0+Z3VjX2Z3X2ZldGNoX3N0YXR1cyA9IEdVQ19G SVJNV0FSRV9OT05FOwogCWd1Y19mdy0+Z3VjX2Z3X2xvYWRfc3RhdHVzID0gR1VDX0ZJUk1XQVJF X05PTkU7CiAKKwkvKiBFYXJseSAoYW5kIHNpbGVudCkgcmV0dXJuIGlmIEd1QyBsb2FkaW5nIGlz IGRpc2FibGVkICovCisJaWYgKCFpOTE1LmVuYWJsZV9ndWNfbG9hZGluZykKKwkJcmV0dXJuOwog CWlmIChmd19wYXRoID09IE5VTEwpCiAJCXJldHVybjsKLQotCWlmICgqZndfcGF0aCA9PSAnXDAn KSB7Ci0JCURSTV9FUlJPUigiTm8gR3VDIGZpcm13YXJlIGtub3duIGZvciB0aGlzIHBsYXRmb3Jt XG4iKTsKLQkJZ3VjX2Z3LT5ndWNfZndfZmV0Y2hfc3RhdHVzID0gR1VDX0ZJUk1XQVJFX0ZBSUw7 CisJaWYgKCpmd19wYXRoID09ICdcMCcpCiAJCXJldHVybjsKLQl9CiAKIAlndWNfZnctPmd1Y19m d19mZXRjaF9zdGF0dXMgPSBHVUNfRklSTVdBUkVfUEVORElORzsKIAlEUk1fREVCVUdfRFJJVkVS KCJHdUMgZmlybXdhcmUgcGVuZGluZywgcGF0aCAlc1xuIiwgZndfcGF0aCk7Ci0tIAoxLjkuMQoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==