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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 C6609C4451C for ; Tue, 21 Jul 2026 07:47:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=rxTGaJ/3EE8n8EL2f7oz0ZzZaFNyPOtNicgaxv2ZjqQ=; b=gDhAioV693flDM m4yOQJim83YSoZ5eubn3FGjO+IiFONfQGbE8NWJDqSv//dB/E7heTmpeTrCi9y2DBcdVSDMpMAeqD wlJnGuCQ7K8qkI4NUjFEue1MI2avy5x5QXo0piY3cWvEdqedXzwPljzZO12QxoUicz12UcQ3cqDLu MMJn68P+BN3eS8ZEoRMjZGMcs9vwE8e/F4SQIE9/p1wC54F3K7QGGnkhNvG5jVQQQ0Ugdg0Y2A2/C LPEfFxU6NNye+3tpePOzM7G1q6d4JgL3MdMmqxBbR8G14Lvpkm6Pd91j9exrW5Jtxp0m7Mpmo1HDU yPmTr9f+UyTttPiHVE9g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wm5CD-00000008gOI-0w9M; Tue, 21 Jul 2026 07:47:21 +0000 Received: from mail-pf1-x436.google.com ([2607:f8b0:4864:20::436]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wm5CA-00000008gNX-28nO for opensbi@lists.infradead.org; Tue, 21 Jul 2026 07:47:19 +0000 Received: by mail-pf1-x436.google.com with SMTP id d2e1a72fcca58-8487088510aso11104281b3a.0 for ; Tue, 21 Jul 2026 00:47:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1784620038; x=1785224838; darn=lists.infradead.org; h=in-reply-to:content-transfer-encoding:content-disposition :content-type:mime-version:references:message-id:subject:cc:to:from :date:from:to:cc:subject:date:message-id:reply-to:content-type; bh=sRUPd3M50R72zufMOt+unVCkzqosT6pd9uMuEeW4cVs=; b=H+eoVJioJPRuYx7OAZao9qreytJ9+5NPnbJsMVDCXLZw3JEAL6il3cgq5InSLZbTgJ 4BXBefWLbDh+Kqy7lD35CVETjB5+Z7P9yk7nfgkW37myov4kY2m71ez3fy5/jaXBrjJW 2EtlAwyd4k1jbIRLLXBgi/BVAuhjkTPL7yxBt664bly6r7kvmUyfQUn15c90c1CVGcJy 9zuo400gsMj5vCuXR+UuXsY6367w9s8I+RKjkceyUA7gn7QJu29hWzuPqsMjGwOxTcQ/ jTqXtVb+lXwEqL5unUTMjEe+C/CD8jznU1HAsxnJo+vO0QCYShlcRr+VWFw+C8Tjtf8A LcIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784620038; x=1785224838; h=in-reply-to:content-transfer-encoding:content-disposition :content-type:mime-version:references:message-id:subject:cc:to:from :date:x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to:content-type; bh=sRUPd3M50R72zufMOt+unVCkzqosT6pd9uMuEeW4cVs=; b=jhZ2tf1h+UUmDWDMgBpVoOajERhfgrFudYozOYXb2fa5/2aAFWRVXL/+PlhsfeC1KL dO0JmddsVs48/wrTHKILwUOJDVgLmphmU4eC/02av9sf3Ja0R90Z9iRlkHrRyeYgk361 e4H8IKUGKaIs87VMis+6gMzTauSaSSU8w1pk1TrvV9+6+GUbzQZxoMwjWUNEZ2BRaDdv WjLYSU5D/8AdN/y7C+8Dit1yJYt76GKFWqloHR/qs1saX1iFHeVAShKsbgUFnGQo2tJ0 CDPMCLzYHDeQXTlOVMSR8m4uvvQHVC81ejWaylIqg41gY4aLCFwXReM6gIpt620XCi6z N2Yg== X-Forwarded-Encrypted: i=1; AHgh+RoH81VBdw7wLQzBrk2U3ESdPZnvjuKEfaX6EcgilsBcD0ZSkmAwLp0ZfESxU178gz/mdh1hgONm@lists.infradead.org X-Gm-Message-State: AOJu0YyJeU7nISGgECvXbeKrd1o/q+gjHW9jSWx9WAKe39eNqXrzu+R9 V1KpZCZsv1CCfF7l4biBUqOizk78ThjfhWFTIfnZidW/GFaX+DesPl1aUqYW7eqlMBY= X-Gm-Gg: AR+sD10jjLapBMX200HyI5t9dv0R9KmTsnE5y/AcmH6V19noU2lWvTu9onWnvDbG6t+ swEljjFd4eQ9PmFc3h0ovwm9Gbnjhr1+LcmA+mwj4/4YrMmT0nXVObtcGngV86jfe+uWnT/joYd GAWKd1EUUJp+Dth1Q/+Tg81n5V15VmU+6BLP4RPG26rb06Icb9P6sah+d03M57vx7VjvsHDVeGo ZHI3Fk3B5hu5VMEDAVNhAJhMsv2isOIhlrIMm3lWsH5GOSKb8HREc2JkrSd+EMVSNUGlQ7l+Xq5 1FXY2nBE4+GsGEZlSDXJ/ZxZ9Oekb7u10Cyimvo2PGTZO2KWMAAC9tMuk3+IuErY1sGvoMADm/D WKhaplL/WFfnoGs7fvjriNIUy+CDVgeUTatC8Yi76WjL8lcfEpdXiIZJO3kn5mQQlKVL8I7lu/z Nq2b7FTdARumE= X-Received: by 2002:a05:6a00:2290:b0:848:5f4f:289a with SMTP id d2e1a72fcca58-84c294d4c4cmr18278373b3a.49.1784620037660; Tue, 21 Jul 2026 00:47:17 -0700 (PDT) Received: from plin-1878 ([136.226.240.191]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-84c2af7acf4sm6958568b3a.51.2026.07.21.00.47.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 00:47:17 -0700 (PDT) Date: Tue, 21 Jul 2026 15:47:12 +0800 From: Yu-Chien Peter Lin To: Anup Patel Cc: Anup Patel , Atish Patra , Andrew Jones , Samuel Holland , opensbi@lists.infradead.org, raymondmaoca@gmail.com, zong.li@sifive.com, jim.shu@sifive.com, pawandeep.oza@oss.qualcomm.com Subject: Re: [PATCH 4/5] lib: sbi: Extend hart protection abstraction to allow ID configuration Message-ID: References: <20260717074413.2536416-1-anup.patel@oss.qualcomm.com> <20260717074413.2536416-5-anup.patel@oss.qualcomm.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260721_004718_569484_CF3D4D74 X-CRM114-Status: GOOD ( 31.54 ) X-BeenThere: opensbi@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "opensbi" Errors-To: opensbi-bounces+opensbi=archiver.kernel.org@lists.infradead.org T24gTW9uLCBKdWwgMjAsIDIwMjYgYXQgMDQ6MTk6MTBQTSArMDUzMCwgQW51cCBQYXRlbCB3cm90 ZToKPiBPbiBNb24sIEp1bCAyMCwgMjAyNiBhdCAzOjQw4oCvUE0gWXUtQ2hpZW4gUGV0ZXIgTGlu IDxwZXRlci5saW5Ac2lmaXZlLmNvbT4gd3JvdGU6Cj4gPgo+ID4gSGkgQW51cCBhbmQgUmF5bW9u ZCwKPiA+Cj4gPiBPbiBGcmksIEp1bCAxNywgMjAyNiBhdCAwMToxNDoxMlBNICswNTMwLCBBbnVw IFBhdGVsIHdyb3RlOgo+ID4gPiBUaGVyZSBhcmUgdmFyaW91cyBJRCBjb25maWd1cmF0aW9uIElT QSBleHRlbnNpb25zIHN1Y2ggYXMgUklTQy1WIFdvcmxkcywKPiA+ID4gU3VwZXJ2aXNvciBkb21h aW4gSUQsIFFvUyBJRCwgZXRjIHdoaWNoIG5lZWQgdG8gYmUgcmUtY29uZmlndXJlZCB1cG9uCj4g PiA+IGRvbWFpbiBjb250ZXh0IHN3aXRjaCBvbiBhIGhhcnQuIEV4dGVuZCBoYXJ0IHByb3RlY3Rp b24gYWJzdHJhY3Rpb24gdG8KPiA+ID4gc3VwcG9ydCBib3RoIG1lbW9yeSBwcm90ZWN0aW9uIGFu ZCBJRCBjb25maWd1cmF0aW9uIElTQSBleHRlbnNpb25zLgo+ID4KPiA+IEkgd2lsbCByZXdvcmsg bXkgIltSRkMsMDAvMTJdIEFkZCBSSVNDLVYgV29ybGRzIElTQSBzdXBwb3J0IHRvIE9wZW5TQkki Cj4gPiBzZXJpZXMgYmFzZWQgb24gdGhpcyBzZXJpZXMuCj4gCj4gVGhhbmtzIFBldGVyIQo+IAo+ IFRoZSBSSVNDLVYgd29ybGQgRFQgcHJvcGVydHkgcGFyc2luZyBjYW4gYmUgZG9uZSBhdCB0aGUK PiB0aW1lIG9mIHBhcnNpbmcgZG9tYWlucyBmcm9tIEZEVCAobGlrZSBhbHJlYWR5IGRvbmUgaW4g dGhpcwo+IHNlcmllcykuIFRoZSBoYXJ0IHBsYXRmb3JtIGFic3RyYWN0aW9uIHdpbGwgYmUgb25s eSBmb3IgY29uZmlndXJpbmcKPiB0aGUgUklTQy1WIHdvcmxkIENTUnMuCj4gCj4gTWF5IGJlIHlv dSBjYW4gYWRkIHNiaV9oYXJ0X3dvcmxkcy5jIChqdXN0IGxpa2Ugc2JpX2hhcnRfcG1wLmMpID8K PiAKPiBGb3IgUklTQy1WIHdvcmxkIGNoZWNrZXJzLCB3ZSBjYW4gaGF2ZSBzZXBhcmF0ZSBGRFQg YmFzZWQgZHJpdmVyCj4gdW5kZXIgbGliL3V0aWxzIHdoaWNoIHdpbGwgcmVnaXN0ZXIgc2JpX2Rv bWFpbl9kYXRhIGluc3RhbmNlIHVwb24gcHJvYmUKPiBvZiBlYWNoIFJJU0MtViB3b3JsZCBjaGVj a2VyIGluc3RhbmNlLiBUaGUgZG9tYWluX3NldHVwKCkgYW5kCj4gZG9tYWluX2NsZWFudXAoKSBj YWxsYmFja3Mgb2YgdGhlIFJJU0MtViB3b3JsZHMgY2hlY2tlciBkcml2ZXIgd2lsbAo+IHByb2dy YW0gdGhlIFJJU0MtViB3b3JsZCBjaGVja2VyIE1NSU8gcmVnaXN0ZXJzLgoKU291bmRzIGdyZWF0 LCB0aGFua3MgZm9yIHRoZSBkaXJlY3Rpb24uIFdpbGwgZm9sbG93IHRoaXMgYXBwcm9hY2ggYW5k CnVwZGF0ZSBpbiB2Mi4KClRoYW5rcywKUGV0ZXIgTGluCgo+IAo+IFJlZ2FyZHMsCj4gQW51cAo+ IAo+ID4KPiA+IFRoYW5rcywKPiA+IFBldGVyIExpbgo+ID4KPiA+ID4KPiA+ID4gU2lnbmVkLW9m Zi1ieTogQW51cCBQYXRlbCA8YW51cC5wYXRlbEBvc3MucXVhbGNvbW0uY29tPgo+ID4gPiAtLS0K PiA+ID4gIGluY2x1ZGUvc2JpL3NiaV9oYXJ0X3Byb3RlY3Rpb24uaCB8IDE2ICsrKysrLQo+ID4g PiAgbGliL3NiaS9zYmlfaGFydF9wbXAuYyAgICAgICAgICAgIHwgIDIgKwo+ID4gPiAgbGliL3Ni aS9zYmlfaGFydF9wcm90ZWN0aW9uLmMgICAgIHwgOTQgKysrKysrKysrKysrKysrKysrKysrKysr KystLS0tLQo+ID4gPiAgbGliL3NiaS9zYmlfaW5pdC5jICAgICAgICAgICAgICAgIHwgIDIgKy0K PiA+ID4gIHBsYXRmb3JtL2dlbmVyaWMvZXN3aW4vZWljNzcweC5jICB8ICAxICsKPiA+ID4gIDUg ZmlsZXMgY2hhbmdlZCwgOTggaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCj4gPiA+Cj4g PiA+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3NiaS9zYmlfaGFydF9wcm90ZWN0aW9uLmggYi9pbmNs dWRlL3NiaS9zYmlfaGFydF9wcm90ZWN0aW9uLmgKPiA+ID4gaW5kZXggNWUxNzBmMDUuLjEzNThi NWJlIDEwMDY0NAo+ID4gPiAtLS0gYS9pbmNsdWRlL3NiaS9zYmlfaGFydF9wcm90ZWN0aW9uLmgK PiA+ID4gKysrIGIvaW5jbHVkZS9zYmkvc2JpX2hhcnRfcHJvdGVjdGlvbi5oCj4gPiA+IEBAIC0x Myw2ICsxMywxMyBAQAo+ID4gPiAgc3RydWN0IHNiaV9zY3JhdGNoOwo+ID4gPiAgc3RydWN0IHNi aV9kb21haW47Cj4gPiA+Cj4gPiA+ICsvKiogRGlmZmVyZW50IHR5cGVzIG9mIGhhcnQgcHJvdGVj dGlvbiBtZWNoYW5pc21zICovCj4gPiA+ICtlbnVtIHNiaV9oYXJ0X3Byb3RlY3Rpb25fdHlwZSB7 Cj4gPiA+ICsgICAgIFNCSV9IQVJUX1BST1RFQ1RJT05fVFlQRV9NRU1PUlkgPSAwLAo+ID4gPiAr ICAgICBTQklfSEFSVF9QUk9URUNUSU9OX1RZUEVfSUQsCj4gPiA+ICsgICAgIFNCSV9IQVJUX1BS T1RFQ1RJT25fVFlQRV9NQVgKPiA+ID4gK307Cj4gPiA+ICsKPiA+ID4gIC8qKiBSZXByZXNlbnRh dGlvbiBvZiBoYXJ0IHByb3RlY3Rpb24gbWVjaGFuaXNtICovCj4gPiA+ICBzdHJ1Y3Qgc2JpX2hh cnRfcHJvdGVjdGlvbiB7Cj4gPiA+ICAgICAgIC8qKiBMaXN0IGhlYWQgKi8KPiA+ID4gQEAgLTIx LDYgKzI4LDkgQEAgc3RydWN0IHNiaV9oYXJ0X3Byb3RlY3Rpb24gewo+ID4gPiAgICAgICAvKiog TmFtZSBvZiB0aGUgaGFydCBwcm90ZWN0aW9uIG1lY2hhbmlzbSAqLwo+ID4gPiAgICAgICBjaGFy IG5hbWVbMzJdOwo+ID4gPgo+ID4gPiArICAgICAvKiogVHlwZSBvZiB0aGUgaGFydCBwcm90ZWN0 aW9uIG1lY2hhbmlzbSAqLwo+ID4gPiArICAgICBlbnVtIHNiaV9oYXJ0X3Byb3RlY3Rpb25fdHlw ZSB0eXBlOwo+ID4gPiArCj4gPiA+ICAgICAgIC8qKiBSYXRpbmdzIG9mIHRoZSBoYXJ0IHByb3Rl Y3Rpb24gbWVjaGFuaXNtIChoaWdoZXIgaXMgYmV0dGVyKSAqLwo+ID4gPiAgICAgICB1bnNpZ25l ZCBsb25nIHJhdGluZzsKPiA+ID4KPiA+ID4gQEAgLTQwLDExICs1MCwxMSBAQCBzdHJ1Y3Qgc2Jp X2hhcnRfcHJvdGVjdGlvbiB7Cj4gPiA+ICB9Owo+ID4gPgo+ID4gPiAgLyoqCj4gPiA+IC0gKiBH ZXQgdGhlIGJlc3QgaGFydCBwcm90ZWN0aW9uIG1lY2hhbmlzbQo+ID4gPiArICogR2V0IHRoZSBi ZXN0IGhhcnQgbWVtb3J5IHByb3RlY3Rpb24gbWVjaGFuaXNtCj4gPiA+ICAgKgo+ID4gPiAtICog QHJldHVybiBwb2ludGVyIHRvIGJlc3QgaGFydCBwcm90ZWN0aW9uIG1lY2hhbmlzbQo+ID4gPiAr ICogQHJldHVybiBwb2ludGVyIHRvIGJlc3QgaGFydCBtZW1vcnkgcHJvdGVjdGlvbiBtZWNoYW5p c20KPiA+ID4gICAqLwo+ID4gPiAtc3RydWN0IHNiaV9oYXJ0X3Byb3RlY3Rpb24gKnNiaV9oYXJ0 X3Byb3RlY3Rpb25fYmVzdCh2b2lkKTsKPiA+ID4gK3N0cnVjdCBzYmlfaGFydF9wcm90ZWN0aW9u ICpzYmlfaGFydF9tZW1vcnlfcHJvdGVjdGlvbl9iZXN0KHZvaWQpOwo+ID4gPgo+ID4gPiAgLyoq Cj4gPiA+ICAgKiBSZWdpc3RlciBhIGhhcnQgcHJvdGVjdGlvbiBtZWNoYW5pc20KPiA+ID4gZGlm ZiAtLWdpdCBhL2xpYi9zYmkvc2JpX2hhcnRfcG1wLmMgYi9saWIvc2JpL3NiaV9oYXJ0X3BtcC5j Cj4gPiA+IGluZGV4IDVlZGUzY2MxLi5jMGE0Y2UxYiAxMDA2NDQKPiA+ID4gLS0tIGEvbGliL3Ni aS9zYmlfaGFydF9wbXAuYwo+ID4gPiArKysgYi9saWIvc2JpL3NiaV9oYXJ0X3BtcC5jCj4gPiA+ IEBAIC00MjUsNiArNDI1LDcgQEAgc3RhdGljIHZvaWQgc2JpX2hhcnRfcG1wX3VuY29uZmlndXJl KHN0cnVjdCBzYmlfc2NyYXRjaCAqc2NyYXRjaCwKPiA+ID4gIHN0YXRpYyBzdHJ1Y3Qgc2JpX2hh cnRfcHJvdGVjdGlvbiBwbXBfcHJvdGVjdGlvbiA9IHsKPiA+ID4gICAgICAgLm5hbWUgPSAicG1w IiwKPiA+ID4gICAgICAgLnJhdGluZyA9IDEwMCwKPiA+ID4gKyAgICAgLnR5cGUgPSBTQklfSEFS VF9QUk9URUNUSU9OX1RZUEVfTUVNT1JZLAo+ID4gPiAgICAgICAuY29uZmlndXJlID0gc2JpX2hh cnRfb2xkcG1wX2NvbmZpZ3VyZSwKPiA+ID4gICAgICAgLnVuY29uZmlndXJlID0gc2JpX2hhcnRf cG1wX3VuY29uZmlndXJlLAo+ID4gPiAgfTsKPiA+ID4gQEAgLTQzMiw2ICs0MzMsNyBAQCBzdGF0 aWMgc3RydWN0IHNiaV9oYXJ0X3Byb3RlY3Rpb24gcG1wX3Byb3RlY3Rpb24gPSB7Cj4gPiA+ICBz dGF0aWMgc3RydWN0IHNiaV9oYXJ0X3Byb3RlY3Rpb24gZXBtcF9wcm90ZWN0aW9uID0gewo+ID4g PiAgICAgICAubmFtZSA9ICJlcG1wIiwKPiA+ID4gICAgICAgLnJhdGluZyA9IDIwMCwKPiA+ID4g KyAgICAgLnR5cGUgPSBTQklfSEFSVF9QUk9URUNUSU9OX1RZUEVfTUVNT1JZLAo+ID4gPiAgICAg ICAuY29uZmlndXJlID0gc2JpX2hhcnRfc21lcG1wX2NvbmZpZ3VyZSwKPiA+ID4gICAgICAgLnVu Y29uZmlndXJlID0gc2JpX2hhcnRfcG1wX3VuY29uZmlndXJlLAo+ID4gPiAgICAgICAubWFwX3Jh bmdlID0gc2JpX2hhcnRfc21lcG1wX21hcF9yYW5nZSwKPiA+ID4gZGlmZiAtLWdpdCBhL2xpYi9z Ymkvc2JpX2hhcnRfcHJvdGVjdGlvbi5jIGIvbGliL3NiaS9zYmlfaGFydF9wcm90ZWN0aW9uLmMK PiA+ID4gaW5kZXggZmVjZWZkZTguLmQzMWU5OTM4IDEwMDY0NAo+ID4gPiAtLS0gYS9saWIvc2Jp L3NiaV9oYXJ0X3Byb3RlY3Rpb24uYwo+ID4gPiArKysgYi9saWIvc2JpL3NiaV9oYXJ0X3Byb3Rl Y3Rpb24uYwo+ID4gPiBAQCAtMTAsMTIgKzEwLDE2IEBACj4gPiA+Cj4gPiA+ICBzdGF0aWMgU0JJ X0xJU1RfSEVBRChoYXJ0X3Byb3RlY3Rpb25fbGlzdCk7Cj4gPiA+Cj4gPiA+IC1zdHJ1Y3Qgc2Jp X2hhcnRfcHJvdGVjdGlvbiAqc2JpX2hhcnRfcHJvdGVjdGlvbl9iZXN0KHZvaWQpCj4gPiA+ICtz dHJ1Y3Qgc2JpX2hhcnRfcHJvdGVjdGlvbiAqc2JpX2hhcnRfbWVtb3J5X3Byb3RlY3Rpb25fYmVz dCh2b2lkKQo+ID4gPiAgewo+ID4gPiAtICAgICBpZiAoc2JpX2xpc3RfZW1wdHkoJmhhcnRfcHJv dGVjdGlvbl9saXN0KSkKPiA+ID4gLSAgICAgICAgICAgICByZXR1cm4gTlVMTDsKPiA+ID4gKyAg ICAgc3RydWN0IHNiaV9oYXJ0X3Byb3RlY3Rpb24gKnBvczsKPiA+ID4KPiA+ID4gLSAgICAgcmV0 dXJuIHNiaV9saXN0X2ZpcnN0X2VudHJ5KCZoYXJ0X3Byb3RlY3Rpb25fbGlzdCwgc3RydWN0IHNi aV9oYXJ0X3Byb3RlY3Rpb24sIGhlYWQpOwo+ID4gPiArICAgICBzYmlfbGlzdF9mb3JfZWFjaF9l bnRyeShwb3MsICZoYXJ0X3Byb3RlY3Rpb25fbGlzdCwgaGVhZCkgewo+ID4gPiArICAgICAgICAg ICAgIGlmIChwb3MtPnR5cGUgPT0gU0JJX0hBUlRfUFJPVEVDVElPTl9UWVBFX01FTU9SWSkKPiA+ ID4gKyAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwb3M7Cj4gPiA+ICsgICAgIH0KPiA+ID4g Kwo+ID4gPiArICAgICByZXR1cm4gTlVMTDsKPiA+ID4gIH0KPiA+ID4KPiA+ID4gIGludCBzYmlf aGFydF9wcm90ZWN0aW9uX3JlZ2lzdGVyKHN0cnVjdCBzYmlfaGFydF9wcm90ZWN0aW9uICpocHJv dCkKPiA+ID4gQEAgLTc0LDMzICs3OCw5NyBAQCBzdGF0aWMgdm9pZCBfX2hhcnRfcHJvdGVjdGlv bl91bmNvbmZpZ3VyZShzdHJ1Y3Qgc2JpX3NjcmF0Y2ggKnNjcmF0Y2gsCj4gPiA+ICBpbnQgc2Jp X2hhcnRfcHJvdGVjdGlvbl9jb25maWd1cmUoc3RydWN0IHNiaV9zY3JhdGNoICpzY3JhdGNoLAo+ ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzYmlfZG9tYWluICpk b20pCj4gPiA+ICB7Cj4gPiA+IC0gICAgIHJldHVybiBfX2hhcnRfcHJvdGVjdGlvbl9jb25maWd1 cmUoc2NyYXRjaCwgc2JpX2hhcnRfcHJvdGVjdGlvbl9iZXN0KCksIGRvbSk7Cj4gPiA+ICsgICAg IGJvb2wgZG9fY29uZmlndXJlLCBtZW1vcnlfcHJvdGVjdF9kb25lID0gZmFsc2U7Cj4gPiA+ICsg ICAgIHN0cnVjdCBzYmlfaGFydF9wcm90ZWN0aW9uICpocHJvdDsKPiA+ID4gKyAgICAgaW50IHJl dDsKPiA+ID4gKwo+ID4gPiArICAgICBzYmlfbGlzdF9mb3JfZWFjaF9lbnRyeShocHJvdCwgJmhh cnRfcHJvdGVjdGlvbl9saXN0LCBoZWFkKSB7Cj4gPiA+ICsgICAgICAgICAgICAgZG9fY29uZmln dXJlID0gZmFsc2U7Cj4gPiA+ICsgICAgICAgICAgICAgc3dpdGNoIChocHJvdC0+dHlwZSkgewo+ ID4gPiArICAgICAgICAgICAgIGNhc2UgU0JJX0hBUlRfUFJPVEVDVElPTl9UWVBFX01FTU9SWToK PiA+ID4gKyAgICAgICAgICAgICAgICAgICAgIGRvX2NvbmZpZ3VyZSA9ICFtZW1vcnlfcHJvdGVj dF9kb25lOwo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgbWVtb3J5X3Byb3RlY3RfZG9uZSA9 IHRydWU7Cj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICBicmVhazsKPiA+ID4gKyAgICAgICAg ICAgICBjYXNlIFNCSV9IQVJUX1BST1RFQ1RJT05fVFlQRV9JRDoKPiA+ID4gKyAgICAgICAgICAg ICAgICAgICAgIGRvX2NvbmZpZ3VyZSA9IHRydWU7Cj4gPiA+ICsgICAgICAgICAgICAgICAgICAg ICBicmVhazsKPiA+ID4gKyAgICAgICAgICAgICBkZWZhdWx0Ogo+ID4gPiArICAgICAgICAgICAg ICAgICAgICAgYnJlYWs7Cj4gPiA+ICsgICAgICAgICAgICAgfQo+ID4gPiArICAgICAgICAgICAg IGlmICghZG9fY29uZmlndXJlKQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgY29udGludWU7 Cj4gPiA+ICsKPiA+ID4gKyAgICAgICAgICAgICByZXQgPSBfX2hhcnRfcHJvdGVjdGlvbl9jb25m aWd1cmUoc2NyYXRjaCwgaHByb3QsIGRvbSk7Cj4gPiA+ICsgICAgICAgICAgICAgaWYgKHJldCkK PiA+ID4gKyAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXQ7Cj4gPiA+ICsgICAgIH0KPiA+ ID4gKwo+ID4gPiArICAgICByZXR1cm4gMDsKPiA+ID4gIH0KPiA+ID4KPiA+ID4gIHZvaWQgc2Jp X2hhcnRfcHJvdGVjdGlvbl91bmNvbmZpZ3VyZShzdHJ1Y3Qgc2JpX3NjcmF0Y2ggKnNjcmF0Y2gs Cj4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHNiaV9kb21h aW4gKmRvbSkKPiA+ID4gIHsKPiA+ID4gLSAgICAgX19oYXJ0X3Byb3RlY3Rpb25fdW5jb25maWd1 cmUoc2NyYXRjaCwgc2JpX2hhcnRfcHJvdGVjdGlvbl9iZXN0KCksIGRvbSk7Cj4gPiA+ICsKPiA+ ID4gKyAgICAgYm9vbCBkb191bmNvbmZpZ3VyZSwgbWVtb3J5X3Byb3RlY3RfZG9uZSA9IGZhbHNl Owo+ID4gPiArICAgICBzdHJ1Y3Qgc2JpX2hhcnRfcHJvdGVjdGlvbiAqaHByb3Q7Cj4gPiA+ICsK PiA+ID4gKyAgICAgc2JpX2xpc3RfZm9yX2VhY2hfZW50cnkoaHByb3QsICZoYXJ0X3Byb3RlY3Rp b25fbGlzdCwgaGVhZCkgewo+ID4gPiArICAgICAgICAgICAgIGRvX3VuY29uZmlndXJlID0gZmFs c2U7Cj4gPiA+ICsgICAgICAgICAgICAgc3dpdGNoIChocHJvdC0+dHlwZSkgewo+ID4gPiArICAg ICAgICAgICAgIGNhc2UgU0JJX0hBUlRfUFJPVEVDVElPTl9UWVBFX01FTU9SWToKPiA+ID4gKyAg ICAgICAgICAgICAgICAgICAgIGRvX3VuY29uZmlndXJlID0gIW1lbW9yeV9wcm90ZWN0X2RvbmU7 Cj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICBtZW1vcnlfcHJvdGVjdF9kb25lID0gdHJ1ZTsK PiA+ID4gKyAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwo+ID4gPiArICAgICAgICAgICAgIGNh c2UgU0JJX0hBUlRfUFJPVEVDVElPTl9UWVBFX0lEOgo+ID4gPiArICAgICAgICAgICAgICAgICAg ICAgZG9fdW5jb25maWd1cmUgPSB0cnVlOwo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgYnJl YWs7Cj4gPiA+ICsgICAgICAgICAgICAgZGVmYXVsdDoKPiA+ID4gKyAgICAgICAgICAgICAgICAg ICAgIGJyZWFrOwo+ID4gPiArICAgICAgICAgICAgIH0KPiA+ID4gKyAgICAgICAgICAgICBpZiAo IWRvX3VuY29uZmlndXJlKQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Cj4g PiA+ICsKPiA+ID4gKyAgICAgICAgICAgICBfX2hhcnRfcHJvdGVjdGlvbl91bmNvbmZpZ3VyZShz Y3JhdGNoLCBocHJvdCwgZG9tKTsKPiA+ID4gKyAgICAgfQo+ID4gPiAgfQo+ID4gPgo+ID4gPiAg aW50IHNiaV9oYXJ0X3Byb3RlY3Rpb25fcmVjb25maWd1cmUoc3RydWN0IHNiaV9zY3JhdGNoICpz Y3JhdGNoLAo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHNi aV9kb21haW4gKmN1cnJlbnRfZG9tLAo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc3RydWN0IHNiaV9kb21haW4gKm5leHRfZG9tKQo+ID4gPiAgewo+ID4gPiAtICAgICBz dHJ1Y3Qgc2JpX2hhcnRfcHJvdGVjdGlvbiAqaHByb3QgPSBzYmlfaGFydF9wcm90ZWN0aW9uX2Jl c3QoKTsKPiA+ID4gKyAgICAgYm9vbCBkb19yZWNvbmZpZ3VyZSwgbWVtb3J5X3Byb3RlY3RfZG9u ZSA9IGZhbHNlOwo+ID4gPiArICAgICBzdHJ1Y3Qgc2JpX2hhcnRfcHJvdGVjdGlvbiAqaHByb3Q7 Cj4gPiA+ICAgICAgIGludCByZXQ7Cj4gPiA+Cj4gPiA+IC0gICAgIF9faGFydF9wcm90ZWN0aW9u X3VuY29uZmlndXJlKHNjcmF0Y2gsIGhwcm90LCBjdXJyZW50X2RvbSk7Cj4gPiA+IC0gICAgIHJl dCA9IF9faGFydF9wcm90ZWN0aW9uX2NvbmZpZ3VyZShzY3JhdGNoLCBocHJvdCwgbmV4dF9kb20p Owo+ID4gPiAtICAgICBpZiAocmV0KQo+ID4gPiAtICAgICAgICAgICAgIHJldHVybiByZXQ7Cj4g PiA+ICsgICAgIHNiaV9saXN0X2Zvcl9lYWNoX2VudHJ5KGhwcm90LCAmaGFydF9wcm90ZWN0aW9u X2xpc3QsIGhlYWQpIHsKPiA+ID4gKyAgICAgICAgICAgICBkb19yZWNvbmZpZ3VyZSA9IGZhbHNl Owo+ID4gPiArICAgICAgICAgICAgIHN3aXRjaCAoaHByb3QtPnR5cGUpIHsKPiA+ID4gKyAgICAg ICAgICAgICBjYXNlIFNCSV9IQVJUX1BST1RFQ1RJT05fVFlQRV9NRU1PUlk6Cj4gPiA+ICsgICAg ICAgICAgICAgICAgICAgICBkb19yZWNvbmZpZ3VyZSA9ICFtZW1vcnlfcHJvdGVjdF9kb25lOwo+ ID4gPiArICAgICAgICAgICAgICAgICAgICAgbWVtb3J5X3Byb3RlY3RfZG9uZSA9IHRydWU7Cj4g PiA+ICsgICAgICAgICAgICAgICAgICAgICBicmVhazsKPiA+ID4gKyAgICAgICAgICAgICBjYXNl IFNCSV9IQVJUX1BST1RFQ1RJT05fVFlQRV9JRDoKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAg IGRvX3JlY29uZmlndXJlID0gdHJ1ZTsKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgIGJyZWFr Owo+ID4gPiArICAgICAgICAgICAgIGRlZmF1bHQ6Cj4gPiA+ICsgICAgICAgICAgICAgICAgICAg ICBicmVhazsKPiA+ID4gKyAgICAgICAgICAgICB9Cj4gPiA+ICsgICAgICAgICAgICAgaWYgKCFk b19yZWNvbmZpZ3VyZSkKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwo+ID4g PiArCj4gPiA+ICsgICAgICAgICAgICAgX19oYXJ0X3Byb3RlY3Rpb25fdW5jb25maWd1cmUoc2Ny YXRjaCwgaHByb3QsIGN1cnJlbnRfZG9tKTsKPiA+ID4gKyAgICAgICAgICAgICByZXQgPSBfX2hh cnRfcHJvdGVjdGlvbl9jb25maWd1cmUoc2NyYXRjaCwgaHByb3QsIG5leHRfZG9tKTsKPiA+ID4g KyAgICAgICAgICAgICBpZiAocmV0KQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgcmV0dXJu IHJldDsKPiA+ID4gKyAgICAgfQo+ID4gPgo+ID4gPiAgICAgICByZXR1cm4gMDsKPiA+ID4gIH0K PiA+ID4KPiA+ID4gIGludCBzYmlfaGFydF9wcm90ZWN0aW9uX21hcF9yYW5nZSh1bnNpZ25lZCBs b25nIGJhc2UsIHVuc2lnbmVkIGxvbmcgc2l6ZSkKPiA+ID4gIHsKPiA+ID4gLSAgICAgc3RydWN0 IHNiaV9oYXJ0X3Byb3RlY3Rpb24gKmhwcm90ID0gc2JpX2hhcnRfcHJvdGVjdGlvbl9iZXN0KCk7 Cj4gPiA+ICsgICAgIHN0cnVjdCBzYmlfaGFydF9wcm90ZWN0aW9uICpocHJvdCA9IHNiaV9oYXJ0 X21lbW9yeV9wcm90ZWN0aW9uX2Jlc3QoKTsKPiA+ID4KPiA+ID4gICAgICAgaWYgKCFocHJvdCB8 fCAhaHByb3QtPm1hcF9yYW5nZSkKPiA+ID4gICAgICAgICAgICAgICByZXR1cm4gMDsKPiA+ID4g QEAgLTExMCw3ICsxNzgsNyBAQCBpbnQgc2JpX2hhcnRfcHJvdGVjdGlvbl9tYXBfcmFuZ2UodW5z aWduZWQgbG9uZyBiYXNlLCB1bnNpZ25lZCBsb25nIHNpemUpCj4gPiA+Cj4gPiA+ICBpbnQgc2Jp X2hhcnRfcHJvdGVjdGlvbl91bm1hcF9yYW5nZSh1bnNpZ25lZCBsb25nIGJhc2UsIHVuc2lnbmVk IGxvbmcgc2l6ZSkKPiA+ID4gIHsKPiA+ID4gLSAgICAgc3RydWN0IHNiaV9oYXJ0X3Byb3RlY3Rp b24gKmhwcm90ID0gc2JpX2hhcnRfcHJvdGVjdGlvbl9iZXN0KCk7Cj4gPiA+ICsgICAgIHN0cnVj dCBzYmlfaGFydF9wcm90ZWN0aW9uICpocHJvdCA9IHNiaV9oYXJ0X21lbW9yeV9wcm90ZWN0aW9u X2Jlc3QoKTsKPiA+ID4KPiA+ID4gICAgICAgaWYgKCFocHJvdCB8fCAhaHByb3QtPnVubWFwX3Jh bmdlKQo+ID4gPiAgICAgICAgICAgICAgIHJldHVybiAwOwo+ID4gPiBkaWZmIC0tZ2l0IGEvbGli L3NiaS9zYmlfaW5pdC5jIGIvbGliL3NiaS9zYmlfaW5pdC5jCj4gPiA+IGluZGV4IGQ3NGRjNjdj Li4zZjFmMTM2YSAxMDA2NDQKPiA+ID4gLS0tIGEvbGliL3NiaS9zYmlfaW5pdC5jCj4gPiA+ICsr KyBiL2xpYi9zYmkvc2JpX2luaXQuYwo+ID4gPiBAQCAtOTMsNyArOTMsNyBAQCBzdGF0aWMgdm9p ZCBzYmlfYm9vdF9wcmludF9nZW5lcmFsKHN0cnVjdCBzYmlfc2NyYXRjaCAqc2NyYXRjaCkKPiA+ ID4gICAgICAgc2JpX3ByaW50ZigiUGxhdGZvcm0gRmVhdHVyZXMgICAgICAgICAgIDogJXNcbiIs IHN0cik7Cj4gPiA+ICAgICAgIHNiaV9wcmludGYoIlBsYXRmb3JtIEhBUlQgQ291bnQgICAgICAg ICA6ICV1XG4iLAo+ID4gPiAgICAgICAgICAgICAgICAgIHNiaV9wbGF0Zm9ybV9oYXJ0X2NvdW50 KHBsYXQpKTsKPiA+ID4gLSAgICAgaHByb3QgPSBzYmlfaGFydF9wcm90ZWN0aW9uX2Jlc3QoKTsK PiA+ID4gKyAgICAgaHByb3QgPSBzYmlfaGFydF9tZW1vcnlfcHJvdGVjdGlvbl9iZXN0KCk7Cj4g PiA+ICAgICAgIHNiaV9wcmludGYoIlBsYXRmb3JtIEhBUlQgUHJvdGVjdGlvbiAgICA6ICVzXG4i LAo+ID4gPiAgICAgICAgICAgICAgICAgIChocHJvdCkgPyBocHJvdC0+bmFtZSA6ICItLS0iKTsK PiA+ID4gICAgICAgaWRldiA9IHNiaV9pcGlfZ2V0X2RldmljZSgpOwo+ID4gPiBkaWZmIC0tZ2l0 IGEvcGxhdGZvcm0vZ2VuZXJpYy9lc3dpbi9laWM3NzB4LmMgYi9wbGF0Zm9ybS9nZW5lcmljL2Vz d2luL2VpYzc3MHguYwo+ID4gPiBpbmRleCBkYTRkMGUzNC4uYzcxMTk4YTggMTAwNjQ0Cj4gPiA+ IC0tLSBhL3BsYXRmb3JtL2dlbmVyaWMvZXN3aW4vZWljNzcweC5jCj4gPiA+ICsrKyBiL3BsYXRm b3JtL2dlbmVyaWMvZXN3aW4vZWljNzcweC5jCj4gPiA+IEBAIC00NzAsNiArNDcwLDcgQEAgc3Rh dGljIHZvaWQgZXN3aW5fZWljNzcwMF9wbXBfdW5jb25maWd1cmUoc3RydWN0IHNiaV9zY3JhdGNo ICpzY3JhdGNoLAo+ID4gPiAgc3RhdGljIHN0cnVjdCBzYmlfaGFydF9wcm90ZWN0aW9uIGVzd2lu X2VpYzc3MDBfcG1wX3Byb3RlY3Rpb24gPSB7Cj4gPiA+ICAgICAgIC5uYW1lID0gImVpYzc3MDBf cG1wIiwKPiA+ID4gICAgICAgLnJhdGluZyA9IC0xVUwsCj4gPiA+ICsgICAgIC50eXBlID0gU0JJ X0hBUlRfUFJPVEVDVElPTl9UWVBFX01FTU9SWSwKPiA+ID4gICAgICAgLmNvbmZpZ3VyZSA9IGVz d2luX2VpYzc3MDBfcG1wX2NvbmZpZ3VyZSwKPiA+ID4gICAgICAgLnVuY29uZmlndXJlID0gZXN3 aW5fZWljNzcwMF9wbXBfdW5jb25maWd1cmUsCj4gPiA+ICB9OwoKLS0gCm9wZW5zYmkgbWFpbGlu ZyBsaXN0Cm9wZW5zYmlAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFk Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL29wZW5zYmkK