From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Gordon Subject: [PATCH v4 3/3] DO NOT MERGE: add enable_guc_loading parameter Date: Mon, 4 Apr 2016 18:50:58 +0100 Message-ID: <1459792258-16645-4-git-send-email-david.s.gordon@intel.com> References: <1459792258-16645-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 mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id C98726E63E for ; Mon, 4 Apr 2016 17:51:11 +0000 (UTC) In-Reply-To: <1459792258-16645-1-git-send-email-david.s.gordon@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 aWduZWQtb2ZmLWJ5OiBEYXZlIEdvcmRvbiA8ZGF2aWQucy5nb3Jkb25AaW50ZWwuY29tPgoKLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICAgICAgfCAgMSAtCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5jICAgICAgfCAxNCArKysrLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9wYXJhbXMuaCAgICAgIHwgIDMgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2d1Y19sb2FkZXIuYyB8IDk4ICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0t LQogNCBmaWxlcyBjaGFuZ2VkLCA2NyBpbnNlcnRpb25zKCspLCA0OSBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW0uYwppbmRleCBjYTk2ZmMxLi5kYTM0ZGI1IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtLmMKQEAgLTQ4ODUsNyArNDg4NSw2IEBAIGludCBpOTE1X2dlbV9pbml0X2VuZ2lu ZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkJcmV0ID0gaW50ZWxfZ3VjX3Vjb2RlX2xvYWQo ZGV2KTsKIAkJaWYgKHJldCkgewogCQkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBH dUMsIGVycm9yICVkXG4iLCByZXQpOwotCQkJcmV0ID0gLUVJTzsKIAkJCWdvdG8gb3V0OwogCQl9 CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmMKaW5kZXggMTc3OWYwMi4uMjFmMzI1YiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5jCkBAIC01NCw3ICs1NCw4IEBAIHN0cnVjdCBp OTE1X3BhcmFtcyBpOTE1IF9fcmVhZF9tb3N0bHkgPSB7CiAJLnZlcmJvc2Vfc3RhdGVfY2hlY2tz ID0gMSwKIAkubnVjbGVhcl9wYWdlZmxpcCA9IDAsCiAJLmVkcF92c3dpbmcgPSAwLAotCS5lbmFi bGVfZ3VjX3N1Ym1pc3Npb24gPSBmYWxzZSwKKwkuZW5hYmxlX2d1Y19sb2FkaW5nID0gLTEsCisJ LmVuYWJsZV9ndWNfc3VibWlzc2lvbiA9IC0xLAogCS5ndWNfbG9nX2xldmVsID0gLTEsCiAJLmVu YWJsZV9kcF9tc3QgPSB0cnVlLAogCS5pbmplY3RfbG9hZF9mYWlsdXJlID0gMCwKQEAgLTE5Nyw4 ICsxOTgsMTUgQEAgc3RydWN0IGk5MTVfcGFyYW1zIGk5MTUgX19yZWFkX21vc3RseSA9IHsKIAkJ ICIoMD11c2UgdmFsdWUgZnJvbSB2YnQgW2RlZmF1bHRdLCAxPWxvdyBwb3dlciBzd2luZygyMDBt ViksIgogCQkgIjI9ZGVmYXVsdCBzd2luZyg0MDBtVikpIik7CiAKLW1vZHVsZV9wYXJhbV9uYW1l ZF91bnNhZmUoZW5hYmxlX2d1Y19zdWJtaXNzaW9uLCBpOTE1LmVuYWJsZV9ndWNfc3VibWlzc2lv biwgYm9vbCwgMDQwMCk7Ci1NT0RVTEVfUEFSTV9ERVNDKGVuYWJsZV9ndWNfc3VibWlzc2lvbiwg IkVuYWJsZSBHdUMgc3VibWlzc2lvbiAoZGVmYXVsdDpmYWxzZSkiKTsKK21vZHVsZV9wYXJhbV9u YW1lZF91bnNhZmUoZW5hYmxlX2d1Y19sb2FkaW5nLCBpOTE1LmVuYWJsZV9ndWNfbG9hZGluZywg aW50LCAwNDAwKTsKK01PRFVMRV9QQVJNX0RFU0MoZW5hYmxlX2d1Y19zdWJtaXNzaW9uLAorCQki RW5hYmxlIEd1QyBmaXJtd2FyZSBsb2FkaW5nICIKKwkJIigtMT1hdXRvIFtkZWZhdWx0XSwgMD1u ZXZlciwgMT1pZiBhdmFpbGFibGUsIDI9cmVxdWlyZWQpIik7CisKK21vZHVsZV9wYXJhbV9uYW1l ZF91bnNhZmUoZW5hYmxlX2d1Y19zdWJtaXNzaW9uLCBpOTE1LmVuYWJsZV9ndWNfc3VibWlzc2lv biwgaW50LCAwNDAwKTsKK01PRFVMRV9QQVJNX0RFU0MoZW5hYmxlX2d1Y19zdWJtaXNzaW9uLAor CQkiRW5hYmxlIEd1QyBzdWJtaXNzaW9uICIKKwkJIigtMT1hdXRvIFtkZWZhdWx0XSwgMD1uZXZl ciwgMT1pZiBhdmFpbGFibGUsIDI9cmVxdWlyZWQpIik7CiAKIG1vZHVsZV9wYXJhbV9uYW1lZChn dWNfbG9nX2xldmVsLCBpOTE1Lmd1Y19sb2dfbGV2ZWwsIGludCwgMDQwMCk7CiBNT0RVTEVfUEFS TV9ERVNDKGd1Y19sb2dfbGV2ZWwsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3BhcmFtcy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuaAppbmRleCAw MmJjMjc4Li45ZjFkMTdiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Bh cmFtcy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmgKQEAgLTQ1LDYg KzQ1LDggQEAgc3RydWN0IGk5MTVfcGFyYW1zIHsKIAlpbnQgZW5hYmxlX2lwczsKIAlpbnQgaW52 ZXJ0X2JyaWdodG5lc3M7CiAJaW50IGVuYWJsZV9jbWRfcGFyc2VyOworCWludCBlbmFibGVfZ3Vj X2xvYWRpbmc7CisJaW50IGVuYWJsZV9ndWNfc3VibWlzc2lvbjsKIAlpbnQgZ3VjX2xvZ19sZXZl bDsKIAlpbnQgdXNlX21taW9fZmxpcDsKIAlpbnQgbW1pb19kZWJ1ZzsKQEAgLTU3LDcgKzU5LDYg QEAgc3RydWN0IGk5MTVfcGFyYW1zIHsKIAlib29sIGxvYWRfZGV0ZWN0X3Rlc3Q7CiAJYm9vbCBy ZXNldDsKIAlib29sIGRpc2FibGVfZGlzcGxheTsKLQlib29sIGVuYWJsZV9ndWNfc3VibWlzc2lv bjsKIAlib29sIHZlcmJvc2Vfc3RhdGVfY2hlY2tzOwogCWJvb2wgbnVjbGVhcl9wYWdlZmxpcDsK IAlib29sIGVuYWJsZV9kcF9tc3Q7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9ndWNfbG9hZGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9hZGVy LmMKaW5kZXggODc2ZTVkYS4uMmVjOWNmMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZ3VjX2xvYWRlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1 Y19sb2FkZXIuYwpAQCAtMzg3LDQ5ICszODcsMzcgQEAgaW50IGludGVsX2d1Y191Y29kZV9sb2Fk KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgaW50ZWxfZ3VjX2Z3ICpndWNfZncg PSAmZGV2X3ByaXYtPmd1Yy5ndWNfZnc7CisJY29uc3QgY2hhciAqZndfcGF0aCA9IGd1Y19mdy0+ Z3VjX2Z3X3BhdGg7CiAJaW50IHJldHJpZXMsIGVyciA9IDA7CiAKLQlpZiAoIWk5MTUuZW5hYmxl X2d1Y19zdWJtaXNzaW9uKQotCQlyZXR1cm4gMDsKLQotCURSTV9ERUJVR19EUklWRVIoIkd1QyBm dyBzdGF0dXM6IGZldGNoICVzLCBsb2FkICVzXG4iLAorCURSTV9ERUJVR19EUklWRVIoIkd1QyBm dyBzdGF0dXM6IHBhdGggJXMsIGZldGNoICVzLCBsb2FkICVzXG4iLAorCQlmd19wYXRoLAogCQlp bnRlbF9ndWNfZndfc3RhdHVzX3JlcHIoZ3VjX2Z3LT5ndWNfZndfZmV0Y2hfc3RhdHVzKSwKIAkJ aW50ZWxfZ3VjX2Z3X3N0YXR1c19yZXByKGd1Y19mdy0+Z3VjX2Z3X2xvYWRfc3RhdHVzKSk7CiAK LQlkaXJlY3RfaW50ZXJydXB0c190b19ob3N0KGRldl9wcml2KTsKKwkvKiBMb2FkaW5nIGZvcmJp ZGRlbiwgb3Igbm8gZmlybXdhcmUgdG8gbG9hZD8gKi8KKwlpZiAoIWk5MTUuZW5hYmxlX2d1Y19s b2FkaW5nKQorCQlnb3RvIGZhaWw7CisJaWYgKGZ3X3BhdGggPT0gTlVMTCkKKwkJZ290byBmYWls OworCWlmICgqZndfcGF0aCA9PSAnXDAnKSB7CisJCURSTV9FUlJPUigiTm8gR3VDIGZpcm13YXJl IGtub3duIGZvciB0aGlzIHBsYXRmb3JtXG4iKTsKKwkJZ290byBmYWlsOworCX0KIAotCWlmIChn dWNfZnctPmd1Y19md19mZXRjaF9zdGF0dXMgPT0gR1VDX0ZJUk1XQVJFX05PTkUpCi0JCXJldHVy biAwOworCS8qIEZldGNoIGZhaWxlZCwgb3IgYWxyZWFkeSBmZXRjaGVkIGJ1dCBmYWlsZWQgdG8g bG9hZD8gKi8KKwlpZiAoZ3VjX2Z3LT5ndWNfZndfZmV0Y2hfc3RhdHVzICE9IEdVQ19GSVJNV0FS RV9TVUNDRVNTKQorCQlnb3RvIGZhaWw7CisJaWYgKGd1Y19mdy0+Z3VjX2Z3X2xvYWRfc3RhdHVz ID09IEdVQ19GSVJNV0FSRV9GQUlMKQorCQlnb3RvIGZhaWw7CiAKLQlpZiAoZ3VjX2Z3LT5ndWNf ZndfZmV0Y2hfc3RhdHVzID09IEdVQ19GSVJNV0FSRV9TVUNDRVNTICYmCi0JICAgIGd1Y19mdy0+ Z3VjX2Z3X2xvYWRfc3RhdHVzID09IEdVQ19GSVJNV0FSRV9GQUlMKQotCQlyZXR1cm4gLUVOT0VY RUM7CisJZGlyZWN0X2ludGVycnVwdHNfdG9faG9zdChkZXZfcHJpdik7CiAKIAlndWNfZnctPmd1 Y19md19sb2FkX3N0YXR1cyA9IEdVQ19GSVJNV0FSRV9QRU5ESU5HOwogCi0JRFJNX0RFQlVHX0RS SVZFUigiR3VDIGZ3IGZldGNoIHN0YXR1cyAlc1xuIiwKLQkJaW50ZWxfZ3VjX2Z3X3N0YXR1c19y ZXByKGd1Y19mdy0+Z3VjX2Z3X2ZldGNoX3N0YXR1cykpOwotCi0Jc3dpdGNoIChndWNfZnctPmd1 Y19md19mZXRjaF9zdGF0dXMpIHsKLQljYXNlIEdVQ19GSVJNV0FSRV9GQUlMOgotCQkvKiBzb21l dGhpbmcgd2VudCB3cm9uZyA6KCAqLwotCQllcnIgPSAtRUlPOwotCQlnb3RvIGZhaWw7Ci0KLQlj YXNlIEdVQ19GSVJNV0FSRV9OT05FOgotCWNhc2UgR1VDX0ZJUk1XQVJFX1BFTkRJTkc6Ci0JZGVm YXVsdDoKLQkJLyogImNhbid0IGhhcHBlbiIgKi8KLQkJV0FSTl9PTkNFKDEsICJHdUMgZncgJXMg aW52YWxpZCBndWNfZndfZmV0Y2hfc3RhdHVzICVzIFslZF1cbiIsCi0JCQlndWNfZnctPmd1Y19m d19wYXRoLAotCQkJaW50ZWxfZ3VjX2Z3X3N0YXR1c19yZXByKGd1Y19mdy0+Z3VjX2Z3X2ZldGNo X3N0YXR1cyksCi0JCQlndWNfZnctPmd1Y19md19mZXRjaF9zdGF0dXMpOwotCQllcnIgPSAtRU5Y SU87Ci0JCWdvdG8gZmFpbDsKLQotCWNhc2UgR1VDX0ZJUk1XQVJFX1NVQ0NFU1M6Ci0JCWJyZWFr OwotCX0KKwlEUk1fREVCVUdfRFJJVkVSKCJHdUMgZncgc3RhdHVzOiBmZXRjaCAlcywgbG9hZCAl c1xuIiwKKwkJaW50ZWxfZ3VjX2Z3X3N0YXR1c19yZXByKGd1Y19mdy0+Z3VjX2Z3X2ZldGNoX3N0 YXR1cyksCisJCWludGVsX2d1Y19md19zdGF0dXNfcmVwcihndWNfZnctPmd1Y19md19sb2FkX3N0 YXR1cykpOwogCiAJZXJyID0gaTkxNV9ndWNfc3VibWlzc2lvbl9pbml0KGRldik7CiAJaWYgKGVy cikKQEAgLTQ4Myw2ICs0NzEsNyBAQCBpbnQgaW50ZWxfZ3VjX3Vjb2RlX2xvYWQoc3RydWN0IGRy bV9kZXZpY2UgKmRldikKIAogZmFpbDoKIAlEUk1fRVJST1IoIkd1QyBmaXJtd2FyZSBsb2FkIGZh aWxlZCwgZXJyICVkXG4iLCBlcnIpOworCiAJaWYgKGd1Y19mdy0+Z3VjX2Z3X2xvYWRfc3RhdHVz ID09IEdVQ19GSVJNV0FSRV9QRU5ESU5HKQogCQlndWNfZnctPmd1Y19md19sb2FkX3N0YXR1cyA9 IEdVQ19GSVJNV0FSRV9GQUlMOwogCkBAIC00OTAsNiArNDc5LDI5IEBAIGludCBpbnRlbF9ndWNf dWNvZGVfbG9hZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCWk5MTVfZ3VjX3N1Ym1pc3Npb25f ZGlzYWJsZShkZXYpOwogCWk5MTVfZ3VjX3N1Ym1pc3Npb25fZmluaShkZXYpOwogCisJLyoKKwkg KiBXZSd2ZSBmYWlsZWQgdG8gbG9hZCB0aGUgZmlybXdhcmUgOigKKwkgKgorCSAqIERlY2lkZSB3 aGV0aGVyIHRvIGRpc2FibGUgR3VDIHN1Ym1pc3Npb24gYW5kIGZhbGwgYmFjayB0bworCSAqIGV4 ZWNsaXN0IG1vZGUsIGFuZCB3aGV0aGVyIHRvIGhpZGUgdGhlIGVycm9yIGJ5IHJldHVybmluZwor CSAqIHplcm8gb3IgdG8gcmV0dXJuIC1FSU8sIHdoaWNoIHRoZSBjYWxsZXIgd2lsbCB0cmVhdCBh cyBhCisJICogbm9uZmF0YWwgZXJyb3IgKGkuZS4gaXQgZG9lc24ndCBwcmV2ZW50IGRyaXZlciBs b2FkLCBidXQKKwkgKiBtYXJrcyB0aGUgR1BVIGFzIHdlZGdlZCB1bnRpbCByZXNldCkuCisJICov CisJaWYgKGk5MTUuZW5hYmxlX2d1Y19sb2FkaW5nID4gMSkgeworCQllcnIgPSAtRUlPOworCX0g ZWxzZSBpZiAoSEFTX0dVQ19TQ0hFRChkZXYpICYmICFIQVNfR1VDX1VDT0RFKGRldikpIHsKKwkJ cmV0dXJuIDA7CisJfSBlbHNlIGlmIChpOTE1LmVuYWJsZV9ndWNfc3VibWlzc2lvbiA+IDEpIHsK KwkJZXJyID0gLUVJTzsKKwl9IGVsc2UgeworCQllcnIgPSAwOworCX0KKworCWk5MTUuZW5hYmxl X2d1Y19zdWJtaXNzaW9uID0gMDsKKworCURSTV9ERUJVR19EUklWRVIoImZhbGxpbmcgYmFjayB0 byBleGVjbGlzdCBtb2RlLCBlcnIgJWRcbiIsIGVycik7CisKIAlyZXR1cm4gZXJyOwogfQogCkBA IC02MzEsOCArNjQzLDExIEBAIHZvaWQgaW50ZWxfZ3VjX3Vjb2RlX2luaXQoc3RydWN0IGRybV9k ZXZpY2UgKmRldikKIAlzdHJ1Y3QgaW50ZWxfZ3VjX2Z3ICpndWNfZncgPSAmZGV2X3ByaXYtPmd1 Yy5ndWNfZnc7CiAJY29uc3QgY2hhciAqZndfcGF0aDsKIAotCWlmICghSEFTX0dVQ19TQ0hFRChk ZXYpKQotCQlpOTE1LmVuYWJsZV9ndWNfc3VibWlzc2lvbiA9IGZhbHNlOworCS8qIEEgbmVnYXRp dmUgdmFsdWUgbWVhbnMgInVzZSBwbGF0Zm9ybSBkZWZhdWx0IiAqLworCWlmIChpOTE1LmVuYWJs ZV9ndWNfbG9hZGluZyA8IDApCisJCWk5MTUuZW5hYmxlX2d1Y19sb2FkaW5nID0gSEFTX0dVQ19V Q09ERShkZXYpOworCWlmIChpOTE1LmVuYWJsZV9ndWNfc3VibWlzc2lvbiA8IDApCisJCWk5MTUu ZW5hYmxlX2d1Y19zdWJtaXNzaW9uID0gSEFTX0dVQ19TQ0hFRChkZXYpOwogCiAJaWYgKCFIQVNf R1VDX1VDT0RFKGRldikpIHsKIAkJZndfcGF0aCA9IE5VTEw7CkBAIC02NDEsMjYgKzY1NiwyMSBA QCB2b2lkIGludGVsX2d1Y191Y29kZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCWd1 Y19mdy0+Z3VjX2Z3X21ham9yX3dhbnRlZCA9IDY7CiAJCWd1Y19mdy0+Z3VjX2Z3X21pbm9yX3dh bnRlZCA9IDE7CiAJfSBlbHNlIHsKLQkJaTkxNS5lbmFibGVfZ3VjX3N1Ym1pc3Npb24gPSBmYWxz ZTsKIAkJZndfcGF0aCA9ICIiOwkvKiB1bmtub3duIGRldmljZSAqLwogCX0KIAotCWlmICghaTkx NS5lbmFibGVfZ3VjX3N1Ym1pc3Npb24pCi0JCXJldHVybjsKLQogCWd1Y19mdy0+Z3VjX2RldiA9 IGRldjsKIAlndWNfZnctPmd1Y19md19wYXRoID0gZndfcGF0aDsKIAlndWNfZnctPmd1Y19md19m ZXRjaF9zdGF0dXMgPSBHVUNfRklSTVdBUkVfTk9ORTsKIAlndWNfZnctPmd1Y19md19sb2FkX3N0 YXR1cyA9IEdVQ19GSVJNV0FSRV9OT05FOwogCisJLyogRWFybHkgKGFuZCBzaWxlbnQpIHJldHVy biBpZiBHdUMgbG9hZGluZyBpcyBkaXNhYmxlZCAqLworCWlmICghaTkxNS5lbmFibGVfZ3VjX2xv YWRpbmcpCisJCXJldHVybjsKIAlpZiAoZndfcGF0aCA9PSBOVUxMKQogCQlyZXR1cm47Ci0KLQlp ZiAoKmZ3X3BhdGggPT0gJ1wwJykgewotCQlEUk1fRVJST1IoIk5vIEd1QyBmaXJtd2FyZSBrbm93 biBmb3IgdGhpcyBwbGF0Zm9ybVxuIik7Ci0JCWd1Y19mdy0+Z3VjX2Z3X2ZldGNoX3N0YXR1cyA9 IEdVQ19GSVJNV0FSRV9GQUlMOworCWlmICgqZndfcGF0aCA9PSAnXDAnKQogCQlyZXR1cm47Ci0J fQogCiAJZ3VjX2Z3LT5ndWNfZndfZmV0Y2hfc3RhdHVzID0gR1VDX0ZJUk1XQVJFX1BFTkRJTkc7 CiAJRFJNX0RFQlVHX0RSSVZFUigiR3VDIGZpcm13YXJlIHBlbmRpbmcsIHBhdGggJXNcbiIsIGZ3 X3BhdGgpOwotLSAKMS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeAo=