From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: Re: [PATCH 1/4] drm/i915: abstract PCH type detection from PCH id Date: Mon, 5 Feb 2018 14:21:49 -0800 Message-ID: <20180205222149.ujrv536wrqlx2pke@intel.com> References: <3bd4ffcd284cdbd4e8dc77ab02d97ded422e0c21.1517851783.git.jani.nikula@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id C4E8C6E02B for ; Mon, 5 Feb 2018 22:21:49 +0000 (UTC) Content-Disposition: inline In-Reply-To: <3bd4ffcd284cdbd4e8dc77ab02d97ded422e0c21.1517851783.git.jani.nikula@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jani Nikula Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBGZWIgMDUsIDIwMTggYXQgMDU6MzE6MzZQTSArMDAwMCwgSmFuaSBOaWt1bGEgd3Jv dGU6Cj4gTWFrZSB0aGUgbG9naWMgaW4gaW50ZWxfZGV0ZWN0X3BjaCgpIGVhc2llciB0byBmb2xs b3csIGFuZCBtYWtlIHRoZSBQQ0gKPiBpZCB0byB0eXBlIG1hcHBpbmcgcmV1c2FibGUuIE5vIGZ1 bmN0aW9uYWwgY2hhbmdlcy4KCkkgd29uZGVyZWQgaGVyZSBpZiB3ZSBzaG91bGQgY2hhbmdlIGlu dGVsX3BjaCBmcm9tIGVudW0gdG8gYXJyYXkKeyBwY2hfaWQsIHBjaF90eXBlLCBzdXBwb3J0ZWRf cGxhdGZvcm1zLCAibmFtZSIgfQoKYnV0IGJlc2lkZXMgcmVxdWlyaW5nIGEgbG9vcCBhdCB0aGlz IHBvaW50IHN1cHBvcnRlZF9wbGF0Zm9ybXMgd291bGQgYmUgdHJpY2t5IG9uZS4KCnNvLCBuZXZl ciBtaW5kLi4uCgo+IAo+IFNpZ25lZC1vZmYtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBp bnRlbC5jb20+CgpSZXZpZXdlZC1ieTogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwu Y29tPgoKPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyB8IDE0OCArKysr KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCA3 MyBpbnNlcnRpb25zKCspLCA3NSBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmMKPiBpbmRleCBlOWYxZGFmMjU4ZmUuLjA4ZTk3YjZlOTc2YiAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuYwo+IEBAIC0xMjIsNiArMTIyLDc1IEBAIHN0YXRpYyBib29sIGk5MTVfZXJyb3Jf aW5qZWN0ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAJCSAgICAgIGk5 MTVfZXJyb3JfaW5qZWN0ZWQoZGV2X3ByaXYpID8gS0VSTl9ERUJVRyA6IEtFUk5fRVJSLCBcCj4g IAkJICAgICAgZm10LCAjI19fVkFfQVJHU19fKQo+ICAKPiArLyogTWFwIFBDSCBkZXZpY2UgaWQg dG8gUENIIHR5cGUsIG9yIFBDSF9OT05FIGlmIHVua25vd24uICovCj4gK3N0YXRpYyBlbnVtIGlu dGVsX3BjaAo+ICtpbnRlbF9wY2hfdHlwZShjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsIHVuc2lnbmVkIHNob3J0IGlkKQo+ICt7Cj4gKwlzd2l0Y2ggKGlkKSB7Cj4gKwlj YXNlIElOVEVMX1BDSF9JQlhfREVWSUNFX0lEX1RZUEU6Cj4gKwkJRFJNX0RFQlVHX0tNUygiRm91 bmQgSWJleCBQZWFrIFBDSFxuIik7Cj4gKwkJV0FSTl9PTighSVNfR0VONShkZXZfcHJpdikpOwo+ ICsJCXJldHVybiBQQ0hfSUJYOwo+ICsJY2FzZSBJTlRFTF9QQ0hfQ1BUX0RFVklDRV9JRF9UWVBF Ogo+ICsJCURSTV9ERUJVR19LTVMoIkZvdW5kIENvdWdhclBvaW50IFBDSFxuIik7Cj4gKwkJV0FS Tl9PTighSVNfR0VONihkZXZfcHJpdikgJiYgIUlTX0lWWUJSSURHRShkZXZfcHJpdikpOwo+ICsJ CXJldHVybiBQQ0hfQ1BUOwo+ICsJY2FzZSBJTlRFTF9QQ0hfUFBUX0RFVklDRV9JRF9UWVBFOgo+ ICsJCURSTV9ERUJVR19LTVMoIkZvdW5kIFBhbnRoZXJQb2ludCBQQ0hcbiIpOwo+ICsJCVdBUk5f T04oIUlTX0dFTjYoZGV2X3ByaXYpICYmICFJU19JVllCUklER0UoZGV2X3ByaXYpKTsKPiArCQkv KiBQYW50aGVyUG9pbnQgaXMgQ1BUIGNvbXBhdGlibGUgKi8KPiArCQlyZXR1cm4gUENIX0NQVDsK PiArCWNhc2UgSU5URUxfUENIX0xQVF9ERVZJQ0VfSURfVFlQRToKPiArCQlEUk1fREVCVUdfS01T KCJGb3VuZCBMeW54UG9pbnQgUENIXG4iKTsKPiArCQlXQVJOX09OKCFJU19IQVNXRUxMKGRldl9w cml2KSAmJiAhSVNfQlJPQURXRUxMKGRldl9wcml2KSk7Cj4gKwkJV0FSTl9PTihJU19IU1dfVUxU KGRldl9wcml2KSB8fCBJU19CRFdfVUxUKGRldl9wcml2KSk7Cj4gKwkJcmV0dXJuIFBDSF9MUFQ7 Cj4gKwljYXNlIElOVEVMX1BDSF9MUFRfTFBfREVWSUNFX0lEX1RZUEU6Cj4gKwkJRFJNX0RFQlVH X0tNUygiRm91bmQgTHlueFBvaW50IExQIFBDSFxuIik7Cj4gKwkJV0FSTl9PTighSVNfSEFTV0VM TChkZXZfcHJpdikgJiYgIUlTX0JST0FEV0VMTChkZXZfcHJpdikpOwo+ICsJCVdBUk5fT04oIUlT X0hTV19VTFQoZGV2X3ByaXYpICYmICFJU19CRFdfVUxUKGRldl9wcml2KSk7Cj4gKwkJcmV0dXJu IFBDSF9MUFQ7Cj4gKwljYXNlIElOVEVMX1BDSF9XUFRfREVWSUNFX0lEX1RZUEU6Cj4gKwkJRFJN X0RFQlVHX0tNUygiRm91bmQgV2lsZGNhdFBvaW50IFBDSFxuIik7Cj4gKwkJV0FSTl9PTighSVNf SEFTV0VMTChkZXZfcHJpdikgJiYgIUlTX0JST0FEV0VMTChkZXZfcHJpdikpOwo+ICsJCVdBUk5f T04oSVNfSFNXX1VMVChkZXZfcHJpdikgfHwgSVNfQkRXX1VMVChkZXZfcHJpdikpOwo+ICsJCS8q IFdpbGRjYXRQb2ludCBpcyBMUFQgY29tcGF0aWJsZSAqLwo+ICsJCXJldHVybiBQQ0hfTFBUOwo+ ICsJY2FzZSBJTlRFTF9QQ0hfV1BUX0xQX0RFVklDRV9JRF9UWVBFOgo+ICsJCURSTV9ERUJVR19L TVMoIkZvdW5kIFdpbGRjYXRQb2ludCBMUCBQQ0hcbiIpOwo+ICsJCVdBUk5fT04oIUlTX0hBU1dF TEwoZGV2X3ByaXYpICYmICFJU19CUk9BRFdFTEwoZGV2X3ByaXYpKTsKPiArCQlXQVJOX09OKCFJ U19IU1dfVUxUKGRldl9wcml2KSAmJiAhSVNfQkRXX1VMVChkZXZfcHJpdikpOwo+ICsJCS8qIFdp bGRjYXRQb2ludCBpcyBMUFQgY29tcGF0aWJsZSAqLwo+ICsJCXJldHVybiBQQ0hfTFBUOwo+ICsJ Y2FzZSBJTlRFTF9QQ0hfU1BUX0RFVklDRV9JRF9UWVBFOgo+ICsJCURSTV9ERUJVR19LTVMoIkZv dW5kIFN1bnJpc2VQb2ludCBQQ0hcbiIpOwo+ICsJCVdBUk5fT04oIUlTX1NLWUxBS0UoZGV2X3By aXYpICYmICFJU19LQUJZTEFLRShkZXZfcHJpdikpOwo+ICsJCXJldHVybiBQQ0hfU1BUOwo+ICsJ Y2FzZSBJTlRFTF9QQ0hfU1BUX0xQX0RFVklDRV9JRF9UWVBFOgo+ICsJCURSTV9ERUJVR19LTVMo IkZvdW5kIFN1bnJpc2VQb2ludCBMUCBQQ0hcbiIpOwo+ICsJCVdBUk5fT04oIUlTX1NLWUxBS0Uo ZGV2X3ByaXYpICYmICFJU19LQUJZTEFLRShkZXZfcHJpdikpOwo+ICsJCXJldHVybiBQQ0hfU1BU Owo+ICsJY2FzZSBJTlRFTF9QQ0hfS0JQX0RFVklDRV9JRF9UWVBFOgo+ICsJCURSTV9ERUJVR19L TVMoIkZvdW5kIEthYnkgTGFrZSBQQ0ggKEtCUClcbiIpOwo+ICsJCVdBUk5fT04oIUlTX1NLWUxB S0UoZGV2X3ByaXYpICYmICFJU19LQUJZTEFLRShkZXZfcHJpdikgJiYKPiArCQkJIUlTX0NPRkZF RUxBS0UoZGV2X3ByaXYpKTsKPiArCQlyZXR1cm4gUENIX0tCUDsKPiArCWNhc2UgSU5URUxfUENI X0NOUF9ERVZJQ0VfSURfVFlQRToKPiArCQlEUk1fREVCVUdfS01TKCJGb3VuZCBDYW5ub24gTGFr ZSBQQ0ggKENOUClcbiIpOwo+ICsJCVdBUk5fT04oIUlTX0NBTk5PTkxBS0UoZGV2X3ByaXYpICYm ICFJU19DT0ZGRUVMQUtFKGRldl9wcml2KSk7Cj4gKwkJcmV0dXJuIFBDSF9DTlA7Cj4gKwljYXNl IElOVEVMX1BDSF9DTlBfTFBfREVWSUNFX0lEX1RZUEU6Cj4gKwkJRFJNX0RFQlVHX0tNUygiRm91 bmQgQ2Fubm9uIExha2UgTFAgUENIIChDTlAtTFApXG4iKTsKPiArCQlXQVJOX09OKCFJU19DQU5O T05MQUtFKGRldl9wcml2KSAmJiAhSVNfQ09GRkVFTEFLRShkZXZfcHJpdikpOwo+ICsJCXJldHVy biBQQ0hfQ05QOwo+ICsJY2FzZSBJTlRFTF9QQ0hfSUNQX0RFVklDRV9JRF9UWVBFOgo+ICsJCURS TV9ERUJVR19LTVMoIkZvdW5kIEljZSBMYWtlIFBDSFxuIik7Cj4gKwkJV0FSTl9PTighSVNfSUNF TEFLRShkZXZfcHJpdikpOwo+ICsJCXJldHVybiBQQ0hfSUNQOwo+ICsJZGVmYXVsdDoKPiArCQly ZXR1cm4gUENIX05PTkU7Cj4gKwl9Cj4gK30KPiAgCj4gIHN0YXRpYyBlbnVtIGludGVsX3BjaCBp bnRlbF92aXJ0X2RldGVjdF9wY2goc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ ICB7Cj4gQEAgLTE4Myw2ICsyNTIsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZXRlY3RfcGNoKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCSAqLwo+ICAJd2hpbGUgKChwY2gg PSBwY2lfZ2V0X2NsYXNzKFBDSV9DTEFTU19CUklER0VfSVNBIDw8IDgsIHBjaCkpKSB7Cj4gIAkJ dW5zaWduZWQgc2hvcnQgaWQ7Cj4gKwkJZW51bSBpbnRlbF9wY2ggcGNoX3R5cGU7Cj4gIAo+ICAJ CWlmIChwY2gtPnZlbmRvciAhPSBQQ0lfVkVORE9SX0lEX0lOVEVMKQo+ICAJCQljb250aW51ZTsK PiBAQCAtMTkxLDgxICsyNjEsOSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZXRlY3RfcGNoKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCj4gIAkJZGV2X3ByaXYtPnBjaF9pZCA9 IGlkOwo+ICAKPiAtCQlpZiAoaWQgPT0gSU5URUxfUENIX0lCWF9ERVZJQ0VfSURfVFlQRSkgewo+ IC0JCQlkZXZfcHJpdi0+cGNoX3R5cGUgPSBQQ0hfSUJYOwo+IC0JCQlEUk1fREVCVUdfS01TKCJG b3VuZCBJYmV4IFBlYWsgUENIXG4iKTsKPiAtCQkJV0FSTl9PTighSVNfR0VONShkZXZfcHJpdikp Owo+IC0JCX0gZWxzZSBpZiAoaWQgPT0gSU5URUxfUENIX0NQVF9ERVZJQ0VfSURfVFlQRSkgewo+ IC0JCQlkZXZfcHJpdi0+cGNoX3R5cGUgPSBQQ0hfQ1BUOwo+IC0JCQlEUk1fREVCVUdfS01TKCJG b3VuZCBDb3VnYXJQb2ludCBQQ0hcbiIpOwo+IC0JCQlXQVJOX09OKCFJU19HRU42KGRldl9wcml2 KSAmJgo+IC0JCQkJIUlTX0lWWUJSSURHRShkZXZfcHJpdikpOwo+IC0JCX0gZWxzZSBpZiAoaWQg PT0gSU5URUxfUENIX1BQVF9ERVZJQ0VfSURfVFlQRSkgewo+IC0JCQkvKiBQYW50aGVyUG9pbnQg aXMgQ1BUIGNvbXBhdGlibGUgKi8KPiAtCQkJZGV2X3ByaXYtPnBjaF90eXBlID0gUENIX0NQVDsK PiAtCQkJRFJNX0RFQlVHX0tNUygiRm91bmQgUGFudGhlclBvaW50IFBDSFxuIik7Cj4gLQkJCVdB Uk5fT04oIUlTX0dFTjYoZGV2X3ByaXYpICYmCj4gLQkJCQkhSVNfSVZZQlJJREdFKGRldl9wcml2 KSk7Cj4gLQkJfSBlbHNlIGlmIChpZCA9PSBJTlRFTF9QQ0hfTFBUX0RFVklDRV9JRF9UWVBFKSB7 Cj4gLQkJCWRldl9wcml2LT5wY2hfdHlwZSA9IFBDSF9MUFQ7Cj4gLQkJCURSTV9ERUJVR19LTVMo IkZvdW5kIEx5bnhQb2ludCBQQ0hcbiIpOwo+IC0JCQlXQVJOX09OKCFJU19IQVNXRUxMKGRldl9w cml2KSAmJgo+IC0JCQkJIUlTX0JST0FEV0VMTChkZXZfcHJpdikpOwo+IC0JCQlXQVJOX09OKElT X0hTV19VTFQoZGV2X3ByaXYpIHx8Cj4gLQkJCQlJU19CRFdfVUxUKGRldl9wcml2KSk7Cj4gLQkJ fSBlbHNlIGlmIChpZCA9PSBJTlRFTF9QQ0hfTFBUX0xQX0RFVklDRV9JRF9UWVBFKSB7Cj4gLQkJ CWRldl9wcml2LT5wY2hfdHlwZSA9IFBDSF9MUFQ7Cj4gLQkJCURSTV9ERUJVR19LTVMoIkZvdW5k IEx5bnhQb2ludCBMUCBQQ0hcbiIpOwo+IC0JCQlXQVJOX09OKCFJU19IQVNXRUxMKGRldl9wcml2 KSAmJgo+IC0JCQkJIUlTX0JST0FEV0VMTChkZXZfcHJpdikpOwo+IC0JCQlXQVJOX09OKCFJU19I U1dfVUxUKGRldl9wcml2KSAmJgo+IC0JCQkJIUlTX0JEV19VTFQoZGV2X3ByaXYpKTsKPiAtCQl9 IGVsc2UgaWYgKGlkID09IElOVEVMX1BDSF9XUFRfREVWSUNFX0lEX1RZUEUpIHsKPiAtCQkJLyog V2lsZGNhdFBvaW50IGlzIExQVCBjb21wYXRpYmxlICovCj4gLQkJCWRldl9wcml2LT5wY2hfdHlw ZSA9IFBDSF9MUFQ7Cj4gLQkJCURSTV9ERUJVR19LTVMoIkZvdW5kIFdpbGRjYXRQb2ludCBQQ0hc biIpOwo+IC0JCQlXQVJOX09OKCFJU19IQVNXRUxMKGRldl9wcml2KSAmJgo+IC0JCQkJIUlTX0JS T0FEV0VMTChkZXZfcHJpdikpOwo+IC0JCQlXQVJOX09OKElTX0hTV19VTFQoZGV2X3ByaXYpIHx8 Cj4gLQkJCQlJU19CRFdfVUxUKGRldl9wcml2KSk7Cj4gLQkJfSBlbHNlIGlmIChpZCA9PSBJTlRF TF9QQ0hfV1BUX0xQX0RFVklDRV9JRF9UWVBFKSB7Cj4gLQkJCS8qIFdpbGRjYXRQb2ludCBpcyBM UFQgY29tcGF0aWJsZSAqLwo+IC0JCQlkZXZfcHJpdi0+cGNoX3R5cGUgPSBQQ0hfTFBUOwo+IC0J CQlEUk1fREVCVUdfS01TKCJGb3VuZCBXaWxkY2F0UG9pbnQgTFAgUENIXG4iKTsKPiAtCQkJV0FS Tl9PTighSVNfSEFTV0VMTChkZXZfcHJpdikgJiYKPiAtCQkJCSFJU19CUk9BRFdFTEwoZGV2X3By aXYpKTsKPiAtCQkJV0FSTl9PTighSVNfSFNXX1VMVChkZXZfcHJpdikgJiYKPiAtCQkJCSFJU19C RFdfVUxUKGRldl9wcml2KSk7Cj4gLQkJfSBlbHNlIGlmIChpZCA9PSBJTlRFTF9QQ0hfU1BUX0RF VklDRV9JRF9UWVBFKSB7Cj4gLQkJCWRldl9wcml2LT5wY2hfdHlwZSA9IFBDSF9TUFQ7Cj4gLQkJ CURSTV9ERUJVR19LTVMoIkZvdW5kIFN1bnJpc2VQb2ludCBQQ0hcbiIpOwo+IC0JCQlXQVJOX09O KCFJU19TS1lMQUtFKGRldl9wcml2KSAmJgo+IC0JCQkJIUlTX0tBQllMQUtFKGRldl9wcml2KSk7 Cj4gLQkJfSBlbHNlIGlmIChpZCA9PSBJTlRFTF9QQ0hfU1BUX0xQX0RFVklDRV9JRF9UWVBFKSB7 Cj4gLQkJCWRldl9wcml2LT5wY2hfdHlwZSA9IFBDSF9TUFQ7Cj4gLQkJCURSTV9ERUJVR19LTVMo IkZvdW5kIFN1bnJpc2VQb2ludCBMUCBQQ0hcbiIpOwo+IC0JCQlXQVJOX09OKCFJU19TS1lMQUtF KGRldl9wcml2KSAmJgo+IC0JCQkJIUlTX0tBQllMQUtFKGRldl9wcml2KSk7Cj4gLQkJfSBlbHNl IGlmIChpZCA9PSBJTlRFTF9QQ0hfS0JQX0RFVklDRV9JRF9UWVBFKSB7Cj4gLQkJCWRldl9wcml2 LT5wY2hfdHlwZSA9IFBDSF9LQlA7Cj4gLQkJCURSTV9ERUJVR19LTVMoIkZvdW5kIEthYnkgTGFr ZSBQQ0ggKEtCUClcbiIpOwo+IC0JCQlXQVJOX09OKCFJU19TS1lMQUtFKGRldl9wcml2KSAmJgo+ IC0JCQkJIUlTX0tBQllMQUtFKGRldl9wcml2KSAmJgo+IC0JCQkJIUlTX0NPRkZFRUxBS0UoZGV2 X3ByaXYpKTsKPiAtCQl9IGVsc2UgaWYgKGlkID09IElOVEVMX1BDSF9DTlBfREVWSUNFX0lEX1RZ UEUpIHsKPiAtCQkJZGV2X3ByaXYtPnBjaF90eXBlID0gUENIX0NOUDsKPiAtCQkJRFJNX0RFQlVH X0tNUygiRm91bmQgQ2Fubm9uIExha2UgUENIIChDTlApXG4iKTsKPiAtCQkJV0FSTl9PTighSVNf Q0FOTk9OTEFLRShkZXZfcHJpdikgJiYKPiAtCQkJCSFJU19DT0ZGRUVMQUtFKGRldl9wcml2KSk7 Cj4gLQkJfSBlbHNlIGlmIChpZCA9PSBJTlRFTF9QQ0hfQ05QX0xQX0RFVklDRV9JRF9UWVBFKSB7 Cj4gLQkJCWRldl9wcml2LT5wY2hfdHlwZSA9IFBDSF9DTlA7Cj4gLQkJCURSTV9ERUJVR19LTVMo IkZvdW5kIENhbm5vbiBMYWtlIExQIFBDSCAoQ05QLUxQKVxuIik7Cj4gLQkJCVdBUk5fT04oIUlT X0NBTk5PTkxBS0UoZGV2X3ByaXYpICYmCj4gLQkJCQkhSVNfQ09GRkVFTEFLRShkZXZfcHJpdikp Owo+IC0JCX0gZWxzZSBpZiAoaWQgPT0gSU5URUxfUENIX0lDUF9ERVZJQ0VfSURfVFlQRSkgewo+ IC0JCQlkZXZfcHJpdi0+cGNoX3R5cGUgPSBQQ0hfSUNQOwo+IC0JCQlEUk1fREVCVUdfS01TKCJG b3VuZCBJY2UgTGFrZSBQQ0hcbiIpOwo+IC0JCQlXQVJOX09OKCFJU19JQ0VMQUtFKGRldl9wcml2 KSk7Cj4gKwkJcGNoX3R5cGUgPSBpbnRlbF9wY2hfdHlwZShkZXZfcHJpdiwgaWQpOwo+ICsJCWlm IChwY2hfdHlwZSAhPSBQQ0hfTk9ORSkgewo+ICsJCQlkZXZfcHJpdi0+cGNoX3R5cGUgPSBwY2hf dHlwZTsKPiAgCQl9IGVsc2UgaWYgKGlkID09IElOVEVMX1BDSF9QMlhfREVWSUNFX0lEX1RZUEUg fHwKPiAgCQkJICAgaWQgPT0gSU5URUxfUENIX1AzWF9ERVZJQ0VfSURfVFlQRSB8fAo+ICAJCQkg ICAoaWQgPT0gSU5URUxfUENIX1FFTVVfREVWSUNFX0lEX1RZUEUgJiYKPiAtLSAKPiAyLjExLjAK PiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IElu dGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4g aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==