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 smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.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 4FD1AC74A5B for ; Thu, 30 Mar 2023 01:52:52 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id A126440439; Thu, 30 Mar 2023 01:52:51 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org A126440439 X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id XHNizeRx0LgA; Thu, 30 Mar 2023 01:52:50 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp2.osuosl.org (Postfix) with ESMTPS id 8532F4011F; Thu, 30 Mar 2023 01:52:49 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 8532F4011F Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 5BE39C0036; Thu, 30 Mar 2023 01:52:49 +0000 (UTC) Received: from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137]) by lists.linuxfoundation.org (Postfix) with ESMTP id 32F1FC002F for ; Thu, 30 Mar 2023 01:52:48 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 13BE141F34 for ; Thu, 30 Mar 2023 01:52:48 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 13BE141F34 X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id aFFBLV2CFTpb for ; Thu, 30 Mar 2023 01:52:45 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 99ED841F33 Received: from out30-112.freemail.mail.aliyun.com (out30-112.freemail.mail.aliyun.com [115.124.30.112]) by smtp4.osuosl.org (Postfix) with ESMTPS id 99ED841F33 for ; Thu, 30 Mar 2023 01:52:44 +0000 (UTC) X-Alimail-AntiSpam: AC=PASS; BC=-1|-1; BR=01201311R141e4; CH=green; DM=||false|; DS=||; FP=0|-1|-1|-1|0|-1|-1|-1; HT=ay29a033018045168; MF=xuanzhuo@linux.alibaba.com; NM=1; PH=DS; RN=11; SR=0; TI=SMTPD_---0Veyexhn_1680141157; Received: from localhost(mailfrom:xuanzhuo@linux.alibaba.com fp:SMTPD_---0Veyexhn_1680141157) by smtp.aliyun-inc.com; Thu, 30 Mar 2023 09:52:38 +0800 Message-ID: <1680141014.3084862-1-xuanzhuo@linux.alibaba.com> Subject: Re: [PATCH v6] virtio: add VIRTIO_F_NOTIFICATION_DATA feature support Date: Thu, 30 Mar 2023 09:50:14 +0800 From: Xuan Zhuo To: Viktor Prutyanov References: <20230324195029.2410503-1-viktor@daynix.com> In-Reply-To: Cc: linux-s390@vger.kernel.org, farman@linux.ibm.com, kvm@vger.kernel.org, mst@redhat.com, cohuck@redhat.com, linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, pasic@linux.ibm.com, yan@daynix.com X-BeenThere: virtualization@lists.linux-foundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Linux virtualization List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: virtualization-bounces@lists.linux-foundation.org Sender: "Virtualization" T24gVGh1LCAzMCBNYXIgMjAyMyAwMTo0OToyMyArMDMwMCwgVmlrdG9yIFBydXR5YW5vdiA8dmlr dG9yQGRheW5peC5jb20+IHdyb3RlOgo+IE9uIEZyaSwgTWFyIDI0LCAyMDIzIGF0IDEwOjUw4oCv UE0gVmlrdG9yIFBydXR5YW5vdiA8dmlrdG9yQGRheW5peC5jb20+IHdyb3RlOgo+ID4KPiA+IEFj Y29yZGluZyB0byBWaXJ0SU8gc3BlYyB2MS4yLCBWSVJUSU9fRl9OT1RJRklDQVRJT05fREFUQSBm ZWF0dXJlCj4gPiBpbmRpY2F0ZXMgdGhhdCB0aGUgZHJpdmVyIHBhc3NlcyBleHRyYSBkYXRhIGFs b25nIHdpdGggdGhlIHF1ZXVlCj4gPiBub3RpZmljYXRpb25zLgo+ID4KPiA+IEluIGEgc3BsaXQg cXVldWUgY2FzZSwgdGhlIGV4dHJhIGRhdGEgaXMgMTYtYml0IGF2YWlsYWJsZSBpbmRleC4gSW4g YQo+ID4gcGFja2VkIHF1ZXVlIGNhc2UsIHRoZSBleHRyYSBkYXRhIGlzIDEtYml0IHdyYXAgY291 bnRlciBhbmQgMTUtYml0Cj4gPiBhdmFpbGFibGUgaW5kZXguCj4gPgo+ID4gQWRkIHN1cHBvcnQg Zm9yIHRoaXMgZmVhdHVyZSBmb3IgTU1JTywgY2hhbm5lbCBJL08gYW5kIG1vZGVybiBQQ0kKPiA+ IHRyYW5zcG9ydHMuCj4gPgo+ID4gU2lnbmVkLW9mZi1ieTogVmlrdG9yIFBydXR5YW5vdiA8dmlr dG9yQGRheW5peC5jb20+Cj4gPiBBY2tlZC1ieTogSmFzb24gV2FuZyA8amFzb3dhbmdAcmVkaGF0 LmNvbT4KPiA+IFJldmlld2VkLWJ5OiBYdWFuIFpodW8gPHh1YW56aHVvQGxpbnV4LmFsaWJhYmEu Y29tPgo+ID4gLS0tCj4gPiAgdjY6IHVzZSBWUklOR19QQUNLRURfRVZFTlRfRl9XUkFQX0NUUgo+ ID4gIHY1OiByZXBsYWNlIHRlcm5hcnkgb3BlcmF0b3Igd2l0aCBpZi1lbHNlCj4gPiAgdjQ6IHJl bW92ZSBWUF9OT1RJRlkgbWFjcm8gYW5kIGxlZ2FjeSBQQ0kgc3VwcG9ydCwgYWRkCj4gPiAgICAg dmlydGlvX2Njd19rdm1fbm90aWZ5X3dpdGhfZGF0YSB0byB2aXJ0aW9fY2N3Cj4gPiAgdjM6IHN1 cHBvcnQgZmVhdHVyZSBpbiB2aXJ0aW9fY2N3LCByZW1vdmUgVk1fTk9USUZZLCB1c2UgYXZhaWxf aWR4X3NoYWRvdywKPiA+ICAgICByZW1vdmUgYnl0ZSBzd2FwLCByZW5hbWUgdG8gdnJpbmdfbm90 aWZpY2F0aW9uX2RhdGEKPiA+ICB2MjogcmVqZWN0IHRoZSBmZWF0dXJlIGluIHZpcnRpb19jY3cs IHJlcGxhY2UgX19sZTMyIHdpdGggdTMyCj4gPgo+ID4gIFRlc3RlZCB3aXRoIGRpc2FibGVkIFZJ UlRJT19GX05PVElGSUNBVElPTl9EQVRBIG9uIHFlbXUtc3lzdGVtLXMzOTB4Cj4gPiAgKHZpcnRp by1ibGstY2N3KSwgcWVtdS1zeXN0ZW0tcmlzY3Y2NCAodmlydGlvLWJsay1kZXZpY2UsCj4gPiAg dmlydGlvLXJuZy1kZXZpY2UpLCBxZW11LXN5c3RlbS14ODZfNjQgKHZpcnRpby1ibGstcGNpLCB2 aXJ0aW8tbmV0LXBjaSkKPiA+ICB0byBtYWtlIHN1cmUgbm90aGluZyBpcyBicm9rZW4uCj4gPiAg VGVzdGVkIHdpdGggZW5hYmxlZCBWSVJUSU9fRl9OT1RJRklDQVRJT05fREFUQSBvbiA2NC1iaXQg UklTQy1WIExpbnV4Cj4gPiAgYW5kIG15IGhhcmR3YXJlIGltcGxlbWVudGF0aW9uIG9mIHZpcnRp by1ybmcgd2l0aCBNTUlPLgo+ID4KPiA+ICBkcml2ZXJzL3MzOTAvdmlydGlvL3ZpcnRpb19jY3cu YyAgIHwgMjIgKysrKysrKysrKysrKysrKysrKy0tLQo+ID4gIGRyaXZlcnMvdmlydGlvL3ZpcnRp b19tbWlvLmMgICAgICAgfCAxOCArKysrKysrKysrKysrKysrKy0KPiA+ICBkcml2ZXJzL3ZpcnRp by92aXJ0aW9fcGNpX21vZGVybi5jIHwgMTcgKysrKysrKysrKysrKysrKy0KPiA+ICBkcml2ZXJz L3ZpcnRpby92aXJ0aW9fcmluZy5jICAgICAgIHwgMTkgKysrKysrKysrKysrKysrKysrKwo+ID4g IGluY2x1ZGUvbGludXgvdmlydGlvX3JpbmcuaCAgICAgICAgfCAgMiArKwo+ID4gIGluY2x1ZGUv dWFwaS9saW51eC92aXJ0aW9fY29uZmlnLmggfCAgNiArKysrKysKPiA+ICA2IGZpbGVzIGNoYW5n ZWQsIDc5IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCj4gPgo+ID4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvczM5MC92aXJ0aW8vdmlydGlvX2Njdy5jIGIvZHJpdmVycy9zMzkwL3ZpcnRpby92 aXJ0aW9fY2N3LmMKPiA+IGluZGV4IDk1NGZjMzFiNGJjNy4uMDI5MjI3NjhiMTI5IDEwMDY0NAo+ ID4gLS0tIGEvZHJpdmVycy9zMzkwL3ZpcnRpby92aXJ0aW9fY2N3LmMKPiA+ICsrKyBiL2RyaXZl cnMvczM5MC92aXJ0aW8vdmlydGlvX2Njdy5jCj4gPiBAQCAtMzkxLDcgKzM5MSw3IEBAIHN0YXRp YyB2b2lkIHZpcnRpb19jY3dfZHJvcF9pbmRpY2F0b3Ioc3RydWN0IHZpcnRpb19jY3dfZGV2aWNl ICp2Y2RldiwKPiA+ICAgICAgICAgY2N3X2RldmljZV9kbWFfZnJlZSh2Y2Rldi0+Y2RldiwgdGhp bmludF9hcmVhLCBzaXplb2YoKnRoaW5pbnRfYXJlYSkpOwo+ID4gIH0KPiA+Cj4gPiAtc3RhdGlj IGJvb2wgdmlydGlvX2Njd19rdm1fbm90aWZ5KHN0cnVjdCB2aXJ0cXVldWUgKnZxKQo+ID4gK3N0 YXRpYyBpbmxpbmUgYm9vbCB2aXJ0aW9fY2N3X2RvX2t2bV9ub3RpZnkoc3RydWN0IHZpcnRxdWV1 ZSAqdnEsIHUzMiBkYXRhKQo+ID4gIHsKPiA+ICAgICAgICAgc3RydWN0IHZpcnRpb19jY3dfdnFf aW5mbyAqaW5mbyA9IHZxLT5wcml2Owo+ID4gICAgICAgICBzdHJ1Y3QgdmlydGlvX2Njd19kZXZp Y2UgKnZjZGV2Owo+ID4gQEAgLTQwMiwxMiArNDAyLDIyIEBAIHN0YXRpYyBib29sIHZpcnRpb19j Y3dfa3ZtX25vdGlmeShzdHJ1Y3QgdmlydHF1ZXVlICp2cSkKPiA+ICAgICAgICAgQlVJTERfQlVH X09OKHNpemVvZihzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCkgIT0gc2l6ZW9mKHVuc2lnbmVkIGludCkp Owo+ID4gICAgICAgICBpbmZvLT5jb29raWUgPSBrdm1faHlwZXJjYWxsMyhLVk1fUzM5MF9WSVJU SU9fQ0NXX05PVElGWSwKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KigodW5zaWduZWQgaW50ICopJnNjaGlkKSwKPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdnEtPmluZGV4LCBpbmZvLT5jb29raWUpOwo+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBkYXRhLCBpbmZvLT5jb29raWUpOwo+ID4gICAgICAgICBp ZiAoaW5mby0+Y29va2llIDwgMCkKPiA+ICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cj4g PiAgICAgICAgIHJldHVybiB0cnVlOwo+ID4gIH0KPiA+Cj4gPiArc3RhdGljIGJvb2wgdmlydGlv X2Njd19rdm1fbm90aWZ5KHN0cnVjdCB2aXJ0cXVldWUgKnZxKQo+ID4gK3sKPiA+ICsgICAgICAg cmV0dXJuIHZpcnRpb19jY3dfZG9fa3ZtX25vdGlmeSh2cSwgdnEtPmluZGV4KTsKPiA+ICt9Cj4g PiArCj4gPiArc3RhdGljIGJvb2wgdmlydGlvX2Njd19rdm1fbm90aWZ5X3dpdGhfZGF0YShzdHJ1 Y3QgdmlydHF1ZXVlICp2cSkKPiA+ICt7Cj4gPiArICAgICAgIHJldHVybiB2aXJ0aW9fY2N3X2Rv X2t2bV9ub3RpZnkodnEsIHZyaW5nX25vdGlmaWNhdGlvbl9kYXRhKHZxKSk7Cj4gPiArfQo+ID4g Kwo+ID4gIHN0YXRpYyBpbnQgdmlydGlvX2Njd19yZWFkX3ZxX2NvbmYoc3RydWN0IHZpcnRpb19j Y3dfZGV2aWNlICp2Y2RldiwKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RydWN0IGNjdzEgKmNjdywgaW50IGluZGV4KQo+ID4gIHsKPiA+IEBAIC00OTUsNiArNTA1LDcg QEAgc3RhdGljIHN0cnVjdCB2aXJ0cXVldWUgKnZpcnRpb19jY3dfc2V0dXBfdnEoc3RydWN0IHZp cnRpb19kZXZpY2UgKnZkZXYsCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHJ1Y3QgY2N3MSAqY2N3KQo+ID4gIHsKPiA+ICAgICAgICAgc3RydWN0IHZp cnRpb19jY3dfZGV2aWNlICp2Y2RldiA9IHRvX3ZjX2RldmljZSh2ZGV2KTsKPiA+ICsgICAgICAg Ym9vbCAoKm5vdGlmeSkoc3RydWN0IHZpcnRxdWV1ZSAqdnEpOwo+ID4gICAgICAgICBpbnQgZXJy Owo+ID4gICAgICAgICBzdHJ1Y3QgdmlydHF1ZXVlICp2cSA9IE5VTEw7Cj4gPiAgICAgICAgIHN0 cnVjdCB2aXJ0aW9fY2N3X3ZxX2luZm8gKmluZm87Cj4gPiBAQCAtNTAyLDYgKzUxMywxMSBAQCBz dGF0aWMgc3RydWN0IHZpcnRxdWV1ZSAqdmlydGlvX2Njd19zZXR1cF92cShzdHJ1Y3QgdmlydGlv X2RldmljZSAqdmRldiwKPiA+ICAgICAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsKPiA+ICAgICAg ICAgYm9vbCBtYXlfcmVkdWNlOwo+ID4KPiA+ICsgICAgICAgaWYgKF9fdmlydGlvX3Rlc3RfYml0 KHZkZXYsIFZJUlRJT19GX05PVElGSUNBVElPTl9EQVRBKSkKPiA+ICsgICAgICAgICAgICAgICBu b3RpZnkgPSB2aXJ0aW9fY2N3X2t2bV9ub3RpZnlfd2l0aF9kYXRhOwo+ID4gKyAgICAgICBlbHNl Cj4gPiArICAgICAgICAgICAgICAgbm90aWZ5ID0gdmlydGlvX2Njd19rdm1fbm90aWZ5Owo+ID4g Kwo+ID4gICAgICAgICAvKiBBbGxvY2F0ZSBxdWV1ZS4gKi8KPiA+ICAgICAgICAgaW5mbyA9IGt6 YWxsb2Moc2l6ZW9mKHN0cnVjdCB2aXJ0aW9fY2N3X3ZxX2luZm8pLCBHRlBfS0VSTkVMKTsKPiA+ ICAgICAgICAgaWYgKCFpbmZvKSB7Cj4gPiBAQCAtNTI0LDcgKzU0MCw3IEBAIHN0YXRpYyBzdHJ1 Y3QgdmlydHF1ZXVlICp2aXJ0aW9fY2N3X3NldHVwX3ZxKHN0cnVjdCB2aXJ0aW9fZGV2aWNlICp2 ZGV2LAo+ID4gICAgICAgICBtYXlfcmVkdWNlID0gdmNkZXYtPnJldmlzaW9uID4gMDsKPiA+ICAg ICAgICAgdnEgPSB2cmluZ19jcmVhdGVfdmlydHF1ZXVlKGksIGluZm8tPm51bSwgS1ZNX1ZJUlRJ T19DQ1dfUklOR19BTElHTiwKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHZkZXYsIHRydWUsIG1heV9yZWR1Y2UsIGN0eCwKPiA+IC0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHZpcnRpb19jY3dfa3ZtX25vdGlmeSwgY2FsbGJhY2ssIG5hbWUpOwo+ID4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aWZ5LCBjYWxsYmFjaywgbmFt ZSk7Cj4gPgo+ID4gICAgICAgICBpZiAoIXZxKSB7Cj4gPiAgICAgICAgICAgICAgICAgLyogRm9y IG5vdywgd2UgZmFpbCBpZiB3ZSBjYW4ndCBnZXQgdGhlIHJlcXVlc3RlZCBzaXplLiAqLwo+ID4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlydGlvL3ZpcnRpb19tbWlvLmMgYi9kcml2ZXJzL3ZpcnRp by92aXJ0aW9fbW1pby5jCj4gPiBpbmRleCAzZmY3NDZlM2YyNGEuLmRkNDQyNGMxNDIzMyAxMDA2 NDQKPiA+IC0tLSBhL2RyaXZlcnMvdmlydGlvL3ZpcnRpb19tbWlvLmMKPiA+ICsrKyBiL2RyaXZl cnMvdmlydGlvL3ZpcnRpb19tbWlvLmMKPiA+IEBAIC0yODUsNiArMjg1LDE2IEBAIHN0YXRpYyBi b29sIHZtX25vdGlmeShzdHJ1Y3QgdmlydHF1ZXVlICp2cSkKPiA+ICAgICAgICAgcmV0dXJuIHRy dWU7Cj4gPiAgfQo+ID4KPiA+ICtzdGF0aWMgYm9vbCB2bV9ub3RpZnlfd2l0aF9kYXRhKHN0cnVj dCB2aXJ0cXVldWUgKnZxKQo+ID4gK3sKPiA+ICsgICAgICAgc3RydWN0IHZpcnRpb19tbWlvX2Rl dmljZSAqdm1fZGV2ID0gdG9fdmlydGlvX21taW9fZGV2aWNlKHZxLT52ZGV2KTsKPiA+ICsgICAg ICAgdTMyIGRhdGEgPSB2cmluZ19ub3RpZmljYXRpb25fZGF0YSh2cSk7Cj4gPiArCj4gPiArICAg ICAgIHdyaXRlbChkYXRhLCB2bV9kZXYtPmJhc2UgKyBWSVJUSU9fTU1JT19RVUVVRV9OT1RJRlkp Owo+ID4gKwo+ID4gKyAgICAgICByZXR1cm4gdHJ1ZTsKPiA+ICt9Cj4gPiArCj4gPiAgLyogTm90 aWZ5IGFsbCB2aXJ0cXVldWVzIG9uIGFuIGludGVycnVwdC4gKi8KPiA+ICBzdGF0aWMgaXJxcmV0 dXJuX3Qgdm1faW50ZXJydXB0KGludCBpcnEsIHZvaWQgKm9wYXF1ZSkKPiA+ICB7Cj4gPiBAQCAt MzYzLDEyICszNzMsMTggQEAgc3RhdGljIHN0cnVjdCB2aXJ0cXVldWUgKnZtX3NldHVwX3ZxKHN0 cnVjdCB2aXJ0aW9fZGV2aWNlICp2ZGV2LCB1bnNpZ25lZCBpbnQgaW4KPiA+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpuYW1lLCBib29sIGN0eCkKPiA+ICB7 Cj4gPiAgICAgICAgIHN0cnVjdCB2aXJ0aW9fbW1pb19kZXZpY2UgKnZtX2RldiA9IHRvX3ZpcnRp b19tbWlvX2RldmljZSh2ZGV2KTsKPiA+ICsgICAgICAgYm9vbCAoKm5vdGlmeSkoc3RydWN0IHZp cnRxdWV1ZSAqdnEpOwo+ID4gICAgICAgICBzdHJ1Y3QgdmlydGlvX21taW9fdnFfaW5mbyAqaW5m bzsKPiA+ICAgICAgICAgc3RydWN0IHZpcnRxdWV1ZSAqdnE7Cj4gPiAgICAgICAgIHVuc2lnbmVk IGxvbmcgZmxhZ3M7Cj4gPiAgICAgICAgIHVuc2lnbmVkIGludCBudW07Cj4gPiAgICAgICAgIGlu dCBlcnI7Cj4gPgo+ID4gKyAgICAgICBpZiAoX192aXJ0aW9fdGVzdF9iaXQodmRldiwgVklSVElP X0ZfTk9USUZJQ0FUSU9OX0RBVEEpKQo+ID4gKyAgICAgICAgICAgICAgIG5vdGlmeSA9IHZtX25v dGlmeV93aXRoX2RhdGE7Cj4gPiArICAgICAgIGVsc2UKPiA+ICsgICAgICAgICAgICAgICBub3Rp ZnkgPSB2bV9ub3RpZnk7Cj4gPiArCj4gPiAgICAgICAgIGlmICghbmFtZSkKPiA+ICAgICAgICAg ICAgICAgICByZXR1cm4gTlVMTDsKPiA+Cj4gPiBAQCAtMzk3LDcgKzQxMyw3IEBAIHN0YXRpYyBz dHJ1Y3QgdmlydHF1ZXVlICp2bV9zZXR1cF92cShzdHJ1Y3QgdmlydGlvX2RldmljZSAqdmRldiwg dW5zaWduZWQgaW50IGluCj4gPgo+ID4gICAgICAgICAvKiBDcmVhdGUgdGhlIHZyaW5nICovCj4g PiAgICAgICAgIHZxID0gdnJpbmdfY3JlYXRlX3ZpcnRxdWV1ZShpbmRleCwgbnVtLCBWSVJUSU9f TU1JT19WUklOR19BTElHTiwgdmRldiwKPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHRydWUsIHRydWUsIGN0eCwgdm1fbm90aWZ5LCBjYWxsYmFjaywgbmFtZSk7Cj4gPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlLCB0cnVlLCBjdHgsIG5vdGlmeSwgY2Fs bGJhY2ssIG5hbWUpOwo+ID4gICAgICAgICBpZiAoIXZxKSB7Cj4gPiAgICAgICAgICAgICAgICAg ZXJyID0gLUVOT01FTTsKPiA+ICAgICAgICAgICAgICAgICBnb3RvIGVycm9yX25ld192aXJ0cXVl dWU7Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aXJ0aW8vdmlydGlvX3BjaV9tb2Rlcm4uYyBi L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19wY2lfbW9kZXJuLmMKPiA+IGluZGV4IDllNDk2ZTI4OGNm YS4uMDVkZWJhNTE1M2JkIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy92aXJ0aW8vdmlydGlvX3Bj aV9tb2Rlcm4uYwo+ID4gKysrIGIvZHJpdmVycy92aXJ0aW8vdmlydGlvX3BjaV9tb2Rlcm4uYwo+ ID4gQEAgLTI4OCw2ICsyODgsMTUgQEAgc3RhdGljIHUxNiB2cF9jb25maWdfdmVjdG9yKHN0cnVj dCB2aXJ0aW9fcGNpX2RldmljZSAqdnBfZGV2LCB1MTYgdmVjdG9yKQo+ID4gICAgICAgICByZXR1 cm4gdnBfbW9kZXJuX2NvbmZpZ192ZWN0b3IoJnZwX2Rldi0+bWRldiwgdmVjdG9yKTsKPiA+ICB9 Cj4gPgo+ID4gK3N0YXRpYyBib29sIHZwX25vdGlmeV93aXRoX2RhdGEoc3RydWN0IHZpcnRxdWV1 ZSAqdnEpCj4gPiArewo+ID4gKyAgICAgICB1MzIgZGF0YSA9IHZyaW5nX25vdGlmaWNhdGlvbl9k YXRhKHZxKTsKPiA+ICsKPiA+ICsgICAgICAgaW93cml0ZTMyKGRhdGEsICh2b2lkIF9faW9tZW0g Kil2cS0+cHJpdik7Cj4gPiArCj4gPiArICAgICAgIHJldHVybiB0cnVlOwo+ID4gK30KPiA+ICsK PiA+ICBzdGF0aWMgc3RydWN0IHZpcnRxdWV1ZSAqc2V0dXBfdnEoc3RydWN0IHZpcnRpb19wY2lf ZGV2aWNlICp2cF9kZXYsCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry dWN0IHZpcnRpb19wY2lfdnFfaW5mbyAqaW5mbywKPiA+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1bnNpZ25lZCBpbnQgaW5kZXgsCj4gPiBAQCAtMjk4LDEwICszMDcsMTYgQEAg c3RhdGljIHN0cnVjdCB2aXJ0cXVldWUgKnNldHVwX3ZxKHN0cnVjdCB2aXJ0aW9fcGNpX2Rldmlj ZSAqdnBfZGV2LAo+ID4gIHsKPiA+Cj4gPiAgICAgICAgIHN0cnVjdCB2aXJ0aW9fcGNpX21vZGVy bl9kZXZpY2UgKm1kZXYgPSAmdnBfZGV2LT5tZGV2Owo+ID4gKyAgICAgICBib29sICgqbm90aWZ5 KShzdHJ1Y3QgdmlydHF1ZXVlICp2cSk7Cj4gPiAgICAgICAgIHN0cnVjdCB2aXJ0cXVldWUgKnZx Owo+ID4gICAgICAgICB1MTYgbnVtOwo+ID4gICAgICAgICBpbnQgZXJyOwo+ID4KPiA+ICsgICAg ICAgaWYgKF9fdmlydGlvX3Rlc3RfYml0KCZ2cF9kZXYtPnZkZXYsIFZJUlRJT19GX05PVElGSUNB VElPTl9EQVRBKSkKPiA+ICsgICAgICAgICAgICAgICBub3RpZnkgPSB2cF9ub3RpZnlfd2l0aF9k YXRhOwo+ID4gKyAgICAgICBlbHNlCj4gPiArICAgICAgICAgICAgICAgbm90aWZ5ID0gdnBfbm90 aWZ5Owo+ID4gKwo+ID4gICAgICAgICBpZiAoaW5kZXggPj0gdnBfbW9kZXJuX2dldF9udW1fcXVl dWVzKG1kZXYpKQo+ID4gICAgICAgICAgICAgICAgIHJldHVybiBFUlJfUFRSKC1FSU5WQUwpOwo+ ID4KPiA+IEBAIC0zMjEsNyArMzM2LDcgQEAgc3RhdGljIHN0cnVjdCB2aXJ0cXVldWUgKnNldHVw X3ZxKHN0cnVjdCB2aXJ0aW9fcGNpX2RldmljZSAqdnBfZGV2LAo+ID4gICAgICAgICB2cSA9IHZy aW5nX2NyZWF0ZV92aXJ0cXVldWUoaW5kZXgsIG51bSwKPiA+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFNNUF9DQUNIRV9CWVRFUywgJnZwX2Rldi0+dmRldiwKPiA+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUsIHRydWUsIGN0eCwKPiA+IC0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZwX25vdGlmeSwgY2FsbGJhY2ssIG5hbWUp Owo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aWZ5LCBjYWxsYmFj aywgbmFtZSk7Cj4gPiAgICAgICAgIGlmICghdnEpCj4gPiAgICAgICAgICAgICAgICAgcmV0dXJu IEVSUl9QVFIoLUVOT01FTSk7Cj4gPgo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlydGlvL3Zp cnRpb19yaW5nLmMgYi9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jCj4gPiBpbmRleCA0YzNi YjBkZGViOWIuLmY5YzY2MDQzNTJiNCAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvdmlydGlvL3Zp cnRpb19yaW5nLmMKPiA+ICsrKyBiL2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMKPiA+IEBA IC0yNzUyLDYgKzI3NTIsMjMgQEAgdm9pZCB2cmluZ19kZWxfdmlydHF1ZXVlKHN0cnVjdCB2aXJ0 cXVldWUgKl92cSkKPiA+ICB9Cj4gPiAgRVhQT1JUX1NZTUJPTF9HUEwodnJpbmdfZGVsX3ZpcnRx dWV1ZSk7Cj4gPgo+ID4gK3UzMiB2cmluZ19ub3RpZmljYXRpb25fZGF0YShzdHJ1Y3QgdmlydHF1 ZXVlICpfdnEpCj4gPiArewo+ID4gKyAgICAgICBzdHJ1Y3QgdnJpbmdfdmlydHF1ZXVlICp2cSA9 IHRvX3Z2cShfdnEpOwo+ID4gKyAgICAgICB1MTYgbmV4dDsKPiA+ICsKPiA+ICsgICAgICAgaWYg KHZxLT5wYWNrZWRfcmluZykKPiA+ICsgICAgICAgICAgICAgICBuZXh0ID0gKHZxLT5wYWNrZWQu bmV4dF9hdmFpbF9pZHggJgo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+KC0o MSA8PCBWUklOR19QQUNLRURfRVZFTlRfRl9XUkFQX0NUUikpKSB8Cj4gPiArICAgICAgICAgICAg ICAgICAgICAgICB2cS0+cGFja2VkLmF2YWlsX3dyYXBfY291bnRlciA8PAo+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBWUklOR19QQUNLRURfRVZFTlRfRl9XUkFQX0NUUjsKPiA+ ICsgICAgICAgZWxzZQo+ID4gKyAgICAgICAgICAgICAgIG5leHQgPSB2cS0+c3BsaXQuYXZhaWxf aWR4X3NoYWRvdzsKPiA+ICsKPiA+ICsgICAgICAgcmV0dXJuIG5leHQgPDwgMTYgfCBfdnEtPmlu ZGV4Owo+ID4gK30KPiA+ICtFWFBPUlRfU1lNQk9MX0dQTCh2cmluZ19ub3RpZmljYXRpb25fZGF0 YSk7Cj4gPiArCj4gPiAgLyogTWFuaXB1bGF0ZXMgdHJhbnNwb3J0LXNwZWNpZmljIGZlYXR1cmUg Yml0cy4gKi8KPiA+ICB2b2lkIHZyaW5nX3RyYW5zcG9ydF9mZWF0dXJlcyhzdHJ1Y3QgdmlydGlv X2RldmljZSAqdmRldikKPiA+ICB7Cj4gPiBAQCAtMjc3MSw2ICsyNzg4LDggQEAgdm9pZCB2cmlu Z190cmFuc3BvcnRfZmVhdHVyZXMoc3RydWN0IHZpcnRpb19kZXZpY2UgKnZkZXYpCj4gPiAgICAg ICAgICAgICAgICAgICAgICAgICBicmVhazsKPiA+ICAgICAgICAgICAgICAgICBjYXNlIFZJUlRJ T19GX09SREVSX1BMQVRGT1JNOgo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cj4g PiArICAgICAgICAgICAgICAgY2FzZSBWSVJUSU9fRl9OT1RJRklDQVRJT05fREFUQToKPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwo+ID4gICAgICAgICAgICAgICAgIGRlZmF1bHQ6 Cj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAvKiBXZSBkb24ndCB1bmRlcnN0YW5kIHRoaXMg Yml0LiAqLwo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgX192aXJ0aW9fY2xlYXJfYml0KHZk ZXYsIGkpOwo+ID4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvdmlydGlvX3JpbmcuaCBiL2lu Y2x1ZGUvbGludXgvdmlydGlvX3JpbmcuaAo+ID4gaW5kZXggOGI5NWI2OWVmNjk0Li4yNTUwYzkx NzBmNGYgMTAwNjQ0Cj4gPiAtLS0gYS9pbmNsdWRlL2xpbnV4L3ZpcnRpb19yaW5nLmgKPiA+ICsr KyBiL2luY2x1ZGUvbGludXgvdmlydGlvX3JpbmcuaAo+ID4gQEAgLTExNyw0ICsxMTcsNiBAQCB2 b2lkIHZyaW5nX2RlbF92aXJ0cXVldWUoc3RydWN0IHZpcnRxdWV1ZSAqdnEpOwo+ID4gIHZvaWQg dnJpbmdfdHJhbnNwb3J0X2ZlYXR1cmVzKHN0cnVjdCB2aXJ0aW9fZGV2aWNlICp2ZGV2KTsKPiA+ Cj4gPiAgaXJxcmV0dXJuX3QgdnJpbmdfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKl92cSk7Cj4g PiArCj4gPiArdTMyIHZyaW5nX25vdGlmaWNhdGlvbl9kYXRhKHN0cnVjdCB2aXJ0cXVldWUgKl92 cSk7Cj4gPiAgI2VuZGlmIC8qIF9MSU5VWF9WSVJUSU9fUklOR19IICovCj4gPiBkaWZmIC0tZ2l0 IGEvaW5jbHVkZS91YXBpL2xpbnV4L3ZpcnRpb19jb25maWcuaCBiL2luY2x1ZGUvdWFwaS9saW51 eC92aXJ0aW9fY29uZmlnLmgKPiA+IGluZGV4IDNjMDUxNjJiYzk4OC4uMmM3MTJjNjU0MTY1IDEw MDY0NAo+ID4gLS0tIGEvaW5jbHVkZS91YXBpL2xpbnV4L3ZpcnRpb19jb25maWcuaAo+ID4gKysr IGIvaW5jbHVkZS91YXBpL2xpbnV4L3ZpcnRpb19jb25maWcuaAo+ID4gQEAgLTk5LDYgKzk5LDEy IEBACj4gPiAgICovCj4gPiAgI2RlZmluZSBWSVJUSU9fRl9TUl9JT1YgICAgICAgICAgICAgICAg ICAgICAgICAzNwo+ID4KPiA+ICsvKgo+ID4gKyAqIFRoaXMgZmVhdHVyZSBpbmRpY2F0ZXMgdGhh dCB0aGUgZHJpdmVyIHBhc3NlcyBleHRyYSBkYXRhIChiZXNpZGVzCj4gPiArICogaWRlbnRpZnlp bmcgdGhlIHZpcnRxdWV1ZSkgaW4gaXRzIGRldmljZSBub3RpZmljYXRpb25zLgo+ID4gKyAqLwo+ ID4gKyNkZWZpbmUgVklSVElPX0ZfTk9USUZJQ0FUSU9OX0RBVEEgICAgIDM4Cj4gPiArCj4gPiAg LyoKPiA+ICAgKiBUaGlzIGZlYXR1cmUgaW5kaWNhdGVzIHRoYXQgdGhlIGRyaXZlciBjYW4gcmVz ZXQgYSBxdWV1ZSBpbmRpdmlkdWFsbHkuCj4gPiAgICovCj4gPiAtLQo+ID4gMi4zNS4xCj4gPgo+ Cj4gcGluZwoKR2VuZXJhbGx5IHNwZWFraW5nLCBNaWNoYWVsIHdpbGwgbWVyZ2UgcGF0Y2ggaGVy ZSBhbmQgd2lsbCBub3QgcmVwbHkgaW4gdGhlIG1haWwKbGlzdC4gWW91IGNhbiBzZWUgaXQgaGVy ZS4KCmh0dHBzOi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9saW51eC9rZXJuZWwvZ2l0L21zdC92 aG9zdC5naXQvbG9nLz9oPWxpbnV4LW5leHQKCkF0IHByZXNlbnQsIHRoaXMgcGF0Y2ggaGFzIG5v dCBiZWVuIG1lcmdlZCwgYW5kIHlvdSBuZWVkIHRvIGdpdmUgTWljaGVhbCBzb21lCnRpbWUuCgpU aGFua3MuCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClZp cnR1YWxpemF0aW9uIG1haWxpbmcgbGlzdApWaXJ0dWFsaXphdGlvbkBsaXN0cy5saW51eC1mb3Vu ZGF0aW9uLm9yZwpodHRwczovL2xpc3RzLmxpbnV4Zm91bmRhdGlvbi5vcmcvbWFpbG1hbi9saXN0 aW5mby92aXJ0dWFsaXphdGlvbg==