From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id D84D7A0A0A; Thu, 6 May 2021 04:36:33 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5468C410DB; Thu, 6 May 2021 04:36:33 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id C796640040 for ; Thu, 6 May 2021 04:36:30 +0200 (CEST) IronPort-SDR: gwA2bhSfpmWUxLWn4z9a0M6EznCtocC9E4R5hCRlbJVAvle0GugMI+tEmp1Yqm1Gm6Xju0PmFz J/XDVH9bb5HA== X-IronPort-AV: E=McAfee;i="6200,9189,9975"; a="177916542" X-IronPort-AV: E=Sophos;i="5.82,276,1613462400"; d="scan'208";a="177916542" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 May 2021 19:36:29 -0700 IronPort-SDR: qM7r8YH1QMAV0JQM9BysqgI/eVloJT40jc00+pdDk3u41sViPamhfD8MYdy1K/ZGcqrzZj0eZN XsuqwlxSn2bA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,276,1613462400"; d="scan'208";a="389416779" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga003.jf.intel.com with ESMTP; 05 May 2021 19:36:29 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Wed, 5 May 2021 19:36:28 -0700 Received: from fmsmsx604.amr.corp.intel.com (10.18.126.84) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Wed, 5 May 2021 19:36:28 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2 via Frontend Transport; Wed, 5 May 2021 19:36:28 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.175) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2106.2; Wed, 5 May 2021 19:36:28 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CacvC7meSq1d4A/JsehIYbaJFMUycOKG6Py6qr5x6FX4AidTWuifbu2KS+zVb7KC6OpnPsL8i1u3+H2w7cpuqcPzNAI2cWftxR8Lhsj2bP5r7R4qItIdd1gWlyxjgReuSy8spXAjWXy/C5vyEgTL4HpcFZGsKJMDCwJiZuoPpe9Ex0s94ZiTFITCnvu9aTr0BzvH3JXAAF8a2l7QQ8ifI7VDnnSyouXy5BPXWSA1PUFlQugBqylSnOEl/yCznpgOwAinwv5K06/ehPx7/Iw71lAJRaguKSXBVR8QdhPf8TGGJVlfXluZoNas6nnGMJC497sVuW7y+C8OgvZkD+1Kfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=E5shDSIOPY9KWsmbrgLBySiLcjVOx3xfYmOcQpKTsbs=; b=IQEZQueRX1N8kBk9K4sxTw/VqD/UtBwY5QwTaIqvSV6QeHVP2UlJ+c+7+/Hseb9JjwX7aNtgOaFNzy8hsTTkxOFfg91in/wxKGDliRZQhhJmG1zVrhhb4J9ymSAjtft1UymMchZ0TQeSvt1A1U+J9NyfWwONufQXYr8AAjC0Bmj7JDpixzawohXp5tAc2dXeygnA9HmNL9EamZSQFwiQYaixpFlrU3z2tVtjIgmZmNPX1XG86BwF/DbAeZKIw+zQ5lKa5/RJLY4xtVGsbbWQp2Uwa7tZqLil+JLsHlvvyBrwAuhtCsA7quvPt+00c8tpGigDFriRSgHAnKqq/o2u5Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=E5shDSIOPY9KWsmbrgLBySiLcjVOx3xfYmOcQpKTsbs=; b=ipVda5sh1AS7E2oW9M/SpCfGqfIQZfZnVoteBMP/31Eg842Qg3TpIvHhYqVyO3zkTIqR3Cunpfd0lOezuqeRGw/tnHQ0RuqRJLaSH/ApLR9scGC9buogvcheW17ybTYBfhXkfNIHDBmeOJ1sSgeGzEflR/fLnrGZn3GGtw4JeW8= Received: from DM4PR11MB5534.namprd11.prod.outlook.com (2603:10b6:5:391::22) by DM6PR11MB4609.namprd11.prod.outlook.com (2603:10b6:5:28f::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.25; Thu, 6 May 2021 02:36:25 +0000 Received: from DM4PR11MB5534.namprd11.prod.outlook.com ([fe80::9034:15e:7cf3:4b78]) by DM4PR11MB5534.namprd11.prod.outlook.com ([fe80::9034:15e:7cf3:4b78%4]) with mapi id 15.20.4108.026; Thu, 6 May 2021 02:36:25 +0000 From: "Li, Xiaoyun" To: Huisong Li CC: "Yigit, Ferruh" , "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH v2 1/2] app/testpmd: add link speed check before port start Thread-Index: AQHXPAm4iDqDa0Q+5UyGv4nRs/jke6rMU/swgAAfrICAAAsvMIAGF6KAgAMwsyA= Date: Thu, 6 May 2021 02:36:25 +0000 Message-ID: References: <1618813303-32945-1-git-send-email-humin29@huawei.com> <1619599019-46246-1-git-send-email-humin29@huawei.com> <1619599019-46246-2-git-send-email-humin29@huawei.com> <95042d3b-408a-a290-de18-a887de558555@huawei.com> <2574477f-8eb7-91ab-6cc2-2f11434fee89@huawei.com> In-Reply-To: <2574477f-8eb7-91ab-6cc2-2f11434fee89@huawei.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: huawei.com; dkim=none (message not signed) header.d=none;huawei.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.102.204.53] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 15647e4b-97d7-4607-4aa3-08d91037beaf x-ms-traffictypediagnostic: DM6PR11MB4609: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7691; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: uD7VBXtpNtNeIiJhaKVZ7JEw9dTe05mrU6SorJIhpNGJZ4BShpFP/9aZlttVPJDIZfPxgFxcD2izznAd1S+OqlJL3OJKsqNO4FyEAd+2hqANmfzaOX+lETdXvd+iE9oVuUei2YQarqbaSzsMq5pVV9sC4nnqiPpL+H8HufaKzd3vlsR1asncQzH7+OZ38JBpuBP55g+QNvrE+nVRATJoXBCIRiXBiQ/qx2A/lGdsGY7oN2913WbPJZNAv6v3/j4+g/28Zs7+tDqWtgymA1Cu6zNunWlnAyD03akDdGhcOewPLyL1FhK9g9glG7vXOpjTLu3e5hI5jbeiecfcf0g5/6ApbeZXo/0rFprRKNpyc6//T8lmPjhnOF6oz21Lu7yuhnrTWiL6TktQLzWG6+ZeXV3qhbDETEzXvOgPSq/ZefY0tcz6yH2NRb/CqqS3cPyrqffpewEvmIsne7RYe/n0gOqrK1z+P5oTR7Q55vUVdD9LmU1pGJ0mK84wDb3K7NMBJCTiO64jmXtHFDXmHMFKOqLEFfcGMXjjxndlSd7XXYRbY9iKAFcjdMjH+fYrESg6LnqucYq5XQMJA94A5EJQRxHMf7qXdgLqCbjqwaFEgJdjKRRHoHQsRwdUuW2p5rhhqjew/pu+tNV1MkDLPznadw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR11MB5534.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(136003)(346002)(396003)(376002)(366004)(39860400002)(66476007)(52536014)(55016002)(38100700002)(478600001)(122000001)(54906003)(9686003)(6916009)(186003)(66946007)(4326008)(76116006)(316002)(71200400001)(7696005)(86362001)(53546011)(6506007)(8676002)(2906002)(83380400001)(33656002)(5660300002)(66556008)(8936002)(66446008)(64756008)(26005)(21314003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?RlNJbzBWb2hOczZaQlhWL2dQcFFpUGdOeldUbGp6NXZxOEw0L0d5TnhzVDNl?= =?utf-8?B?N2I3SGpWcVMrdjdlN3lWM3kyZ203aUcwRENReWF4dTJURnNCVTFueWhwYUtE?= =?utf-8?B?Y2hnRjZPanY1MVd1YmsvWHkxSmg3RWlEWXQ2UGQ3cWxMSng5NXYydHBDM1hJ?= =?utf-8?B?SElHUUVYMGhuOFZjRHlSNDdMT0U5S1ltZlovcWtQbkhoNnNSaGJIVW5tT2FN?= =?utf-8?B?MGpLc1hsL0FoYXQ5ODA0UEFXdjdmMlRaZFN0TlFZQVVkeG51OXAzN0pPMS9X?= =?utf-8?B?M3hjUmhDNThIdHBxVy92TDdxakxuZ002MC9uU0Npb0FVaWZKb292NDF3M0pD?= =?utf-8?B?WXJlMjZBT0UyVExTRjQxZnpsV3pYeUxpOUhlVTh3SExjRWpqK0xHb2Q1djcx?= =?utf-8?B?dzFOc0hMZzRJSDEzV0NpbDd5N0tUbjBtQ0prRXJZUXVrMjNBNzUvNHRDUUVL?= =?utf-8?B?OTRVWlRoUGtGQ09sQm82ZDJhZk1jVXFFaENqd25qS2ZsZ2FCbjROOU9qaXpy?= =?utf-8?B?RmVUTjBVUVE2dm5NLzhWSlJabmhvM0Vmck1odHlFVXQ2SnRKSSsvL0h1ampz?= =?utf-8?B?TzhXNUF6Nm0vbEVpMmhyaTlUOXhzbTNSRldZc2IyMWgvUU91dGpSRkZvNzVC?= =?utf-8?B?UC9obVoxWWVoQk16SDlxdGlYMjhnSWt6MnBMN1pHU1JHb3UxNkRWNHg1VWJV?= =?utf-8?B?ZDk4eW5xOVpmNnhtMWVkNmhXR28yYXN4Y2E5TzdHU2RMclVlNzdIaUZNVWxP?= =?utf-8?B?S2xWWmFPN0JtS00rdWFmL0s3dW5kYjAraVVMU0tEQUVQV3ViUnhqQkljNnFD?= =?utf-8?B?b3FGS3FoOUVYYVNCUDRtRnQ1a3IzRnA3czhmdWtvN0xkV1llMEZSOExSK3BX?= =?utf-8?B?bjRqdXVUY1RzbnlvOVlZd2hCcXhZNVNreFJwTVlaQ0p5czd6YWhKWWZXOHZE?= =?utf-8?B?enk2aHNnbk92a2UvZ2ZWUFQ1RWV6SGdlSS8zcnFUc1ZTWXhtdFRkK1JOUmVM?= =?utf-8?B?a09pM0ltazRyUUIyd3RkQXV6SnVBbkdEZlNBR3pRaEJnbndyakNLQTBNWEJw?= =?utf-8?B?cGpXUDVacWNOT1d4TmJ5RnRZcjdVNmx1K0pZcnF6Ni9XYWhOUllKVndFU1Vz?= =?utf-8?B?WGJJUmZ1eDVhWmZjaWcvcnNrVnNWdGh1YUE2d0N1ZkFQdUVwY0pjOFpSbkg5?= =?utf-8?B?dmlEK3dLd2FxdXBWREpFL2EvN2F6N0dmNUJPajFvL3VSOHdmMU5VMjN3K0xy?= =?utf-8?B?c1lTMHYzK2dEaGcySElrbVloU2pRdWEyVmFBU2pLMDJuYmlSdDdGZ2dwK21D?= =?utf-8?B?bC9rd29kS3VKWTFEcGVOL3ZuR2hLOEo0UHRnUkRuZEN5ZGJnMWx3V0w4anVa?= =?utf-8?B?Si85a2ZKSkRjNktOMXVMSWRCZmlaR1kvVlFjS2N2NVlweUNpYjRsRVBKMjhS?= =?utf-8?B?QzdDcDZhTW8yaHlpZDlvSGtXdStiWENjclNpalpZR2k4Y0NRV00vVkp6R1Bz?= =?utf-8?B?VS95TWNjWE44a0E3MWtJU1BsZ1JtSDlsMmgyR3FBSWF4SEt1YXIvanlNbWpu?= =?utf-8?B?OS9xWnJYODBxSVFaQkRrVFdOcTRXT0JyYjUycnFJaUFXQkk0MnlhTlJTMHd5?= =?utf-8?B?TTBUNVFENW9oTDdudFBCL2srWXdUNGVSL2JnSVdjakhsRmR5N3JTMFhINDlO?= =?utf-8?B?Qks5N0lhMGpndEMreVg3cFRGWkQ4eHl3TVlCMmt3NnFrZU5rSngrazgwYURj?= =?utf-8?Q?o9/cb9R7G88pN2jtu2BQAVd+uyspdt1HzimaTgz?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB5534.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 15647e4b-97d7-4607-4aa3-08d91037beaf X-MS-Exchange-CrossTenant-originalarrivaltime: 06 May 2021 02:36:25.7582 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: d9GGEuxRKGDEKGsBodNHtdAn93uqo5KaIzSdgQUbeu0EiAA4V0BsH/Y83vq3m8IdhaLFS0yeTK+mo1fE0aIX6g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB4609 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v2 1/2] app/testpmd: add link speed check before port start X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSHVpc29uZyBMaSA8bGlo dWlzb25nQGh1YXdlaS5jb20+DQo+IFNlbnQ6IFR1ZXNkYXksIE1heSA0LCAyMDIxIDA5OjQ2DQo+ IFRvOiBMaSwgWGlhb3l1biA8eGlhb3l1bi5saUBpbnRlbC5jb20+DQo+IENjOiBZaWdpdCwgRmVy cnVoIDxmZXJydWgueWlnaXRAaW50ZWwuY29tPjsgZGV2QGRwZGsub3JnDQo+IFN1YmplY3Q6IFJl OiBbZHBkay1kZXZdIFtQQVRDSCB2MiAxLzJdIGFwcC90ZXN0cG1kOiBhZGQgbGluayBzcGVlZCBj aGVjaw0KPiBiZWZvcmUgcG9ydCBzdGFydA0KPiANCj4gDQo+IOWcqCAyMDIxLzQvMzAgMTI6NDYs IExpLCBYaWFveXVuIOWGmemBkzoNCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KPiA+PiBGcm9tOiBIdWlzb25nIExpIDxsaWh1aXNvbmdAaHVhd2VpLmNvbT4NCj4gPj4gU2Vu dDogRnJpZGF5LCBBcHJpbCAzMCwgMjAyMSAxMjowNA0KPiA+PiBUbzogTGksIFhpYW95dW4gPHhp YW95dW4ubGlAaW50ZWwuY29tPg0KPiA+PiBDYzogWWlnaXQsIEZlcnJ1aCA8ZmVycnVoLnlpZ2l0 QGludGVsLmNvbT47IGRldkBkcGRrLm9yZw0KPiA+PiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBb UEFUQ0ggdjIgMS8yXSBhcHAvdGVzdHBtZDogYWRkIGxpbmsgc3BlZWQNCj4gPj4gY2hlY2sgYmVm b3JlIHBvcnQgc3RhcnQNCj4gPj4NCj4gPj4NCj4gPj4g5ZyoIDIwMjEvNC8zMCAxMToxOSwgTGks IFhpYW95dW4g5YaZ6YGTOg0KPiA+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+ Pj4gRnJvbTogTWluIEh1IChDb25ub3IpIDxodW1pbjI5QGh1YXdlaS5jb20+DQo+ID4+Pj4gU2Vu dDogV2VkbmVzZGF5LCBBcHJpbCAyOCwgMjAyMSAxNjozNw0KPiA+Pj4+IFRvOiBkZXZAZHBkay5v cmcNCj4gPj4+PiBDYzogWWlnaXQsIEZlcnJ1aCA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT47IExp LCBYaWFveXVuDQo+ID4+Pj4gPHhpYW95dW4ubGlAaW50ZWwuY29tPg0KPiA+Pj4+IFN1YmplY3Q6 IFtQQVRDSCB2MiAxLzJdIGFwcC90ZXN0cG1kOiBhZGQgbGluayBzcGVlZCBjaGVjayBiZWZvcmUN Cj4gPj4+PiBwb3J0IHN0YXJ0DQo+ID4+Pj4NCj4gPj4+PiBGcm9tOiBIdWlzb25nIExpIDxsaWh1 aXNvbmdAaHVhd2VpLmNvbT4NCj4gPj4+Pg0KPiA+Pj4+IEN1cnJlbnRseSwgdG8gY2hlY2sgd2hl dGhlciB0aGUgY29uZmlndXJlZCBsaW5rX3NwZWVkcyBpcyB2YWxpZCwgd2UNCj4gPj4+PiBoYXZl IHRvIHJ1biAicG9ydCBzdGFydCIuIEluIGFkZGl0aW9uLCBpZiB0aGUgY29uZmlndXJhdGlvbiBm YWlscywNCj4gPj4+PiAicG9ydC0NCj4gPj4+IGRldl9jb25mLmxpbmtfc3BlZWRzIg0KPiA+Pj4+ IG1haW50YWluZWQgaW4gdGVzdHBtZCBjYW5ub3QgYmUgcmVzdG9yZWQuDQo+ID4+Pj4NCj4gPj4+ PiBUaGlzIHBhdGNoIGFkZHMgdGhlIGxpbmtfc3BlZWRzIGNoZWNrIGJlZm9yZSBwb3J0IHN0YXJ0 IGJ5IGNhbGxpbmcNCj4gPj4+PiBkZXZfY29uZmlndXJlLCBhbmQgcmVzb2x2ZXMgdGhlc2UgcHJv YmxlbXMuDQo+ID4+PiBOb3Qgc3VyZSBhYm91dCB0aGlzIHBhdGNoLiBJIGRvbid0IHRoaW5rIHlv dSBjYW4gZml4IHRoZSBpc3N1ZSB5b3UgbWVudGlvbmVkLg0KPiA+Pj4gUHJvYmFibHkgb25seSBo bnMzIGRvZXMgc3BlZWQgY2hlY2sgaW4gZGV2X2NvbmZpZ3VyZS4gSSBkb24ndCBzZWUNCj4gPj4+ IHRoaXMgaW4gb3RoZXINCj4gPj4gZHJpdmVycywgbm90IGluIGk0MGUvaWNlL21seC4NCj4gPj4+ IEkgZ3Vlc3MgaXQncyBiZWNhdXNlIGlmIGl0J3Mgbm90IHN1cHBvcnRlZCBzcGVlZCwgaXQgd2ls bCBqdXN0IGJlDQo+ID4+PiBVTktOT1dOIGFuZA0KPiA+PiB1c2VyIGNhbiBjb25maWcgYWdhaW4/ DQo+ID4+DQo+ID4+IEkgdGhpbmsgdGhhdCB0aGUgdmFsaWRpdHkgb2YgdGhlIGNvbmZpZ3VyYXRp b24gZGVsaXZlcmVkIGJ5DQo+ID4+IGRldl9jb25maWd1cmUgaXMgZW5zdXJlZCBieSB0aGlzIGlu dGVyZmFjZSBhbmQgY2Fubm90IGJlIGxlZnQgdG8gdGhlIGJhY2tlbmQuDQo+ID4+DQo+ID4+IEJl Y2F1c2UgaXQgZmFjaWxpdGF0ZXMgdXNlcnMgdG8gaGFuZGxlIGFibm9ybWFsIGNvbmZpZ3VyYXRp b25zIGluIGENCj4gPj4gdGltZWx5IG1hbm5lci4gSXQgbWF5IGJlIG1vcmUgYXBwcm9wcmlhdGUg Zm9yIHRoZSBkcml2ZXIgdG8gZG8gdGhpcw0KPiA+PiBjaGVjayBpbiBkZXZfY29uZmlndXJlLg0K PiA+IEkgc3RpbGwgdGhpbmsgaXQncyBub3QgbmVjZXNzYXJ5Lg0KPiANCj4gb2vwn5iCDQo+IA0K PiBARmVycnVoLCB3aGF0IGRvIHlvdSB0aGluaz8NCj4gDQo+ID4NCj4gPj4gSW4gYWRkaXRpb24s IGV2ZW4gaWYgb3RoZXIgZHJpdmVycyBkbyBub3QgYWRkIHRoaXMgY2hlY2sgaW4NCj4gPj4gZGV2 X2NvbmZpZ3VyZSwgdGhpcyBwYXRjaCBkb2VzIG5vdCBzZWVtIHRvIGFmZmVjdCB0aGUgY3VycmVu dCBiZWhhdmlvciBvZg0KPiB0aGVzZSBkcml2ZXJzLg0KPiA+Pg0KPiA+Pj4gQlRXLCBldmVuIGlm IHRoaXMgYmVoYXZpb3IgaXMgYWNjZXB0ZWQgYnkgb3RoZXJzLCBzdGlsbCBzb21lIGNvbW1lbnRz IGJlbG93Lg0KPiA+Pj4NCj4gPj4+PiBTaWduZWQtb2ZmLWJ5OiBIdWlzb25nIExpIDxsaWh1aXNv bmdAaHVhd2VpLmNvbT4NCj4gPj4+PiBTaWduZWQtb2ZmLWJ5OiBNaW4gSHUgKENvbm5vcikgPGh1 bWluMjlAaHVhd2VpLmNvbT4NCj4gPj4+PiAtLS0NCj4gPj4+PiAgICBhcHAvdGVzdC1wbWQvY21k bGluZS5jIHwgNDINCj4gPj4+PiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrLQ0KPiA+Pj4+IC0NCj4gPj4+PiAgICAxIGZpbGUgY2hhbmdlZCwgNDAgaW5zZXJ0aW9ucygr KSwgMiBkZWxldGlvbnMoLSkNCj4gPj4+Pg0KPiA+Pj4+IGRpZmYgLS1naXQgYS9hcHAvdGVzdC1w bWQvY21kbGluZS5jIGIvYXBwL3Rlc3QtcG1kL2NtZGxpbmUuYyBpbmRleA0KPiA+Pj4+IDVmZGNj MWMuLmRkYmM2MjkgMTAwNjQ0DQo+ID4+Pj4gLS0tIGEvYXBwL3Rlc3QtcG1kL2NtZGxpbmUuYw0K PiA+Pj4+ICsrKyBiL2FwcC90ZXN0LXBtZC9jbWRsaW5lLmMNCj4gPj4+PiBAQCAtMTU0OSw4ICsx NTQ5LDEyIEBAIGNtZF9jb25maWdfc3BlZWRfYWxsX3BhcnNlZCh2b2lkDQo+ID4+ICpwYXJzZWRf cmVzdWx0LA0KPiA+Pj4+ICAgIAkJCV9fcnRlX3VudXNlZCB2b2lkICpkYXRhKQ0KPiA+Pj4+ICAg IHsNCj4gPj4+PiAgICAJc3RydWN0IGNtZF9jb25maWdfc3BlZWRfYWxsICpyZXMgPSBwYXJzZWRf cmVzdWx0Ow0KPiA+Pj4+ICsJdWludDMyX3Qgb2xkX2xpbmtfc3BlZWRzW1JURV9NQVhfRVRIUE9S VFNdOw0KPiA+Pj4+ICsJc3RydWN0IHJ0ZV9wb3J0ICpwb3J0Ow0KPiA+Pj4+ICAgIAl1aW50MzJf dCBsaW5rX3NwZWVkOw0KPiA+Pj4+ICAgIAlwb3J0aWRfdCBwaWQ7DQo+ID4+Pj4gKwlwb3J0aWRf dCBpOw0KPiA+Pj4+ICsJaW50IHJldDsNCj4gPj4+Pg0KPiA+Pj4+ICAgIAlpZiAoIWFsbF9wb3J0 c19zdG9wcGVkKCkpIHsNCj4gPj4+PiAgICAJCXByaW50ZigiUGxlYXNlIHN0b3AgYWxsIHBvcnRz IGZpcnN0XG4iKTsgQEAgLTE1NjIsNyArMTU2NiwyNg0KPiA+Pj4+IEBAIGNtZF9jb25maWdfc3Bl ZWRfYWxsX3BhcnNlZCh2b2lkICpwYXJzZWRfcmVzdWx0LA0KPiA+Pj4+ICAgIAkJcmV0dXJuOw0K PiA+Pj4+DQo+ID4+Pj4gICAgCVJURV9FVEhfRk9SRUFDSF9ERVYocGlkKSB7DQo+ID4+Pj4gLQkJ cG9ydHNbcGlkXS5kZXZfY29uZi5saW5rX3NwZWVkcyA9IGxpbmtfc3BlZWQ7DQo+ID4+Pj4gKwkJ cG9ydCA9ICZwb3J0c1twaWRdOw0KPiA+Pj4+ICsJCW9sZF9saW5rX3NwZWVkc1twaWRdID0gcG9y dC0+ZGV2X2NvbmYubGlua19zcGVlZHM7DQo+ID4+Pj4gKwkJcG9ydC0+ZGV2X2NvbmYubGlua19z cGVlZHMgPSBsaW5rX3NwZWVkOw0KPiA+Pj4+ICsJCXJldCA9IHJ0ZV9ldGhfZGV2X2NvbmZpZ3Vy ZShwaWQsIG5iX3J4cSwgbmJfdHhxLA0KPiA+Pj4+ICsJCQkJCSAgICAmcG9ydC0+ZGV2X2NvbmYp Ow0KPiA+Pj4+ICsJCWlmIChyZXQgPCAwKSB7DQo+ID4+Pj4gKwkJCXByaW50ZigiRmFpbGVkIHRv IGNoZWNrIGxpbmsgc3BlZWRzIGZvciBwb3J0ICVkLCByZXQNCj4gPj4+PiA9ICVkLlxuIiwNCj4g Pj4+PiArCQkJCXBpZCwgcmV0KTsNCj4gPj4+PiArCQkJZ290byByb29sYmFjazsNCj4gPj4+IFdo eSBkb24ndCB5b3UganVzdCBhZGQgcmVzdG9yaW5nIGFsbCBwb3J0cyBzcGVlZCBoZXJlIGFuZCB0 aGVuDQo+ID4+PiAiYnJlYWsiPyBObw0KPiA+PiBtYXR0ZXIgb25lIGRldiBmYWlscyBvciBub3Qs IGFsbCBwb3J0cyB3aWxsIGRvIHJlY29uZmlnIGZyb20geW91ciBjb2RlIGxvZ2ljLg0KPiA+Pj4g QW5kIHlvdSB0eXBlIHJvbGxiYWNrIHdyb25nbHkuDQo+ID4+IEl0IGNhbm5vdCBleGl0IGRpcmVj dGx5IGFmdGVyIHJlc3RvcmluZyBhbGwgcG9ydHMgc3BlZWQuIElmIHRoZSBjbWQNCj4gPj4gZmFp bHMgdG8gZXhlY3V0ZSwgaXQgaXMgbmVjZXNzYXJ5IHRvIHJlY29uZmlndXJlIGRldmljZSB3aXRo IHRoZSBjb3JyZWN0DQo+IGNvbmZpZ3VyYXRpb24uDQo+ID4+ICAgwqBCZWNhdXNlICJuYl9yeC90 eF9xdWV1ZXMiIGluIGRldi0+ZGF0YSBhcmUgY2xlYXJlZCB0byB6ZXJvIGlmDQo+ID4+IGRldl9j b25maWd1cmUgZmFpbHMgdG8gYmUgZXhlY3V0ZWQgaW4gUE1EIGRyaXZlci4NCj4gPiA/DQo+ID4g Y21kX3JlY29uZmlnX2RldmljZV9xdWV1ZShSVEVfUE9SVF9BTEwsIDEsIDEpOyBpcyBhdCB0aGUg ZW5kIG9mIHRoaXMgY21kLg0KPiBUaGlzIHdpbGwgcmUtY29uZmlnIGFsbCBwb3J0cy4NCj4gPiBJ IGRvbid0IHVuZGVyc3RhbmQgd2h5IGNhbid0IHlvdSBhZGQgYSByZXN0b3JpbmcgaW4gdGhpcyBp ZiBhbmQgYnJlYWsgdGhpcyBsb29wDQo+IGFuZCBkbyB0aGlzIHJlY29uZmlnLg0KPiBXaGF0IGRv IHlvdSBtZWFuPyBJZiBhIHBvcnQgZmFpbHMgYW1vbmcgYWxsIHBvcnRzLCBvbmx5IHRoZSBmYWls ZWQgcG9ydCBpcw0KPiByZXN0b3JlZCBhbmQgcmVjb25maWd1cmVkLiBJIHN1cHBvc2UgdGhhdCdz IHdoYXQgeW91IG1lYW4/DQo+IFRoZSBjbWQgInBvcnQgY29uZmlnIGFsbCBzcGVlZCB4eHggZHVw bGV4IHh4eCIgYXBwbGllcyB0byBhbGwgcG9ydHMuIElmIGl0IGZhaWxzIHRvIGJlDQo+IGRlbGl2 ZXJlZCwgdGhlIHVzZXIgY29uc2lkZXJzIHRoYXQgdGhlIGNtZCBkb2VzIG5vdCB0YWtlIGVmZmVj dC4NCj4gU28gaXQgaXMgbmVjZXNzYXJ5IHRvIHJlc3RvcmUgYW5kIHJlY29uZmlndXJlIGFsbCBw b3J0cyB0byB0aGUgcHJldmlvdXMgc3RhdGUuDQoNCllvdSBzdGlsbCBkb24ndCB1bmRlcnN0YW5k IG1lLiBTZWUgYmVsb3cuIEkgbWVhbiB0aGUgZm9sbG93aW5nLg0KWW91IGRvbid0IG5lZWQgdG8g Z290IHRvIHJvbGxiYWNrLiBCZWNhdXNlICJjbWRfcmVjb25maWdfZGV2aWNlX3F1ZXVlKFJURV9Q T1JUX0FMTCwgMSwgMSk7IiB3aWxsIGNvbmZpZyBhbGwgcG9ydHMgYW55d2F5IGFscmVhZHkgbm8g bWF0dGVyIHlvdSByZXN0b3JlIHNwZWVkcyBvciBub3QuDQpDYW4geW91IHJlYWQgdGhlIGNvZGUg Y2FyZWZ1bGx5PyAiY21kX3JlY29uZmlnX2RldmljZV9xdWV1ZShSVEVfUE9SVF9BTEwsIDEsIDEp OyIgaXMgYWx3YXlzIHRoZXJlIGFuZCBpdCBjb25maWdzIEFMTCBwb3J0cy4NCg0Kc3RhdGljIHZv aWQNCmNtZF9jb25maWdfc3BlZWRfYWxsX3BhcnNlZCh2b2lkICpwYXJzZWRfcmVzdWx0LA0KCQkJ X19ydGVfdW51c2VkIHN0cnVjdCBjbWRsaW5lICpjbCwNCgkJCV9fcnRlX3VudXNlZCB2b2lkICpk YXRhKQ0Kew0KCXN0cnVjdCBjbWRfY29uZmlnX3NwZWVkX2FsbCAqcmVzID0gcGFyc2VkX3Jlc3Vs dDsNCgl1aW50MzJfdCBsaW5rX3NwZWVkOw0KCXBvcnRpZF90IHBpZDsNCg0KCWlmICghYWxsX3Bv cnRzX3N0b3BwZWQoKSkgew0KCQlwcmludGYoIlBsZWFzZSBzdG9wIGFsbCBwb3J0cyBmaXJzdFxu Iik7DQoJCXJldHVybjsNCgl9DQoNCglpZiAocGFyc2VfYW5kX2NoZWNrX3NwZWVkX2R1cGxleChy ZXMtPnZhbHVlMSwgcmVzLT52YWx1ZTIsDQoJCQkmbGlua19zcGVlZCkgPCAwKQ0KCQlyZXR1cm47 DQoNCglSVEVfRVRIX0ZPUkVBQ0hfREVWKHBpZCkgew0KLQkJcG9ydHNbcGlkXS5kZXZfY29uZi5s aW5rX3NwZWVkcyA9IGxpbmtfc3BlZWQ7DQorCQlwb3J0ID0gJnBvcnRzW3BpZF07DQorCQlvbGRf bGlua19zcGVlZHNbcGlkXSA9IHBvcnQtPmRldl9jb25mLmxpbmtfc3BlZWRzOw0KKwkJcG9ydC0+ ZGV2X2NvbmYubGlua19zcGVlZHMgPSBsaW5rX3NwZWVkOw0KKwkJcmV0ID0gcnRlX2V0aF9kZXZf Y29uZmlndXJlKHBpZCwgbmJfcnhxLCBuYl90eHEsDQorCQkJCQkgICAgJnBvcnQtPmRldl9jb25m KTsNCisJCWlmIChyZXQgPCAwKSB7DQorCQkJcHJpbnRmKCJGYWlsZWQgdG8gY2hlY2sgbGluayBz cGVlZHMgZm9yIHBvcnQgJWQsIHJldCA9ICVkLlxuIiwNCisJCQkJcGlkLCByZXQpOw0KKwkJCWZv ciAoaSA9IDA7IGkgPD0gcGlkOyBpKyspIHsNCisJCQkJcG9ydCA9ICZwb3J0c1tpXTsNCisJCQkJ cG9ydC0+ZGV2X2NvbmYubGlua19zcGVlZHMgPSBvbGRfbGlua19zcGVlZHNbaV07DQorCQkJfQ0K KwkJCWJyZWFrOw0KKwkJfQ0KCX0NCg0KCWNtZF9yZWNvbmZpZ19kZXZpY2VfcXVldWUoUlRFX1BP UlRfQUxMLCAxLCAxKTsNCn0NCg0KPiA+DQo+ID4+Pj4gKwkJfQ0KPiA+Pj4+ICsJfQ0KPiA+Pj4+ ICsNCj4gPj4+PiArCWNtZF9yZWNvbmZpZ19kZXZpY2VfcXVldWUoUlRFX1BPUlRfQUxMLCAxLCAx KTsNCj4gPj4+PiArDQo+ID4+Pj4gKwlyZXR1cm47DQo+ID4+Pj4gKw0KPiA+Pj4+ICtyb29sYmFj azoNCj4gPj4+PiArCWZvciAoaSA9IDA7IGkgPD0gcGlkOyBpKyspIHsNCj4gPj4+PiArCQlwb3J0 ID0gJnBvcnRzW2ldOw0KPiA+Pj4+ICsJCXBvcnQtPmRldl9jb25mLmxpbmtfc3BlZWRzID0gb2xk X2xpbmtfc3BlZWRzW2ldOw0KPiA+Pj4+ICAgIAl9DQo+ID4+Pj4NCj4gPj4+PiAgICAJY21kX3Jl Y29uZmlnX2RldmljZV9xdWV1ZShSVEVfUE9SVF9BTEwsIDEsIDEpOyBAQCAtMTYyMSw3DQo+ID4+ Pj4gKzE2NDQsMTAgQEAgY21kX2NvbmZpZ19zcGVlZF9zcGVjaWZpY19wYXJzZWQodm9pZCAqcGFy c2VkX3Jlc3VsdCwNCj4gPj4+PiAgICAJCQkJX19ydGVfdW51c2VkIHZvaWQgKmRhdGEpDQo+ID4+ Pj4gICAgew0KPiA+Pj4+ICAgIAlzdHJ1Y3QgY21kX2NvbmZpZ19zcGVlZF9zcGVjaWZpYyAqcmVz ID0gcGFyc2VkX3Jlc3VsdDsNCj4gPj4+PiArCXVpbnQzMl90IG9sZF9saW5rX3NwZWVkczsNCj4g Pj4+PiArCXN0cnVjdCBydGVfcG9ydCAqcG9ydDsNCj4gPj4+PiAgICAJdWludDMyX3QgbGlua19z cGVlZDsNCj4gPj4+PiArCWludCByZXQ7DQo+ID4+Pj4NCj4gPj4+PiAgICAJaWYgKCFhbGxfcG9y dHNfc3RvcHBlZCgpKSB7DQo+ID4+Pj4gICAgCQlwcmludGYoIlBsZWFzZSBzdG9wIGFsbCBwb3J0 cyBmaXJzdFxuIik7IEBAIC0xNjM1LDggKzE2NjEsMjANCj4gPj4+PiBAQCBjbWRfY29uZmlnX3Nw ZWVkX3NwZWNpZmljX3BhcnNlZCh2b2lkICpwYXJzZWRfcmVzdWx0LA0KPiA+Pj4+ICAgIAkJCSZs aW5rX3NwZWVkKSA8IDApDQo+ID4+Pj4gICAgCQlyZXR1cm47DQo+ID4+Pj4NCj4gPj4+PiAtCXBv cnRzW3Jlcy0+aWRdLmRldl9jb25mLmxpbmtfc3BlZWRzID0gbGlua19zcGVlZDsNCj4gPj4+PiAr CXBvcnQgPSAmcG9ydHNbcmVzLT5pZF07DQo+ID4+Pj4gKwlvbGRfbGlua19zcGVlZHMgPSBwb3J0 LT5kZXZfY29uZi5saW5rX3NwZWVkczsNCj4gPj4+PiArCXBvcnQtPmRldl9jb25mLmxpbmtfc3Bl ZWRzID0gbGlua19zcGVlZDsNCj4gPj4+PiArCXJldCA9IHJ0ZV9ldGhfZGV2X2NvbmZpZ3VyZShy ZXMtPmlkLCBuYl9yeHEsIG5iX3R4cSwNCj4gPj4+PiArCQkJCSAgICAmcG9ydC0+ZGV2X2NvbmYp Ow0KPiA+Pj4+ICsJaWYgKHJldCA8IDApIHsNCj4gPj4+PiArCQlwcmludGYoIkZhaWxlZCB0byBj aGVjayBsaW5rIHNwZWVkcyBmb3IgcG9ydCAlZCwgcmV0ID0gJWQuXG4iLA0KPiA+Pj4+ICsJCQly ZXMtPmlkLCByZXQpOw0KPiA+Pj4+ICsJCXBvcnQtPmRldl9jb25mLmxpbmtfc3BlZWRzID0gb2xk X2xpbmtfc3BlZWRzOw0KPiA+Pj4+ICsJfQ0KPiA+Pj4+DQo+ID4+Pj4gKwkvKg0KPiA+Pj4+ICsJ ICogSWYgdGhlIGNtZCBmYWlscyB0byBleGVjdXRlLCBpdCBpcyBuZWNlc3NhcnkgdG8gcmVjb25m aWd1cmUgZGV2aWNlLg0KPiA+Pj4+ICsJICovDQo+ID4+Pj4gICAgCWNtZF9yZWNvbmZpZ19kZXZp Y2VfcXVldWUoUlRFX1BPUlRfQUxMLCAxLCAxKTsgIH0NCj4gPj4+Pg0KPiA+Pj4+IC0tDQo+ID4+ Pj4gMi43LjQNCj4gPj4+IC4NCg==