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 lists.gnu.org (lists.gnu.org [209.51.188.17]) (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 1AF1EC25B75 for ; Wed, 29 May 2024 09:35:37 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sCFiI-0002J3-8u; Wed, 29 May 2024 05:35:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sCFiD-0002Ho-Vw; Wed, 29 May 2024 05:35:14 -0400 Received: from szxga06-in.huawei.com ([45.249.212.32]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sCFiA-0007BB-Ak; Wed, 29 May 2024 05:35:13 -0400 Received: from mail.maildlp.com (unknown [172.19.88.163]) by szxga06-in.huawei.com (SkyGuard) with ESMTP id 4Vq4295S49z1xrq9; Wed, 29 May 2024 17:33:37 +0800 (CST) Received: from dggpeml500005.china.huawei.com (unknown [7.185.36.59]) by mail.maildlp.com (Postfix) with ESMTPS id C9F2D180064; Wed, 29 May 2024 17:34:54 +0800 (CST) Received: from dggpemm500006.china.huawei.com (7.185.36.236) by dggpeml500005.china.huawei.com (7.185.36.59) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Wed, 29 May 2024 17:34:54 +0800 Received: from dggpemm500006.china.huawei.com ([7.185.36.236]) by dggpemm500006.china.huawei.com ([7.185.36.236]) with mapi id 15.01.2507.035; Wed, 29 May 2024 17:34:54 +0800 To: Jinpu Wang CC: Greg Sword , Peter Xu , Yu Zhang , Michael Galaxy , Elmar Gerdes , zhengchuan , =?utf-8?B?RGFuaWVsIFAuIEJlcnJhbmfDqQ==?= , "Markus Armbruster" , "Zhijian Li (Fujitsu)" , "qemu-devel@nongnu.org" , Yuval Shaia , Kevin Wolf , Prasanna Kumar Kalever , Cornelia Huck , Michael Roth , "Prasanna Kumar Kalever" , Paolo Bonzini , "qemu-block@nongnu.org" , "devel@lists.libvirt.org" , Hanna Reitz , "Michael S. Tsirkin" , Thomas Huth , Eric Blake , Song Gao , =?utf-8?B?TWFyYy1BbmRyw6kgTHVyZWF1?= , =?utf-8?B?QWxleCBCZW5uw6ll?= , "Wainer dos Santos Moschetta" , Beraldo Leal , Pannengyuan , Xiexiangyou , Fabiano Rosas , RDMA mailing list , "shefty@nvidia.com" , Haris Iqbal Subject: RE: [PATCH-for-9.1 v2 2/3] migration: Remove RDMA protocol handling Thread-Topic: [PATCH-for-9.1 v2 2/3] migration: Remove RDMA protocol handling Thread-Index: AQHaib4eb+nVph6utEe7HatbjXSGr7FeBxGAgAD/kQCAAM0PAIAAcGaAgAC+EICAAZsBgIAAJisAgBwPpQCAAB5mAIABl4t9//+GhYCAAhAsgIAHeqWwgABddICAATP+EIAAcc0AgAKnDgCAAFgYAIAH7hYAgANI14CAAUekgIAG49qAgAqnmyD//+59gIABNomA//+dcAAAAzlpgAAVpXFA//+IYYD//3i64A== Date: Wed, 29 May 2024 09:34:54 +0000 Message-ID: <3b1b7dfa099c4f1db2e869ced1f6f19a@huawei.com> References: <13ce4f9e-1e7c-24a9-0dc9-c40962979663@huawei.com> <04769507-ac37-495d-a797-e05084d73e64@akamai.com> <2308a8b894244123b638038e40a33990@huawei.com> <7bf81ccee4bd4b0e81e3893ef43502a8@huawei.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.173.124.235] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Received-SPF: pass client-ip=45.249.212.32; envelope-from=arei.gonglei@huawei.com; helo=szxga06-in.huawei.com X-Spam_score_int: -41 X-Spam_score: -4.2 X-Spam_bar: ---- X-Spam_report: (-4.2 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: "Gonglei (Arei)" From: "Gonglei (Arei)" via Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSmlucHUgV2FuZyBbbWFp bHRvOmppbnB1LndhbmdAaW9ub3MuY29tXQ0KPiBTZW50OiBXZWRuZXNkYXksIE1heSAyOSwgMjAy NCA1OjE4IFBNDQo+IFRvOiBHb25nbGVpIChBcmVpKSA8YXJlaS5nb25nbGVpQGh1YXdlaS5jb20+ DQo+IENjOiBHcmVnIFN3b3JkIDxncmVnc3dvcmQwQGdtYWlsLmNvbT47IFBldGVyIFh1IDxwZXRl cnhAcmVkaGF0LmNvbT47DQo+IFl1IFpoYW5nIDx5dS56aGFuZ0Bpb25vcy5jb20+OyBNaWNoYWVs IEdhbGF4eSA8bWdhbGF4eUBha2FtYWkuY29tPjsNCj4gRWxtYXIgR2VyZGVzIDxlbG1hci5nZXJk ZXNAaW9ub3MuY29tPjsgemhlbmdjaHVhbg0KPiA8emhlbmdjaHVhbkBodWF3ZWkuY29tPjsgRGFu aWVsIFAuIEJlcnJhbmfDqSA8YmVycmFuZ2VAcmVkaGF0LmNvbT47DQo+IE1hcmt1cyBBcm1icnVz dGVyIDxhcm1icnVAcmVkaGF0LmNvbT47IFpoaWppYW4gTGkgKEZ1aml0c3UpDQo+IDxsaXpoaWpp YW5AZnVqaXRzdS5jb20+OyBxZW11LWRldmVsQG5vbmdudS5vcmc7IFl1dmFsIFNoYWlhDQo+IDx5 dXZhbC5zaGFpYS5tbEBnbWFpbC5jb20+OyBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29tPjsg UHJhc2FubmENCj4gS3VtYXIgS2FsZXZlciA8cHJhc2FubmEua2FsZXZlckByZWRoYXQuY29tPjsg Q29ybmVsaWEgSHVjaw0KPiA8Y29odWNrQHJlZGhhdC5jb20+OyBNaWNoYWVsIFJvdGggPG1pY2hh ZWwucm90aEBhbWQuY29tPjsgUHJhc2FubmENCj4gS3VtYXIgS2FsZXZlciA8cHJhc2FubmE0MzI0 QGdtYWlsLmNvbT47IFBhb2xvIEJvbnppbmkNCj4gPHBib256aW5pQHJlZGhhdC5jb20+OyBxZW11 LWJsb2NrQG5vbmdudS5vcmc7IGRldmVsQGxpc3RzLmxpYnZpcnQub3JnOw0KPiBIYW5uYSBSZWl0 eiA8aHJlaXR6QHJlZGhhdC5jb20+OyBNaWNoYWVsIFMuIFRzaXJraW4gPG1zdEByZWRoYXQuY29t PjsNCj4gVGhvbWFzIEh1dGggPHRodXRoQHJlZGhhdC5jb20+OyBFcmljIEJsYWtlIDxlYmxha2VA cmVkaGF0LmNvbT47IFNvbmcNCj4gR2FvIDxnYW9zb25nQGxvb25nc29uLmNuPjsgTWFyYy1BbmRy w6kgTHVyZWF1DQo+IDxtYXJjYW5kcmUubHVyZWF1QHJlZGhhdC5jb20+OyBBbGV4IEJlbm7DqWUg PGFsZXguYmVubmVlQGxpbmFyby5vcmc+Ow0KPiBXYWluZXIgZG9zIFNhbnRvcyBNb3NjaGV0dGEg PHdhaW5lcnNtQHJlZGhhdC5jb20+OyBCZXJhbGRvIExlYWwNCj4gPGJsZWFsQHJlZGhhdC5jb20+ OyBQYW5uZW5neXVhbiA8cGFubmVuZ3l1YW5AaHVhd2VpLmNvbT47DQo+IFhpZXhpYW5neW91IDx4 aWV4aWFuZ3lvdUBodWF3ZWkuY29tPjsgRmFiaWFubyBSb3NhcyA8ZmFyb3Nhc0BzdXNlLmRlPjsN Cj4gUkRNQSBtYWlsaW5nIGxpc3QgPGxpbnV4LXJkbWFAdmdlci5rZXJuZWwub3JnPjsgc2hlZnR5 QG52aWRpYS5jb207IEhhcmlzDQo+IElxYmFsIDxoYXJpcy5pcWJhbEBpb25vcy5jb20+DQo+IFN1 YmplY3Q6IFJlOiBbUEFUQ0gtZm9yLTkuMSB2MiAyLzNdIG1pZ3JhdGlvbjogUmVtb3ZlIFJETUEg cHJvdG9jb2wgaGFuZGxpbmcNCj4gDQo+IEhpIEdvbmdsZWksDQo+IA0KPiBPbiBXZWQsIE1heSAy OSwgMjAyNCBhdCAxMDozMeKAr0FNIEdvbmdsZWkgKEFyZWkpIDxhcmVpLmdvbmdsZWlAaHVhd2Vp LmNvbT4NCj4gd3JvdGU6DQo+ID4NCj4gPg0KPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiA+ID4gRnJvbTogR3JlZyBTd29yZCBbbWFpbHRvOmdyZWdzd29yZDBAZ21haWwu Y29tXQ0KPiA+ID4gU2VudDogV2VkbmVzZGF5LCBNYXkgMjksIDIwMjQgMjowNiBQTQ0KPiA+ID4g VG86IEppbnB1IFdhbmcgPGppbnB1LndhbmdAaW9ub3MuY29tPg0KPiA+ID4gU3ViamVjdDogUmU6 IFtQQVRDSC1mb3ItOS4xIHYyIDIvM10gbWlncmF0aW9uOiBSZW1vdmUgUkRNQSBwcm90b2NvbA0K PiA+ID4gaGFuZGxpbmcNCj4gPiA+DQo+ID4gPiBPbiBXZWQsIE1heSAyOSwgMjAyNCBhdCAxMjoz M+KAr1BNIEppbnB1IFdhbmcgPGppbnB1LndhbmdAaW9ub3MuY29tPg0KPiA+ID4gd3JvdGU6DQo+ ID4gPiA+DQo+ID4gPiA+IE9uIFdlZCwgTWF5IDI5LCAyMDI0IGF0IDQ6NDPigK9BTSBHb25nbGVp IChBcmVpKQ0KPiA+ID4gPiA8YXJlaS5nb25nbGVpQGh1YXdlaS5jb20+DQo+ID4gPiB3cm90ZToN Cj4gPiA+ID4gPg0KPiA+ID4gPiA+IEhpLA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiA+ID4gRnJvbTogUGV0ZXIgWHUgW21haWx0bzpw ZXRlcnhAcmVkaGF0LmNvbV0NCj4gPiA+ID4gPiA+IFNlbnQ6IFR1ZXNkYXksIE1heSAyOCwgMjAy NCAxMTo1NSBQTQ0KPiA+ID4gPiA+ID4gPiA+ID4gRXhhY3RseSwgbm90IHNvIGNvbXBlbGxpbmcs IGFzIEkgZGlkIGl0IGZpcnN0IG9ubHkgb24NCj4gPiA+ID4gPiA+ID4gPiA+IHNlcnZlcnMgd2lk ZWx5IHVzZWQgZm9yIHByb2R1Y3Rpb24gaW4gb3VyIGRhdGEgY2VudGVyLg0KPiA+ID4gPiA+ID4g PiA+ID4gVGhlIG5ldHdvcmsgYWRhcHRlcnMgYXJlDQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gPiA+ID4gRXRoZXJuZXQgY29udHJvbGxlcjogQnJvYWRjb20gSW5jLiBhbmQgc3Vic2lk aWFyaWVzDQo+ID4gPiA+ID4gPiA+ID4gPiBOZXRYdHJlbWUNCj4gPiA+ID4gPiA+ID4gPiA+IEJD TTU3MjAgMi1wb3J0IEdpZ2FiaXQgRXRoZXJuZXQgUENJZQ0KPiA+ID4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiA+ID4gSG1tLi4uIEkgZGVmaW5pdGVseSB0aGlua3MgSmlucHUncyBNZWxsYW5veCBD b25uZWN0WC02DQo+ID4gPiA+ID4gPiA+ID4gbG9va3MgbW9yZQ0KPiA+ID4gPiA+ID4gcmVhc29u YWJsZS4NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ ID4NCj4gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvcWVtdS1kZXZlbC9DQU1HZmZFbi1ES3BNWjR0 QTcxTUpZZHllbWcwWmRhDQo+ID4gPiA+ID4gPiAxNQ0KPiA+ID4gPiA+ID4gPiA+IHdWQXFrODF2 WHRLengtTGZKUUBtYWlsLmdtYWlsLmNvbS8NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g PiA+IEFwcHJlY2lhdGUgYSBsb3QgZm9yIGV2ZXJ5b25lIGhlbHBpbmcgb24gdGhlIHRlc3Rpbmdz Lg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiBJbmZpbmlCYW5kIGNvbnRyb2xs ZXI6IE1lbGxhbm94IFRlY2hub2xvZ2llcyBNVDI3ODAwDQo+ID4gPiA+ID4gPiA+ID4gPiBGYW1p bHkgW0Nvbm5lY3RYLTVdDQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gd2hp Y2ggZG9lc24ndCBtZWV0IG91ciBwdXJwb3NlLiBJIGNhbiBjaG9vc2UgUkRNQSBvciBUQ1ANCj4g PiA+ID4gPiA+ID4gPiA+IGZvciBWTSBtaWdyYXRpb24uIFJETUEgdHJhZmZpYyBpcyB0aHJvdWdo IEluZmluaUJhbmQgYW5kDQo+ID4gPiA+ID4gPiA+ID4gPiBUQ1AgdGhyb3VnaCBFdGhlcm5ldCBv biB0aGVzZSB0d28gaG9zdHMuIE9uZSBpcyBzdGFuZGJ5DQo+ID4gPiA+ID4gPiA+ID4gPiB3aGls ZSB0aGUgb3RoZXINCj4gPiA+IGlzIGFjdGl2ZS4NCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiA+ID4gPiBOb3cgSSdsbCB0cnkgb24gYSBzZXJ2ZXIgd2l0aCBtb3JlIHJlY2VudCBFdGhl cm5ldCBhbmQNCj4gPiA+ID4gPiA+ID4gPiA+IEluZmluaUJhbmQgbmV0d29yayBhZGFwdGVycy4g T25lIG9mIHRoZW0gaGFzOg0KPiA+ID4gPiA+ID4gPiA+ID4gQkNNNTc0MTQgTmV0WHRyZW1lLUUg MTBHYi8yNUdiIFJETUEgRXRoZXJuZXQgQ29udHJvbGxlcg0KPiA+ID4gPiA+ID4gPiA+ID4gKHJl dg0KPiA+ID4gPiA+ID4gPiA+ID4gMDEpDQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g PiA+ID4gVGhlIGNvbXBhcmlzb24gYmV0d2VlbiBSRE1BIGFuZCBUQ1Agb24gdGhlIHNhbWUgTklD DQo+ID4gPiA+ID4gPiA+ID4gPiBjb3VsZCBtYWtlIG1vcmUNCj4gPiA+ID4gPiA+ID4gPiBzZW5z ZS4NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IEl0IGxvb2tzIHRvIG1lIE5JQ3Mg YXJlIHBvd2VyZnVsIG5vdywgYnV0IGFnYWluIGFzIEkNCj4gPiA+ID4gPiA+ID4gPiBtZW50aW9u ZWQgSSBkb24ndCB0aGluayBpdCdzIGEgcmVhc29uIHdlIG5lZWQgdG8gZGVwcmVjYXRlDQo+ID4g PiA+ID4gPiA+ID4gcmRtYSwgZXNwZWNpYWxseSBpZiBRRU1VJ3MgcmRtYSBtaWdyYXRpb24gaGFz IHRoZSBjaGFuY2UNCj4gPiA+ID4gPiA+ID4gPiB0byBiZSByZWZhY3RvcmVkDQo+ID4gPiB1c2lu ZyByc29ja2V0Lg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gSXMgdGhlcmUgYW55 b25lIHdobyBzdGFydGVkIGxvb2tpbmcgaW50byB0aGF0IGRpcmVjdGlvbj8NCj4gPiA+ID4gPiA+ ID4gPiBXb3VsZCBpdCBtYWtlIHNlbnNlIHdlIHN0YXJ0IHNvbWUgUG9DIG5vdz8NCj4gPiA+ID4g PiA+ID4gPg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBNeSB0ZWFtIGhhcyBmaW5pc2hl ZCB0aGUgUG9DIHJlZmFjdG9yaW5nIHdoaWNoIHdvcmtzIHdlbGwuDQo+ID4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiA+IFByb2dyZXNzOg0KPiA+ID4gPiA+ID4gPiAxLiAgSW1wbGVtZW50IGlvL2No YW5uZWwtcmRtYS5jLCAyLiAgQWRkIHVuaXQgdGVzdA0KPiA+ID4gPiA+ID4gPiB0ZXN0cy91bml0 L3Rlc3QtaW8tY2hhbm5lbC1yZG1hLmMgYW5kIHZlcmlmeWluZyBpdCBpcw0KPiA+ID4gPiA+ID4g PiBzdWNjZXNzZnVsLCAzLiAgUmVtb3ZlIHRoZSBvcmlnaW5hbCBjb2RlIGZyb20gbWlncmF0aW9u L3JkbWEuYywgNC4NCj4gPiA+ID4gPiA+ID4gUmV3cml0ZSB0aGUgcmRtYV9zdGFydF9vdXRnb2lu Z19taWdyYXRpb24gYW5kDQo+ID4gPiA+ID4gPiA+IHJkbWFfc3RhcnRfaW5jb21pbmdfbWlncmF0 aW9uIGxvZ2ljLCA1LiAgUmVtb3ZlIGFsbCByZG1hX3h4eA0KPiA+ID4gPiA+ID4gPiBmdW5jdGlv bnMgZnJvbSBtaWdyYXRpb24vcmFtLmMuICh0byBwcmV2ZW50IFJETUEgbGl2ZQ0KPiA+ID4gPiA+ ID4gPiBtaWdyYXRpb24gZnJvbSBwb2xsdXRpbmcgdGhlDQo+ID4gPiA+ID4gPiBjb3JlIGxvZ2lj IG9mIGxpdmUgbWlncmF0aW9uKSwgNi4gIFRoZSBzb2Z0LVJvQ0UgaW1wbGVtZW50ZWQNCj4gPiA+ ID4gPiA+IGJ5IHNvZnR3YXJlIGlzIHVzZWQgdG8gdGVzdCB0aGUgUkRNQSBsaXZlIG1pZ3JhdGlv bi4gSXQncyBzdWNjZXNzZnVsLg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBXZSB3aWxs IGJlIHN1Ym1pdCB0aGUgcGF0Y2hzZXQgbGF0ZXIuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g VGhhdCdzIGdyZWF0IG5ld3MsIHRoYW5rIHlvdSENCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAt LQ0KPiA+ID4gPiA+ID4gUGV0ZXIgWHUNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IEZvciByZG1hIHBy b2dyYW1taW5nLCB0aGUgY3VycmVudCBtYWluc3RyZWFtIGltcGxlbWVudGF0aW9uIGlzDQo+ID4g PiA+ID4gdG8gdXNlDQo+ID4gPiByZG1hX2NtIHRvIGVzdGFibGlzaCBhIGNvbm5lY3Rpb24sIGFu ZCB0aGVuIHVzZSB2ZXJicyB0byB0cmFuc21pdCBkYXRhLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4g cmRtYV9jbSBhbmQgaWJ2ZXJicyBjcmVhdGUgdHdvIEZEcyByZXNwZWN0aXZlbHkuIFRoZSB0d28g RkRzDQo+ID4gPiA+ID4gaGF2ZSBkaWZmZXJlbnQgcmVzcG9uc2liaWxpdGllcy4gcmRtYV9jbSBm ZCBpcyB1c2VkIHRvIG5vdGlmeQ0KPiA+ID4gPiA+IGNvbm5lY3Rpb24gZXN0YWJsaXNobWVudCBl dmVudHMsIGFuZCB2ZXJicyBmZCBpcyB1c2VkIHRvIG5vdGlmeQ0KPiA+ID4gPiA+IG5ldyBDUUVz LiBXaGVuDQo+ID4gPiBwb2xsL2Vwb2xsIG1vbml0b3JpbmcgaXMgZGlyZWN0bHkgcGVyZm9ybWVk IG9uIHRoZSByZG1hX2NtIGZkLCBvbmx5DQo+ID4gPiBhIHBvbGxpbiBldmVudCBjYW4gYmUgbW9u aXRvcmVkLCB3aGljaCBtZWFucyB0aGF0IGFuIHJkbWFfY20gZXZlbnQNCj4gPiA+IG9jY3Vycy4g V2hlbiB0aGUgdmVyYnMgZmQgaXMgZGlyZWN0bHkgcG9sbGVkL2Vwb2xsZWQsIG9ubHkgdGhlDQo+ ID4gPiBwb2xsaW4gZXZlbnQgY2FuIGJlIGxpc3RlbmVkLCB3aGljaCBpbmRpY2F0ZXMgdGhhdCBh IG5ldyBDUUUgaXMgZ2VuZXJhdGVkLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gUnNvY2tldCBpcyBh IHN1Yi1tb2R1bGUgYXR0YWNoZWQgdG8gdGhlIHJkbWFfY20gbGlicmFyeSBhbmQNCj4gPiA+ID4g PiBwcm92aWRlcyByZG1hIGNhbGxzIHRoYXQgYXJlIGNvbXBsZXRlbHkgc2ltaWxhciB0byBzb2Nr ZXQgaW50ZXJmYWNlcy4NCj4gPiA+ID4gPiBIb3dldmVyLCB0aGlzIGxpYnJhcnkgcmV0dXJucyBv bmx5IHRoZSByZG1hX2NtIGZkIGZvciBsaXN0ZW5pbmcNCj4gPiA+ID4gPiB0byBsaW5rDQo+ID4g PiBzZXR1cC1yZWxhdGVkIGV2ZW50cyBhbmQgZG9lcyBub3QgZXhwb3NlIHRoZSB2ZXJicyBmZCAo cmVhZGFibGUgYW5kDQo+ID4gPiB3cml0YWJsZSBldmVudHMgZm9yIGxpc3RlbmluZyB0byBkYXRh KS4gT25seSB0aGUgcnBvbGwgaW50ZXJmYWNlDQo+ID4gPiBwcm92aWRlZCBieSB0aGUgUlNvY2tl dCBjYW4gYmUgdXNlZCB0byBsaXN0ZW4gdG8gcmVsYXRlZCBldmVudHMuDQo+ID4gPiBIb3dldmVy LCBRRU1VIHVzZXMgdGhlIHBwb2xsIGludGVyZmFjZSB0byBsaXN0ZW4gdG8gdGhlIHJkbWFfY20g ZmQNCj4gKGdvdHRlbiBieSByYWNjZXB0IEFQSSkuDQo+ID4gPiA+ID4gQW5kIGNhbm5vdCBsaXN0 ZW4gdG8gdGhlIHZlcmJzIGZkIGV2ZW50Lg0KPiBJJ20gY29uZnVzZWQsIHRoZSByc19wb2xsX2Fy bQ0KPiA6aHR0cHM6Ly9naXRodWIuY29tL2xpbnV4LXJkbWEvcmRtYS1jb3JlL2Jsb2IvbWFzdGVy L2xpYnJkbWFjbS9yc29ja2V0LmMjDQo+IEwzMjkwDQo+IEZvciBTVFJFQU0sIHJwb2xsIHNldHVw IGZkIGZvciBib3RoIGNxIGZkIGFuZCBjbSBmZC4NCj4gDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBE byB5b3UgZ3V5cyBoYXZlIGFueSBpZGVhcz8gVGhhbmtzLg0KPiA+ID4gPiArY2MgbGludXgtcmRt YQ0KPiA+ID4NCj4gPiA+IFdoeSBpbmNsdWRlIHJkbWEgY29tbXVuaXR5Pw0KPiA+ID4NCj4gPg0K PiA+IENhbiByZG1hL3Jzb2NrZXQgcHJvdmlkZSBhbiBBUEkgdG8gZXhwb3NlIHRoZSB2ZXJicyBm ZD8NCj4gV2h5IGRvIHdlIG5lZWQgdmVyYnMgZmQ/IGxvb2tzIHJzb2NrZXQgZHVyaW5nIHJzZW5k L3JyZWN2IGlzIGhhbmRsaW5nIHRoZSBuZXcNCj4gY29tcGxldGlvbiBpZiBhbnkgdmlhIHJzX2dl dF9jb21wDQo+IA0KQWN0dWFsbHkgSSBzYWlkIHRoZSByZWFzb24gaW4gdGhlIHByZXZpb3VzIG1h aWwuIExpc3Rpbmcgc29tZSBoZWFkZXIgaW4gbGlicmRtYWNtLg0KDQovKiB2ZXJicy5oICovDQpz dHJ1Y3QgaWJ2X2NvbXBfY2hhbm5lbCB7DQoJc3RydWN0IGlidl9jb250ZXh0ICAgICAqY29udGV4 dDsNCglpbnQJCQlmZDsNCglpbnQJCQlyZWZjbnQ7DQp9Ow0KDQovKiByZG1hX2NtYS5oICovDQpz dHJ1Y3QgcmRtYV9ldmVudF9jaGFubmVsIHsNCglpbnQJCQlmZDsNCn07DQoNCi8qIHJkbWFfY21h LmggKi8NCnN0cnVjdCByZG1hX2NtX2lkIHsNCglzdHJ1Y3QgaWJ2X2NvbnRleHQJKnZlcmJzOw0K CXN0cnVjdCByZG1hX2V2ZW50X2NoYW5uZWwgKmNoYW5uZWw7ICAgLy89PT4gaXQgY2FuIGJlIGdv dHRlbiBieSByc29ja2V0LmgNCgl2b2lkCQkJKmNvbnRleHQ7DQoJc3RydWN0IGlidl9xcAkJKnFw Ow0KCXN0cnVjdCByZG1hX3JvdXRlCSByb3V0ZTsNCgllbnVtIHJkbWFfcG9ydF9zcGFjZQkgcHM7 DQoJdWludDhfdAkJCSBwb3J0X251bTsNCglzdHJ1Y3QgcmRtYV9jbV9ldmVudAkqZXZlbnQ7DQoJ c3RydWN0IGlidl9jb21wX2NoYW5uZWwgKnNlbmRfY3FfY2hhbm5lbDsgIC8vID09PiBjYW4ndCBi ZSBnb3R0ZW4gc28gdGhhdCBRZW11IGNhbid0IHJlYWQgdGhlIENRRSBkYXRhDQoJc3RydWN0IGli dl9jcQkJKnNlbmRfY3E7DQoJc3RydWN0IGlidl9jb21wX2NoYW5uZWwgKnJlY3ZfY3FfY2hhbm5l bDsNCglzdHJ1Y3QgaWJ2X2NxCQkqcmVjdl9jcTsNCglzdHJ1Y3QgaWJ2X3NycQkJKnNycTsNCglz dHJ1Y3QgaWJ2X3BkCQkqcGQ7DQoJZW51bSBpYnZfcXBfdHlwZQlxcF90eXBlOw0KfTsNCg0KLyog cnNvY2tldC5oICovDQppbnQgcmFjY2VwdChpbnQgc29ja2V0LCBzdHJ1Y3Qgc29ja2FkZHIgKmFk ZHIsIHNvY2tsZW5fdCAqYWRkcmxlbik7DQppbnQgcnBvbGwoc3RydWN0IHBvbGxmZCAqZmRzLCBu ZmRzX3QgbmZkcywgaW50IHRpbWVvdXQpOw0KDQoNCj4gQW5vdGhlciBxdWVzdGlvbiB0byBteSBt aW5kIGlzIERhbmllbCBzdWdnZXN0ZWQgYSBiaXQgZGlmZmVyZW50IHdheSBvZiB1c2luZw0KPiBy c29ja2V0OiBodHRwczovL2xvcmUua2VybmVsLm9yZy9xZW11LWRldmVsL1pqdE9yZWFtTjh4RjlG REVAcmVkaGF0LmNvbS8NCj4gSGF2ZSB5b3UgY29uc2lkZXJlZCB0aGF0Pw0KPiANCldlIGRvIHVz ZSAncnNvY2tldCcgQVBJcyB0byByZWZhY3RvciB0aGUgUkRNQSBjb2RlIGluIFFFTVUgYW5kIGVu Y291bnRlciB0aGUgaXNzdWUuDQoNCg0KUmVnYXJkcywNCi1Hb25nbGVpDQoNCg==