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 X-Spam-Level: X-Spam-Status: No, score=-13.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2543AC43460 for ; Mon, 12 Apr 2021 09:07:25 +0000 (UTC) Received: from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B1323613C3 for ; Mon, 12 Apr 2021 09:07:24 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B1323613C3 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=virtualization-bounces@lists.linux-foundation.org Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 6AC2083870; Mon, 12 Apr 2021 09:07:24 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pHRnf0SeL2BF; Mon, 12 Apr 2021 09:07:22 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp1.osuosl.org (Postfix) with ESMTP id 4DE9F838CC; Mon, 12 Apr 2021 09:07:22 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 2235BC000C; Mon, 12 Apr 2021 09:07:22 +0000 (UTC) Received: from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by lists.linuxfoundation.org (Postfix) with ESMTP id 558E8C000A for ; Mon, 12 Apr 2021 09:07:21 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 3711F838CC for ; Mon, 12 Apr 2021 09:07:21 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fInKiOL_5up2 for ; Mon, 12 Apr 2021 09:07:19 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by smtp1.osuosl.org (Postfix) with ESMTPS id A32A083870 for ; Mon, 12 Apr 2021 09:07:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1618218438; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=AiXpa0oASZwRhvw6y5GnL0ZgWv2QxGq5lcY8I/mGNHI=; b=XZezJovVWdigsRGmps+GBR1NYVeuU/WnYwgqtJ6zywv51LeIyNgmkRWJlf4ywM6tEXqGNa 86rj8ObIAMYi7clKUsVgRpFfSmBPIknMifug5g8p5vhXltYzzXqx5I7WboO0OTM4oyqD7j 6j5UYG/CgJtcU7bOBKiM1PjgVBYuwHg= Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-444-xUBzrw2xNHCHHTRUdoUCrw-1; Mon, 12 Apr 2021 05:07:16 -0400 X-MC-Unique: xUBzrw2xNHCHHTRUdoUCrw-1 Received: by mail-wr1-f69.google.com with SMTP id w1so2663807wrm.13 for ; Mon, 12 Apr 2021 02:07:16 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=AiXpa0oASZwRhvw6y5GnL0ZgWv2QxGq5lcY8I/mGNHI=; b=lWqJPxCkrYkE95wftjnzsuMHqu33tVOjbHWdh32ohgC6V3zU9IscvjOmKvXdlkUcFa d8t5B12X3U4YQ3GCcqYMnq86DMUqaCkvijbp94yQvnsf26Tst9kEdoaVLG77enib27Em +unk0HxT73l1U2yIv1+f29QXIuXPmu7G07lDR3KwAxiBSY+pQGnmjY5/ObTo9KVtgaPg WFbI1GPJn2GDubDD17pIPalj9JJPVwL9TyvW8Nj97JsOiO8Cs85JzGa6kkxkTOdiz5lM 6sOPtJZxEbqGfSwsfLgCSWJTE5qORMHNiMK2M5Jvw/fgYiWkatsLrorWmLjeTmLF3QWM 7AKQ== X-Gm-Message-State: AOAM530JJwHlAn1/0eID4YUYHR/6soTLPkveY/haIztH6ZyM2IFrasYA nu6H//5ZXENlyXeZEwa9RkGQj1KY9x55CYo/rYS2HcQ357ZBRv72HkzxPueWLUNqa62TpZky0VU R7wGnsxls6Y60YGhvn4RKn5VVFq9vund1pnQ5umLHag== X-Received: by 2002:adf:d1e8:: with SMTP id g8mr29764526wrd.175.1618218435416; Mon, 12 Apr 2021 02:07:15 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwEpjOFxkabsuoxqCs9minNXPd2aSkk1nHyc2ILc5/XTRsDFVaCB27nqKfVCJAx03XzFBYvwg== X-Received: by 2002:adf:d1e8:: with SMTP id g8mr29764487wrd.175.1618218435059; Mon, 12 Apr 2021 02:07:15 -0700 (PDT) Received: from redhat.com ([2a10:8006:2281:0:1994:c627:9eac:1825]) by smtp.gmail.com with ESMTPSA id z15sm16504028wrw.38.2021.04.12.02.07.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Apr 2021 02:07:14 -0700 (PDT) Date: Mon, 12 Apr 2021 05:07:11 -0400 From: "Michael S. Tsirkin" To: Max Gurtovoy Subject: Re: [PATCH v2 1/3] virtio: update reset callback to return status Message-ID: <20210412050311-mutt-send-email-mst@kernel.org> References: <20210408081109.56537-1-mgurtovoy@nvidia.com> <16fa0e31-a305-3b41-b0d3-ad76aa00177b@redhat.com> <1f134102-4ccb-57e3-858d-3922d851ce8a@nvidia.com> <103ae6fe-1ffc-90a3-09cd-bcbbcbb8eee7@nvidia.com> <7d4599c5-348e-5ca1-8eb6-577d65dc4688@redhat.com> <96742dde-edba-0329-c9c2-b3ac3b28cf1d@nvidia.com> MIME-Version: 1.0 In-Reply-To: <96742dde-edba-0329-c9c2-b3ac3b28cf1d@nvidia.com> Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline Cc: kvm@vger.kernel.org, cohuck@redhat.com, virtualization@lists.linux-foundation.org, nitzanc@nvidia.com, oren@nvidia.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: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: virtualization-bounces@lists.linux-foundation.org Sender: "Virtualization" T24gU3VuLCBBcHIgMTEsIDIwMjEgYXQgMTI6NTA6MjJQTSArMDMwMCwgTWF4IEd1cnRvdm95IHdy b3RlOgo+IAo+IE9uIDQvOS8yMDIxIDg6MjIgQU0sIEphc29uIFdhbmcgd3JvdGU6Cj4gPiAKPiA+ IOWcqCAyMDIxLzQvOCDkuIvljYgxMDoyNCwgTWF4IEd1cnRvdm95IOWGmemBkzoKPiA+ID4gCj4g PiA+IE9uIDQvOC8yMDIxIDQ6MTQgUE0sIEphc29uIFdhbmcgd3JvdGU6Cj4gPiA+ID4gCj4gPiA+ ID4g5ZyoIDIwMjEvNC84IOS4i+WNiDU6NTYsIE1heCBHdXJ0b3ZveSDlhpnpgZM6Cj4gPiA+ID4g PiAKPiA+ID4gPiA+IE9uIDQvOC8yMDIxIDExOjU4IEFNLCBKYXNvbiBXYW5nIHdyb3RlOgo+ID4g PiA+ID4gPiAKPiA+ID4gPiA+ID4g5ZyoIDIwMjEvNC84IOS4i+WNiDQ6MTEsIE1heCBHdXJ0b3Zv eSDlhpnpgZM6Cj4gPiA+ID4gPiA+ID4gVGhlIHJlc2V0IGRldmljZSBvcGVyYXRpb24sIHVzdWFs bHkgaXMgYW4gb3BlcmF0aW9uCj4gPiA+ID4gPiA+ID4gdGhhdCBtaWdodCBmYWlsIGZyb20KPiA+ ID4gPiA+ID4gPiB2YXJpb3VzIHJlYXNvbnMuIEZvciBleGFtcGxlLCB0aGUgY29udHJvbGxlciBt aWdodAo+ID4gPiA+ID4gPiA+IGJlIGluIGEgYmFkIHN0YXRlIGFuZAo+ID4gPiA+ID4gPiA+IGNh bid0IGFuc3dlciB0byBhbnkgcmVxdWVzdC4gVXN1YWxseSwgdGhlIHBhcmF2aXJ0IFNXIGJhc2Vk IHZpcnRpbwo+ID4gPiA+ID4gPiA+IGRldmljZXMgYWx3YXlzIHN1Y2NlZWQgaW4gcmVzZXQgb3Bl cmF0aW9uIGJ1dCB0aGlzCj4gPiA+ID4gPiA+ID4gaXMgbm90IHRoZSBjYXNlIGZvcgo+ID4gPiA+ ID4gPiA+IEhXIGJhc2VkIHZpcnRpbyBkZXZpY2VzLgo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4g Cj4gPiA+ID4gPiA+IEkgd291bGQgbGlrZSB0byBrbm93IHVuZGVyIHdoYXQgY29uZGl0aW9uIHRo YXQgdGhlIHJlc2V0Cj4gPiA+ID4gPiA+IG9wZXJhdGlvbiBtYXkgZmFpbCAoZXhjZXB0IGZvciB0 aGUgY2FzZSBvZiBhIGJ1Z2cKPiA+ID4gPiA+ID4gZ3Vlc3QpLgo+ID4gPiA+ID4gCj4gPiA+ID4g PiBUaGUgY29udHJvbGxlciBtaWdodCBub3QgYmUgcmVhZHkgb3Igc3R1Y2suIFRoaXMgaXMgYSBy ZWFsCj4gPiA+ID4gPiB1c2UgY2FzZSBmb3IgbWFueSBQQ0kgZGV2aWNlcy4KPiA+ID4gPiA+IAo+ ID4gPiA+ID4gRm9yIHJlYWwgZGV2aWNlcyB0aGUgRlcgbWlnaHQgYmUgaW4gYSBiYWQgc3RhdGUg YW5kIGl0IGNhbgo+ID4gPiA+ID4gaGFwcGVuIGFsc28gZm9yIHBhcmF2aXJ0IGRldmljZSBpZiB5 b3UgaGF2ZSBhIGJ1ZyBpbiB0aGUKPiA+ID4gPiA+IGNvbnRyb2xsZXIgY29kZSBvciBpZiB5b3Ug ZW50ZXJlZCBzb21lIGVycm9yIGZsb3cgKE91dCBvZgo+ID4gPiA+ID4gbWVtb3J5KS4KPiA+ID4g PiA+IAo+ID4gPiA+ID4gWW91IGRvbid0IHdhbnQgdG8gYmUgc3R1Y2sgYmVjYXVzZSBvZiBvbmUg YmFkIGRldmljZS4KPiA+ID4gPiAKPiA+ID4gPiAKPiA+ID4gPiBTbyB0aGUgYnVnZ3kgZHJpdmVy IGNhbiBkYW1hZ2UgdGhlIGhvc3QgdGhyb3VnaCB2YXJpb3VzIHdheXMsCj4gPiA+ID4gSSdtIG5v dCBzdXJlIGRvaW5nIHN1Y2ggd29ya2Fyb3VuZCBpcyB3b3J0aHdoaWxlLgo+ID4gPiAKPiA+ID4g ZG8geW91IG1lYW4gZGV2aWNlID8KPiA+IAo+ID4gCj4gPiBZZXMuCj4gPiAKPiA+IAo+ID4gPiAK PiA+ID4gc29tZXRpbWVzIHlvdSBuZWVkIHRvIHJlcGxhY2UgZGV2aWNlIEZXIGFuZCBpdCB3aWxs IHdvcmsuCj4gPiA+IAo+ID4gPiBJIGRvbid0IHRoaW5rIGl0J3MgYSB3b3JrYXJvdW5kLiBPdGhl ciBwcm90b2NvbHMsIHN1Y2ggYXMgTlZNZSwKPiA+ID4gc29sdmVkIHRoaXMgaW4gdGhlIHNwZWNp ZmljYXRpb24uCj4gPiA+IAo+ID4gPiBQQ0kgY29uZmlnIHNwYWNlIGFuZCBQQ0kgY29udHJvbGxl ciBhcmUgc29tZXRpbWVzIDIgZGlmZmVyZW50Cj4gPiA+IGNvbXBvbmVudHMgYW5kIHNvbWV0aW1l cyB0aGUgY29udHJvbGxlciBpcyBub3QgYWN0aXZlLCBhbHRob3VnaCB0aGUKPiA+ID4gZGV2aWNl IGlzIHBsdWdnZWQgYW5kIHNlZW4gYnkgdGhlIFBDSSBzdWJzeXN0ZW0uCj4gPiAKPiA+IAo+ID4g U28gSSB0aGluayB3ZSBuZWVkIHBhdGNoIHRvIHNwZWMgdG8gc2VlIGlmIGl0IHdvcmtzIGZpcnN0 Lgo+IAo+IFdlIGNhbid0IGxlYXZlIHRoZSBkcml2ZXIgdG8gbG9vcCBmb3JldmVyIHdpdGhvdXQg YWxsb3dpbmcgbmV4dCAiZ29vZCIKPiB2aXJ0aW8gZGV2aWNlcyB0byBwcm9iZS4KPiAKPiBXZSBj YW4gaW4gcGFyYWxsZWwgbG9vayBmb3Igc3BlYyBmaXhlcyBidXQgZm9yIG5vdyB3ZSBtdXN0IGZp eCB0aGUgZHJpdmVyLgoKSSdkIGxpa2UgdG8gbmFycm93IHRoZSBjYXNlIHRob3VnaC4gdGhlIHBy b3BlciB0aGluZwp3b3VsZCBwcm9iYWJseSBiZSBmb3IgZGV2aWNlIHRvIGNsZWFyIHRoZSBzdGF0 dXMuClByb3ZpZGVkIGl0IGVudGVyZWQgc29tZSBzdGF0ZSB3aGVyZSBpdCBjYW4gbm90IGRvIGl0 IC0KaXMgdGhlcmUgYW55dGhpbmcgc3BlY2lhbCBhYm91dAp0aGUgZGV2aWNlIHN0YXRlIHRoYXQg KmNhbiogYmUgZGV0ZWN0ZWQ/CklmIHllcyB3aGF0IGlzIGl0PwoKCj4gVGhlIGZpeCBjYW4gYmUg dXNpbmcgdGhlIG1lY2hhbmlzbSBpbnRyb2R1Y2VkIGluIHRoaXMgc2VyaWVzIG9yIGFkZGluZyBh bgo+IGFzeW5jIHByb2JpbmcgbWVjaGFuaXNtLgoKV2hhdCB3b3VsZCB0aGF0IGJlPwoKPiBJbiBi b3RoIHNvbHV0aW9ucywgd2UgY2FuJ3QgYWxsb3cgbG9vcGluZyBmb3JldmVyLgoKTXVsdGlwbGUg bWludXRlIGRvd250aW1lIGlzbid0IG11Y2ggYmV0dGVyIGVpdGhlci4gSSdkIGxpa2UgYQptdWNo IHNob3J0ZXIgdGltZXIgb3IgZXZlbiBubyB0aW1lciBhdCBhbGwsIGluc3RlYWQKdmVyaWZ5aW5n IHRoYXQgZGV2aWNlIGlzIGFsaXZlIGV2ZXJ5IFggaXRlcmF0aW9ucy4KCj4gPiAKPiA+IAo+ID4g PiAKPiA+ID4gCj4gPiA+ID4gCj4gPiA+ID4gTm90ZSB0aGF0IHRoaXMgZHJpdmVyIGhhcyBiZWVu IHVzZWQgZm9yIHJlYWwgaGFyZHdhcmUgUENJCj4gPiA+ID4gZGV2aWNlcyBmb3IgbWFueSB5ZWFy cy4gV2UgZG9uJ3QgcmVjZWl2ZSBhbnkgcmVwb3J0IG9mIHRoaXMKPiA+ID4gPiBiZWZvcmUuCj4g PiA+ID4gCj4gPiA+ID4gCj4gPiA+ID4gPiAKPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiAKPiA+ID4g PiA+ID4gCj4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gVGhpcyBjb21taXQgaXMgYWxzbyBh IHByZXBhcmF0aW9uIGZvciBhZGRpbmcgYSB0aW1lb3V0IG1lY2hhbmlzbSBmb3IKPiA+ID4gPiA+ ID4gPiByZXNldHRpbmcgdmlydGlvIGRldmljZXMuCj4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ ID4gU2lnbmVkLW9mZi1ieTogTWF4IEd1cnRvdm95IDxtZ3VydG92b3lAbnZpZGlhLmNvbT4KPiA+ ID4gPiA+ID4gPiAtLS0KPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiBjaGFuZ2VzIGZyb20g djE6Cj4gPiA+ID4gPiA+ID4gwqAgLSB1cGRhdGUgdmlydGlvX2Njdy5jIChDb3JuZWxpYSkKPiA+ ID4gPiA+ID4gPiDCoCAtIHVwZGF0ZSB2aXJ0aW9fdW1sLmMKPiA+ID4gPiA+ID4gPiDCoCAtIHVw ZGF0ZSBtbHhiZi10bWZpZm8uYwo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ IE5vdGUgdGhhdCB2aXJ0aW8gZHJpdmVyIG1heSBjYWxsIHJlc2V0LCBzbyB5b3UgcHJvYmFibHkK PiA+ID4gPiA+ID4gbmVlZCB0byBjb252ZXJ0IHRoZW0uCj4gPiA+ID4gPiAKPiA+ID4gPiA+IEkn bSBzdXJlIEkgdW5kZXJzdGFuZC4KPiA+ID4gPiA+IAo+ID4gPiA+ID4gQ29udmVydCB0byB3aGF0 ID8KPiA+ID4gPiAKPiA+ID4gPiAKPiA+ID4gPiBDb252ZXJ0IHRvIGRlYWwgd2l0aCB0aGUgcG9z c2libGUgcmVzdCBmYWlsdXJlLiBFLmcgaW4KPiA+ID4gPiB2aXJ0YmxrX2ZyZWV6ZSgpIHdlIGhh ZDoKPiA+ID4gPiAKPiA+ID4gPiBzdGF0aWMgaW50IHZpcnRibGtfZnJlZXplKHN0cnVjdCB2aXJ0 aW9fZGV2aWNlICp2ZGV2KQo+ID4gPiA+IHsKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3Qg dmlydGlvX2JsayAqdmJsayA9IHZkZXYtPnByaXY7Cj4gPiA+ID4gCj4gPiA+ID4gwqDCoMKgwqDC oMKgwqAgLyogRW5zdXJlIHdlIGRvbid0IHJlY2VpdmUgYW55IG1vcmUgaW50ZXJydXB0cyAqLwo+ ID4gPiA+IMKgwqDCoMKgwqDCoMKgIHZkZXYtPmNvbmZpZy0+cmVzZXQodmRldik7Cj4gPiA+ID4g Li4uCj4gPiA+ID4gCj4gPiA+ID4gV2UgbmVlZCBmYWlsIHRoZSBmcmVlemUgaGVyZS4KPiA+ID4g Cj4gPiA+IAo+ID4gPiBBZ3JlZS4KPiA+ID4gCj4gPiA+IAo+ID4gPiA+IAo+ID4gPiA+IEFub3Ro ZXIgZXhhbXBsZSBpcyB0aGUgZHJpdmVyIHJlbW92ZSB3aGljaCBpcyBub3QgZXhwZWN0ZWQgdG8g YmUKPiA+ID4gPiBmYWlsLiBBIGxvdCBvZiB2aXJ0aW8gZHJpdmVycyB0cmllcyB0byBjYWxsIHJl c2V0IHRoZXJlLiBJJ20gbm90Cj4gPiA+ID4gc3VyZSBob3cgaGFyZCB0byBkZWFsIHdpdGggdGhl IGZhaWx1cmUgaW4gdGhlIHBhdGggb2YgcmVtb3ZlCj4gPiA+ID4gKGUuZyBfX2RldmljZV9yZWxl YXNlX2RyaXZlciB0ZW5kcyB0byBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZgo+ID4gPiA+IGJ1 cy0+cmVtb3ZlKCkuKQo+ID4gPiAKPiA+ID4gSSB0aGluayBpdCBjYW4gc3RheSBhcy1pcyBhbmQg aWdub3JlIHRoZSAtPnJlc2V0IHJldHVybiB2YWx1ZSBhbmQKPiA+ID4gY29udGludWUgZnJlZSB0 aGUgb3RoZXIgcmVzb3VyY2VzIHRvIGF2b2lkIGxlYWthZ2UuCj4gPiAKPiA+IAo+ID4gVGhlIHBy b2JsZW0gaXMgdGhhdCBpdCdzIHVuY2xlYXIgdGhhdCB3aGF0IGtpbmQgb2YgYmVoYXZpb3VyIHdv dWxkIHRoZQo+ID4gZGV2aWNlIGRvLCBlLmcgY2FuIGl0IHN0aWxsIHNlbmQgaW50ZXJydXB0cz8K PiA+IAo+ID4gVGhhdCdzIHdoeSB3ZSBuZWVkIHRvIGZvcm1hbGl6ZSB0aGUgYmFodmlvdXIgZmly c3QgaWYgbmVjZXNzYXJ5Lgo+ID4gCj4gPiBUaGFua3MKPiA+IAo+ID4gCj4gPiA+IAo+ID4gPiAK PiA+ID4gPiAKPiA+ID4gPiBUaGFua3MKPiA+ID4gPiAKPiA+ID4gPiAKPiA+ID4gPiA+IAo+ID4g PiA+ID4gVGhhbmtzLgo+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiBUaGFua3MK PiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+IC0t LQo+ID4gPiA+ID4gPiA+IMKgIGFyY2gvdW0vZHJpdmVycy92aXJ0aW9fdW1sLmPCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgfMKgIDQgKysrLQo+ID4gPiA+ID4gPiA+IMKgIGRyaXZlcnMvcGxhdGZv cm0vbWVsbGFub3gvbWx4YmYtdG1maWZvLmMgfMKgIDQgKysrLQo+ID4gPiA+ID4gPiA+IMKgIGRy aXZlcnMvcmVtb3RlcHJvYy9yZW1vdGVwcm9jX3ZpcnRpby5jwqDCoCB8wqAgNCArKystCj4gPiA+ ID4gPiA+ID4gwqAgZHJpdmVycy9zMzkwL3ZpcnRpby92aXJ0aW9fY2N3LmPCoMKgwqDCoMKgwqDC oMKgIHzCoCA5ICsrKysrKy0tLQo+ID4gPiA+ID4gPiA+IMKgIGRyaXZlcnMvdmlydGlvL3ZpcnRp by5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDIyCj4gPiA+ID4gPiA+ID4g KysrKysrKysrKysrKysrLS0tLS0tLQo+ID4gPiA+ID4gPiA+IMKgIGRyaXZlcnMvdmlydGlvL3Zp cnRpb19tbWlvLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDMgKystCj4gPiA+ID4gPiA+ ID4gwqAgZHJpdmVycy92aXJ0aW8vdmlydGlvX3BjaV9sZWdhY3kuY8KgwqDCoMKgwqDCoCB8wqAg NCArKystCj4gPiA+ID4gPiA+ID4gwqAgZHJpdmVycy92aXJ0aW8vdmlydGlvX3BjaV9tb2Rlcm4u Y8KgwqDCoMKgwqDCoCB8wqAgMyArKy0KPiA+ID4gPiA+ID4gPiDCoCBkcml2ZXJzL3ZpcnRpby92 aXJ0aW9fdmRwYS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCA0ICsrKy0KPiA+ID4gPiA+ ID4gPiDCoCBpbmNsdWRlL2xpbnV4L3ZpcnRpb19jb25maWcuaMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgfMKgIDUgKysrLS0KPiA+ID4gPiA+ID4gPiDCoCAxMCBmaWxlcyBjaGFuZ2VkLCA0MyBpbnNl cnRpb25zKCspLCAxOSBkZWxldGlvbnMoLSkKPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiBk aWZmIC0tZ2l0IGEvYXJjaC91bS9kcml2ZXJzL3ZpcnRpb191bWwuYwo+ID4gPiA+ID4gPiA+IGIv YXJjaC91bS9kcml2ZXJzL3ZpcnRpb191bWwuYwo+ID4gPiA+ID4gPiA+IGluZGV4IDkxZGRmNzRj YTg4OC4uYjZlNjYyNjVlZDMyIDEwMDY0NAo+ID4gPiA+ID4gPiA+IC0tLSBhL2FyY2gvdW0vZHJp dmVycy92aXJ0aW9fdW1sLmMKPiA+ID4gPiA+ID4gPiArKysgYi9hcmNoL3VtL2RyaXZlcnMvdmly dGlvX3VtbC5jCj4gPiA+ID4gPiA+ID4gQEAgLTgyNywxMSArODI3LDEzIEBAIHN0YXRpYyB2b2lk Cj4gPiA+ID4gPiA+ID4gdnVfc2V0X3N0YXR1cyhzdHJ1Y3QgdmlydGlvX2RldmljZSAqdmRldiwg dTggc3RhdHVzKQo+ID4gPiA+ID4gPiA+IMKgwqDCoMKgwqAgdnVfZGV2LT5zdGF0dXMgPSBzdGF0 dXM7Cj4gPiA+ID4gPiA+ID4gwqAgfQo+ID4gPiA+ID4gPiA+IMKgIC1zdGF0aWMgdm9pZCB2dV9y ZXNldChzdHJ1Y3QgdmlydGlvX2RldmljZSAqdmRldikKPiA+ID4gPiA+ID4gPiArc3RhdGljIGlu dCB2dV9yZXNldChzdHJ1Y3QgdmlydGlvX2RldmljZSAqdmRldikKPiA+ID4gPiA+ID4gPiDCoCB7 Cj4gPiA+ID4gPiA+ID4gwqDCoMKgwqDCoCBzdHJ1Y3QgdmlydGlvX3VtbF9kZXZpY2UgKnZ1X2Rl diA9IHRvX3ZpcnRpb191bWxfZGV2aWNlKHZkZXYpOwo+ID4gPiA+ID4gPiA+IMKgIMKgwqDCoMKg wqAgdnVfZGV2LT5zdGF0dXMgPSAwOwo+ID4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gPiArwqDC oMKgIHJldHVybiAwOwo+ID4gPiA+ID4gPiA+IMKgIH0KPiA+ID4gPiA+ID4gPiDCoCDCoCBzdGF0 aWMgdm9pZCB2dV9kZWxfdnEoc3RydWN0IHZpcnRxdWV1ZSAqdnEpCj4gPiA+ID4gPiA+ID4gZGlm ZiAtLWdpdAo+ID4gPiA+ID4gPiA+IGEvZHJpdmVycy9wbGF0Zm9ybS9tZWxsYW5veC9tbHhiZi10 bWZpZm8uYwo+ID4gPiA+ID4gPiA+IGIvZHJpdmVycy9wbGF0Zm9ybS9tZWxsYW5veC9tbHhiZi10 bWZpZm8uYwo+ID4gPiA+ID4gPiA+IGluZGV4IGJiYzRlNzFhMTZmZi4uYzE5MmI4YWM1ZDllIDEw MDY0NAo+ID4gPiA+ID4gPiA+IC0tLSBhL2RyaXZlcnMvcGxhdGZvcm0vbWVsbGFub3gvbWx4YmYt dG1maWZvLmMKPiA+ID4gPiA+ID4gPiArKysgYi9kcml2ZXJzL3BsYXRmb3JtL21lbGxhbm94L21s eGJmLXRtZmlmby5jCj4gPiA+ID4gPiA+ID4gQEAgLTk4MCwxMSArOTgwLDEzIEBAIHN0YXRpYyB2 b2lkCj4gPiA+ID4gPiA+ID4gbWx4YmZfdG1maWZvX3ZpcnRpb19zZXRfc3RhdHVzKHN0cnVjdCB2 aXJ0aW9fZGV2aWNlCj4gPiA+ID4gPiA+ID4gKnZkZXYsCj4gPiA+ID4gPiA+ID4gwqAgfQo+ID4g PiA+ID4gPiA+IMKgIMKgIC8qIFJlc2V0IHRoZSBkZXZpY2UuIE5vdCBtdWNoIGhlcmUgZm9yIG5v dy4gKi8KPiA+ID4gPiA+ID4gPiAtc3RhdGljIHZvaWQgbWx4YmZfdG1maWZvX3ZpcnRpb19yZXNl dChzdHJ1Y3QgdmlydGlvX2RldmljZSAqdmRldikKPiA+ID4gPiA+ID4gPiArc3RhdGljIGludCBt bHhiZl90bWZpZm9fdmlydGlvX3Jlc2V0KHN0cnVjdCB2aXJ0aW9fZGV2aWNlICp2ZGV2KQo+ID4g PiA+ID4gPiA+IMKgIHsKPiA+ID4gPiA+ID4gPiDCoMKgwqDCoMKgIHN0cnVjdCBtbHhiZl90bWZp Zm9fdmRldiAqdG1fdmRldiA9Cj4gPiA+ID4gPiA+ID4gbWx4YmZfdmRldl90b190bWZpZm8odmRl dik7Cj4gPiA+ID4gPiA+ID4gwqAgwqDCoMKgwqDCoCB0bV92ZGV2LT5zdGF0dXMgPSAwOwo+ID4g PiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gPiArwqDCoMKgIHJldHVybiAwOwo+ID4gPiA+ID4gPiA+ IMKgIH0KPiA+ID4gPiA+ID4gPiDCoCDCoCAvKiBSZWFkIHRoZSB2YWx1ZSBvZiBhIGNvbmZpZ3Vy YXRpb24gZmllbGQuICovCj4gPiA+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcmVtb3Rl cHJvYy9yZW1vdGVwcm9jX3ZpcnRpby5jCj4gPiA+ID4gPiA+ID4gYi9kcml2ZXJzL3JlbW90ZXBy b2MvcmVtb3RlcHJvY192aXJ0aW8uYwo+ID4gPiA+ID4gPiA+IGluZGV4IDBjYzYxN2Y3NjA2OC4u Y2E5NTczYzYyYzNkIDEwMDY0NAo+ID4gPiA+ID4gPiA+IC0tLSBhL2RyaXZlcnMvcmVtb3RlcHJv Yy9yZW1vdGVwcm9jX3ZpcnRpby5jCj4gPiA+ID4gPiA+ID4gKysrIGIvZHJpdmVycy9yZW1vdGVw cm9jL3JlbW90ZXByb2NfdmlydGlvLmMKPiA+ID4gPiA+ID4gPiBAQCAtMTkxLDcgKzE5MSw3IEBA IHN0YXRpYyB2b2lkCj4gPiA+ID4gPiA+ID4gcnByb2NfdmlydGlvX3NldF9zdGF0dXMoc3RydWN0 IHZpcnRpb19kZXZpY2UgKnZkZXYsCj4gPiA+ID4gPiA+ID4gdTggc3RhdHVzKQo+ID4gPiA+ID4g PiA+IMKgwqDCoMKgwqAgZGV2X2RiZygmdmRldi0+ZGV2LCAic3RhdHVzOiAlZFxuIiwgc3RhdHVz KTsKPiA+ID4gPiA+ID4gPiDCoCB9Cj4gPiA+ID4gPiA+ID4gwqAgLXN0YXRpYyB2b2lkIHJwcm9j X3ZpcnRpb19yZXNldChzdHJ1Y3QgdmlydGlvX2RldmljZSAqdmRldikKPiA+ID4gPiA+ID4gPiAr c3RhdGljIGludCBycHJvY192aXJ0aW9fcmVzZXQoc3RydWN0IHZpcnRpb19kZXZpY2UgKnZkZXYp Cj4gPiA+ID4gPiA+ID4gwqAgewo+ID4gPiA+ID4gPiA+IMKgwqDCoMKgwqAgc3RydWN0IHJwcm9j X3ZkZXYgKnJ2ZGV2ID0gdmRldl90b19ydmRldih2ZGV2KTsKPiA+ID4gPiA+ID4gPiDCoMKgwqDC oMKgIHN0cnVjdCBmd19yc2NfdmRldiAqcnNjOwo+ID4gPiA+ID4gPiA+IEBAIC0yMDAsNiArMjAw LDggQEAgc3RhdGljIHZvaWQKPiA+ID4gPiA+ID4gPiBycHJvY192aXJ0aW9fcmVzZXQoc3RydWN0 IHZpcnRpb19kZXZpY2UgKnZkZXYpCj4gPiA+ID4gPiA+ID4gwqAgwqDCoMKgwqDCoCByc2MtPnN0 YXR1cyA9IDA7Cj4gPiA+ID4gPiA+ID4gwqDCoMKgwqDCoCBkZXZfZGJnKCZ2ZGV2LT5kZXYsICJy ZXNldCAhXG4iKTsKPiA+ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ID4gK8KgwqDCoCByZXR1cm4g MDsKPiA+ID4gPiA+ID4gPiDCoCB9Cj4gPiA+ID4gPiA+ID4gwqAgwqAgLyogcHJvdmlkZSB0aGUg dmRldiBmZWF0dXJlcyBhcyByZXRyaWV2ZWQgZnJvbSB0aGUgZmlybXdhcmUgKi8KPiA+ID4gPiA+ ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL3ZpcnRpby92aXJ0aW9fY2N3LmMKPiA+ID4g PiA+ID4gPiBiL2RyaXZlcnMvczM5MC92aXJ0aW8vdmlydGlvX2Njdy5jCj4gPiA+ID4gPiA+ID4g aW5kZXggNTRlNjg2ZGNhNmRlLi41MmIzMjU1NWU3NDYgMTAwNjQ0Cj4gPiA+ID4gPiA+ID4gLS0t IGEvZHJpdmVycy9zMzkwL3ZpcnRpby92aXJ0aW9fY2N3LmMKPiA+ID4gPiA+ID4gPiArKysgYi9k cml2ZXJzL3MzOTAvdmlydGlvL3ZpcnRpb19jY3cuYwo+ID4gPiA+ID4gPiA+IEBAIC03MzIsMTQg KzczMiwxNSBAQCBzdGF0aWMgaW50Cj4gPiA+ID4gPiA+ID4gdmlydGlvX2Njd19maW5kX3Zxcyhz dHJ1Y3QgdmlydGlvX2RldmljZSAqdmRldiwKPiA+ID4gPiA+ID4gPiB1bnNpZ25lZCBudnFzLAo+ ID4gPiA+ID4gPiA+IMKgwqDCoMKgwqAgcmV0dXJuIHJldDsKPiA+ID4gPiA+ID4gPiDCoCB9Cj4g PiA+ID4gPiA+ID4gwqAgLXN0YXRpYyB2b2lkIHZpcnRpb19jY3dfcmVzZXQoc3RydWN0IHZpcnRp b19kZXZpY2UgKnZkZXYpCj4gPiA+ID4gPiA+ID4gK3N0YXRpYyBpbnQgdmlydGlvX2Njd19yZXNl dChzdHJ1Y3QgdmlydGlvX2RldmljZSAqdmRldikKPiA+ID4gPiA+ID4gPiDCoCB7Cj4gPiA+ID4g PiA+ID4gwqDCoMKgwqDCoCBzdHJ1Y3QgdmlydGlvX2Njd19kZXZpY2UgKnZjZGV2ID0gdG9fdmNf ZGV2aWNlKHZkZXYpOwo+ID4gPiA+ID4gPiA+IMKgwqDCoMKgwqAgc3RydWN0IGNjdzEgKmNjdzsK PiA+ID4gPiA+ID4gPiArwqDCoMKgIGludCByZXQ7Cj4gPiA+ID4gPiA+ID4gwqAgwqDCoMKgwqDC oCBjY3cgPSBjY3dfZGV2aWNlX2RtYV96YWxsb2ModmNkZXYtPmNkZXYsIHNpemVvZigqY2N3KSk7 Cj4gPiA+ID4gPiA+ID4gwqDCoMKgwqDCoCBpZiAoIWNjdykKPiA+ID4gPiA+ID4gPiAtwqDCoMKg wqDCoMKgwqAgcmV0dXJuOwo+ID4gPiA+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gLUVO T01FTTsKPiA+ID4gPiA+ID4gPiDCoCDCoMKgwqDCoMKgIC8qIFplcm8gc3RhdHVzIGJpdHMuICov Cj4gPiA+ID4gPiA+ID4gwqDCoMKgwqDCoCB2Y2Rldi0+ZG1hX2FyZWEtPnN0YXR1cyA9IDA7Cj4g PiA+ID4gPiA+ID4gQEAgLTc0OSw4ICs3NTAsMTAgQEAgc3RhdGljIHZvaWQKPiA+ID4gPiA+ID4g PiB2aXJ0aW9fY2N3X3Jlc2V0KHN0cnVjdCB2aXJ0aW9fZGV2aWNlICp2ZGV2KQo+ID4gPiA+ID4g PiA+IMKgwqDCoMKgwqAgY2N3LT5mbGFncyA9IDA7Cj4gPiA+ID4gPiA+ID4gwqDCoMKgwqDCoCBj Y3ctPmNvdW50ID0gMDsKPiA+ID4gPiA+ID4gPiDCoMKgwqDCoMKgIGNjdy0+Y2RhID0gMDsKPiA+ ID4gPiA+ID4gPiAtwqDCoMKgIGNjd19pb19oZWxwZXIodmNkZXYsIGNjdywgVklSVElPX0NDV19E T0lOR19SRVNFVCk7Cj4gPiA+ID4gPiA+ID4gK8KgwqDCoCByZXQgPSBjY3dfaW9faGVscGVyKHZj ZGV2LCBjY3csIFZJUlRJT19DQ1dfRE9JTkdfUkVTRVQpOwo+ID4gPiA+ID4gPiA+IMKgwqDCoMKg wqAgY2N3X2RldmljZV9kbWFfZnJlZSh2Y2Rldi0+Y2RldiwgY2N3LCBzaXplb2YoKmNjdykpOwo+ ID4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gPiArwqDCoMKgIHJldHVybiByZXQ7Cj4gPiA+ID4g PiA+ID4gwqAgfQo+ID4gPiA+ID4gPiA+IMKgIMKgIHN0YXRpYyB1NjQgdmlydGlvX2Njd19nZXRf ZmVhdHVyZXMoc3RydWN0IHZpcnRpb19kZXZpY2UgKnZkZXYpCj4gPiA+ID4gPiA+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvdmlydGlvL3ZpcnRpby5jIGIvZHJpdmVycy92aXJ0aW8vdmlydGlvLmMK PiA+ID4gPiA+ID4gPiBpbmRleCA0YjE1YzAwYzBhMGEuLmRkYmZkNWI1ZjNiZCAxMDA2NDQKPiA+ ID4gPiA+ID4gPiAtLS0gYS9kcml2ZXJzL3ZpcnRpby92aXJ0aW8uYwo+ID4gPiA+ID4gPiA+ICsr KyBiL2RyaXZlcnMvdmlydGlvL3ZpcnRpby5jCj4gPiA+ID4gPiA+ID4gQEAgLTMzOCw3ICszMzgs NyBAQCBpbnQKPiA+ID4gPiA+ID4gPiByZWdpc3Rlcl92aXJ0aW9fZGV2aWNlKHN0cnVjdCB2aXJ0 aW9fZGV2aWNlICpkZXYpCj4gPiA+ID4gPiA+ID4gwqDCoMKgwqDCoCAvKiBBc3NpZ24gYSB1bmlx dWUgZGV2aWNlIGluZGV4IGFuZCBoZW5jZSBuYW1lLiAqLwo+ID4gPiA+ID4gPiA+IMKgwqDCoMKg wqAgZXJyID0gaWRhX3NpbXBsZV9nZXQoJnZpcnRpb19pbmRleF9pZGEsIDAsIDAsIEdGUF9LRVJO RUwpOwo+ID4gPiA+ID4gPiA+IMKgwqDCoMKgwqAgaWYgKGVyciA8IDApCj4gPiA+ID4gPiA+ID4g LcKgwqDCoMKgwqDCoMKgIGdvdG8gb3V0Owo+ID4gPiA+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoCBn b3RvIG91dF9lcnI7Cj4gPiA+ID4gPiA+ID4gwqAgwqDCoMKgwqDCoCBkZXYtPmluZGV4ID0gZXJy Owo+ID4gPiA+ID4gPiA+IMKgwqDCoMKgwqAgZGV2X3NldF9uYW1lKCZkZXYtPmRldiwgInZpcnRp byV1IiwgZGV2LT5pbmRleCk7Cj4gPiA+ID4gPiA+ID4gQEAgLTM0OSw3ICszNDksOSBAQCBpbnQK PiA+ID4gPiA+ID4gPiByZWdpc3Rlcl92aXJ0aW9fZGV2aWNlKHN0cnVjdCB2aXJ0aW9fZGV2aWNl ICpkZXYpCj4gPiA+ID4gPiA+ID4gwqAgwqDCoMKgwqDCoCAvKiBXZSBhbHdheXMgc3RhcnQgYnkg cmVzZXR0aW5nIHRoZSBkZXZpY2UsCj4gPiA+ID4gPiA+ID4gaW4gY2FzZSBhIHByZXZpb3VzCj4g PiA+ID4gPiA+ID4gwqDCoMKgwqDCoMKgICogZHJpdmVyIG1lc3NlZCBpdCB1cC7CoCBUaGlzIGFs c28gdGVzdHMgdGhhdAo+ID4gPiA+ID4gPiA+IGNvZGUgcGF0aCBhIGxpdHRsZS4gKi8KPiA+ID4g PiA+ID4gPiAtwqDCoMKgIGRldi0+Y29uZmlnLT5yZXNldChkZXYpOwo+ID4gPiA+ID4gPiA+ICvC oMKgwqAgZXJyID0gZGV2LT5jb25maWctPnJlc2V0KGRldik7Cj4gPiA+ID4gPiA+ID4gK8KgwqDC oCBpZiAoZXJyKQo+ID4gPiA+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoCBnb3RvIG91dF9pZGE7Cj4g PiA+ID4gPiA+ID4gwqAgwqDCoMKgwqDCoCAvKiBBY2tub3dsZWRnZSB0aGF0IHdlJ3ZlIHNlZW4g dGhlIGRldmljZS4gKi8KPiA+ID4gPiA+ID4gPiDCoMKgwqDCoMKgIHZpcnRpb19hZGRfc3RhdHVz KGRldiwgVklSVElPX0NPTkZJR19TX0FDS05PV0xFREdFKTsKPiA+ID4gPiA+ID4gPiBAQCAtMzYy LDEwICszNjQsMTQgQEAgaW50Cj4gPiA+ID4gPiA+ID4gcmVnaXN0ZXJfdmlydGlvX2RldmljZShz dHJ1Y3QgdmlydGlvX2RldmljZSAqZGV2KQo+ID4gPiA+ID4gPiA+IMKgwqDCoMKgwqDCoCAqLwo+ ID4gPiA+ID4gPiA+IMKgwqDCoMKgwqAgZXJyID0gZGV2aWNlX2FkZCgmZGV2LT5kZXYpOwo+ID4g PiA+ID4gPiA+IMKgwqDCoMKgwqAgaWYgKGVycikKPiA+ID4gPiA+ID4gPiAtwqDCoMKgwqDCoMKg wqAgaWRhX3NpbXBsZV9yZW1vdmUoJnZpcnRpb19pbmRleF9pZGEsIGRldi0+aW5kZXgpOwo+ID4g PiA+ID4gPiA+IC1vdXQ6Cj4gPiA+ID4gPiA+ID4gLcKgwqDCoCBpZiAoZXJyKQo+ID4gPiA+ID4g PiA+IC3CoMKgwqDCoMKgwqDCoCB2aXJ0aW9fYWRkX3N0YXR1cyhkZXYsIFZJUlRJT19DT05GSUdf U19GQUlMRUQpOwo+ID4gPiA+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoCBnb3RvIG91dF9pZGE7Cj4g PiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiA+ICvCoMKgwqAgcmV0dXJuIDA7Cj4gPiA+ID4gPiA+ ID4gKwo+ID4gPiA+ID4gPiA+ICtvdXRfaWRhOgo+ID4gPiA+ID4gPiA+ICvCoMKgwqAgaWRhX3Np bXBsZV9yZW1vdmUoJnZpcnRpb19pbmRleF9pZGEsIGRldi0+aW5kZXgpOwo+ID4gPiA+ID4gPiA+ ICtvdXRfZXJyOgo+ID4gPiA+ID4gPiA+ICvCoMKgwqAgdmlydGlvX2FkZF9zdGF0dXMoZGV2LCBW SVJUSU9fQ09ORklHX1NfRkFJTEVEKTsKPiA+ID4gPiA+ID4gPiDCoMKgwqDCoMKgIHJldHVybiBl cnI7Cj4gPiA+ID4gPiA+ID4gwqAgfQo+ID4gPiA+ID4gPiA+IMKgIEVYUE9SVF9TWU1CT0xfR1BM KHJlZ2lzdGVyX3ZpcnRpb19kZXZpY2UpOwo+ID4gPiA+ID4gPiA+IEBAIC00MDgsNyArNDE0LDkg QEAgaW50IHZpcnRpb19kZXZpY2VfcmVzdG9yZShzdHJ1Y3QKPiA+ID4gPiA+ID4gPiB2aXJ0aW9f ZGV2aWNlICpkZXYpCj4gPiA+ID4gPiA+ID4gwqAgwqDCoMKgwqDCoCAvKiBXZSBhbHdheXMgc3Rh cnQgYnkgcmVzZXR0aW5nIHRoZSBkZXZpY2UsCj4gPiA+ID4gPiA+ID4gaW4gY2FzZSBhIHByZXZp b3VzCj4gPiA+ID4gPiA+ID4gwqDCoMKgwqDCoMKgICogZHJpdmVyIG1lc3NlZCBpdCB1cC4gKi8K PiA+ID4gPiA+ID4gPiAtwqDCoMKgIGRldi0+Y29uZmlnLT5yZXNldChkZXYpOwo+ID4gPiA+ID4g PiA+ICvCoMKgwqAgcmV0ID0gZGV2LT5jb25maWctPnJlc2V0KGRldik7Cj4gPiA+ID4gPiA+ID4g K8KgwqDCoCBpZiAocmV0KQo+ID4gPiA+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoCBnb3RvIGVycjsK PiA+ID4gPiA+ID4gPiDCoCDCoMKgwqDCoMKgIC8qIEFja25vd2xlZGdlIHRoYXQgd2UndmUgc2Vl biB0aGUgZGV2aWNlLiAqLwo+ID4gPiA+ID4gPiA+IMKgwqDCoMKgwqAgdmlydGlvX2FkZF9zdGF0 dXMoZGV2LCBWSVJUSU9fQ09ORklHX1NfQUNLTk9XTEVER0UpOwo+ID4gPiA+ID4gPiA+IGRpZmYg LS1naXQgYS9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fbW1pby5jCj4gPiA+ID4gPiA+ID4gYi9kcml2 ZXJzL3ZpcnRpby92aXJ0aW9fbW1pby5jCj4gPiA+ID4gPiA+ID4gaW5kZXggNTYxMjhiOWM0NmVi Li4xMmI4ZjA0OGM0OGQgMTAwNjQ0Cj4gPiA+ID4gPiA+ID4gLS0tIGEvZHJpdmVycy92aXJ0aW8v dmlydGlvX21taW8uYwo+ID4gPiA+ID4gPiA+ICsrKyBiL2RyaXZlcnMvdmlydGlvL3ZpcnRpb19t bWlvLmMKPiA+ID4gPiA+ID4gPiBAQCAtMjU2LDEyICsyNTYsMTMgQEAgc3RhdGljIHZvaWQKPiA+ ID4gPiA+ID4gPiB2bV9zZXRfc3RhdHVzKHN0cnVjdCB2aXJ0aW9fZGV2aWNlICp2ZGV2LCB1OCBz dGF0dXMpCj4gPiA+ID4gPiA+ID4gwqDCoMKgwqDCoCB3cml0ZWwoc3RhdHVzLCB2bV9kZXYtPmJh c2UgKyBWSVJUSU9fTU1JT19TVEFUVVMpOwo+ID4gPiA+ID4gPiA+IMKgIH0KPiA+ID4gPiA+ID4g PiDCoCAtc3RhdGljIHZvaWQgdm1fcmVzZXQoc3RydWN0IHZpcnRpb19kZXZpY2UgKnZkZXYpCj4g PiA+ID4gPiA+ID4gK3N0YXRpYyBpbnQgdm1fcmVzZXQoc3RydWN0IHZpcnRpb19kZXZpY2UgKnZk ZXYpCj4gPiA+ID4gPiA+ID4gwqAgewo+ID4gPiA+ID4gPiA+IMKgwqDCoMKgwqAgc3RydWN0IHZp cnRpb19tbWlvX2RldmljZSAqdm1fZGV2ID0KPiA+ID4gPiA+ID4gPiB0b192aXJ0aW9fbW1pb19k ZXZpY2UodmRldik7Cj4gPiA+ID4gPiA+ID4gwqAgwqDCoMKgwqDCoCAvKiAwIHN0YXR1cyBtZWFu cyBhIHJlc2V0LiAqLwo+ID4gPiA+ID4gPiA+IMKgwqDCoMKgwqAgd3JpdGVsKDAsIHZtX2Rldi0+ YmFzZSArIFZJUlRJT19NTUlPX1NUQVRVUyk7Cj4gPiA+ID4gPiA+ID4gK8KgwqDCoCByZXR1cm4g MDsKPiA+ID4gPiA+ID4gPiDCoCB9Cj4gPiA+ID4gPiA+ID4gwqAgwqAgZGlmZiAtLWdpdCBhL2Ry aXZlcnMvdmlydGlvL3ZpcnRpb19wY2lfbGVnYWN5LmMKPiA+ID4gPiA+ID4gPiBiL2RyaXZlcnMv dmlydGlvL3ZpcnRpb19wY2lfbGVnYWN5LmMKPiA+ID4gPiA+ID4gPiBpbmRleCBkNjJlOTgzNWFl ZWMuLjBiNWQ5NWUzZWZhMSAxMDA2NDQKPiA+ID4gPiA+ID4gPiAtLS0gYS9kcml2ZXJzL3ZpcnRp by92aXJ0aW9fcGNpX2xlZ2FjeS5jCj4gPiA+ID4gPiA+ID4gKysrIGIvZHJpdmVycy92aXJ0aW8v dmlydGlvX3BjaV9sZWdhY3kuYwo+ID4gPiA+ID4gPiA+IEBAIC04OSw3ICs4OSw3IEBAIHN0YXRp YyB2b2lkIHZwX3NldF9zdGF0dXMoc3RydWN0Cj4gPiA+ID4gPiA+ID4gdmlydGlvX2RldmljZSAq dmRldiwgdTggc3RhdHVzKQo+ID4gPiA+ID4gPiA+IMKgwqDCoMKgwqAgaW93cml0ZTgoc3RhdHVz LCB2cF9kZXYtPmlvYWRkciArIFZJUlRJT19QQ0lfU1RBVFVTKTsKPiA+ID4gPiA+ID4gPiDCoCB9 Cj4gPiA+ID4gPiA+ID4gwqAgLXN0YXRpYyB2b2lkIHZwX3Jlc2V0KHN0cnVjdCB2aXJ0aW9fZGV2 aWNlICp2ZGV2KQo+ID4gPiA+ID4gPiA+ICtzdGF0aWMgaW50IHZwX3Jlc2V0KHN0cnVjdCB2aXJ0 aW9fZGV2aWNlICp2ZGV2KQo+ID4gPiA+ID4gPiA+IMKgIHsKPiA+ID4gPiA+ID4gPiDCoMKgwqDC oMKgIHN0cnVjdCB2aXJ0aW9fcGNpX2RldmljZSAqdnBfZGV2ID0gdG9fdnBfZGV2aWNlKHZkZXYp Owo+ID4gPiA+ID4gPiA+IMKgwqDCoMKgwqAgLyogMCBzdGF0dXMgbWVhbnMgYSByZXNldC4gKi8K PiA+ID4gPiA+ID4gPiBAQCAtOTksNiArOTksOCBAQCBzdGF0aWMgdm9pZCB2cF9yZXNldChzdHJ1 Y3QgdmlydGlvX2RldmljZSAqdmRldikKPiA+ID4gPiA+ID4gPiDCoMKgwqDCoMKgIGlvcmVhZDgo dnBfZGV2LT5pb2FkZHIgKyBWSVJUSU9fUENJX1NUQVRVUyk7Cj4gPiA+ID4gPiA+ID4gwqDCoMKg wqDCoCAvKiBGbHVzaCBwZW5kaW5nIFZRL2NvbmZpZ3VyYXRpb24gY2FsbGJhY2tzLiAqLwo+ID4g PiA+ID4gPiA+IMKgwqDCoMKgwqAgdnBfc3luY2hyb25pemVfdmVjdG9ycyh2ZGV2KTsKPiA+ID4g PiA+ID4gPiArCj4gPiA+ID4gPiA+ID4gK8KgwqDCoCByZXR1cm4gMDsKPiA+ID4gPiA+ID4gPiDC oCB9Cj4gPiA+ID4gPiA+ID4gwqAgwqAgc3RhdGljIHUxNiB2cF9jb25maWdfdmVjdG9yKHN0cnVj dAo+ID4gPiA+ID4gPiA+IHZpcnRpb19wY2lfZGV2aWNlICp2cF9kZXYsIHUxNiB2ZWN0b3IpCj4g PiA+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlydGlvL3ZpcnRpb19wY2lfbW9kZXJu LmMKPiA+ID4gPiA+ID4gPiBiL2RyaXZlcnMvdmlydGlvL3ZpcnRpb19wY2lfbW9kZXJuLmMKPiA+ ID4gPiA+ID4gPiBpbmRleCBmYmQ0ZWJjMDBlYjYuLmNjMzQxMmE5NmExNyAxMDA2NDQKPiA+ID4g PiA+ID4gPiAtLS0gYS9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcGNpX21vZGVybi5jCj4gPiA+ID4g PiA+ID4gKysrIGIvZHJpdmVycy92aXJ0aW8vdmlydGlvX3BjaV9tb2Rlcm4uYwo+ID4gPiA+ID4g PiA+IEBAIC0xNTgsNyArMTU4LDcgQEAgc3RhdGljIHZvaWQgdnBfc2V0X3N0YXR1cyhzdHJ1Y3QK PiA+ID4gPiA+ID4gPiB2aXJ0aW9fZGV2aWNlICp2ZGV2LCB1OCBzdGF0dXMpCj4gPiA+ID4gPiA+ ID4gwqDCoMKgwqDCoCB2cF9tb2Rlcm5fc2V0X3N0YXR1cygmdnBfZGV2LT5tZGV2LCBzdGF0dXMp Owo+ID4gPiA+ID4gPiA+IMKgIH0KPiA+ID4gPiA+ID4gPiDCoCAtc3RhdGljIHZvaWQgdnBfcmVz ZXQoc3RydWN0IHZpcnRpb19kZXZpY2UgKnZkZXYpCj4gPiA+ID4gPiA+ID4gK3N0YXRpYyBpbnQg dnBfcmVzZXQoc3RydWN0IHZpcnRpb19kZXZpY2UgKnZkZXYpCj4gPiA+ID4gPiA+ID4gwqAgewo+ ID4gPiA+ID4gPiA+IMKgwqDCoMKgwqAgc3RydWN0IHZpcnRpb19wY2lfZGV2aWNlICp2cF9kZXYg PSB0b192cF9kZXZpY2UodmRldik7Cj4gPiA+ID4gPiA+ID4gwqDCoMKgwqDCoCBzdHJ1Y3Qgdmly dGlvX3BjaV9tb2Rlcm5fZGV2aWNlICptZGV2ID0gJnZwX2Rldi0+bWRldjsKPiA+ID4gPiA+ID4g PiBAQCAtMTc0LDYgKzE3NCw3IEBAIHN0YXRpYyB2b2lkIHZwX3Jlc2V0KHN0cnVjdCB2aXJ0aW9f ZGV2aWNlICp2ZGV2KQo+ID4gPiA+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoCBtc2xlZXAoMSk7 Cj4gPiA+ID4gPiA+ID4gwqDCoMKgwqDCoCAvKiBGbHVzaCBwZW5kaW5nIFZRL2NvbmZpZ3VyYXRp b24gY2FsbGJhY2tzLiAqLwo+ID4gPiA+ID4gPiA+IMKgwqDCoMKgwqAgdnBfc3luY2hyb25pemVf dmVjdG9ycyh2ZGV2KTsKPiA+ID4gPiA+ID4gPiArwqDCoMKgIHJldHVybiAwOwo+ID4gPiA+ID4g PiA+IMKgIH0KPiA+ID4gPiA+ID4gPiDCoCDCoCBzdGF0aWMgdTE2IHZwX2NvbmZpZ192ZWN0b3Io c3RydWN0Cj4gPiA+ID4gPiA+ID4gdmlydGlvX3BjaV9kZXZpY2UgKnZwX2RldiwgdTE2IHZlY3Rv cikKPiA+ID4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aXJ0aW8vdmlydGlvX3ZkcGEu Ywo+ID4gPiA+ID4gPiA+IGIvZHJpdmVycy92aXJ0aW8vdmlydGlvX3ZkcGEuYwo+ID4gPiA+ID4g PiA+IGluZGV4IGUyOGFjZjQ4MmUwYy4uNWZkNGU2MjdhOWIwIDEwMDY0NAo+ID4gPiA+ID4gPiA+ IC0tLSBhL2RyaXZlcnMvdmlydGlvL3ZpcnRpb192ZHBhLmMKPiA+ID4gPiA+ID4gPiArKysgYi9k cml2ZXJzL3ZpcnRpby92aXJ0aW9fdmRwYS5jCj4gPiA+ID4gPiA+ID4gQEAgLTk3LDExICs5Nywx MyBAQCBzdGF0aWMgdm9pZAo+ID4gPiA+ID4gPiA+IHZpcnRpb192ZHBhX3NldF9zdGF0dXMoc3Ry dWN0IHZpcnRpb19kZXZpY2UgKnZkZXYsCj4gPiA+ID4gPiA+ID4gdTggc3RhdHVzKQo+ID4gPiA+ ID4gPiA+IMKgwqDCoMKgwqAgcmV0dXJuIG9wcy0+c2V0X3N0YXR1cyh2ZHBhLCBzdGF0dXMpOwo+ ID4gPiA+ID4gPiA+IMKgIH0KPiA+ID4gPiA+ID4gPiDCoCAtc3RhdGljIHZvaWQgdmlydGlvX3Zk cGFfcmVzZXQoc3RydWN0IHZpcnRpb19kZXZpY2UgKnZkZXYpCj4gPiA+ID4gPiA+ID4gK3N0YXRp YyBpbnQgdmlydGlvX3ZkcGFfcmVzZXQoc3RydWN0IHZpcnRpb19kZXZpY2UgKnZkZXYpCj4gPiA+ ID4gPiA+ID4gwqAgewo+ID4gPiA+ID4gPiA+IMKgwqDCoMKgwqAgc3RydWN0IHZkcGFfZGV2aWNl ICp2ZHBhID0gdmRfZ2V0X3ZkcGEodmRldik7Cj4gPiA+ID4gPiA+ID4gwqAgwqDCoMKgwqDCoCB2 ZHBhX3Jlc2V0KHZkcGEpOwo+ID4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gPiArwqDCoMKgIHJl dHVybiAwOwo+ID4gPiA+ID4gPiA+IMKgIH0KPiA+ID4gPiA+ID4gPiDCoCDCoCBzdGF0aWMgYm9v bCB2aXJ0aW9fdmRwYV9ub3RpZnkoc3RydWN0IHZpcnRxdWV1ZSAqdnEpCj4gPiA+ID4gPiA+ID4g ZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvdmlydGlvX2NvbmZpZy5oCj4gPiA+ID4gPiA+ID4g Yi9pbmNsdWRlL2xpbnV4L3ZpcnRpb19jb25maWcuaAo+ID4gPiA+ID4gPiA+IGluZGV4IDg1MTli M2FlNWQ1Mi4uZDJiMGYxNjk5YTc1IDEwMDY0NAo+ID4gPiA+ID4gPiA+IC0tLSBhL2luY2x1ZGUv bGludXgvdmlydGlvX2NvbmZpZy5oCj4gPiA+ID4gPiA+ID4gKysrIGIvaW5jbHVkZS9saW51eC92 aXJ0aW9fY29uZmlnLmgKPiA+ID4gPiA+ID4gPiBAQCAtNDQsOSArNDQsMTAgQEAgc3RydWN0IHZp cnRpb19zaG1fcmVnaW9uIHsKPiA+ID4gPiA+ID4gPiDCoMKgICrCoMKgwqAgc3RhdHVzOiB0aGUg bmV3IHN0YXR1cyBieXRlCj4gPiA+ID4gPiA+ID4gwqDCoCAqIEByZXNldDogcmVzZXQgdGhlIGRl dmljZQo+ID4gPiA+ID4gPiA+IMKgwqAgKsKgwqDCoCB2ZGV2OiB0aGUgdmlydGlvIGRldmljZQo+ ID4gPiA+ID4gPiA+IC0gKsKgwqDCoCBBZnRlciB0aGlzLCBzdGF0dXMgYW5kIGZlYXR1cmUgbmVn b3RpYXRpb24gbXVzdCBiZSBkb25lIGFnYWluCj4gPiA+ID4gPiA+ID4gKyAqwqDCoMKgIFVwb24g c3VjY2Vzcywgc3RhdHVzIGFuZCBmZWF0dXJlIG5lZ290aWF0aW9uCj4gPiA+ID4gPiA+ID4gbXVz dCBiZSBkb25lIGFnYWluCj4gPiA+ID4gPiA+ID4gwqDCoCAqwqDCoMKgIERldmljZSBtdXN0IG5v dCBiZSByZXNldCBmcm9tIGl0cyB2cS9jb25maWcgY2FsbGJhY2tzLCBvciBpbgo+ID4gPiA+ID4g PiA+IMKgwqAgKsKgwqDCoCBwYXJhbGxlbCB3aXRoIGJlaW5nIGFkZGVkL3JlbW92ZWQuCj4gPiA+ ID4gPiA+ID4gKyAqwqDCoMKgIFJldHVybnMgMCBvbiBzdWNjZXNzIG9yIGVycm9yIHN0YXR1cy4K PiA+ID4gPiA+ID4gPiDCoMKgICogQGZpbmRfdnFzOiBmaW5kIHZpcnRxdWV1ZXMgYW5kIGluc3Rh bnRpYXRlIHRoZW0uCj4gPiA+ID4gPiA+ID4gwqDCoCAqwqDCoMKgIHZkZXY6IHRoZSB2aXJ0aW9f ZGV2aWNlCj4gPiA+ID4gPiA+ID4gwqDCoCAqwqDCoMKgIG52cXM6IHRoZSBudW1iZXIgb2Ygdmly dHF1ZXVlcyB0byBmaW5kCj4gPiA+ID4gPiA+ID4gQEAgLTgyLDcgKzgzLDcgQEAgc3RydWN0IHZp cnRpb19jb25maWdfb3BzIHsKPiA+ID4gPiA+ID4gPiDCoMKgwqDCoMKgIHUzMiAoKmdlbmVyYXRp b24pKHN0cnVjdCB2aXJ0aW9fZGV2aWNlICp2ZGV2KTsKPiA+ID4gPiA+ID4gPiDCoMKgwqDCoMKg IHU4ICgqZ2V0X3N0YXR1cykoc3RydWN0IHZpcnRpb19kZXZpY2UgKnZkZXYpOwo+ID4gPiA+ID4g PiA+IMKgwqDCoMKgwqAgdm9pZCAoKnNldF9zdGF0dXMpKHN0cnVjdCB2aXJ0aW9fZGV2aWNlICp2 ZGV2LCB1OCBzdGF0dXMpOwo+ID4gPiA+ID4gPiA+IC3CoMKgwqAgdm9pZCAoKnJlc2V0KShzdHJ1 Y3QgdmlydGlvX2RldmljZSAqdmRldik7Cj4gPiA+ID4gPiA+ID4gK8KgwqDCoCBpbnQgKCpyZXNl dCkoc3RydWN0IHZpcnRpb19kZXZpY2UgKnZkZXYpOwo+ID4gPiA+ID4gPiA+IMKgwqDCoMKgwqAg aW50ICgqZmluZF92cXMpKHN0cnVjdCB2aXJ0aW9fZGV2aWNlICosIHVuc2lnbmVkIG52cXMsCj4g PiA+ID4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IHZpcnRxdWV1ZSAq dnFzW10sIHZxX2NhbGxiYWNrX3QgKmNhbGxiYWNrc1tdLAo+ID4gPiA+ID4gPiA+IMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIGNvbnN0IGNoYXIgKiBjb25zdCBuYW1lc1tdLCBjb25zdCBib29s ICpjdHgsCj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gCj4gPiA+ID4gCj4gPiA+IAo+ID4gCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpWaXJ0dWFsaXphdGlv biBtYWlsaW5nIGxpc3QKVmlydHVhbGl6YXRpb25AbGlzdHMubGludXgtZm91bmRhdGlvbi5vcmcK aHR0cHM6Ly9saXN0cy5saW51eGZvdW5kYXRpb24ub3JnL21haWxtYW4vbGlzdGluZm8vdmlydHVh bGl6YXRpb24=