From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 1B2F0C3ABB2 for ; Wed, 28 May 2025 11:20:56 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uKEpU-0000w4-Kd; Wed, 28 May 2025 07:20:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uKEpS-0000uG-2F for grub-devel@gnu.org; Wed, 28 May 2025 07:20:14 -0400 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uKEpO-0003VU-AG for grub-devel@gnu.org; Wed, 28 May 2025 07:20:13 -0400 Received: from pps.filterd (m0360083.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54S2lvMo004931; Wed, 28 May 2025 11:20:05 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pp1; bh=j+CTQZ Nq1WwjtZ7Ep9c4JA+hlQOxEAQxb2AHUBwYbeM=; b=VQeoFRilBqKfg7llYa45ze 9DMafJuwqB1bLVPHB65jp9POejdSKaRLOJiq00tswML7E4nBJkBsWUNIwFnzjWNX p3H5tuddWBxXdkdv1XOzUhHqlX2WjTVqARGW3hvjT574/PltEmVgoIIX/MSeq4Aa bmedj9kjTcooRxM5k1Zl1XKrsoCEHZr1+mA14BNv/1To8FaaXiChzadIUoNsZPRm ybGsM+GRU+d/sBavefFsbt2UhoMwvyNgnHQ26VxTOioVHnN0XJCJC7b9qMDPEgPo dhF2YCiP6q+0Cu28T1neW+hybmbfU1mVWyJMAtwL0Tcljyr0jejNCGVAFyJxVKHA == Received: from ppma13.dal12v.mail.ibm.com (dd.9e.1632.ip4.static.sl-reverse.com [50.22.158.221]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 46wgsj4eu6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 28 May 2025 11:20:04 +0000 (GMT) Received: from pps.filterd (ppma13.dal12v.mail.ibm.com [127.0.0.1]) by ppma13.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 54SAULvv021333; Wed, 28 May 2025 11:20:04 GMT Received: from smtprelay05.wdc07v.mail.ibm.com ([172.16.1.72]) by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 46utnmq13f-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 28 May 2025 11:20:03 +0000 Received: from smtpav04.wdc07v.mail.ibm.com (smtpav04.wdc07v.mail.ibm.com [10.39.53.231]) by smtprelay05.wdc07v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 54SBK1pL17367784 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 28 May 2025 11:20:01 GMT Received: from smtpav04.wdc07v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 2F2AF58045; Wed, 28 May 2025 11:20:01 +0000 (GMT) Received: from smtpav04.wdc07v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id BA70258050; Wed, 28 May 2025 11:20:00 +0000 (GMT) Received: from ltc.linux.ibm.com (unknown [9.5.196.140]) by smtpav04.wdc07v.mail.ibm.com (Postfix) with ESMTP; Wed, 28 May 2025 11:20:00 +0000 (GMT) MIME-Version: 1.0 Date: Wed, 28 May 2025 16:50:00 +0530 From: Avnish Chouhan To: Daniel Kiper Cc: grub-devel@gnu.org, brking@linux.ibm.com, meghanaprakash@in.ibm.com Subject: Re: [PATCH v2] ieee1275: support added for multiple nvme bootpaths In-Reply-To: <20250526193053.7vk2abhrzvwhd5bv@tomti.i.net-space.pl> References: <20250519110434.28686-1-avnish@linux.ibm.com> <20250526193053.7vk2abhrzvwhd5bv@tomti.i.net-space.pl> Message-ID: X-Sender: avnish@linux.ibm.com X-TM-AS-GCONF: 00 X-Authority-Analysis: v=2.4 cv=IcmHWXqa c=1 sm=1 tr=0 ts=6836f164 cx=c_pps a=AfN7/Ok6k8XGzOShvHwTGQ==:117 a=AfN7/Ok6k8XGzOShvHwTGQ==:17 a=kj9zAlcOel0A:10 a=dt9VzEwgFbYA:10 a=VnNF1IyMAAAA:8 a=gHK2ZutTjM0HjptpGrYA:9 a=CjuIK1q_8ugA:10 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDA5NyBTYWx0ZWRfX/oeASlqwINiy p5MDO5nd2AHEiqPsousH88e1vm/ktBcX/mJtfNkUrHrjzPEIcHTNOtS+U515W43MdHE42UEg0UT nLVCmrBAfT4M5rkTxSuFEquEBNMgpWN0NoeItaAjdh27Uq3g8PawwF6yQ3qLYYh1SRN0gYL3xYk x/p7p6th1ALXpT01Xfd2h31FFDyagPBuXUxQH0GE/58xRPkgGudfT3njh3eNQdyCc8xzX1zRYwx OpAlbxNcVNMWj2h8EXhSEHPcokjEe6sE8Q2ohoLQZXrXO5hAutViwt30wwC+42SJVLcBAxDEWC/ 4jIHnhPljR+VhFlx41MERESKfiupo9rRgTALsToXUnNqC0VZv6UYcyYbH+8JRRvprlLQKtn2Ky2 aQSZaBz8ekFyR9xRcbk34mJDer3igPMO9Jp3vsWILqsv80WfGCCcRXWVZdWT6is4swNQyKjO X-Proofpoint-ORIG-GUID: fBWXJsP5M0pFO4UpYZ-XNp1ZONSgeCY5 X-Proofpoint-GUID: fBWXJsP5M0pFO4UpYZ-XNp1ZONSgeCY5 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-28_05,2025-05-27_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 priorityscore=1501 mlxscore=0 phishscore=0 clxscore=1015 lowpriorityscore=0 suspectscore=0 mlxlogscore=999 adultscore=0 impostorscore=0 bulkscore=0 spamscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505160000 definitions=main-2505280097 Received-SPF: pass client-ip=148.163.156.1; envelope-from=avnish@linux.ibm.com; helo=mx0a-001b2d01.pphosted.com X-Spam_score_int: -26 X-Spam_score: -2.7 X-Spam_bar: -- X-Spam_report: (-2.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: The development of GNU GRUB Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org Sender: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org SGkgRGFuaWVsLAoKVGhhbmsgeW91IHNvIG11Y2ggZm9yIGEgcmV2aWV3IQoKT24gMjAyNS0wNS0y NyAwMTowMCwgRGFuaWVsIEtpcGVyIHdyb3RlOgo+IE9uIE1vbiwgTWF5IDE5LCAyMDI1IGF0IDA0 OjM0OjM0UE0gKzA1MzAsIEF2bmlzaCBDaG91aGFuIHdyb3RlOgo+PiBUaGlzIHBhdGNoIHNldHMg bXVwbHRpcGxlIE5WTWUgYm9vdC1kZXZpY2VzIGZvciBtb3JlIHJvYnVzdCBib290Lgo+PiBTY2Vu YXJpbyB3aGVyZSBOVk1lIG11bHRpcGF0aHMgYXJlIGF2YWlsYWJsZSwgYWxsIHRoZSBhdmFpbGFi bGUgCj4+IGJvb3RwYXRocyAoTWF4IDUpCj4+IHdpbGwgYmUgYWRkZWQgYXMgdGhlIGJvb3QtZGV2 aWNlLgo+PiAKPj4gU2lnbmVkLW9mZi1ieTogQXZuaXNoIENob3VoYW4gPGF2bmlzaEBsaW51eC5p Ym0uY29tPgo+PiAtLS0KPj4gIGdydWItY29yZS9vc2RlcC91bml4L3BsYXRmb3JtLmMgfCAxMTQg Cj4+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst Cj4+ICBncnViLWNvcmUvb3NkZXAvbGludXgvb2ZwYXRoLmMgIHwgICA2ICsrKy0tLQo+PiAgaW5j bHVkZS9ncnViL3V0aWwvaW5zdGFsbC5oICAgICB8ICAgMyArKysKPj4gIGluY2x1ZGUvZ3J1Yi91 dGlsL29mcGF0aC5oICAgICAgfCAgIDQgKysrKwo+PiAgNCBmaWxlcyBjaGFuZ2VkLCAxMjMgaW5z ZXJ0aW9ucygrKSwgNCBkZWxldGlvbigtKQo+PiAKPj4gZGlmZiAtLWdpdCBhL2dydWItY29yZS9v c2RlcC91bml4L3BsYXRmb3JtLmMgCj4+IGIvZ3J1Yi1jb3JlL29zZGVwL3VuaXgvcGxhdGZvcm0u Ywo+PiBpbmRleCA1NWI4ZjQwLi4xMjRlMGVkIDEwMDY0NAo+PiAtLS0gYS9ncnViLWNvcmUvb3Nk ZXAvdW5peC9wbGF0Zm9ybS5jCj4+ICsrKyBiL2dydWItY29yZS9vc2RlcC91bml4L3BsYXRmb3Jt LmMKPj4gQEAgLTI4LDYgKzI4LDggQEAKPj4gICNpbmNsdWRlIDxkaXJlbnQuaD4KPj4gICNpbmNs dWRlIDxzdHJpbmcuaD4KPj4gICNpbmNsdWRlIDxlcnJuby5oPgo+PiArI2luY2x1ZGUgPGdydWIv dXRpbC9vZnBhdGguaD4KPiAKPiBQbGVhc2UgYWRkIGVtcHR5IGxpbmUgaGVyZS4KClN1cmUhCgo+ IAo+PiArI2RlZmluZSBCT09UREVWX0JVRkZFUiAgMTAwMAo+PiAKPj4gIHN0YXRpYyBjaGFyICoK Pj4gIGdldF9vZnBhdGhuYW1lIChjb25zdCBjaGFyICpkZXYpCj4+IEBAIC0xNzYsNiArMTc4LDEw NSBAQCBncnViX2luc3RhbGxfcmVnaXN0ZXJfZWZpIChncnViX2RldmljZV90IAo+PiBlZmlkaXJf Z3J1Yl9kZXYsCj4+ICAgIHJldHVybiByZXQ7Cj4+ICB9Cj4+IAo+PiArCj4+ICtjaGFyICoKPj4g K2FkZF9tdWx0aXBsZV9udm1lX2Jvb3RkZXZpY2VzIChjb25zdCBjaGFyICppbnN0YWxsX2Rldmlj ZSkKPj4gK3sKPj4gKyAgY2hhciAqc3lzZnNfcGF0aCwgKm52bWVfbnMsICpwdHIsICpub25fc3Bs aXR0ZXJfcGF0aDsKPj4gKyAgdW5zaWduZWQgaW50IG5zaWQ7Cj4+ICsgIGNoYXIgKm11bHRpcGF0 aF9ib290LCAqb2ZwYXRoLCAqZXh0X2RpcjsKPj4gKyAgc3RydWN0IGRpcmVudCAqZXAsICpzcGxp dHRlcl9lcDsKPj4gKyAgRElSICpkcCwgKnNwbGl0dGVyX2RwOwo+PiArICBjaGFyICpjbnRsX2lk LCAqZGlyUjEsICpkaXJSMiwgKnNwbGl0dGVyX2luZm9fcGF0aDsKPj4gKyAgaW50IGlzX0ZDID0g MCwgaXNfc3BsaXR0ZXIgPSAwOwo+IAo+IFBsZWFzZSB1c2UgYm9vbCB0eXBlIGhlcmUuCgpTdXJl IQoKPiAKPj4gKyAgbnZtZV9ucyA9IGdydWJfc3Ryc3RyIChpbnN0YWxsX2RldmljZSwgIm52bWUi KTsKPiAKPiBncnViX3N0cnN0cigpIG1heSByZXR1cm4gTlVMTC4gSWYgaXQgaXMgbm90IHBvc3Np YmxlIGhlcmUgdGhlbiBpdCAKPiBzaG91bGQKPiBiZSBleHBsYWluZWQuCj4gCgpOVUxMIGNoZWNr IG5vdCByZXF1aXJlZCBoZXJlIGFzIHRoaXMgZnVuY3Rpb24gd29ya3Mgb25seSBvbiAKaW5zdGFs bF9kZXZpY2UgYXMgIi9kZXYvbnZtZTNuMXAxIi4gSSdsbCBhZGQgdGhlIGNvbW1lbnQgaW4gdGhl IG5leHQgCnZlcnNpb24hCgo+PiArICBuc2lkID0gb2ZfcGF0aF9nZXRfbnZtZV9uc2lkIChudm1l X25zKTsKPj4gKyAgaWYgKG5zaWQgPT0gMCkKPj4gKyAgICByZXR1cm4gTlVMTDsKPj4gKwo+PiAr ICBzeXNmc19wYXRoID0gbnZtZV9nZXRfc3lzcGF0aCAobnZtZV9ucyk7Cj4+ICsgIG9mcGF0aCA9 IHhhc3ByaW50ZiAoIiVzIixnZXRfb2ZwYXRobmFtZSAobnZtZV9ucykpOwo+IAo+IE1pc3Npbmcg c3BhY2UgYWZ0ZXIgIiwiLgoKU3VyZSwgSSdsbCBhZGQgYSBzcGFjZSBhZnRlciAnLCcuCgo+IAo+ PiArICBpZiAoZ3J1Yl9zdHJzdHIgKG9mcGF0aCwgImZpYnJlLWNoYW5uZWwiKSkKPj4gKyAgICB7 Cj4+ICsgICAgICBzdHJjYXQgKHN5c2ZzX3BhdGgsICIvZGV2aWNlIik7Cj4+ICsgICAgICBpc19G QyA9IDE7Cj4+ICsgICAgfQo+PiArICBlbHNlCj4+ICsgICAgewo+PiArICAgICAgc3RyY2F0IChz eXNmc19wYXRoLCAiL3N1YnN5c3RlbSIpOwo+PiArICAgICAgaXNfRkMgPSAwOwo+PiArICAgIH0K Pj4gKyAgaWYgKGlzX0ZDID09IDApCj4+ICsgICAgewo+PiArICAgICAgY250bF9pZCA9IGdydWJf c3Ryc3RyIChudm1lX25zLCAiZSIpOwo+IAo+IEFnYWluLCBtaXNzaW5nIE5VTEwgY2hlY2sgYW5k IHMvZ3J1Yl9zdHJzdHIvZ3J1Yl9zdHJjaHIvLi4uCj4gCgpOVUxMIGNoZWNrIG5vdCByZXF1aXJl ZCBhcyBleHBsYWluZWQgYWJvdmUuIEknbGwgY2hhbmdlIGdydWJfc3Ryc3RyIHRvIApncnViX3N0 cmNoci4KCj4+ICsgICAgICBkaXJSMSA9IHhhc3ByaW50ZiAoIm52bWUlYyIsY250bF9pZFsxXSk7 Cj4+ICsKPj4gKyAgICAgIHNwbGl0dGVyX2luZm9fcGF0aCA9IHhhc3ByaW50ZiAoIiVzJXMlcyIs ICIvc3lzL2Jsb2NrLyIsIAo+PiBudm1lX25zLCAiL2RldmljZSIpOwo+IAo+IC4uLiB4YXNwcmlu dGYgKCIvc3lzL2Jsb2NrLyVzL2RldmljZSIsIG52bWVfbnMpOwo+IAoKU3VyZSEKCj4+ICsgICAg ICBzcGxpdHRlcl9kcCA9IG9wZW5kaXIgKHNwbGl0dGVyX2luZm9fcGF0aCk7Cj4+ICsgICAgICBp ZiAoIXNwbGl0dGVyX2RwKQo+PiArICAgICAgICByZXR1cm4gTlVMTDsKPj4gKwo+PiArICAgICAg d2hpbGUgKChzcGxpdHRlcl9lcCA9IHJlYWRkaXIgKHNwbGl0dGVyX2RwKSkgIT0gTlVMTCkKPj4g KyAgICAgICAgewo+PiArICAgICAgICAgIGlmIChncnViX3N0cnN0ciAoc3BsaXR0ZXJfZXAtPmRf bmFtZSwgIm52bWUiKSkKPj4gKwkgICAgIHsKPj4gKwkgICAgICAgaWYgKGdydWJfc3Ryc3RyIChz cGxpdHRlcl9lcC0+ZF9uYW1lLCBkaXJSMSkpCj4+ICsJICAgICAgICAgY29udGludWU7Cj4+ICsK Pj4gKyAgICAgICAgICAgICAgZXh0X2RpciA9IGdydWJfc3Ryc3RyIChzcGxpdHRlcl9lcC0+ZF9u YW1lLCAiZSIpOwo+IAo+IHMvZ3J1Yl9zdHJzdHIvZ3J1Yl9zdHJjaHIvCj4gCgpTdXJlIQoKPiBN aXNzaW5nIE5VTEwgY2hlY2sgdG9vLi4uCj4gCgpOb3QgcmVxdWlyZWQgYXMgdGhlIGNoZWNrIGFi b3ZlICJpZiAoZ3J1Yl9zdHJzdHIgKHNwbGl0dGVyX2VwLT5kX25hbWUsIAoibnZtZSIpKSIuCgo+ PiArICAgICAgICAgICAgICBpZiAoIShncnViX3N0cnN0ciAoZXh0X2RpciwgIm4iKSkpCj4gCj4g cy9ncnViX3N0cnN0ci9ncnViX3N0cmNoci8KPiAKClN1cmUsIEknbGwgY2hhbmdlIHRoaXMhCgo+ IGdydWJfc3RyY2hyIChleHRfZGlyLCAnbicpID09IE5VTEwKPiAKPj4gKwkgICAgICAgICB7Cj4+ ICsgICAgICAgICAgICAgICAgICBkaXJSMiA9IHhhc3ByaW50ZigiJXMiLCBzcGxpdHRlcl9lcC0+ ZF9uYW1lKTsKPiAKPiBTb21ldGhpbmcgaXMgb2ZmIHdpdGggaW5kZW50aW9uLi4uCgpTdXJlLCBJ J2xsIGNoZWNrIGFuZCBjb3JyZWN0IHRoaXMhCgo+IAo+PiArCSAgICAgICAgICAgaXNfc3BsaXR0 ZXIgPSAxOwo+PiArCSAgICAgICAgICAgYnJlYWs7Cj4+ICsJICAgICAgICAgfQo+PiArCSAgICB9 Cj4+ICsgICAgICAgIH0KPj4gKyAgICAgIGNsb3NlZGlyIChzcGxpdHRlcl9kcCk7Cj4+ICsgICAg fQo+PiArICBzeXNmc19wYXRoID0geHJlYWxwYXRoIChzeXNmc19wYXRoKTsKPj4gKyAgZHAgPSBv cGVuZGlyIChzeXNmc19wYXRoKTsKPj4gKyAgaWYgKCFkcCkKPj4gKyAgICByZXR1cm4gTlVMTDsK Pj4gKwo+PiArICBwdHIgPSBtdWx0aXBhdGhfYm9vdCA9IHhtYWxsb2MgKEJPT1RERVZfQlVGRkVS KTsKPj4gKyAgaWYgKGlzX3NwbGl0dGVyID09IDAgJiYgaXNfRkMgPT0gMCkKPj4gKyAgICB7Cj4+ ICsgICAgICBub25fc3BsaXR0ZXJfcGF0aCA9IHhhc3ByaW50ZiAoIiVzJXMleDoxICIsIGdldF9v ZnBhdGhuYW1lIAo+PiAoZGlyUjEpLCAiL25hbWVzcGFjZUAiLCBuc2lkKTsKPiAKPiAuLi4geGFz cHJpbnRmICgiJXMvbmFtZXNwYWNlQCV4OjEgIiwgZ2V0X29mcGF0aG5hbWUgKGRpclIxKSwgbnNp ZCk7Cj4gCj4+ICsgICAgICBzdHJuY3B5IChwdHIsIG5vbl9zcGxpdHRlcl9wYXRoLCBzdHJsZW4g KG5vbl9zcGxpdHRlcl9wYXRoKSk7Cj4+ICsgICAgICBwdHIgKz0gc3RybGVuIChub25fc3BsaXR0 ZXJfcGF0aCk7Cj4+ICsgICAgICBmcmVlIChub25fc3BsaXR0ZXJfcGF0aCk7Cj4+ICsgICAgfQo+ PiArICBlbHNlCj4+ICsgICAgewo+PiArICAgICAgd2hpbGUgKChlcCA9IHJlYWRkaXIgKGRwKSkg IT0gTlVMTCkKPj4gKyAgICAgICAgewo+PiArICAgICAgICAgIGNoYXIgKnBhdGg7Cj4gCj4gUGxl YXNlIGFkZCBlbXB0eSBsaW5lIGhlcmUuLi4KPiAKClN1cmUuCgo+PiArICAgICAgICAgIGlmIChn cnViX3N0cnN0ciAoZXAtPmRfbmFtZSwgIm52bWUiKSkKPiAKPiBncnViX3N0cnN0ciAoZXAtPmRf bmFtZSwgIm52bWUiKSAhPSBOVUxMCj4gCj4+ICsgICAgICAgICAgICB7Cj4+ICsgICAgICAgICAg ICAgIGlmIChpc19GQyA9PSAwICYmICFncnViX3N0cnN0ciAoZXAtPmRfbmFtZSwgZGlyUjEpICYm IAo+PiAhZ3J1Yl9zdHJzdHIgKGVwLT5kX25hbWUsIGRpclIyKSkKPiAKPiAuLi4gZ3J1Yl9zdHJz dHIgKGVwLT5kX25hbWUsIGRpclIxKSA9PSBOVUxMICYmIGdydWJfc3Ryc3RyCj4gKGVwLT5kX25h bWUsIGRpclIyKSA9PSBOVUxMIC4uLgo+IAo+PiArICAgICAgICAgICAgICAgIGNvbnRpbnVlOwo+ PiArICAgICAgICAgICAgICBwYXRoID0geGFzcHJpbnRmICgiJXMlcyV4ICIsIGdldF9vZnBhdGhu YW1lIAo+PiAoZXAtPmRfbmFtZSksICIvbmFtZXNwYWNlQCIsIG5zaWQpOwo+IAo+IC4uLiB4YXNw cmludGYgKCIlcy9uYW1lc3BhY2VAJXg6MSAiLCBnZXRfb2ZwYXRobmFtZSAoZXAtPmRfbmFtZSks IAo+IG5zaWQpOwo+IAoKSSdsbCBjaGFuZ2UgYXMgc3VnZ2VzdGVkIGhlcmUgYW5kIGluIG90aGVy IHBsYWNlcyB0b28hCgo+PiArICAgICAgICAgICAgICBpZiAoKHN0cmxlbiAobXVsdGlwYXRoX2Jv b3QpICsgc3RybGVuIChwYXRoKSkgPiAKPj4gQk9PVERFVl9CVUZGRVIpCj4+ICsgICAgICAgICAg ICAgICAgewo+PiArICAgICAgICAgICAgICAgICAgZ3J1Yl91dGlsX3dhcm4gKF8oIk1heGltdW0g Zml2ZSBlbnRyaWVzIGFyZSBhbGxvd2VkIAo+PiBpbiB0aGUgYm9vdGxpc3QiKSk7Cj4+ICsgICAg ICAgICAgICAgICAgICBmcmVlIChwYXRoKTsKPj4gKyAgICAgICAgICAgICAgICAgIGJyZWFrOwo+ PiArICAgICAgICAgICAgICAgIH0KPj4gKyAgICAgICAgICAgICAgc3RybmNweSAocHRyLCBwYXRo LCBzdHJsZW4gKHBhdGgpKTsKPj4gKyAgICAgICAgICAgICAgcHRyICs9IHN0cmxlbiAocGF0aCk7 Cj4+ICsgICAgICAgICAgICAgIGZyZWUgKHBhdGgpOwo+PiArICAgICAgICAgICAgfQo+PiArICAg ICAgICB9Cj4+ICsgICAgfQo+PiArICAqLS1wdHIgPSAnXDAnOwo+PiArICBjbG9zZWRpciAoZHAp Owo+PiArCj4+ICsgIHJldHVybiBtdWx0aXBhdGhfYm9vdDsKPj4gK30KPj4gKwo+PiAgdm9pZAo+ PiAgZ3J1Yl9pbnN0YWxsX3JlZ2lzdGVyX2llZWUxMjc1IChpbnQgaXNfcHJlcCwgY29uc3QgY2hh ciAKPj4gKmluc3RhbGxfZGV2aWNlLAo+PiAgCQkJCWludCBwYXJ0bm8sIGNvbnN0IGNoYXIgKnJl bHBhdGgpCj4+IEBAIC0yMTUsOCArMzE2LDE5IEBAIGdydWJfaW5zdGFsbF9yZWdpc3Rlcl9pZWVl MTI3NSAoaW50IGlzX3ByZXAsIAo+PiBjb25zdCBjaGFyICppbnN0YWxsX2RldmljZSwKPj4gIAl9 Cj4+ICAgICAgICAqcHRyID0gJ1wwJzsKPj4gICAgICB9Cj4+ICsgIGVsc2UgaWYgKGdydWJfc3Ry c3RyIChpbnN0YWxsX2RldmljZSwgIm52bWUiKSkKPj4gKyAgICB7Cj4+ICsgICAgICBib290X2Rl dmljZSA9IGFkZF9tdWx0aXBsZV9udm1lX2Jvb3RkZXZpY2VzIChpbnN0YWxsX2RldmljZSk7Cj4+ ICsgICAgfQo+PiAgICBlbHNlCj4+IC0gICAgYm9vdF9kZXZpY2UgPSBnZXRfb2ZwYXRobmFtZSAo aW5zdGFsbF9kZXZpY2UpOwo+PiArICAgIHsKPj4gKyAgICAgIGJvb3RfZGV2aWNlID0gZ2V0X29m cGF0aG5hbWUgKGluc3RhbGxfZGV2aWNlKTsKPj4gKyAgICAgIGlmIChncnViX3N0cnN0ciAoYm9v dF9kZXZpY2UsICJudm1lLW9mIikpCj4+ICsgICAgICAgIHsKPj4gKyAgICAgICAgICBmcmVlIChi b290X2RldmljZSk7Cj4+ICsgICAgICAgICAgYm9vdF9kZXZpY2UgPSBhZGRfbXVsdGlwbGVfbnZt ZV9ib290ZGV2aWNlcyAKPj4gKGluc3RhbGxfZGV2aWNlKTsKPj4gKyAgICAgICAgfQo+PiArICAg IH0KPj4gCj4+ICAgIGlmIChncnViX3V0aWxfZXhlYyAoKGNvbnN0IGNoYXIgKiBbXSl7ICJudnNl dGVudiIsICJib290LWRldmljZSIsCj4+ICAJICBib290X2RldmljZSwgTlVMTCB9KSkKPj4gZGlm ZiAtLWdpdCBhL2dydWItY29yZS9vc2RlcC9saW51eC9vZnBhdGguYyAKPj4gYi9ncnViLWNvcmUv b3NkZXAvbGludXgvb2ZwYXRoLmMKPj4gaW5kZXggNzE1OGM4Yy4uNDhmMTFjOSAxMDA2NDQKPj4g LS0tIGEvZ3J1Yi1jb3JlL29zZGVwL2xpbnV4L29mcGF0aC5jCj4+ICsrKyBiL2dydWItY29yZS9v c2RlcC9saW51eC9vZnBhdGguYwo+PiBAQCAtMjA5LDcgKzIwOSw3IEBAIGZpbmRfb2JwcGF0aCAo Y29uc3QgY2hhciAqc3lzZnNfcGF0aF9vcmlnKQo+PiAgICAgIH0KPj4gIH0KPj4gCj4+IC1zdGF0 aWMgY2hhciAqCj4+ICtjaGFyICoKPj4gIHhyZWFscGF0aCAoY29uc3QgY2hhciAqaW4pCj4+ICB7 Cj4+ICAgIGNoYXIgKm91dDsKPj4gQEAgLTIyNCw3ICsyMjQsNyBAQCB4cmVhbHBhdGggKGNvbnN0 IGNoYXIgKmluKQo+PiAgICByZXR1cm4gb3V0Owo+PiAgfQo+PiAKPj4gLXN0YXRpYyBjaGFyICoK Pj4gK2NoYXIgKgo+IAo+IFlvdSBkbyBub3QgbmVlZCB0aGlzIGNoYW5nZS4KPiAKCldlIG5lZWQg dGhpcyBmdW5jdGlvbiBhcyB0aGlzIGlzIHVzZWQgYnkgdGhlIGZ1bmN0aW9uIAoib2ZfcGF0aF9n ZXRfbnZtZV9uc2lkIiB3ZSBhcmUgdXNpbmcuCgoKPj4gIGJsb2NrX2RldmljZV9nZXRfc3lzZnNf cGF0aF9hbmRfbGluayhjb25zdCBjaGFyICpkZXZpY2Vub2RlKQo+PiAgewo+PiAgICBjaGFyICpy cGF0aDsKPj4gQEAgLTY4NCw3ICs2ODQsNyBAQCBvZl9wYXRoX2dldF9udm1lX25zaWQgKGNvbnN0 IGNoYXIqIGRldm5hbWUpCj4+ICAgIHJldHVybiBuc2lkOwo+PiAgfQo+PiAKPj4gLXN0YXRpYyBj aGFyICoKPj4gK2NoYXIgKgo+PiAgbnZtZV9nZXRfc3lzcGF0aCAoY29uc3QgY2hhciAqbnZtZWRl dikKPj4gIHsKPj4gICAgY2hhciAqc3lzZnNfcGF0aDsKPj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUv Z3J1Yi91dGlsL2luc3RhbGwuaCBiL2luY2x1ZGUvZ3J1Yi91dGlsL2luc3RhbGwuaAo+PiBpbmRl eCA1MWYzYjEzLi5hNjdlMjI1IDEwMDY0NAo+PiAtLS0gYS9pbmNsdWRlL2dydWIvdXRpbC9pbnN0 YWxsLmgKPj4gKysrIGIvaW5jbHVkZS9ncnViL3V0aWwvaW5zdGFsbC5oCj4+IEBAIC0yMzUsNiAr MjM1LDkgQEAgZ3J1Yl9pbnN0YWxsX3JlZ2lzdGVyX2VmaSAoZ3J1Yl9kZXZpY2VfdCAKPj4gZWZp ZGlyX2dydWJfZGV2LAo+PiAgCQkJICAgY29uc3QgY2hhciAqZWZpZmlsZV9wYXRoLAo+PiAgCQkJ ICAgY29uc3QgY2hhciAqZWZpX2Rpc3RyaWJ1dG9yKTsKPj4gCj4+ICtjaGFyICoKPj4gK2FkZF9t dWx0aXBsZV9udm1lX2Jvb3RkZXZpY2VzIChjb25zdCBjaGFyICppbnN0YWxsX2RldmljZSk7Cj4+ ICsKPj4gIHZvaWQKPj4gIGdydWJfaW5zdGFsbF9yZWdpc3Rlcl9pZWVlMTI3NSAoaW50IGlzX3By ZXAsIGNvbnN0IGNoYXIgCj4+ICppbnN0YWxsX2RldmljZSwKPj4gIAkJCQlpbnQgcGFydG5vLCBj b25zdCBjaGFyICpyZWxwYXRoKTsKPj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZ3J1Yi91dGlsL29m cGF0aC5oIGIvaW5jbHVkZS9ncnViL3V0aWwvb2ZwYXRoLmgKPj4gaW5kZXggNTk2MjMyMi4uNzhl NzhlNyAxMDA2NDQKPj4gLS0tIGEvaW5jbHVkZS9ncnViL3V0aWwvb2ZwYXRoLmgKPj4gKysrIGIv aW5jbHVkZS9ncnViL3V0aWwvb2ZwYXRoLmgKPj4gQEAgLTMwLDUgKzMwLDkgQEAgaW50IGFkZF9m aWxlbmFtZV90b19waWxlIChjaGFyICpmaWxlbmFtZSwgc3RydWN0IAo+PiBvZnBhdGhfZmlsZXNf bGlzdF9yb290KiByb290KTsKPj4gIHZvaWQgZmluZF9maWxlIChjaGFyKiBmaWxlbmFtZSwgY2hh ciogZGlyZWN0b3J5LCBzdHJ1Y3QgCj4+IG9mcGF0aF9maWxlc19saXN0X3Jvb3QqIHJvb3QsIGlu dCBtYXhfZGVwdGgsIGludCBkZXB0aCk7Cj4+ICBjaGFyKiBvZl9maW5kX2ZjX2hvc3QgKGNoYXIq IGhvc3Rfd3dwbik7Cj4+ICB2b2lkIGZyZWVfb2ZwYXRoX2ZpbGVzX2xpc3QgKHN0cnVjdCBvZnBh dGhfZmlsZXNfbGlzdF9yb290KiByb290KTsKPj4gK2NoYXIqIG52bWVfZ2V0X3N5c3BhdGggKGNv bnN0IGNoYXIgKm52bWVkZXYpOwo+PiArY2hhciogYmxvY2tfZGV2aWNlX2dldF9zeXNmc19wYXRo X2FuZF9saW5rIChjb25zdCBjaGFyICpkZXZpY2Vub2RlKTsKPiAKPiBQbGVhc2UgZHJvcCB0aGlz IGRlY2xhcmF0aW9uLgo+IAoKU2FtZSBhcyBleHBsYWluZWQgYWJvdmUhCgoKPiBEYW5pZWwKClJl Z2FyZHMsCkF2bmlzaCBDaG91aGFuCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpHcnViLWRldmVsIG1haWxpbmcgbGlzdApHcnViLWRldmVsQGdudS5vcmcK aHR0cHM6Ly9saXN0cy5nbnUub3JnL21haWxtYW4vbGlzdGluZm8vZ3J1Yi1kZXZlbAo=