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=-15.1 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 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 217C6C433ED for ; Thu, 15 Apr 2021 08:37:06 +0000 (UTC) Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) (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 A816C611AC for ; Thu, 15 Apr 2021 08:37:05 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A816C611AC 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 smtp4.osuosl.org (Postfix) with ESMTP id 47BF84145D; Thu, 15 Apr 2021 08:37:05 +0000 (UTC) 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 Zgo5KKG7aK5R; Thu, 15 Apr 2021 08:37:03 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp4.osuosl.org (Postfix) with ESMTP id 3714640F9C; Thu, 15 Apr 2021 08:37:03 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 100D6C000C; Thu, 15 Apr 2021 08:37:03 +0000 (UTC) Received: from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137]) by lists.linuxfoundation.org (Postfix) with ESMTP id DCC70C000A for ; Thu, 15 Apr 2021 08:37:01 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id BD48841465 for ; Thu, 15 Apr 2021 08:37:01 +0000 (UTC) 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 i3ckK0TLchIH for ; Thu, 15 Apr 2021 08:37:00 +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 smtp4.osuosl.org (Postfix) with ESMTPS id 5863940F9C for ; Thu, 15 Apr 2021 08:37:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1618475819; 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=70OF3r+YX0snrpJtZMvP+JAG2a6FJ5FB6OdIZC55JkQ=; b=C6tcg6IfHoiU+C7dl9qsaFO97SLDMmmAzIwiqzfPzoNSURrCW6Ue/xvMhJZzjyfSs3hat+ HgpUAC/ye0vxvAkX7RIAppe/jhAoUkR/3WgOuo7E1brgf327iFPnIr91TTOb7jfZ1w2M3k kPzaXArlRAk4JQeYb0HDXlNwJe+Qqnw= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-102-fSNMitBcO_eD9CSPtuxIfA-1; Thu, 15 Apr 2021 04:36:55 -0400 X-MC-Unique: fSNMitBcO_eD9CSPtuxIfA-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 6C6A5100A25B; Thu, 15 Apr 2021 08:36:53 +0000 (UTC) Received: from wangxiaodeMacBook-Air.local (ovpn-12-61.pek2.redhat.com [10.72.12.61]) by smtp.corp.redhat.com (Postfix) with ESMTP id B0A086FEED; Thu, 15 Apr 2021 08:36:37 +0000 (UTC) Subject: Re: [PATCH v6 10/10] Documentation: Add documentation for VDUSE To: Stefan Hajnoczi , Yongji Xie References: <20210331080519.172-1-xieyongji@bytedance.com> <20210331080519.172-11-xieyongji@bytedance.com> From: Jason Wang Message-ID: <80b31814-9e41-3153-7efb-c0c2fab44feb@redhat.com> Date: Thu, 15 Apr 2021 16:36:35 +0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Thunderbird/78.9.1 MIME-Version: 1.0 In-Reply-To: X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Cc: Jens Axboe , Jonathan Corbet , kvm@vger.kernel.org, "Michael S. Tsirkin" , netdev@vger.kernel.org, Randy Dunlap , Matthew Wilcox , virtualization@lists.linux-foundation.org, Christoph Hellwig , Christian Brauner , bcrl@kvack.org, viro@zeniv.linux.org.uk, linux-fsdevel@vger.kernel.org, Dan Carpenter , =?UTF-8?Q?Mika_Penttil=c3=a4?= 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: virtualization-bounces@lists.linux-foundation.org Sender: "Virtualization" CuWcqCAyMDIxLzQvMTUg5LiL5Y2IMzoxOSwgU3RlZmFuIEhham5vY3ppIOWGmemBkzoKPiBPbiBU aHUsIEFwciAxNSwgMjAyMSBhdCAwMTozODozN1BNICswODAwLCBZb25namkgWGllIHdyb3RlOgo+ PiBPbiBXZWQsIEFwciAxNCwgMjAyMSBhdCAxMDoxNSBQTSBTdGVmYW4gSGFqbm9jemkgPHN0ZWZh bmhhQHJlZGhhdC5jb20+IHdyb3RlOgo+Pj4gT24gV2VkLCBNYXIgMzEsIDIwMjEgYXQgMDQ6MDU6 MTlQTSArMDgwMCwgWGllIFlvbmdqaSB3cm90ZToKPj4+PiBWRFVTRSAodkRQQSBEZXZpY2UgaW4g VXNlcnNwYWNlKSBpcyBhIGZyYW1ld29yayB0byBzdXBwb3J0Cj4+Pj4gaW1wbGVtZW50aW5nIHNv ZnR3YXJlLWVtdWxhdGVkIHZEUEEgZGV2aWNlcyBpbiB1c2Vyc3BhY2UuIFRoaXMKPj4+PiBkb2N1 bWVudCBpcyBpbnRlbmRlZCB0byBjbGFyaWZ5IHRoZSBWRFVTRSBkZXNpZ24gYW5kIHVzYWdlLgo+ Pj4+Cj4+Pj4gU2lnbmVkLW9mZi1ieTogWGllIFlvbmdqaSA8eGlleW9uZ2ppQGJ5dGVkYW5jZS5j b20+Cj4+Pj4gLS0tCj4+Pj4gICBEb2N1bWVudGF0aW9uL3VzZXJzcGFjZS1hcGkvaW5kZXgucnN0 IHwgICAxICsKPj4+PiAgIERvY3VtZW50YXRpb24vdXNlcnNwYWNlLWFwaS92ZHVzZS5yc3QgfCAy MTIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+Pj4+ICAgMiBmaWxlcyBjaGFu Z2VkLCAyMTMgaW5zZXJ0aW9ucygrKQo+Pj4+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50 YXRpb24vdXNlcnNwYWNlLWFwaS92ZHVzZS5yc3QKPj4+IEp1c3QgbG9va2luZyBvdmVyIHRoZSBk b2N1bWVudGF0aW9uIGJyaWVmbHkgKEkgaGF2ZW4ndCBzdHVkaWVkIHRoZSBjb2RlCj4+PiB5ZXQp Li4uCj4+Pgo+PiBUaGFuayB5b3UhCj4+Cj4+Pj4gK0hvdyBWRFVTRSB3b3Jrcwo+Pj4+ICstLS0t LS0tLS0tLS0KPj4+PiArRWFjaCB1c2Vyc3BhY2UgdkRQQSBkZXZpY2UgaXMgY3JlYXRlZCBieSB0 aGUgVkRVU0VfQ1JFQVRFX0RFViBpb2N0bCBvbgo+Pj4+ICt0aGUgY2hhcmFjdGVyIGRldmljZSAo L2Rldi92ZHVzZS9jb250cm9sKS4gVGhlbiBhIGRldmljZSBmaWxlIHdpdGggdGhlCj4+Pj4gK3Nw ZWNpZmllZCBuYW1lICgvZGV2L3ZkdXNlLyROQU1FKSB3aWxsIGFwcGVhciwgd2hpY2ggY2FuIGJl IHVzZWQgdG8KPj4+PiAraW1wbGVtZW50IHRoZSB1c2Vyc3BhY2UgdkRQQSBkZXZpY2UncyBjb250 cm9sIHBhdGggYW5kIGRhdGEgcGF0aC4KPj4+IFRoZXNlIHN0ZXBzIGFyZSB0YWtlbiBhZnRlciBz ZW5kaW5nIHRoZSBWRFBBX0NNRF9ERVZfTkVXIG5ldGxpbmsKPj4+IG1lc3NhZ2U/IChQbGVhc2Ug Y29uc2lkZXIgcmVvcmRlcmluZyB0aGUgZG9jdW1lbnRhdGlvbiB0byBtYWtlIGl0IGNsZWFyCj4+ PiB3aGF0IHRoZSBzZXF1ZW5jZSBvZiBzdGVwcyBhcmUuKQo+Pj4KPj4gTm8sIFZEVVNFIGRldmlj ZXMgc2hvdWxkIGJlIGNyZWF0ZWQgYmVmb3JlIHNlbmRpbmcgdGhlCj4+IFZEUEFfQ01EX0RFVl9O RVcgbmV0bGluayBtZXNzYWdlcyB3aGljaCBtaWdodCBwcm9kdWNlIEkvT3MgdG8gVkRVU0UuCj4g SSBzZWUuIFBsZWFzZSBpbmNsdWRlIGFuIG92ZXJ2aWV3IG9mIHRoZSBzdGVwcyBiZWZvcmUgZ29p bmcgaW50byBkZXRhaWwuCj4gU29tZXRoaW5nIGxpa2U6Cj4KPiAgICBWRFVTRSBkZXZpY2VzIGFy ZSBzdGFydGVkIGFzIGZvbGxvd3M6Cj4KPiAgICAxLiBDcmVhdGUgYSBuZXcgVkRVU0UgaW5zdGFu Y2Ugd2l0aCBpb2N0bChWRFVTRV9DUkVBVEVfREVWKSBvbgo+ICAgICAgIC9kZXYvdmR1c2UvY29u dHJvbC4KPgo+ICAgIDIuIEJlZ2luIHByb2Nlc3NpbmcgVkRVU0UgbWVzc2FnZXMgZnJvbSAvZGV2 L3ZkdXNlLyROQU1FLiBUaGUgZmlyc3QKPiAgICAgICBtZXNzYWdlcyB3aWxsIGFycml2ZSB3aGls ZSBhdHRhY2hpbmcgdGhlIFZEVVNFIGluc3RhbmNlIHRvIHZEUEEuCj4KPiAgICAzLiBTZW5kIHRo ZSBWRFBBX0NNRF9ERVZfTkVXIG5ldGxpbmsgbWVzc2FnZSB0byBhdHRhY2ggdGhlIFZEVVNFCj4g ICAgICAgaW5zdGFuY2UgdG8gdkRQQS4KPgo+ICAgIFZEVVNFIGRldmljZXMgYXJlIHN0b3BwZWQg YXMgZm9sbG93czoKPgo+ICAgIC4uLgo+Cj4+Pj4gKyAgICAgc3RhdGljIGludCBuZXRsaW5rX2Fk ZF92ZHVzZShjb25zdCBjaGFyICpuYW1lLCBpbnQgZGV2aWNlX2lkKQo+Pj4+ICsgICAgIHsKPj4+ PiArICAgICAgICAgICAgIHN0cnVjdCBubF9zb2NrICpubHNvY2s7Cj4+Pj4gKyAgICAgICAgICAg ICBzdHJ1Y3QgbmxfbXNnICptc2c7Cj4+Pj4gKyAgICAgICAgICAgICBpbnQgZmFtaWQ7Cj4+Pj4g Kwo+Pj4+ICsgICAgICAgICAgICAgbmxzb2NrID0gbmxfc29ja2V0X2FsbG9jKCk7Cj4+Pj4gKyAg ICAgICAgICAgICBpZiAoIW5sc29jaykKPj4+PiArICAgICAgICAgICAgICAgICAgICAgcmV0dXJu IC1FTk9NRU07Cj4+Pj4gKwo+Pj4+ICsgICAgICAgICAgICAgaWYgKGdlbmxfY29ubmVjdChubHNv Y2spKQo+Pj4+ICsgICAgICAgICAgICAgICAgICAgICBnb3RvIGZyZWVfc29jazsKPj4+PiArCj4+ Pj4gKyAgICAgICAgICAgICBmYW1pZCA9IGdlbmxfY3RybF9yZXNvbHZlKG5sc29jaywgVkRQQV9H RU5MX05BTUUpOwo+Pj4+ICsgICAgICAgICAgICAgaWYgKGZhbWlkIDwgMCkKPj4+PiArICAgICAg ICAgICAgICAgICAgICAgZ290byBjbG9zZV9zb2NrOwo+Pj4+ICsKPj4+PiArICAgICAgICAgICAg IG1zZyA9IG5sbXNnX2FsbG9jKCk7Cj4+Pj4gKyAgICAgICAgICAgICBpZiAoIW1zZykKPj4+PiAr ICAgICAgICAgICAgICAgICAgICAgZ290byBjbG9zZV9zb2NrOwo+Pj4+ICsKPj4+PiArICAgICAg ICAgICAgIGlmICghZ2VubG1zZ19wdXQobXNnLCBOTF9BVVRPX1BPUlQsIE5MX0FVVE9fU0VRLCBm YW1pZCwgMCwgMCwKPj4+PiArICAgICAgICAgICAgICAgICBWRFBBX0NNRF9ERVZfTkVXLCAwKSkK Pj4+PiArICAgICAgICAgICAgICAgICAgICAgZ290byBubGFfcHV0X2ZhaWx1cmU7Cj4+Pj4gKwo+ Pj4+ICsgICAgICAgICAgICAgTkxBX1BVVF9TVFJJTkcobXNnLCBWRFBBX0FUVFJfREVWX05BTUUs IG5hbWUpOwo+Pj4+ICsgICAgICAgICAgICAgTkxBX1BVVF9TVFJJTkcobXNnLCBWRFBBX0FUVFJf TUdNVERFVl9ERVZfTkFNRSwgInZkdXNlIik7Cj4+Pj4gKyAgICAgICAgICAgICBOTEFfUFVUX1Uz Mihtc2csIFZEUEFfQVRUUl9ERVZfSUQsIGRldmljZV9pZCk7Cj4+PiBXaGF0IGFyZSB0aGUgcGVy bWlzc2lvbi9jYXBhYmlsaXR5IHJlcXVpcmVtZW50cyBmb3IgVkRVU0U/Cj4+Pgo+PiBOb3cgSSB0 aGluayB3ZSBuZWVkIHByaXZpbGVnZWQgcGVybWlzc2lvbiAocm9vdCB1c2VyKS4gQmVjYXVzZQo+ PiB1c2Vyc3BhY2UgZGFlbW9uIGlzIGFibGUgdG8gYWNjZXNzIGF2YWlsIHZyaW5nLCB1c2VkIHZy aW5nLCBkZXNjcmlwdG9yCj4+IHRhYmxlIGluIGtlcm5lbCBkcml2ZXIgZGlyZWN0bHkuCj4gUGxl YXNlIHN0YXRlIHRoaXMgZXhwbGljaXRseSBhdCB0aGUgc3RhcnQgb2YgdGhlIGRvY3VtZW50LiBF eGlzdGluZwo+IGludGVyZmFjZXMgbGlrZSBGVVNFIGFyZSBkZXNpZ25lZCB0byBhdm9pZCB0cnVz dGluZyB1c2Vyc3BhY2UuCgoKVGhlcmUncmUgc29tZSBzdWJ0bGUgZGlmZmVyZW5jZSBoZXJlLiBW RFVTRSBwcmVzZW50IGEgZGV2aWNlIHRvIGtlcm5lbCAKd2hpY2ggbWVhbnMgSU9NTVUgaXMgcHJv YmFibHkgdGhlIG9ubHkgdGhpbmcgdG8gcHJldmVudCBhIG1hbGljb3VzIGRldmljZS4KCgo+IFRo ZXJlZm9yZQo+IHBlb3BsZSBtaWdodCB0aGluayB0aGUgc2FtZSBpcyB0aGUgY2FzZSBoZXJlLiBJ dCdzIGNyaXRpY2FsIHRoYXQgcGVvcGxlCj4gYXJlIGF3YXJlIG9mIHRoaXMgYmVmb3JlIGRlcGxv eWluZyBWRFVTRSB3aXRoIHZpcnRpby12ZHBhLgo+Cj4gV2Ugc2hvdWxkIHByb2JhYmx5IHBhdXNl IGhlcmUgYW5kIHRoaW5rIGFib3V0IHdoZXRoZXIgaXQncyBwb3NzaWJsZSB0bwo+IGF2b2lkIHRy dXN0aW5nIHVzZXJzcGFjZS4gRXZlbiBpZiBpdCB0YWtlcyBzb21lIGVmZm9ydCBhbmQgY29zdHMg c29tZQo+IHBlcmZvcm1hbmNlIGl0IHdvdWxkIHByb2JhYmx5IGJlIHdvcnRod2hpbGUuCgoKU2lu Y2UgdGhlIGJvdW5jZSBidWZmZXIgaXMgdXNlZCB0aGUgb25seSBhdHRhY2sgc3VyZmFjZSBpcyB0 aGUgY29oZXJlbnQgCmFyZWEsIGlmIHdlIHdhbnQgdG8gZW5mb3JjZSBzdHJvbmdlciBpc29sYXRp b24gd2UgbmVlZCB0byB1c2Ugc2hhZG93IAp2aXJ0cXVldWUgKHdoaWNoIGlzIHByb3Bvc2VkIGlu IGVhcmxpZXIgdmVyc2lvbiBieSBtZSkgaW4gdGhpcyBjYXNlLiBCdXQgCkknbSBub3Qgc3VyZSBp dCdzIHdvcnRoIHRvIGRvIHRoYXQuCgoKPgo+IElzIHRoZSBzZWN1cml0eSBzaXR1YXRpb24gZGlm ZmVyZW50IHdpdGggdmhvc3QtdmRwYT8gSW4gdGhhdCBjYXNlIGl0Cj4gc2VlbXMgbW9yZSBsaWtl bHkgdGhhdCB0aGUgaG9zdCBrZXJuZWwgZG9lc24ndCBuZWVkIHRvIHRydXN0IHRoZQo+IHVzZXJz cGFjZSBWRFVTRSBkZXZpY2UuCj4KPiBSZWdhcmRpbmcgcHJpdmlsZWdlcyBpbiBnZW5lcmFsOiB1 c2Vyc3BhY2UgVkRVU0UgcHJvY2Vzc2VzIHNob3VsZG4ndAo+IG5lZWQgdG8gcnVuIGFzIHJvb3Qu IFRoZSBWRFVTRSBkZXZpY2UgbGlmZWN5Y2xlIHdpbGwgcmVxdWlyZSBwcml2aWxlZ2VzCj4gdG8g YXR0YWNoIHZob3N0LXZkcGEgYW5kIHZpcnRpby12ZHBhIGRldmljZXMsIGJ1dCB0aGUgYWN0dWFs IHVzZXJzcGFjZQo+IHByb2Nlc3MgdGhhdCBlbXVsYXRlcyB0aGUgZGV2aWNlIHNob3VsZCBiZSBh YmxlIHRvIHJ1biB1bnByaXZpbGVnZWQuCj4gRW11bGF0ZWQgZGV2aWNlcyBhcmUgYW4gYXR0YWNr IHN1cmZhY2UgYW5kIGV2ZW4gaWYgeW91IGFyZSBjb21mb3J0YWJsZQo+IHdpdGggcnVubmluZyB0 aGVtIGFzIHJvb3QgaW4geW91ciBzcGVjaWZpYyB1c2UgY2FzZSwgaXQgd2lsbCBiZSBhbiBpc3N1 ZQo+IGFzIHNvb24gYXMgb3RoZXIgcGVvcGxlIHdhbnQgdG8gdXNlIFZEVVNFIGFuZCBjb3VsZCBn aXZlIFZEVVNFIGEKPiByZXB1dGF0aW9uIGZvciBwb29yIHNlY3VyaXR5LgoKCkluIHRoaXMgY2Fz ZSwgSSB0aGluayBpdCB3b3JrcyBhcyBvdGhlciBjaGFyIGRldmljZToKCi0gcHJpdmlsbGVnZWQg cHJvY2VzcyB0byBjcmVhdGUgYW5kIGRlc3Ryb3kgdGhlIFZEVVNFCi0gZmQgaXMgcGFzc2VkIHZp YSBTQ01fUklHSFRTIHRvIHVucHJpdmlsbGVnZWQgcHJvY2VzcyB0aGF0IGltcGxlbWVudHMgCnRo ZSBkZXZpY2UKCgo+Cj4+PiBIb3cgZG9lcyBWRFVTRSBpbnRlcmFjdCB3aXRoIG5hbWVzcGFjZXM/ Cj4+Pgo+PiBOb3Qgc3VyZSBJIGdldCB5b3VyIHBvaW50IGhlcmUuIERvIHlvdSBtZWFuIGhvdyB0 aGUgZW11bGF0ZWQgdkRQQQo+PiBkZXZpY2UgaW50ZXJhY3Qgd2l0aCBuYW1lc3BhY2VzPyBUaGlz IHNob3VsZCB3b3JrIGxpa2UgaGFyZHdhcmUgdkRQQQo+PiBkZXZpY2VzIGRvLiBWRFVTRSBkYWVt b24gY2FuIHJlc2lkZSBvdXRzaWRlIHRoZSBuYW1lc3BhY2Ugb2YgYQo+PiBjb250YWluZXIgd2hp Y2ggdXNlcyB0aGUgdkRQQSBkZXZpY2UuCj4gQ2FuIFZEVVNFIGRldmljZXMgcnVuIGluc2lkZSBj b250YWluZXJzPyBBcmUgL2Rldi92ZHVzZS8kTkFNRSBhbmQgdkRQQQo+IGRldmljZSBuYW1lcyBn bG9iYWw/CgoKSSB0aGluayBpdCdzIGEgZ2xvYmFsIG9uZSwgd2UgY2FuIGFkZCBuYW1lc3BhY2Ug b24gdG9wLgoKCj4KPj4+IFdoYXQgaXMgdGhlIG1lYW5pbmcgb2YgVkRQQV9BVFRSX0RFVl9JRD8g SSBkb24ndCBzZWUgaXQgaW4gTGludXgKPj4+IHY1LjEyLXJjNiBkcml2ZXJzL3ZkcGEvdmRwYS5j OnZkcGFfbmxfY21kX2Rldl9hZGRfc2V0X2RvaXQoKS4KPj4+Cj4+IEl0IG1lYW5zIHRoZSBkZXZp Y2UgaWQgKGUuZy4gVklSVElPX0lEX0JMT0NLKSBvZiB0aGUgdkRQQSBkZXZpY2UgYW5kCj4+IGNh biBiZSBmb3VuZCBpbiBpbmNsdWRlL3VhcGkvbGludXgvdmRwYS5oLgo+IFZEUEFfQVRUUl9ERVZf SUQgaXMgb25seSB1c2VkIGJ5IFZEUEFfQ01EX0RFVl9HRVQgaW4gTGludXggdjUuMTItcmM2LAo+ IG5vdCBieSBWRFBBX0NNRF9ERVZfTkVXLgo+Cj4gVGhlIGV4YW1wbGUgaW4gdGhpcyBkb2N1bWVu dCB1c2VzIFZEUEFfQVRUUl9ERVZfSUQgd2l0aAo+IFZEUEFfQ01EX0RFVl9ORVcuIElzIHRoZSBl eGFtcGxlIG91dGRhdGVkPwo+Cj4+Pj4gK01NVS1iYXNlZCBJT01NVSBEcml2ZXIKPj4+PiArLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQo+Pj4+ICtWRFVTRSBmcmFtZXdvcmsgaW1wbGVtZW50cyBhbiBN TVUtYmFzZWQgb24tY2hpcCBJT01NVSBkcml2ZXIgdG8gc3VwcG9ydAo+Pj4+ICttYXBwaW5nIHRo ZSBrZXJuZWwgRE1BIGJ1ZmZlciBpbnRvIHRoZSB1c2Vyc3BhY2UgaW92YSByZWdpb24gZHluYW1p Y2FsbHkuCj4+Pj4gK1RoaXMgaXMgbWFpbmx5IGRlc2lnbmVkIGZvciB2aXJ0aW8tdmRwYSBjYXNl IChrZXJuZWwgdmlydGlvIGRyaXZlcnMpLgo+Pj4+ICsKPj4+PiArVGhlIGJhc2ljIGlkZWEgYmVo aW5kIHRoaXMgZHJpdmVyIGlzIHRyZWF0aW5nIE1NVSAoVkEtPlBBKSBhcyBJT01NVSAoSU9WQS0+ UEEpLgo+Pj4+ICtUaGUgZHJpdmVyIHdpbGwgc2V0IHVwIE1NVSBtYXBwaW5nIGluc3RlYWQgb2Yg SU9NTVUgbWFwcGluZyBmb3IgdGhlIERNQSB0cmFuc2Zlcgo+Pj4+ICtzbyB0aGF0IHRoZSB1c2Vy c3BhY2UgcHJvY2VzcyBpcyBhYmxlIHRvIHVzZSBpdHMgdmlydHVhbCBhZGRyZXNzIHRvIGFjY2Vz cwo+Pj4+ICt0aGUgRE1BIGJ1ZmZlciBpbiBrZXJuZWwuCj4+Pj4gKwo+Pj4+ICtBbmQgdG8gYXZv aWQgc2VjdXJpdHkgaXNzdWUsIGEgYm91bmNlLWJ1ZmZlcmluZyBtZWNoYW5pc20gaXMgaW50cm9k dWNlZCB0bwo+Pj4+ICtwcmV2ZW50IHVzZXJzcGFjZSBhY2Nlc3NpbmcgdGhlIG9yaWdpbmFsIGJ1 ZmZlciBkaXJlY3RseSB3aGljaCBtYXkgY29udGFpbiBvdGhlcgo+Pj4+ICtrZXJuZWwgZGF0YS4g RHVyaW5nIHRoZSBtYXBwaW5nLCB1bm1hcHBpbmcsIHRoZSBkcml2ZXIgd2lsbCBjb3B5IHRoZSBk YXRhIGZyb20KPj4+PiArdGhlIG9yaWdpbmFsIGJ1ZmZlciB0byB0aGUgYm91bmNlIGJ1ZmZlciBh bmQgYmFjaywgZGVwZW5kaW5nIG9uIHRoZSBkaXJlY3Rpb24gb2YKPj4+PiArdGhlIHRyYW5zZmVy LiBBbmQgdGhlIGJvdW5jZS1idWZmZXIgYWRkcmVzc2VzIHdpbGwgYmUgbWFwcGVkIGludG8gdGhl IHVzZXIgYWRkcmVzcwo+Pj4+ICtzcGFjZSBpbnN0ZWFkIG9mIHRoZSBvcmlnaW5hbCBvbmUuCj4+ PiBJcyBtbWFwKDIpIHRoZSByaWdodCBpbnRlcmZhY2UgaWYgbWVtb3J5IGlzIG5vdCBhY3R1YWxs eSBzaGFyZWQsIHdoeSBub3QKPj4+IGp1c3QgdXNlIHByZWFkKDIpL3B3cml0ZSgyKSB0byBtYWtl IHRoZSBjb3B5IGV4cGxpY2l0PyBUaGF0IHdheSB0aGUgY29weQo+Pj4gc2VtYW50aWNzIGFyZSBj bGVhci4gRm9yIGV4YW1wbGUsIGRvbid0IGV4cGVjdCB0byBiZSBhYmxlIHRvIGJ1c3kgd2FpdAo+ Pj4gb24gdGhlIG1lbW9yeSBiZWNhdXNlIGNoYW5nZXMgd2lsbCBub3QgYmUgdmlzaWJsZSB0byB0 aGUgb3RoZXIgc2lkZS4KPj4+Cj4+PiAoSSBndWVzcyBJJ20gbWlzc2luZyBzb21ldGhpbmcgaGVy ZSBhbmQgdGhhdCBtbWFwKDIpIGlzIHRoZSByaWdodAo+Pj4gYXBwcm9hY2gsIGJ1dCBtYXliZSB0 aGlzIGRvY3VtZW50YXRpb24gc2VjdGlvbiBjYW4gYmUgY2xhcmlmaWVkLikKPj4gSXQncyBmb3Ig cGVyZm9ybWFuY2UgY29uc2lkZXJhdGlvbnMgb24gdGhlIG9uZSBoYW5kLiBXZSBtaWdodCBuZWVk IHRvCj4+IGNhbGwgcHJlYWQoMikvcHdyaXRlKDIpIG11bHRpcGxlIHRpbWVzIGZvciBlYWNoIHJl cXVlc3QuCj4gVXNlcnNwYWNlIGNhbiBrZWVwIHBhZ2Utc2l6ZWQgcHJlYWQoKSBidWZmZXJzIGFy b3VuZCB0byBhdm9pZCBhZGRpdGlvbmFsCj4gc3lzY2FsbHMgZHVyaW5nIGEgcmVxdWVzdC4KCgpJ J20gbm90IHN1cmUgSSBnZXQgaGVyZS4gQnV0IHRoZSBsZW5ndGggb2YgdGhlIHJlcXVlc3QgaXMg bm90IApuZWNlc3NhcmlseSBQQUdFX1NJWkUuCgoKPgo+IG1tYXAoKSBhY2Nlc3MgZG9lcyByZWR1 Y2UgdGhlIG51bWJlciBvZiBzeXNjYWxscywgYnV0IGl0IGFsc28gaW50cm9kdWNlcwo+IHBhZ2Ug ZmF1bHRzIChlZmZlY3RpdmVseSBkb2luZyB0aGUgcGFnZS1zaXplZCBwcmVhZCgpIEkgbWVudGlv bmVkCj4gYWJvdmUpLgoKCllvdSBjYW4gYWNjZXNzIHRoZSBkYXRhIGRpcmVjdGx5IGlmIHRoZXJl J3MgYWxyZWFkeSBhIHBhZ2UgZmF1bHQuIFNvIAptbWFwKCkgc2hvdWxkIGJlIG11Y2ggZmFzdGVy IGluIHRoaXMgY2FzZS4KCgo+Cj4gSXQncyBub3Qgb2J2aW91cyB0byBtZSB0aGF0IHRoZXJlIGlz IGEgZnVuZGFtZW50YWwgZGlmZmVyZW5jZSBiZXR3ZWVuCj4gdGhlIHR3byBhcHByb2FjaGVzIGlu IHRlcm1zIG9mIHBlcmZvcm1hbmNlLgo+Cj4+IE9uIHRoZSBvdGhlcgo+PiBoYW5kLCB3ZSBjYW4g aGFuZGxlIHRoZSB2aXJ0cXVldWUgaW4gYSB1bmlmaWVkIHdheSBmb3IgYm90aCB2aG9zdC12ZHBh Cj4+IGNhc2UgYW5kIHZpcnRpby12ZHBhIGNhc2UuIE90aGVyd2lzZSwgdXNlcnNwYWNlIGRhZW1v biBuZWVkcyB0byBrbm93Cj4+IHdoaWNoIGlvdmEgcmFuZ2VzIG5lZWQgdG8gYmUgYWNjZXNzZWQg d2l0aCBwcmVhZCgyKS9wd3JpdGUoMikuIEFuZCBpbgo+PiB0aGUgZnV0dXJlLCB3ZSBtaWdodCBi ZSBhYmxlIHRvIGF2b2lkIGJvdW5jaW5nIGluIHNvbWUgY2FzZXMuCj4gQWgsIEkgc2VlLiBTbyBi b3VuY2UgYnVmZmVycyBhcmUgbm90IHVzZWQgZm9yIHZob3N0LXZkcGE/CgoKWWVzLCBWRFVTRSBj YW4gcGFzcyBkaWZmZXJlbnQgZmRzIHRvIHVzZXJzYXBjZSBmb3IgbW1hcCgpLgoKVGhhbmtzCgoK Pgo+IFN0ZWZhbgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KVmlydHVhbGl6YXRpb24gbWFpbGluZyBsaXN0ClZpcnR1YWxpemF0aW9uQGxpc3RzLmxpbnV4 LWZvdW5kYXRpb24ub3JnCmh0dHBzOi8vbGlzdHMubGludXhmb3VuZGF0aW9uLm9yZy9tYWlsbWFu L2xpc3RpbmZvL3ZpcnR1YWxpemF0aW9u