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 CC61EC433FE for ; Tue, 11 Jan 2022 12:58:10 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 4FB44403F9; Tue, 11 Jan 2022 12:58:10 +0000 (UTC) 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 Ab_7Hk2uaQip; Tue, 11 Jan 2022 12:58:08 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [IPv6:2605:bc80:3010:104::8cd3:938]) by smtp2.osuosl.org (Postfix) with ESMTPS id 41F62408DD; Tue, 11 Jan 2022 12:58:07 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id DFD5FC002F; Tue, 11 Jan 2022 12:58:06 +0000 (UTC) Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by lists.linuxfoundation.org (Postfix) with ESMTP id 43FB4C001E for ; Tue, 11 Jan 2022 12:58:05 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 2EDDD4086E for ; Tue, 11 Jan 2022 12:58:05 +0000 (UTC) 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 KFV4Sgdwp2NM for ; Tue, 11 Jan 2022 12:58:03 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com [IPv6:2a00:1450:4864:20::535]) by smtp2.osuosl.org (Postfix) with ESMTPS id 6803940120 for ; Tue, 11 Jan 2022 12:58:02 +0000 (UTC) Received: by mail-ed1-x535.google.com with SMTP id 30so65230064edv.3 for ; Tue, 11 Jan 2022 04:58:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance-com.20210112.gappssmtp.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=uz1h5CEIPed2HfgHHUpg29tv2CH2az1LB5lhdw8+vao=; b=VCCztgsxzf6eUODoTzV63GaI2hEf+L8SknRatUqlNg/xhQIo6oZ1oSW0kv01emxrk0 ODYefAJSnBYp/f027rnSV6nDAjopS+C5OD3ll9T0hILqtnTrbeaDVes179ML0/YpZfD7 xIEhi5WITnIgvFXct/drtY7nX42/s3+mqYX4n0o5BQDrWp4dTgzLIy5hc7IrgkA8+y+N fuP76hHyTu/+fhkuABRQnIzannBo1MRv0ZSkVmjbltWKFiZklz1rMrgAtzjPUSXSPzYM 5TzouUnW0IrsFgBG9btbCRMMdIMndSsS7BBrAE/k3Gde3gacDwaSV2Oi1tXF+v6wTLbw a+oQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=uz1h5CEIPed2HfgHHUpg29tv2CH2az1LB5lhdw8+vao=; b=wvS1l6Uly2L0JqxC+0n0iEYyxPUJiSazlnUdTL9NxFtzUUhgCow7DipMAGGl+vtAuX zW6GDM5TPurRwpb13NrPUXdHQE2wuXd8Wx66YJLDgP9RyHbve9BED/dnc++7lvChBkxi 575F2ne5Ra2W30KpxXK03wWFdqRl6jBthWg6hIr4zgmEEfhrY4RFJAxAmABF9y3J+3ak JXdCFCe7Jx1Ukndsk1dk4D9OnyebLhf7/sdnb8VP4IuUWeuUgMsjXLXu+SJtIyYZ+sD5 hoyXj2qJXzr7tqQAHVPVACRzxQmqu3bMjuywt7TIPpVSEjH931SEPTSzdpaTtV7OEX24 ZXXA== X-Gm-Message-State: AOAM533eyuHCZOj8+/Or/VwCmQNKsK3jZ+bAwqSdlAhX0umjOF2i13p9 M8Q1wk3UbIsjfCaH1oFN/JxHLKBBRhlvanxbGor5 X-Google-Smtp-Source: ABdhPJxR3il7T/JRiMnDBqI+LmQ3D6uzJvszq1H9EZPMgpPq8q+tiwynJLLSJLb+eKsmKti56DNWpzGpdfZLIeI85DE= X-Received: by 2002:a05:6402:124b:: with SMTP id l11mr4141116edw.9.1641905880942; Tue, 11 Jan 2022 04:58:00 -0800 (PST) MIME-Version: 1.0 References: <20210830141737.181-1-xieyongji@bytedance.com> <20220110075546-mutt-send-email-mst@kernel.org> <20220110100911-mutt-send-email-mst@kernel.org> <20220110103938-mutt-send-email-mst@kernel.org> <20220111065301-mutt-send-email-mst@kernel.org> In-Reply-To: <20220111065301-mutt-send-email-mst@kernel.org> From: Yongji Xie Date: Tue, 11 Jan 2022 20:57:49 +0800 Message-ID: Subject: Re: [PATCH v12 00/13] Introduce VDUSE - vDPA Device in Userspace To: "Michael S. Tsirkin" Cc: kvm , Jason Wang , virtualization , Christian Brauner , Will Deacon , Jonathan Corbet , Matthew Wilcox , Christoph Hellwig , Dan Carpenter , Stefano Garzarella , Liu Xiaodong , linux-fsdevel@vger.kernel.org, Al Viro , Stefan Hajnoczi , songmuchun@bytedance.com, Jens Axboe , He Zhe , Greg KH , Randy Dunlap , linux-kernel , iommu@lists.linux-foundation.org, bcrl@kvack.org, Netdev , Joe Perches , Robin Murphy , =?UTF-8?Q?Mika_Penttil=C3=A4?= X-BeenThere: iommu@lists.linux-foundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Development issues for Linux IOMMU support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: iommu-bounces@lists.linux-foundation.org Sender: "iommu" T24gVHVlLCBKYW4gMTEsIDIwMjIgYXQgNzo1NCBQTSBNaWNoYWVsIFMuIFRzaXJraW4gPG1zdEBy ZWRoYXQuY29tPiB3cm90ZToKPgo+IE9uIFR1ZSwgSmFuIDExLCAyMDIyIGF0IDExOjMxOjM3QU0g KzA4MDAsIFlvbmdqaSBYaWUgd3JvdGU6Cj4gPiBPbiBNb24sIEphbiAxMCwgMjAyMiBhdCAxMTo0 NCBQTSBNaWNoYWVsIFMuIFRzaXJraW4gPG1zdEByZWRoYXQuY29tPiB3cm90ZToKPiA+ID4KPiA+ ID4gT24gTW9uLCBKYW4gMTAsIDIwMjIgYXQgMTE6MjQ6NDBQTSArMDgwMCwgWW9uZ2ppIFhpZSB3 cm90ZToKPiA+ID4gPiBPbiBNb24sIEphbiAxMCwgMjAyMiBhdCAxMToxMCBQTSBNaWNoYWVsIFMu IFRzaXJraW4gPG1zdEByZWRoYXQuY29tPiB3cm90ZToKPiA+ID4gPiA+Cj4gPiA+ID4gPiBPbiBN b24sIEphbiAxMCwgMjAyMiBhdCAwOTo1NDowOFBNICswODAwLCBZb25namkgWGllIHdyb3RlOgo+ ID4gPiA+ID4gPiBPbiBNb24sIEphbiAxMCwgMjAyMiBhdCA4OjU3IFBNIE1pY2hhZWwgUy4gVHNp cmtpbiA8bXN0QHJlZGhhdC5jb20+IHdyb3RlOgo+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4g T24gTW9uLCBBdWcgMzAsIDIwMjEgYXQgMTA6MTc6MjRQTSArMDgwMCwgWGllIFlvbmdqaSB3cm90 ZToKPiA+ID4gPiA+ID4gPiA+IFRoaXMgc2VyaWVzIGludHJvZHVjZXMgYSBmcmFtZXdvcmsgdGhh dCBtYWtlcyBpdCBwb3NzaWJsZSB0byBpbXBsZW1lbnQKPiA+ID4gPiA+ID4gPiA+IHNvZnR3YXJl LWVtdWxhdGVkIHZEUEEgZGV2aWNlcyBpbiB1c2Vyc3BhY2UuIEFuZCB0byBtYWtlIHRoZSBkZXZp Y2UKPiA+ID4gPiA+ID4gPiA+IGVtdWxhdGlvbiBtb3JlIHNlY3VyZSwgdGhlIGVtdWxhdGVkIHZE UEEgZGV2aWNlJ3MgY29udHJvbCBwYXRoIGlzIGhhbmRsZWQKPiA+ID4gPiA+ID4gPiA+IGluIHRo ZSBrZXJuZWwgYW5kIG9ubHkgdGhlIGRhdGEgcGF0aCBpcyBpbXBsZW1lbnRlZCBpbiB0aGUgdXNl cnNwYWNlLgo+ID4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+IFNpbmNlIHRoZSBlbXVsZGF0 ZWQgdkRQQSBkZXZpY2UncyBjb250cm9sIHBhdGggaXMgaGFuZGxlZCBpbiB0aGUga2VybmVsLAo+ ID4gPiA+ID4gPiA+ID4gYSBtZXNzYWdlIG1lY2huaXNtIGlzIGludHJvZHVjZWQgdG8gbWFrZSB1 c2Vyc3BhY2UgYmUgYXdhcmUgb2YgdGhlIGRhdGEKPiA+ID4gPiA+ID4gPiA+IHBhdGggcmVsYXRl ZCBjaGFuZ2VzLiBVc2Vyc3BhY2UgY2FuIHVzZSByZWFkKCkvd3JpdGUoKSB0byByZWNlaXZlL3Jl cGx5Cj4gPiA+ID4gPiA+ID4gPiB0aGUgY29udHJvbCBtZXNzYWdlcy4KPiA+ID4gPiA+ID4gPiA+ Cj4gPiA+ID4gPiA+ID4gPiBJbiB0aGUgZGF0YSBwYXRoLCB0aGUgY29yZSBpcyBtYXBwaW5nIGRt YSBidWZmZXIgaW50byBWRFVTRSBkYWVtb24ncwo+ID4gPiA+ID4gPiA+ID4gYWRkcmVzcyBzcGFj ZSwgd2hpY2ggY2FuIGJlIGltcGxlbWVudGVkIGluIGRpZmZlcmVudCB3YXlzIGRlcGVuZGluZyBv bgo+ID4gPiA+ID4gPiA+ID4gdGhlIHZkcGEgYnVzIHRvIHdoaWNoIHRoZSB2RFBBIGRldmljZSBp cyBhdHRhY2hlZC4KPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gPiBJbiB2aXJ0aW8tdmRw YSBjYXNlLCB3ZSBpbXBsZW1lbnRzIGEgTU1VLWJhc2VkIHNvZnR3YXJlIElPVExCIHdpdGgKPiA+ ID4gPiA+ID4gPiA+IGJvdW5jZS1idWZmZXJpbmcgbWVjaGFuaXNtIHRvIGFjaGlldmUgdGhhdC4g QW5kIGluIHZob3N0LXZkcGEgY2FzZSwgdGhlIGRtYQo+ID4gPiA+ID4gPiA+ID4gYnVmZmVyIGlz IHJlc2lkZSBpbiBhIHVzZXJzcGFjZSBtZW1vcnkgcmVnaW9uIHdoaWNoIGNhbiBiZSBzaGFyZWQg dG8gdGhlCj4gPiA+ID4gPiA+ID4gPiBWRFVTRSB1c2Vyc3BhY2UgcHJvY2Vzc3MgdmlhIHRyYW5z ZmVycmluZyB0aGUgc2htZmQuCj4gPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gVGhlIGRl dGFpbHMgYW5kIG91ciB1c2VyIGNhc2UgaXMgc2hvd24gYmVsb3c6Cj4gPiA+ID4gPiA+ID4gPgo+ ID4gPiA+ID4gPiA+ID4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAgIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCj4gPiA+ID4gPiA+ID4gPiB8ICAgICAgICAgICAgQ29udGFpbmVyIHwgICAgfCAgICAgICAg ICAgICAgUUVNVShWTSkgfCAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVkRVU0Ug ZGFlbW9uIHwKPiA+ID4gPiA+ID4gPiA+IHwgICAgICAgLS0tLS0tLS0tICAgICAgfCAgICB8ICAt LS0tLS0tLS0tLS0tLS0tLS0tICB8ICAgfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0t LS0tLS0tLS0tLS0gfAo+ID4gPiA+ID4gPiA+ID4gfCAgICAgICB8ZGV2L3ZkeHwgICAgICB8ICAg IHwgIHwvZGV2L3Zob3N0LXZkcGEteHwgIHwgICB8IHwgdkRQQSBkZXZpY2UgZW11bGF0aW9uIHwg fCBibG9jayBkcml2ZXIgfCB8Cj4gPiA+ID4gPiA+ID4gPiAtLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0gICAgIC0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSAgIC0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0KPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgfAo+ID4gPiA+ID4gPiA+ID4gICAgICAgICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICB8Cj4gPiA+ID4gPiA+ID4gPiAtLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0KPiA+ID4gPiA+ID4gPiA+IHwgICAgfCBibG9jayBkZXZpY2Ug fCAgICAgICAgICAgfCAgdmhvc3QgZGV2aWNlIHwgICAgICAgICAgICB8IHZkdXNlIGRyaXZlciB8 ICAgICAgICAgIHwgVENQL0lQIHwgICAgfAo+ID4gPiA+ID4gPiA+ID4gfCAgICAtLS0tLS0tKy0t LS0tLS0tICAgICAgICAgICAtLS0tLS0tLSstLS0tLS0tLSAgICAgICAgICAgIC0tLS0tLS0rLS0t LS0tLS0gICAgICAgICAgLS0tLS0rLS0tLSAgICB8Cj4gPiA+ID4gPiA+ID4gPiB8ICAgICAgICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgIHwKPiA+ID4gPiA+ID4gPiA+IHwgLS0t LS0tLS0tLSstLS0tLS0tLS0tICAgICAgIC0tLS0tLS0tLS0rLS0tLS0tLS0tLS0gICAgICAgICAt LS0tLS0tKy0tLS0tLS0gICAgICAgICAgICAgICAgfCAgICAgICAgfAo+ID4gPiA+ID4gPiA+ID4g fCB8IHZpcnRpby1ibGsgZHJpdmVyIHwgICAgICAgfCAgdmhvc3QtdmRwYSBkcml2ZXIgfCAgICAg ICAgIHwgdmRwYSBkZXZpY2UgfCAgICAgICAgICAgICAgICB8ICAgICAgICB8Cj4gPiA+ID4gPiA+ ID4gPiB8IC0tLS0tLS0tLS0rLS0tLS0tLS0tLSAgICAgICAtLS0tLS0tLS0tKy0tLS0tLS0tLS0t ICAgICAgICAgLS0tLS0tLSstLS0tLS0tICAgICAgICAgICAgICAgIHwgICAgICAgIHwKPiA+ID4g PiA+ID4gPiA+IHwgICAgICAgICAgIHwgICAgICB2aXJ0aW8gYnVzICAgICAgICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgfAo+ ID4gPiA+ID4gPiA+ID4gfCAgIC0tLS0tLS0tKy0tLS0rLS0tLS0tLS0tLS0gICAgICAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAg ICB8Cj4gPiA+ID4gPiA+ID4gPiB8ICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIHwg ICAgICAgIHwKPiA+ID4gPiA+ID4gPiA+IHwgICAgICAtLS0tLS0tLS0tKy0tLS0tLS0tLS0gICAg ICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgfCAgICAgICAgfAo+ID4gPiA+ID4gPiA+ID4gfCAgICAgIHwgdmlydGlvLWJsayBkZXZpY2Ug fCAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICB8ICAgICAgICB8Cj4gPiA+ID4gPiA+ID4gPiB8ICAgICAgLS0tLS0tLS0tLSstLS0t LS0tLS0tICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgIHwgICAgICAgIHwKPiA+ID4gPiA+ID4gPiA+IHwgICAgICAgICAgICAgICAg fCAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgfCAgICAgICAgfAo+ID4gPiA+ID4gPiA+ID4gfCAgICAgLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0gICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICB8Cj4gPiA+ID4gPiA+ID4gPiB8ICAgICB8 ICB2aXJ0aW8tdmRwYSBkcml2ZXIgfCAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgIHwKPiA+ID4gPiA+ID4gPiA+IHwg ICAgIC0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgfAo+ID4gPiA+ID4gPiA+ ID4gfCAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAgIHZkcGEgYnVzICAgICAgICAgICB8ICAgICAgICB8Cj4gPiA+ID4g PiA+ID4gPiB8ICAgICAtLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0gICAgICAgICAgIHwgICAgICAgIHwKPiA+ ID4gPiA+ID4gPiA+IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0tKy0tLSAgICAg fAo+ID4gPiA+ID4gPiA+ID4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18IE5JQyB8 LS0tLS0tCj4gPiA+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0t LSstLS0KPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fAo+ID4gPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLS0tLS0tLS0rLS0t LS0tLS0tCj4gPiA+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgUmVtb3Rl IFN0b3JhZ2VzIHwKPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0t LS0tLS0tLS0tLS0tLS0tLQo+ID4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+IFdlIG1ha2Ug dXNlIG9mIGl0IHRvIGltcGxlbWVudCBhIGJsb2NrIGRldmljZSBjb25uZWN0aW5nIHRvCj4gPiA+ ID4gPiA+ID4gPiBvdXIgZGlzdHJpYnV0ZWQgc3RvcmFnZSwgd2hpY2ggY2FuIGJlIHVzZWQgYm90 aCBpbiBjb250YWluZXJzIGFuZAo+ID4gPiA+ID4gPiA+ID4gVk1zLiBUaHVzLCB3ZSBjYW4gaGF2 ZSBhbiB1bmlmaWVkIHRlY2hub2xvZ3kgc3RhY2sgaW4gdGhpcyB0d28gY2FzZXMuCj4gPiA+ID4g PiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gVG8gdGVzdCBpdCB3aXRoIG51bGwtYmxrOgo+ID4gPiA+ ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+ICAgJCBxZW11LXN0b3JhZ2UtZGFlbW9uIFwKPiA+ID4g PiA+ID4gPiA+ICAgICAgIC0tY2hhcmRldiBzb2NrZXQsaWQ9Y2hhcm1vbml0b3IscGF0aD0vdG1w L3FtcC5zb2NrLHNlcnZlcixub3dhaXQgXAo+ID4gPiA+ID4gPiA+ID4gICAgICAgLS1tb25pdG9y IGNoYXJkZXY9Y2hhcm1vbml0b3IgXAo+ID4gPiA+ID4gPiA+ID4gICAgICAgLS1ibG9ja2RldiBk cml2ZXI9aG9zdF9kZXZpY2UsY2FjaGUuZGlyZWN0PW9uLGFpbz1uYXRpdmUsZmlsZW5hbWU9L2Rl di9udWxsYjAsbm9kZS1uYW1lPWRpc2swIFwKPiA+ID4gPiA+ID4gPiA+ICAgICAgIC0tZXhwb3J0 IHR5cGU9dmR1c2UtYmxrLGlkPXRlc3Qsbm9kZS1uYW1lPWRpc2swLHdyaXRhYmxlPW9uLG5hbWU9 dmR1c2UtbnVsbCxudW0tcXVldWVzPTE2LHF1ZXVlLXNpemU9MTI4Cj4gPiA+ID4gPiA+ID4gPgo+ ID4gPiA+ID4gPiA+ID4gVGhlIHFlbXUtc3RvcmFnZS1kYWVtb24gY2FuIGJlIGZvdW5kIGF0IGh0 dHBzOi8vZ2l0aHViLmNvbS9ieXRlZGFuY2UvcWVtdS90cmVlL3ZkdXNlCj4gPiA+ID4gPiA+ID4K PiA+ID4gPiA+ID4gPiBJdCdzIGJlZW4gaGFsZiBhIHllYXIgLSBhbnkgcGxhbnMgdG8gdXBzdHJl YW0gdGhpcz8KPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gWWVhaCwgdGhpcyBpcyBvbiBteSB0by1k byBsaXN0IHRoaXMgbW9udGguCj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+IFNvcnJ5IGZvciB0YWtp bmcgc28gbG9uZy4uLiBJJ3ZlIGJlZW4gd29ya2luZyBvbiBhbm90aGVyIHByb2plY3QKPiA+ID4g PiA+ID4gZW5hYmxpbmcgdXNlcnNwYWNlIFJETUEgd2l0aCBWRFVTRSBmb3IgdGhlIHBhc3QgZmV3 IG1vbnRocy4gU28gSQo+ID4gPiA+ID4gPiBkaWRuJ3QgaGF2ZSBtdWNoIHRpbWUgZm9yIHRoaXMu IEFueXdheSwgSSB3aWxsIHN1Ym1pdCB0aGUgZmlyc3QKPiA+ID4gPiA+ID4gdmVyc2lvbiBhcyBz b29uIGFzIHBvc3NpYmxlLgo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBUaGFua3MsCj4gPiA+ID4g PiA+IFlvbmdqaQo+ID4gPiA+ID4KPiA+ID4gPiA+IE9oIGZ1bi4gWW91IG1lYW4gbGlrZSB2aXJ0 aW8tcmRtYT8gT3IgUkRNQSBhcyBhIGJhY2tlbmQgZm9yIHJlZ3VsYXIKPiA+ID4gPiA+IHZpcnRp bz8KPiA+ID4gPiA+Cj4gPiA+ID4KPiA+ID4gPiBZZXMsIGxpa2UgdmlydGlvLXJkbWEuIFRoZW4g d2UgY2FuIGRldmVsb3Agc29tZXRoaW5nIGxpa2UgdXNlcnNwYWNlCj4gPiA+ID4gcnhl44CBc2l3 IG9yIGN1c3RvbSBwcm90b2NvbCB3aXRoIFZEVVNFLgo+ID4gPiA+Cj4gPiA+ID4gVGhhbmtzLAo+ ID4gPiA+IFlvbmdqaQo+ID4gPgo+ID4gPiBXb3VsZCBiZSBpbnRlcmVzdGluZyB0byBzZWUgdGhl IHNwZWMgZm9yIHRoYXQuCj4gPgo+ID4gV2lsbCBzZW5kIGl0IEFTQVAuCj4gPgo+ID4gPiBUaGUg aXNzdWVzIHdpdGggUkRNQSByZXZvbHZlZCBhcm91bmQgdGhlIGZhY3QgdGhhdCBjdXJyZW50Cj4g PiA+IGFwcHMgdGVuZCB0byBlaXRoZXIgdXNlIG5vbi1zdGFuZGFyZCBwcm9wb2NvbHMgZm9yIGNv bm5lY3Rpb24KPiA+ID4gZXN0YWJsaXNobWVudCBvciB1c2UgVUQgd2hlcmUgdGhlcmUncyBJSVJD IG5vIHN0YW5kYXJkCj4gPiA+IGF0IGFsbC4gU28gUVAgbnVtYmVycyBhcmUgaGFyZCB0byB2aXJ0 dWFsaXplLgo+ID4gPiBTaW1pbGFybHkgbWFueSB1c2UgTElEcyBkaXJlY3RseSB3aXRoIHRoZSBz YW1lIGVmZmVjdC4KPiA+ID4gR1VJRHMgbWlnaHQgYmUgdmlydHVhbGl6ZWFibGUgYnV0IG5vIG9u ZSB3ZW50IHRvIHRoZSBlZmZvcnQuCj4gPiA+Cj4gPgo+ID4gQWN0dWFsbHkgd2UgYWltZWQgYXQg ZW11bGF0aW5nIGEgc29mdCBSRE1BIHdpdGggbm9ybWFsIE5JQyAobm90IHVzZQo+ID4gUkRNQSBj YXBhYmlsaXR5KSByYXRoZXIgdGhhbiB2aXJ0dWFsaXppbmcgYSBwaHlzaWNhbCBSRE1BIE5JQyBp bnRvCj4gPiBzZXZlcmFsIHZSRE1BIGRldmljZXMuIElmIHNvLCBJIHRoaW5rIHdlIHdvbid0IGhh dmUgdGhvc2UgaXNzdWVzLAo+ID4gcmlnaHQ/Cj4KPiBSaWdodCwgbWF5YmUgeW91IHdvbid0Lgo+ Cj4gPiA+IFRvIHNheSBub3RoaW5nIGFib3V0IHRoZSBpbnRlcmFjdGlvbiB3aXRoIG1lbW9yeSBv dmVyY29tbWl0Lgo+ID4gPgo+ID4KPiA+IEkgZG9uJ3QgZ2V0IHlvdSBoZXJlLiBDb3VsZCB5b3Ug Z2l2ZSBtZSBtb3JlIGRldGFpbHM/Cj4gPgo+ID4gVGhhbmtzLAo+ID4gWW9uZ2ppCj4KPiBSRE1B IGRldmljZXMgdGVuZCB0byB3YW50IHRvIHBpbiB0aGUgbWVtb3J5IHVuZGVyIERNQS4KPgoKSSBz ZWUuIE1heWJlIHNvbWV0aGluZyBsaWtlIGRtIG9yIG9kcCBjb3VsZCBiZSBoZWxwZnVsLgoKVGhh bmtzLApZb25namkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KaW9tbXUgbWFpbGluZyBsaXN0CmlvbW11QGxpc3RzLmxpbnV4LWZvdW5kYXRpb24ub3JnCmh0 dHBzOi8vbGlzdHMubGludXhmb3VuZGF0aW9uLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lvbW11