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 mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3478BC05027 for ; Thu, 2 Feb 2023 10:24:27 +0000 (UTC) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7C0F542D81; Thu, 2 Feb 2023 11:24:26 +0100 (CET) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2069.outbound.protection.outlook.com [40.107.223.69]) by mails.dpdk.org (Postfix) with ESMTP id 8DB8940689 for ; Thu, 2 Feb 2023 11:24:25 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DROyKbwMtyk57VtrnTwgKb9nWqZgklNM/akjKFGC9EIgKeuW7PXLjhnqBVxhhpYVQUn6KVaJ0kHcnjlb27KVzXI1B7ARylCKX1z7af0FhZX7npObuq1tzQIa+G9/RIH+nAl0C0WGqPytO4GQkWqk8pj1z1BWbTj04oKZfIgP+NZRrKHxW97kng1njiyk1mmmWkcchPBQVKkYwE+Z+I4qBQ6b0IcsUxCCwb0idMhnddStcBB4VPtiU7ejBI7wDAjbEdukj04TasZAIDEYtFjNn6qf0HBEeZywT+vA82tU3jCckk6wAO/cx9QEIH9fMBpIWRT4XNhkXq6gJt2PdNE8lg== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=omp1697xNe6hU8wKvU+2uYLsysjnTwTU7oo5FHaHu9g=; b=Y4McOORPWjufCj/lz0c2wQF5F1KDfI4fZfUIQw1qwdVd9QQvCMtndeIwmxC5vj7fVQnZ335mFJdawl57QfhFgRief9rSFMytNIGpWqylzPBzih8h1ikFDQVMEcqqUlzLJynpPdKOUgnnpsC/Mmd2ilY+ekTRa1OvZq4sMuMzn9ds+8P4s7QFkpeL9jP/FyHYZkT39BVV6Fpq64sVSZAZj3WIKQifSrasSmSQ3yMvPNjKD3RPhU8J42EgHKxQ2GqfjXJW+ogBmq1bEBLau387Db8MwryHXeRJrZ2La6ffEme4W1RLjslxR8awcuHiD19ruZP4phfXkSlVUa4ZJe5k3A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=omp1697xNe6hU8wKvU+2uYLsysjnTwTU7oo5FHaHu9g=; b=iMetYwVxnfv1C+nnQmmfDmsVoj5mXmSu13qGgyjQRtYwkk3R/OT49gv1rUoq2t/AjtQ12K01ec0zfH2NOzzkQMi8gs6TwCHSmengsxIyOfrQVj3XyOTgJXpT3uAt+VmDz/e465N5HmJiGIVL+CFrDk5dqa7C1yD8L76Fps6rJ57J7C3y2BdJ0SmMdskR+rODG7mcnBxnDkhp5o5Kzq6l9a8Hdl0jE3eaMxbTfVR4CTlSqs41Fe5939l9FyrRjJCZJ5l41ekymxr7B31IkdL9sIw0BHLts2A4CVbDG/OFw9H7093hKXzKbB5w5UJAYlseFCPc90f0us3/6yOON1ZAKg== Received: from IA1PR12MB6332.namprd12.prod.outlook.com (2603:10b6:208:3e2::13) by BY5PR12MB4035.namprd12.prod.outlook.com (2603:10b6:a03:206::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6043.38; Thu, 2 Feb 2023 10:24:23 +0000 Received: from IA1PR12MB6332.namprd12.prod.outlook.com ([fe80::be18:9845:3676:784e]) by IA1PR12MB6332.namprd12.prod.outlook.com ([fe80::be18:9845:3676:784e%9]) with mapi id 15.20.6043.036; Thu, 2 Feb 2023 10:24:22 +0000 From: Gregory Etelson To: Andrew Rybchenko , "dev@dpdk.org" CC: Matan Azrad , Raslan Darawsheh , Ori Kam , "NBU-Contact-Thomas Monjalon (EXTERNAL)" , Ferruh Yigit Subject: RE: [PATCH v8 1/2] ethdev: add query_update sync and async function calls Thread-Topic: [PATCH v8 1/2] ethdev: add query_update sync and async function calls Thread-Index: AQHZNlBEdyO+ygry6EaEoxvN8rEnbq67YSOAgAAO1QA= Date: Thu, 2 Feb 2023 10:24:22 +0000 Message-ID: References: <20221221073547.988-1-getelson@nvidia.com> <20230201151646.3500-1-getelson@nvidia.com> <0a24a07c-6d36-2f5e-5f24-1501bcc41c1e@oktetlabs.ru> In-Reply-To: <0a24a07c-6d36-2f5e-5f24-1501bcc41c1e@oktetlabs.ru> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: IA1PR12MB6332:EE_|BY5PR12MB4035:EE_ x-ms-office365-filtering-correlation-id: cf3f26f3-0296-4b1d-9afc-08db0507a6c2 x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 9qofI763hQGUGQ15cBoASrVAgzWdL6UNQISu8/+eVK0YnJpsOUMAy2osPncGjJfl/rP0B8FFoI+agXKwpmj+zI2qmsAbGJwqgj5MpFRJWxVZMKatdelp/owjiFaV0JUnCOPMNIxSx9H6n2rjDl2xvYDq+Ck+xaFIG0gEdIpodXNQ1XIYIi2N7rOHLkoihd6MvULmE3CKZHhLjW0jWc5dnxmOIt4zqe+Um7LvcNGJ4fOCcpWl84mgH8L6HK+M0T2vYSZ3cHjB49BrDpFZASXDGoNigj+cg360My/RNhtbaaRqPIsoPUqY6KbBPaAT5d1AUx0eAcY7NXfzCHFi/mwo4orJHCuVXM0ium0tiNCnFOralo45pp3hj+8MBBXsrJt9UsUqGHLa46xAcWsSyPm8wv5D+YnOjFR3HH1fuBZskRJcb1HKSrPAiy7wrV6eELOTmhS+2oNJ0T2u7YbsSPkZuLGUezhAb9L9pgLxxMLvFrUNfpGuM84NLglxGF8/kUuFjOKBphjuZBIbte0HkP6okA4yxKWERpU+OueRlNOltMnK6tbaw4SnLcjN4rZuZt4mM5Qr2jIMmH4Wv2pGzuXfE5H2/kqz5uMRLLzAO/7FCV9UvkXHL7GIvTSj9C1q1io/NsDt1LhyszWp8x7F6SsmPckrAO4RUvUlbyUZGGPqgwLYWPZddBGUcJ+yTYpEiMMxY41Ne6y4qEXj9Zx7dJPSew== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:IA1PR12MB6332.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230025)(4636009)(366004)(39860400002)(376002)(136003)(396003)(346002)(451199018)(122000001)(64756008)(316002)(8936002)(8676002)(66556008)(66446008)(4326008)(76116006)(66476007)(52536014)(110136005)(54906003)(66946007)(5660300002)(38100700002)(86362001)(33656002)(38070700005)(9686003)(53546011)(186003)(71200400001)(41300700001)(6506007)(2906002)(55016003)(478600001)(7696005)(83380400001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TnlOT3lLN3BvaGpteEMxdXowWTg5OW5oOEtaZTRRNFpaakZoWU9qWGI1K3Zr?= =?utf-8?B?V3FIQzlCUWdWRzRVZWhOK3dGbmVUSUZaZlhXQ1dULzIxM0IxbkV4KzAyZXRE?= =?utf-8?B?cXc5N0h3QWhPcFFxaUhHQTc5TmhCaStHVGlJNGxMRHNtZlIzKzF5SEFyeEg4?= =?utf-8?B?YUNyUCtQM2F6UE9lV2JodzlZY21lbEw2cXkrOGlHV0pzSHMxZDl4WFNEOVAz?= =?utf-8?B?RGpNMDA5YWVSaFF4UEFPSWdFd1orcHRXdjFiczRqdGxOeDlDSmR0THN6STlu?= =?utf-8?B?Q1hMaWs3V0hUcmlEQmhrY2pNUlViVXRQbU92em4vZzg2S0ZrTm9FdEZuR3ZC?= =?utf-8?B?VVFtNEdyYTRBU3diWEx0OC9ISXAxYXk3cWRIRGVUdVgwY0JwRHNYZ25yQStj?= =?utf-8?B?Q3UvMUJucXlFUXRvZW55T2x2VHVncjFUZ2E0VGFMK3JxeGxmaHRxVUwvQU5l?= =?utf-8?B?UDB2S3M1OTFKSU9KVXByWWh6SDcxU0dhZHJrRFRsWmFXL2RXNndna1JDdGo2?= =?utf-8?B?TTZxR2JuMjFkd0ozbFZtR2V1OUltMlJxYm1yVXJJLzArUzJhbXFCTFFaSjVP?= =?utf-8?B?bC85dTZ1b1REb3oyMHR1RE9zeUZBVTEvQ3FmbFp6aXIrK2dIUEMzc2N2ZDFM?= =?utf-8?B?L2N3ZU9XY3c5MTRkNkFiUWttSTJWR0pxRXpsQ0JUbjZ1b21FYUlDMHpHaW14?= =?utf-8?B?WXowOWlhYlZsUHRCUTVIOTRXQ0hoM0dYSHJiSUpwZi9qMnliMGd5cFZiTWhF?= =?utf-8?B?eklDMVNidFBicWhaTzAyaGdqQlNOWkpKd2pPcU1LTjNFMm5lNHRITmxJTG5L?= =?utf-8?B?MUlaVVhHRGE2Vzg2cVZlN25xeStNWXdIVWJNQjRKZUNWQUNRRDNCQmdVUXJm?= =?utf-8?B?UkI1YU5WbzFXY3ZTRWxBR2xsZlF4SWZzaEhZVko0bi95b0FIWmFvaUJ2ZEk3?= =?utf-8?B?RHFHT2l0aWdFVHNWbHpta1hSSzdNT2xuRXpQd0xHRjJCQWF0ZGp6VWpObFZL?= =?utf-8?B?cWs3MVFDOTc2WnowWE5qZlJ0VHhYWUllK0F1RTZYbnhpRFY0S0ZVdEJDZW80?= =?utf-8?B?c3F4ZEtONjE4Qi9TK3E3VmFmK09VQ0dVdkhjVTJYV0h0UEY4ckw5cGxqTk9L?= =?utf-8?B?dkNVa2E4WVIrQkNTQ0NPOHFmVzFPNml6UThZa1ZuUkhmV2U4S0hzQ21BRGY1?= =?utf-8?B?TmtNalQ4YVN0NzFXK0hPSG5HWXp4M0kza1NZeW1EdklJUFVueWsyS3RMZXBr?= =?utf-8?B?TkdzMUR1aWpMSEo3eitSbHJLZkg2blYweU44R3lFSUxLd1NYdnNIUVVucFBW?= =?utf-8?B?VysvWmt5YU9BanAybWlGbXI4QXhCSnNKNFM2dG5QNkJnZTBMVHhRY2JMM0Q0?= =?utf-8?B?eHoxck14VmJ2RHZURE5IejgxNkV3TnY4SDhFMzl2clRiajYvN3daM01CUTRU?= =?utf-8?B?K3lkRk1PeWNPeTJhSFdvL05qMXBJYlZoM1hFbXZ1ZHpROTUrR3hwTjF3TXFF?= =?utf-8?B?SmJoanNJU3dXQ2NndUJ1SjJveTN6cllvV3EzT3V3bFVFZXpkenhxTVZ0eHJW?= =?utf-8?B?OWN0d3JVYlk2UkZBakxYVEJPdlgrSnRTRXFBajlpOVRwRjc2bkFyZ20vcjV5?= =?utf-8?B?SnRBN1l6U3NiV2R6dnpVQlFHcmVGWDAvS0o1RDFVbWRYenFpT3hlOHZkb29s?= =?utf-8?B?NDg3a0tjaTcrbjd4MTFTVFdoNndqU1oxQWl6TVpOdmpuek0wRlc3aFp2aDh6?= =?utf-8?B?cFR2KzlaTjFCTHdWSm5PZVZGZW1wSkdWWDdjYnVLQ0lBbVZkUm9sRHBIcHdL?= =?utf-8?B?M0xvTVZadEZQTTVPN2tQTjV0UDUzM3NVM0xzamJ6aDZaZGRFVEFMNEdCQkdY?= =?utf-8?B?bXNlVU5udmpkMDJGT3dZOEF5VDdnakNtV2l5QXI1L0tJNmJUZTdaWVp5eHcy?= =?utf-8?B?S1M3K1M1MDNxb3FYL0pQSmlnSjlaQ0ZkS3V6eWViaWVlS1pEWGJWWGMxVW1Y?= =?utf-8?B?YW1vVENURmhCbmtuSlMzUTdtQ2puOENYQmJYeXdydE1KUm5EZHdCK0lPUFo3?= =?utf-8?B?MjErQm9Ta25xVnZFOEs1Qkg0YlppNVNnTzkvZG9FZU52T3JDdEhLb2RINTdB?= =?utf-8?B?dWpPd3hVUk9NaVcwRkV1U3ZZNFVEdHIreWZsSE9OZ25JZUxXRER5eHhMbTIw?= =?utf-8?Q?S81R7Il+gHM2wcu2UTYvTISrXPywaC4VOY77NjyBPv3a?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: IA1PR12MB6332.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: cf3f26f3-0296-4b1d-9afc-08db0507a6c2 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Feb 2023 10:24:22.3426 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ylCAEhSBYYSB7xT3RZQPG2lIYKYwSPC55fCPIj2LTVLH3BbwD7CNmUGZR/1qlC0IgDEFQgPl4ldAmW3fY6N3nQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4035 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 SGVsbG8gQW5kcmV3LA0KDQpQbGVhc2UgY2hlY2sgb3V0IG15IGNvbW1lbnRzIGJlbG93Lg0KDQpS ZWdhcmRzLA0KR3JlZ29yeQ0KDQo+IA0KPiANCj4gcXVlcnlfdXBkYXRlIGlzIGJhZCBmb3Igc3Vt bWFyeSwgY29uc2lkZXIgc29tZXRoaW5nIGxpa2UNCj4gZXRoZGV2OiBhZGQgcXVlcnkgYW5kIHVw ZGF0ZSBzeW5jIGFuZCBhc3luYyBBUEkNCj4NCg0KV2lsbCBmaXggaW4gdjkuDQogDQo+IE9uIDIv MS8yMyAxODoxNiwgR3JlZ29yeSBFdGVsc29uIHdyb3RlOg0KPiA+IEN1cnJlbnQgQVBJIGFsbG93 cyBlaXRoZXIgcXVlcnkgb3IgdXBkYXRlIGluZGlyZWN0IGZsb3cgYWN0aW9uLg0KPiA+IElmIGlu ZGlyZWN0IGFjdGlvbiBtdXN0IGJlIGNvbmRpdGlvbmFsbHkgdXBkYXRlZCBhY2NvcmRpbmcgdG8g aXQncw0KPiA+IHByZXNlbnQgc3RhdGUgYXBwbGljYXRpb24gbXVzdCBmaXJzdCBpc3N1ZSBhY3Rp b24gcXVlcnkgdGhlbg0KPiA+IGFuYWx5emUgcmV0dXJuZWQgZGF0YSBhbmQgaWYgbmVlZGVkIGlz c3VlIHVwZGF0ZSByZXF1ZXN0Lg0KPiA+IFdoZW4gdGhlIHVwZGF0ZSB3aWxsIGJlIHByb2Nlc3Nl ZCwgYWN0aW9uIHN0YXRlIGNhbiBjaGFuZ2UgYW5kDQo+ID4gdGhlIHVwZGF0ZSBjYW4gaW52YWxp ZGF0ZSB0aGUgYWN0aW9uLg0KPiA+DQo+ID4gQWRkIGBydGVfZmxvd19hY3Rpb25faGFuZGxlX3F1 ZXJ5X3VwZGF0ZWAgZnVuY3Rpb24gY2FsbCwNCj4gPiBhbmQgaXQncyBhc3luYyB2ZXJzaW9uIGBy dGVfZmxvd19hc3luY19hY3Rpb25faGFuZGxlX3F1ZXJ5X3VwZGF0ZWANCj4gPiB0byBhdG9taWNh bGx5IHF1ZXJ5IGFuZCB1cGRhdGUgZmxvdyBhY3Rpb24uDQo+ID4NCj4gPiBBcHBsaWNhdGlvbiBj YW4gY29udHJvbCBxdWVyeSBhbmQgdXBkYXRlIG9yZGVyLCBpZiB0aGF0IGlzIHN1cHBvcnRlZA0K PiA+IGJ5IHBvcnQgaGFyZHdhcmUsIGJ5IHNldHRpbmcgYHF1X21vZGVgIHBhcmFtZXRlciB0bw0K PiA+IFJURV9GTE9XX1FVX1FVRVJZX0ZJUlNUIG9yIFJURV9GTE9XX1FVX1VQREFURV9GSVJTVC4N Cj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IEdyZWdvcnkgRXRlbHNvbiA8Z2V0ZWxzb25AbnZpZGlh LmNvbT4NCj4gDQo+IFtzbmlwXQ0KPiANCj4gPiBkaWZmIC0tZ2l0IGEvbGliL2V0aGRldi9ydGVf Zmxvdy5jIGIvbGliL2V0aGRldi9ydGVfZmxvdy5jDQo+ID4gaW5kZXggN2QwYzI0MzY2Yy4uZWNl NDBlNzg3NyAxMDA2NDQNCj4gPiAtLS0gYS9saWIvZXRoZGV2L3J0ZV9mbG93LmMNCj4gPiArKysg Yi9saWIvZXRoZGV2L3J0ZV9mbG93LmMNCj4gPiBAQCAtMTg4MywzICsxODgzLDQ4IEBAIHJ0ZV9m bG93X2FzeW5jX2FjdGlvbl9oYW5kbGVfcXVlcnkodWludDE2X3QNCj4gcG9ydF9pZCwNCj4gPiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uX2hhbmRsZSwgZGF0 YSwgdXNlcl9kYXRhLCBlcnJvcik7DQo+ID4gICAgICAgcmV0dXJuIGZsb3dfZXJyKHBvcnRfaWQs IHJldCwgZXJyb3IpOw0KPiA+ICAgfQ0KPiA+ICsNCj4gPiAraW50DQo+ID4gK3J0ZV9mbG93X2Fj dGlvbl9oYW5kbGVfcXVlcnlfdXBkYXRlKHVpbnQxNl90IHBvcnRfaWQsDQo+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfZmxvd19hY3Rpb25faGFuZGxlICpo YW5kbGUsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQg KnVwZGF0ZSwgdm9pZCAqcXVlcnksDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGVudW0gcnRlX2Zsb3dfcXVlcnlfdXBkYXRlX21vZGUgbW9kZSwNCj4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9mbG93X2Vycm9yICplcnJvcikNCj4g PiArew0KPiA+ICsgICAgIGludCByZXQ7DQo+ID4gKyAgICAgc3RydWN0IHJ0ZV9ldGhfZGV2ICpk ZXY7DQo+ID4gKyAgICAgY29uc3Qgc3RydWN0IHJ0ZV9mbG93X29wcyAqb3BzOw0KPiA+ICsNCj4g PiArICAgICBSVEVfRVRIX1ZBTElEX1BPUlRJRF9PUl9FUlJfUkVUKHBvcnRfaWQsIC1FTk9ERVYp Ow0KPiA+ICsgICAgIGRldiA9ICZydGVfZXRoX2RldmljZXNbcG9ydF9pZF07DQo+IA0KPiAoLUVJ TlZBTCkgaWYgKmhhbmRsZSogaW52YWxpZCBvciBib3RoICpxdWVyeSogYW5kICp1cGRhdGUqIGFy ZSBOVUxMLg0KPiANCj4gbXVzdCBiZSBoYW5kbGVkIGhlcmUuIEl0IGlzIGdlbmVyaWMgY2hlY2tz IGFuZCB3ZSBzaG91bGQgZG8gaXQNCj4gaW4gYSBnZW5lcmljIHBsYWNlIHRvIGF2b2lkIGR1cGxp Y2F0aW9uIGluIFBNRCBjYWxsYmFja3MuDQo+IA0KDQpXaWxsIGZpeCBpbiB2OS4NCg0KPiA+ICsg ICAgIG9wcyA9IHJ0ZV9mbG93X29wc19nZXQocG9ydF9pZCwgZXJyb3IpOw0KPiA+ICsgICAgIGlm ICghb3BzIHx8ICFvcHMtPmFjdGlvbl9oYW5kbGVfcXVlcnlfdXBkYXRlKQ0KPiA+ICsgICAgICAg ICAgICAgcmV0dXJuIC1FTk9UU1VQOw0KPiANCj4gTWF5IGJlIGl0IG1ha2VzIHNlbnNlIHRvIHVz ZSBzaW5nbGUtb3BlcmF0aW9uIGNhbGxiYWNrcyBpZg0KPiBhbm90aGVyIG9wZXJhdGlvbiBpbnB1 dCBpcyBOVUxMLiBJIGd1ZXNzIGl0IGNvdWxkIGJlDQo+IGNvbnZlbmllbnQgaW4gc29tZSBjYXNl cy4gSnVzdCBhbiBpZGVhLg0KPiANCg0KVGhlcmUgaXMgYSBwbGFuIHRvIGRlcHJlY2F0ZSBpbmRp cmVjdCBxdWVyeSBhbmQgdXBkYXRlIGZ1bmN0aW9ucw0KYW5kIHJlcGxhY2UgdGhlbSB3aXRoIGEg c2luZ2xlIHF1ZXJ5X3VwZGF0ZS4NCg0KPiA+ICsgICAgIHJldCA9IG9wcy0+YWN0aW9uX2hhbmRs ZV9xdWVyeV91cGRhdGUoZGV2LCBoYW5kbGUsIHVwZGF0ZSwgcXVlcnksDQo+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlLCBlcnJvcik7DQo+ID4gKyAg ICAgcmV0dXJuIGZsb3dfZXJyKHBvcnRfaWQsIHJldCwgZXJyb3IpOw0KPiA+ICt9DQo+ID4gKw0K PiA+ICtpbnQNCj4gPiArcnRlX2Zsb3dfYXN5bmNfYWN0aW9uX2hhbmRsZV9xdWVyeV91cGRhdGUo dWludDE2X3QgcG9ydF9pZCwgdWludDMyX3QNCj4gcXVldWVfaWQsDQo+ID4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBydGVfZmxvd19vcF9hdHRy ICphdHRyLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1 Y3QgcnRlX2Zsb3dfYWN0aW9uX2hhbmRsZSAqaGFuZGxlLA0KPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2lkICp1cGRhdGUsIHZvaWQgKnF1ZXJ5LA0K PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtIHJ0ZV9mbG93 X3F1ZXJ5X3VwZGF0ZV9tb2RlIG1vZGUsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHZvaWQgKnVzZXJfZGF0YSwNCj4gPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9mbG93X2Vycm9yICplcnJvcikNCj4gPiArew0K PiA+ICsgICAgIGludCByZXQ7DQo+ID4gKyAgICAgc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXY7DQo+ ID4gKyAgICAgY29uc3Qgc3RydWN0IHJ0ZV9mbG93X29wcyAqb3BzOw0KPiA+ICsNCj4gPiArICAg ICBSVEVfRVRIX1ZBTElEX1BPUlRJRF9PUl9FUlJfUkVUKHBvcnRfaWQsIC1FTk9ERVYpOw0KPiA+ ICsgICAgIGRldiA9ICZydGVfZXRoX2RldmljZXNbcG9ydF9pZF07DQo+IA0KPiBzYW1lIGhlcmUN Cj4gDQoNCldpbGwgZml4IGluIHY5Lg0KDQo+ID4gKyAgICAgb3BzID0gcnRlX2Zsb3dfb3BzX2dl dChwb3J0X2lkLCBlcnJvcik7DQo+ID4gKyAgICAgaWYgKCFvcHMgfHwgIW9wcy0+YXN5bmNfYWN0 aW9uX2hhbmRsZV9xdWVyeV91cGRhdGUpDQo+ID4gKyAgICAgICAgICAgICByZXR1cm4gLUVOT1RT VVA7DQo+IA0KPiBzYW1lIGhlcmUNCj4NCg0KV2lsbCBmaXggaW4gdjkuDQogDQo+ID4gKyAgICAg cmV0ID0gb3BzLT5hc3luY19hY3Rpb25faGFuZGxlX3F1ZXJ5X3VwZGF0ZShkZXYsIHF1ZXVlX2lk LCBhdHRyLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaGFuZGxlLCB1cGRhdGUsIHF1ZXJ5LCBtb2RlLA0KPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcl9kYXRhLCBlcnJvcik7DQo+ID4g KyAgICAgcmV0dXJuIGZsb3dfZXJyKHBvcnRfaWQsIHJldCwgZXJyb3IpOw0KPiA+ICt9DQo+ID4g ZGlmZiAtLWdpdCBhL2xpYi9ldGhkZXYvcnRlX2Zsb3cuaCBiL2xpYi9ldGhkZXYvcnRlX2Zsb3cu aA0KPiA+IGluZGV4IGI2MDk4N2RiNGIuLmQzZmJiYTViOTkgMTAwNjQ0DQo+ID4gLS0tIGEvbGli L2V0aGRldi9ydGVfZmxvdy5oDQo+ID4gKysrIGIvbGliL2V0aGRldi9ydGVfZmxvdy5oDQo+ID4g QEAgLTU2MjIsNiArNTYyMiwxMDkgQEANCj4gcnRlX2Zsb3dfYXN5bmNfYWN0aW9uX2hhbmRsZV9x dWVyeSh1aW50MTZfdCBwb3J0X2lkLA0KPiA+ICAgICAgICAgICAgICAgdm9pZCAqdXNlcl9kYXRh LA0KPiA+ICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9mbG93X2Vycm9yICplcnJvcik7DQo+ID4N Cj4gPiArLyoqDQo+ID4gKyAqIEB3YXJuaW5nDQo+ID4gKyAqIEBiIEVYUEVSSU1FTlRBTDogdGhp cyBBUEkgbWF5IGNoYW5nZSB3aXRob3V0IHByaW9yIG5vdGljZS4NCj4gPiArICoNCj4gPiArICog UXVlcnkgYW5kIHVwZGF0ZSBvcGVyYXRpb25hbCBtb2RlLg0KPiA+ICsgKg0KPiA+ICsgKiBSVEVf RkxPV19RVV9RVUVSWV9GSVJTVA0KPiA+ICsgKiAgIEZvcmNlIHBvcnQgdG8gcXVlcnkgYWN0aW9u IGJlZm9yZSB1cGRhdGUuDQo+ID4gKyAqIFJURV9GTE9XX1FVX1VQREFURV9GSVJTVA0KPiA+ICsg KiAgIEZvcmNlIHBvcnQgdG8gdXBkYXRlIGFjdGlvbiBiZWZvcmUgcXVlcnkuDQo+IA0KPiBJJ20g c29ycnksIGJ1dCBJIHN0cm9uZ2x5IGRpc2xpa2UgZW51bSBtZW1iZXJzIGR1cGxpY2F0aW9uDQo+ IGhlcmUuIEkgZG9uJ3QgdW5kZXJzdGFuZCB3aHkgd2UgbmVlZCB0byBkdXBsaWNhdGUgaXQgYW5k IHdoeQ0KPiB3ZSBjYW4ndCBkb2N1bWVudCBpdCBpbiBhIHJpZ2h0IHdheSBiZWxvdy4NCj4gDQoN CkkgZG9uJ3QgdW5kZXJzdGFuZCB3aGVyZSB0aGUgZHVwbGljYXRpb24gaXMuDQpRdWVyeSBhbmQg dXBkYXRlIG9wZXJhdGlvbnMgYXJlIGF0b21pYyBmb3IgYXBwbGljYXRpb24sIA0KYnV0IGluIGhh cmR3YXJlIHRoZXNlIGFyZSAyIHNlcGFyYXRlIG9wZXJhdGlvbnMgdGhhdCByZWZlcmVuY2UgaGFy ZHdhcmUgb2JqZWN0Lg0KVGhlIG9wZXJhdGlvbnMgZXhlY3V0aW9uIG9yZGVyIGNhbiBoYXZlIGRp ZmZlcmVudCByZXN1bHRzIG9uIG9iamVjdCBzdGF0ZS4gDQpXaGVuIGFwcGxpY2F0aW9uIGFza3Mg Ym90aCBhY3Rpb25zIGl0IG11c3QgZXhwbGljaXRseSBzcGVjaWZ5IGV4ZWN1dGlvbiBvcmRlciBm b3IgaGFyZHdhcmUuDQoNCj4gPiArICoNCj4gPiArICogQHNlZSBydGVfZmxvd19hY3Rpb25faGFu ZGxlX3F1ZXJ5X3VwZGF0ZSgpDQo+ID4gKyAqIEBzZWUgcnRlX2Zsb3dfYXN5bmNfYWN0aW9uX2hh bmRsZV9xdWVyeV91cGRhdGUoKQ0KPiA+ICsgKi8NCj4gPiArZW51bSBydGVfZmxvd19xdWVyeV91 cGRhdGVfbW9kZSB7DQo+ID4gKyAgICAgUlRFX0ZMT1dfUVVfUVVFUllfRklSU1QsICAvKio8IFF1 ZXJ5IGJlZm9yZSB1cGRhdGUuICovDQo+ID4gKyAgICAgUlRFX0ZMT1dfUVVfVVBEQVRFX0ZJUlNU LCAvKio8IFF1ZXJ5IGFmdGVyICB1cGRhdGUuICovDQo+ID4gK307DQo+ID4gKw0KPiA+ICsvKioN Cj4gPiArICogQHdhcm5pbmcNCj4gPiArICogQGIgRVhQRVJJTUVOVEFMOiB0aGlzIEFQSSBtYXkg Y2hhbmdlIHdpdGhvdXQgcHJpb3Igbm90aWNlLg0KPiA+ICsgKg0KPiA+ICsgKiBRdWVyeSBhbmQv b3IgdXBkYXRlIGluZGlyZWN0IGZsb3cgYWN0aW9uLg0KPiA+ICsgKiBJZiBib3RoIHF1ZXJ5IGFu ZCB1cGRhdGUgbm90IE5VTEwsIHRoZSBmdW5jdGlvbiBhdG9taWNhbGx5DQo+ID4gKyAqIHF1ZXJp ZXMgYW5kIHVwZGF0ZXMgaW5kaXJlY3QgYWN0aW9uLiBRdWVyeSBhbmQgdXBkYXRlIGFyZSBjYXJy aWVkIGluDQo+IG9yZGVyDQo+ID4gKyAqIHNwZWNpZmllZCBpbiB0aGUgbW9kZSBwYXJhbWV0ZXIu DQo+ID4gKyAqDQo+ID4gKyAqIEBwYXJhbSBwb3J0X2lkDQo+ID4gKyAqICAgUG9ydCBpZGVudGlm aWVyIG9mIEV0aGVybmV0IGRldmljZS4NCj4gPiArICogQHBhcmFtIGhhbmRsZQ0KPiA+ICsgKiAg IEhhbmRsZSBmb3IgdGhlIGluZGlyZWN0IGFjdGlvbiBvYmplY3QgdG8gYmUgdXBkYXRlZC4NCj4g PiArICogQHBhcmFtIHVwZGF0ZQ0KPiA+ICsgKiAgIElmIG5vdCBOVUxMLCB1cGRhdGUgcHJvZmls ZSBzcGVjaWZpY2F0aW9uIHVzZWQgdG8gbW9kaWZ5IHRoZSBhY3Rpb24NCj4gPiArICogICBwb2lu dGVkIGJ5IGhhbmRsZS4NCj4gPiArICogQHBhcmFtIHF1ZXJ5DQo+ID4gKyAqICAgSWYgbm90IE5V TEwgcG9pbnRlciB0byBzdG9yYWdlIGZvciB0aGUgYXNzb2NpYXRlZCBxdWVyeSBkYXRhIHR5cGUu DQo+ID4gKyAqIEBwYXJhbSBtb2RlDQo+ID4gKyAqICAgT3BlcmF0aW9uYWwgbW9kZS4NCj4gPiAr ICogICBSZXF1aXJlZCBpZiBib3RoICp1cGRhdGUqIGFuZCAqcXVlcnkqIGFyZSBub3QgTlVMTC4N Cj4gDQo+IEl0IHNob3VsZCBiZSBhIHBhcnQgb2YgZ2VuZXJpYyBjaGVja3MgaW4NCj4gcnRlX2Zs b3dfYWN0aW9uX2hhbmRsZV9xdWVyeV91cGRhdGUoKSBpbXBsZW1lbnRhdGlvbi4NCj4gDQoNCldp bGwgZml4IGluIHY5Lg0KDQo+ID4gKyAqIEBwYXJhbSBlcnJvcg0KPiA+ICsgKiAgIFBlcmZvcm0g dmVyYm9zZSBlcnJvciByZXBvcnRpbmcgaWYgbm90IE5VTEwuDQo+ID4gKyAqICAgUE1EcyBpbml0 aWFsaXplIHRoaXMgc3RydWN0dXJlIGluIGNhc2Ugb2YgZXJyb3Igb25seS4NCj4gPiArICoNCj4g PiArICogQHJldHVybg0KPiA+ICsgKiAwIG9uIHN1Y2Nlc3MsIGEgbmVnYXRpdmUgZXJybm8gdmFs dWUgb3RoZXJ3aXNlIGFuZCBydGVfZXJybm8gaXMgc2V0Lg0KPiA+ICsgKiAtICgtRU5PREVWKSBp ZiAqcG9ydF9pZCogaW52YWxpZC4NCj4gPiArICogLSAoLUVOT1RTVVApIGlmIHVuZGVybHlpbmcg ZGV2aWNlIGRvZXMgbm90IHN1cHBvcnQgdGhpcyBmdW5jdGlvbmFsaXR5Lg0KPiA+ICsgKiAtICgt RUlOVkFMKSBpZiAqaGFuZGxlKiBpbnZhbGlkIG9yIGJvdGggKnF1ZXJ5KiBhbmQgKnVwZGF0ZSog YXJlDQo+IE5VTEwuDQo+ID4gKyAqLw0KPiA+ICtfX3J0ZV9leHBlcmltZW50YWwNCj4gPiAraW50 DQo+ID4gK3J0ZV9mbG93X2FjdGlvbl9oYW5kbGVfcXVlcnlfdXBkYXRlKHVpbnQxNl90IHBvcnRf aWQsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfZmxv d19hY3Rpb25faGFuZGxlICpoYW5kbGUsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnN0IHZvaWQgKnVwZGF0ZSwgdm9pZCAqcXVlcnksDQo+ID4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGVudW0gcnRlX2Zsb3dfcXVlcnlfdXBkYXRlX21vZGUgbW9k ZSwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9mbG93 X2Vycm9yICplcnJvcik7DQo+ID4gKw0KPiA+ICsvKioNCj4gPiArICogQHdhcm5pbmcNCj4gPiAr ICogQGIgRVhQRVJJTUVOVEFMOiB0aGlzIEFQSSBtYXkgY2hhbmdlIHdpdGhvdXQgcHJpb3Igbm90 aWNlLg0KPiA+ICsgKg0KPiA+ICsgKiBFbnF1ZXVlIGFzeW5jIGluZGlyZWN0IGZsb3cgYWN0aW9u IHF1ZXJ5IGFuZC9vciB1cGRhdGUNCj4gPiArICoNCj4gPiArICogQHBhcmFtIHBvcnRfaWQNCj4g PiArICogICBQb3J0IGlkZW50aWZpZXIgb2YgRXRoZXJuZXQgZGV2aWNlLg0KPiA+ICsgKiBAcGFy YW0gcXVldWVfaWQNCj4gPiArICogICBGbG93IHF1ZXVlIHdoaWNoIGlzIHVzZWQgdG8gdXBkYXRl IHRoZSBydWxlLg0KPiA+ICsgKiBAcGFyYW0gYXR0cg0KPiA+ICsgKiAgIEluZGlyZWN0IGFjdGlv biB1cGRhdGUgb3BlcmF0aW9uIGF0dHJpYnV0ZXMuDQo+ID4gKyAqIEBwYXJhbSBoYW5kbGUNCj4g PiArICogICBIYW5kbGUgZm9yIHRoZSBpbmRpcmVjdCBhY3Rpb24gb2JqZWN0IHRvIGJlIHVwZGF0 ZWQuDQo+ID4gKyAqIEBwYXJhbSB1cGRhdGUNCj4gPiArICogICBJZiBub3QgTlVMTCwgdXBkYXRl IHByb2ZpbGUgc3BlY2lmaWNhdGlvbiB1c2VkIHRvIG1vZGlmeSB0aGUgYWN0aW9uDQo+ID4gKyAq ICAgcG9pbnRlZCBieSBoYW5kbGUuDQo+ID4gKyAqIEBwYXJhbSBxdWVyeQ0KPiA+ICsgKiAgIElm IG5vdCBOVUxMLCBwb2ludGVyIHRvIHN0b3JhZ2UgZm9yIHRoZSBhc3NvY2lhdGVkIHF1ZXJ5IGRh dGEgdHlwZS4NCj4gPiArICogICBRdWVyeSByZXN1bHQgcmV0dXJuZWQgb24gYXN5bmMgY29tcGxl dGlvbiBldmVudC4NCj4gPiArICogQHBhcmFtIG1vZGUNCj4gPiArICogICBPcGVyYXRpb25hbCBt b2RlLg0KPiA+ICsgKiAgIFJlcXVpcmVkIGlmIGJvdGggKnVwZGF0ZSogYW5kICpxdWVyeSogYXJl IG5vdCBOVUxMLg0KPiANCj4gSXQgc2hvdWxkIGJlIGEgcGFydCBvZiBnZW5lcmljIGNoZWNrcyBp bg0KPiBydGVfZmxvd19hY3Rpb25faGFuZGxlX3F1ZXJ5X3VwZGF0ZSgpIGltcGxlbWVudGF0aW9u Lg0KPg0KDQpXaWxsIGZpeCBpbiB2OS4NCiANCj4gPiArICogQHBhcmFtIHVzZXJfZGF0YQ0KPiA+ ICsgKiAgIFRoZSB1c2VyIGRhdGEgdGhhdCB3aWxsIGJlIHJldHVybmVkIG9uIGFzeW5jIGNvbXBs ZXRpb24gZXZlbnQuDQo+ID4gKyAqIEBwYXJhbSBlcnJvcg0KPiA+ICsgKiAgIFBlcmZvcm0gdmVy Ym9zZSBlcnJvciByZXBvcnRpbmcgaWYgbm90IE5VTEwuDQo+ID4gKyAqICAgUE1EcyBpbml0aWFs aXplIHRoaXMgc3RydWN0dXJlIGluIGNhc2Ugb2YgZXJyb3Igb25seS4NCj4gPiArICoNCj4gPiAr ICogQHJldHVybg0KPiA+ICsgKiAgIDAgb24gc3VjY2VzcywgYSBuZWdhdGl2ZSBlcnJubyB2YWx1 ZSBvdGhlcndpc2UgYW5kIHJ0ZV9lcnJubyBpcyBzZXQuDQo+ID4gKyAqIC0gKC1FTk9ERVYpIGlm ICpwb3J0X2lkKiBpbnZhbGlkLg0KPiA+ICsgKiAtICgtRU5PVFNVUCkgaWYgdW5kZXJseWluZyBk ZXZpY2UgZG9lcyBub3Qgc3VwcG9ydCB0aGlzIGZ1bmN0aW9uYWxpdHkuDQo+ID4gKyAqIC0gKC1F SU5WQUwpIGlmICpoYW5kbGUqIGludmFsaWQgb3IgYm90aCAqdXBkYXRlKiBhbmQgKnF1ZXJ5KiBh cmUNCj4gTlVMTC4NCj4gPiArICovDQo+ID4gK19fcnRlX2V4cGVyaW1lbnRhbA0KPiA+ICtpbnQN Cj4gPiArcnRlX2Zsb3dfYXN5bmNfYWN0aW9uX2hhbmRsZV9xdWVyeV91cGRhdGUodWludDE2X3Qg cG9ydF9pZCwgdWludDMyX3QNCj4gcXVldWVfaWQsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBydGVfZmxvd19vcF9hdHRyICphdHRyLA0K PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2Zs b3dfYWN0aW9uX2hhbmRsZSAqaGFuZGxlLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjb25zdCB2b2lkICp1cGRhdGUsIHZvaWQgKnF1ZXJ5LA0KPiA+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtIHJ0ZV9mbG93X3F1ZXJ5X3Vw ZGF0ZV9tb2RlIG1vZGUsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHZvaWQgKnVzZXJfZGF0YSwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RydWN0IHJ0ZV9mbG93X2Vycm9yICplcnJvcik7DQo+ID4gKw0KPiA+ICAgI2lm ZGVmIF9fY3BsdXNwbHVzDQo+ID4gICB9DQo+ID4gICAjZW5kaWYNCj4gDQo+IFtzbmlwXQ0KPiAN Cg0K