From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3F5DCA0518; Fri, 19 Jun 2020 15:29:08 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A1D5C1BEB3; Fri, 19 Jun 2020 15:29:07 +0200 (CEST) Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-eopbgr40041.outbound.protection.outlook.com [40.107.4.41]) by dpdk.org (Postfix) with ESMTP id DF7551BEA5 for ; Fri, 19 Jun 2020 15:29:05 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BhabiKlRlLLoUEHO5yxy1EdVNXPqN95ISq5Coec5deX6Nu0iaIn84n5BX/N1r2cS05C0PqnL1mLpIU1hZ9roJQ2NJryovDgD/Wz4J5VZzunWwLlKsFAO/mERIb1pzvJMwnEwcNa+ZxD7KmW26s+adGWRq7Hw0ogyt60eMrOzuqr7PTwlmmrJiMd3fSfjzASgezjysgltFJDiQdFVPAs1n8yz6PpYcwqWL6Jr0rcqhFLEovo6zSeDxdrVpJjUZ6o8Tv8pcZhqOiR0CoihddCG6CFDaOMc4N5T0cpElB/UIX1CYH5FXKh1UJJ08Pw9rZuCWRZAdeXNvOt4DzpHvixAiA== 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=16Lkzg/a74vKVlb55lWyb9/22/ii6SVjpZgoN1gskdg=; b=UgYGLbDju+54T7fQ46BA4aWDLZevMqkK6mSf8vWarObSRvFakQPSLqM+vs4n1BXy9Xgd16NtRo0APqggbT2/f4JN0rDmdHbCdln1167DVr+VsvA4kNfOdYpzPixrn2cP8b5J5Kfzp7JnvQe3Yp/cWI/825G/fAkLu5qM7Y324ji1FUayU0Mk1l+vH8HYQRcj+nLlQHV8j02v6EY6xQ8oO4G3L79Mvt3SfL7E3T0Tnbztd0SSG51LZnS9iCsb34dCopUyRQynsebOU40B4HduV+1HfVrjCwD7wrs+XYlfbKAyyRkD+7pYtevX7w6lJ/zJyrFdPHq5pPey9ceeXRBBfw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=16Lkzg/a74vKVlb55lWyb9/22/ii6SVjpZgoN1gskdg=; b=tW//D3ukbfOr051XtrbzoYAi9E6ai57sujjhN02AyW3Q8Mh4YQ1A3GD/rKvLj61LwgjtBVw2CMIYptKhtg7Pcf2Jo1+NhkLqwzUSNc2Y68aYkA4DCIALd32MzCtm9UOFRIsUlPS6tnKRf/op+BR8Ba/JHibfOWO4Vu5wkXU13WM= Received: from AM0PR0502MB4019.eurprd05.prod.outlook.com (2603:10a6:208:f::11) by AM0PR0502MB3602.eurprd05.prod.outlook.com (2603:10a6:208:16::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3088.22; Fri, 19 Jun 2020 13:28:59 +0000 Received: from AM0PR0502MB4019.eurprd05.prod.outlook.com ([fe80::b189:d782:4c74:7998]) by AM0PR0502MB4019.eurprd05.prod.outlook.com ([fe80::b189:d782:4c74:7998%7]) with mapi id 15.20.3109.021; Fri, 19 Jun 2020 13:28:59 +0000 From: Matan Azrad To: Maxime Coquelin , Xiao Wang CC: "dev@dpdk.org" Thread-Topic: [PATCH v1 1/4] vhost: support host notifier queue configuration Thread-Index: AQHWRgUpY2v0R5iI30uc66Xg3pUh66jf62hA Date: Fri, 19 Jun 2020 13:28:59 +0000 Message-ID: References: <1592497686-433697-1-git-send-email-matan@mellanox.com> <1592497686-433697-2-git-send-email-matan@mellanox.com> In-Reply-To: Accept-Language: en-US, he-IL Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=mellanox.com; x-originating-ip: [2a02:ed0:53f7:cf00:6029:8d06:f641:39c] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: fb2861e7-19cc-42f6-3239-08d81454b974 x-ms-traffictypediagnostic: AM0PR0502MB3602: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 0439571D1D x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: KJCU4GuORmOIF+kx+MBHM5qh6dJYcTZ3lfPGwd5d70I8xnl2x7NvDDsawQsZ17+clqNrQlw5J1VwKmE5Tp6j/5XG+EUhqKmCBnltofSsuSFChtMqzi7RzgFbJB6gJPMWqeAPdiAdkeKCb0MQLTU8JwAn98/6arCIhMGzTujhDzQfNAfWcupIWI0xy3Sl6OaFJI+fjt6UYKTb75AK+kkaqHuAEuFRBlgWxam4bMylEyzWuERzR8ibxgED6xc/38ffKAItCLsh/HP69bKPkYd1PMAU+3jjbmuZUO2ldUqxmcftqUdVu72tFWVc3UgJDKrH9pnjlSiQ8kfTMSGs2V91gw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR0502MB4019.eurprd05.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(39860400002)(376002)(346002)(136003)(396003)(366004)(316002)(110136005)(7696005)(52536014)(6506007)(86362001)(83380400001)(478600001)(53546011)(76116006)(5660300002)(8676002)(66946007)(55016002)(4326008)(33656002)(186003)(8936002)(9686003)(66446008)(66556008)(64756008)(2906002)(71200400001)(66476007); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: SyJJxQ2DStiUcLq5X7kOmTPhT6iOyaBGm+VvcNORkymuY6RC7JE8dI9PyQcwJ42gF4nZhEi8A2eyf49ZwWhlEm9dgrYtvR3cApUM8me2M0dErklUxiaA40ldJKUxdGALzKWYbaEIeNbNZKBZ+cWM5Spfa5eaQiCx0KE4DmxLAlzKkk3WggWIbvvUJTF2BaYIOwkpTOZQDcXPgUgr+PsytnwuMeT1TfC9gHyDBEkrCTmHjFibYSvu7peSk5kWHs/b0Xjxg/5KN/0Ip6sKqkGHpCV0ypsS+P6P3NNhlSd57VgO9VhYp88DoOWjGxW6wxxRJ4UAEgxptW7gT09PRUA4w+2x0U3W3XP6fYB5NyrYJh52Dhfz6s7Bwd4S/vHc6iJCuuC6Af1Tlp/fqvyRJi6YagSI56m7i7s5UPyht5J3toKWMKAjpf8FGgiO/mMEt9uWEZgGYA9wvBfP/LJisUc+4s+VGcKxE+nmzgkJ5nOsmSsTN2yZ6eAY6AxUzENJ1GP84kGuknYwFPR+LQh9mb1oCOlnuTnAm5Uni9txb7u+Nsg= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: fb2861e7-19cc-42f6-3239-08d81454b974 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Jun 2020 13:28:59.3373 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: VPgC+qf0/gwSGR54lVRovWCDGpcsRzurFgULejiQjAbUrCGwrD5eoelMBX3zQIZ1yQoTKKeUmrhrqgnGEjqkhA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0502MB3602 Subject: Re: [dpdk-dev] [PATCH v1 1/4] vhost: support host notifier queue configuration X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" DQoNCkZyb206IE1heGltZSBDb3F1ZWxpbjoNCj4gT24gNi8xOC8yMCA2OjI4IFBNLCBNYXRhbiBB enJhZCB3cm90ZToNCj4gPiBBcyBhbiBhcnJhbmdlbWVudCB0byBwZXIgcXVldWUgb3BlcmF0aW9u cyBpbiB0aGUgdkRQQSBkZXZpY2UgaXQgaXMNCj4gPiBuZWVkZWQgdG8gY2hhbmdlIHRoZSBuZXh0 IGV4cGVyaW1lbnRhbCBBUEk6DQo+ID4NCj4gPiBUaGUgQVBJIGBgcnRlX3Zob3N0X2hvc3Rfbm90 aWZpZXJfY3RybGBgIHdhcyBjaGFuZ2VkIHRvIGJlIHBlciBxdWV1ZQ0KPiA+IGluc3RlYWQgb2Yg cGVyIGRldmljZS4NCj4gPg0KPiA+IEEgYHFpZGAgcGFyYW1ldGVyIHdhcyBhZGRlZCB0byB0aGUg QVBJIGFyZ3VtZW50cyBsaXN0Lg0KPiA+DQo+ID4gU2V0dGluZyB0aGUgcGFyYW1ldGVyIHRvIHRo ZSB2YWx1ZSBWSE9TVF9RVUVVRV9BTEwgd2lsbCBjb25maWd1cmUgdGhlDQo+ID4gaG9zdCBub3Rp ZmllciB0byBhbGwgdGhlIGRldmljZSBxdWV1ZXMgYXMgZG9uZSBiZWZvcmUgdGhpcyBwYXRjaC4N Cj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IE1hdGFuIEF6cmFkIDxtYXRhbkBtZWxsYW5veC5jb20+ DQo+ID4gLS0tDQo+ID4gIGRvYy9ndWlkZXMvcmVsX25vdGVzL3JlbGVhc2VfMjBfMDgucnN0IHwg IDIgKysNCj4gPiAgZHJpdmVycy92ZHBhL2lmYy9pZmN2Zl92ZHBhLmMgICAgICAgICAgfCAgNiAr KystLS0NCj4gPiAgZHJpdmVycy92ZHBhL21seDUvbWx4NV92ZHBhLmMgICAgICAgICAgfCAgNSAr KystLQ0KPiA+ICBsaWIvbGlicnRlX3Zob3N0L3J0ZV92ZHBhLmggICAgICAgICAgICB8ICA4ICsr KysrKy0tDQo+ID4gIGxpYi9saWJydGVfdmhvc3QvcnRlX3Zob3N0LmggICAgICAgICAgIHwgIDIg KysNCj4gPiAgbGliL2xpYnJ0ZV92aG9zdC92aG9zdC5oICAgICAgICAgICAgICAgfCAgMyAtLS0N Cj4gPiAgbGliL2xpYnJ0ZV92aG9zdC92aG9zdF91c2VyLmMgICAgICAgICAgfCAxOCArKysrKysr KysrKysrKy0tLS0NCj4gPiAgNyBmaWxlcyBjaGFuZ2VkLCAzMCBpbnNlcnRpb25zKCspLCAxNCBk ZWxldGlvbnMoLSkNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9kb2MvZ3VpZGVzL3JlbF9ub3Rlcy9y ZWxlYXNlXzIwXzA4LnJzdA0KPiA+IGIvZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yMF8w OC5yc3QNCj4gPiBpbmRleCBiYTE2ZDNiLi45NzMyOTU5IDEwMDY0NA0KPiA+IC0tLSBhL2RvYy9n dWlkZXMvcmVsX25vdGVzL3JlbGVhc2VfMjBfMDgucnN0DQo+ID4gKysrIGIvZG9jL2d1aWRlcy9y ZWxfbm90ZXMvcmVsZWFzZV8yMF8wOC5yc3QNCj4gPiBAQCAtMTExLDYgKzExMSw4IEBAIEFQSSBD aGFuZ2VzDQo+ID4gICAgIEFsc28sIG1ha2Ugc3VyZSB0byBzdGFydCB0aGUgYWN0dWFsIHRleHQg YXQgdGhlIG1hcmdpbi4NCj4gPg0KPiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0NCj4gPg0KPiA+ICsqIHZob3N0OiBUaGUgQVBJIG9mIGBg cnRlX3Zob3N0X2hvc3Rfbm90aWZpZXJfY3RybGBgIHdhcyBjaGFuZ2VkIHRvDQo+ID4gK2JlIHBl cg0KPiA+ICsgIHF1ZXVlIGFuZCBub3QgcGVyIGRldmljZSwgYSBxaWQgcGFyYW1ldGVyIHdhcyBh ZGRlZCB0byB0aGUgYXJndW1lbnRzDQo+IGxpc3QuDQo+ID4NCj4gPiAgQUJJIENoYW5nZXMNCj4g PiAgLS0tLS0tLS0tLS0NCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92ZHBhL2lmYy9pZmN2Zl92 ZHBhLmMNCj4gPiBiL2RyaXZlcnMvdmRwYS9pZmMvaWZjdmZfdmRwYS5jIGluZGV4IGVjOTcxNzgu LjMzNjgzN2EgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy92ZHBhL2lmYy9pZmN2Zl92ZHBhLmMN Cj4gPiArKysgYi9kcml2ZXJzL3ZkcGEvaWZjL2lmY3ZmX3ZkcGEuYw0KPiA+IEBAIC04MzksNyAr ODM5LDcgQEAgc3RydWN0IGludGVybmFsX2xpc3Qgew0KPiA+ICAJdmRwYV9pZmN2Zl9zdG9wKGlu dGVybmFsKTsNCj4gPiAgCXZkcGFfZGlzYWJsZV92ZmlvX2ludHIoaW50ZXJuYWwpOw0KPiA+DQo+ ID4gLQlyZXQgPSBydGVfdmhvc3RfaG9zdF9ub3RpZmllcl9jdHJsKHZpZCwgZmFsc2UpOw0KPiA+ ICsJcmV0ID0gcnRlX3Zob3N0X2hvc3Rfbm90aWZpZXJfY3RybCh2aWQsIFZIT1NUX1FVRVVFX0FM TCwgZmFsc2UpOw0KPiA+ICAJaWYgKHJldCAmJiByZXQgIT0gLUVOT1RTVVApDQo+ID4gIAkJZ290 byBlcnJvcjsNCj4gPg0KPiA+IEBAIC04NTgsNyArODU4LDcgQEAgc3RydWN0IGludGVybmFsX2xp c3Qgew0KPiA+ICAJaWYgKHJldCkNCj4gPiAgCQlnb3RvIHN0b3BfdmY7DQo+ID4NCj4gPiAtCXJ0 ZV92aG9zdF9ob3N0X25vdGlmaWVyX2N0cmwodmlkLCB0cnVlKTsNCj4gPiArCXJ0ZV92aG9zdF9o b3N0X25vdGlmaWVyX2N0cmwodmlkLCBWSE9TVF9RVUVVRV9BTEwsIHRydWUpOw0KPiA+DQo+ID4g IAlpbnRlcm5hbC0+c3dfZmFsbGJhY2tfcnVubmluZyA9IHRydWU7DQo+ID4NCj4gPiBAQCAtODkz LDcgKzg5Myw3IEBAIHN0cnVjdCBpbnRlcm5hbF9saXN0IHsNCj4gPiAgCXJ0ZV9hdG9taWMzMl9z ZXQoJmludGVybmFsLT5kZXZfYXR0YWNoZWQsIDEpOw0KPiA+ICAJdXBkYXRlX2RhdGFwYXRoKGlu dGVybmFsKTsNCj4gPg0KPiA+IC0JaWYgKHJ0ZV92aG9zdF9ob3N0X25vdGlmaWVyX2N0cmwodmlk LCB0cnVlKSAhPSAwKQ0KPiA+ICsJaWYgKHJ0ZV92aG9zdF9ob3N0X25vdGlmaWVyX2N0cmwodmlk LCBWSE9TVF9RVUVVRV9BTEwsIHRydWUpICE9IDApDQo+ID4gIAkJRFJWX0xPRyhOT1RJQ0UsICJ2 RFBBICglZCk6IHNvZnR3YXJlIHJlbGF5IGlzIHVzZWQuIiwgZGlkKTsNCj4gPg0KPiA+ICAJcmV0 dXJuIDA7DQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmRwYS9tbHg1L21seDVfdmRwYS5jDQo+ ID4gYi9kcml2ZXJzL3ZkcGEvbWx4NS9tbHg1X3ZkcGEuYyBpbmRleCA5ZTc1OGI2Li44ZWExMzAw IDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvdmRwYS9tbHg1L21seDVfdmRwYS5jDQo+ID4gKysr IGIvZHJpdmVycy92ZHBhL21seDUvbWx4NV92ZHBhLmMNCj4gPiBAQCAtMTQ3LDcgKzE0Nyw4IEBA DQo+ID4gIAlpbnQgcmV0Ow0KPiA+DQo+ID4gIAlpZiAocHJpdi0+ZGlyZWN0X25vdGlmaWVyKSB7 DQo+ID4gLQkJcmV0ID0gcnRlX3Zob3N0X2hvc3Rfbm90aWZpZXJfY3RybChwcml2LT52aWQsIGZh bHNlKTsNCj4gPiArCQlyZXQgPSBydGVfdmhvc3RfaG9zdF9ub3RpZmllcl9jdHJsKHByaXYtPnZp ZCwNCj4gVkhPU1RfUVVFVUVfQUxMLA0KPiA+ICsJCQkJCQkgICBmYWxzZSk7DQo+ID4gIAkJaWYg KHJldCAhPSAwKSB7DQo+ID4gIAkJCURSVl9MT0coSU5GTywgIkRpcmVjdCBIVyBub3RpZmllciBG RCBjYW5ub3QgYmUgIg0KPiA+ICAJCQkJImRlc3Ryb3llZCBmb3IgZGV2aWNlICVkOiAlZC4iLCBw cml2LT52aWQsDQo+IHJldCk7IEBAIC0xNTUsNyArMTU2LDcNCj4gPiBAQA0KPiA+ICAJCX0NCj4g PiAgCQlwcml2LT5kaXJlY3Rfbm90aWZpZXIgPSAwOw0KPiA+ICAJfQ0KPiA+IC0JcmV0ID0gcnRl X3Zob3N0X2hvc3Rfbm90aWZpZXJfY3RybChwcml2LT52aWQsIHRydWUpOw0KPiA+ICsJcmV0ID0g cnRlX3Zob3N0X2hvc3Rfbm90aWZpZXJfY3RybChwcml2LT52aWQsIFZIT1NUX1FVRVVFX0FMTCwN Cj4gPiArdHJ1ZSk7DQo+ID4gIAlpZiAocmV0ICE9IDApDQo+ID4gIAkJRFJWX0xPRyhJTkZPLCAi RGlyZWN0IEhXIG5vdGlmaWVyIEZEIGNhbm5vdCBiZSBjb25maWd1cmVkDQo+IGZvciINCj4gPiAg CQkJIiBkZXZpY2UgJWQ6ICVkLiIsIHByaXYtPnZpZCwgcmV0KTsgZGlmZiAtLWdpdA0KPiA+IGEv bGliL2xpYnJ0ZV92aG9zdC9ydGVfdmRwYS5oIGIvbGliL2xpYnJ0ZV92aG9zdC9ydGVfdmRwYS5o IGluZGV4DQo+ID4gZWNiM2Q5MS4uMmRiNTM2YyAxMDA2NDQNCj4gPiAtLS0gYS9saWIvbGlicnRl X3Zob3N0L3J0ZV92ZHBhLmgNCj4gPiArKysgYi9saWIvbGlicnRlX3Zob3N0L3J0ZV92ZHBhLmgN Cj4gPiBAQCAtMjAyLDIyICsyMDIsMjYgQEAgc3RydWN0IHJ0ZV92ZHBhX2RldmljZSAqICBpbnQN Cj4gPiBydGVfdmRwYV9nZXRfZGV2aWNlX251bSh2b2lkKTsNCj4gPg0KPiA+ICsjZGVmaW5lIFZI T1NUX1FVRVVFX0FMTCBWSE9TVF9NQVhfVlJJTkcNCj4gPiArDQo+ID4gIC8qKg0KPiA+ICAgKiBA d2FybmluZw0KPiA+ICAgKiBAYiBFWFBFUklNRU5UQUw6IHRoaXMgQVBJIG1heSBjaGFuZ2Ugd2l0 aG91dCBwcmlvciBub3RpY2UNCj4gPiAgICoNCj4gPiAtICogRW5hYmxlL0Rpc2FibGUgaG9zdCBu b3RpZmllciBtYXBwaW5nIGZvciBhIHZkcGEgcG9ydC4NCj4gPiArICogRW5hYmxlL0Rpc2FibGUg aG9zdCBub3RpZmllciBtYXBwaW5nIGZvciBhIHZkcGEgcXVldWUuDQo+ID4gICAqDQo+ID4gICAq IEBwYXJhbSB2aWQNCj4gPiAgICogIHZob3N0IGRldmljZSBpZA0KPiA+ICAgKiBAcGFyYW0gZW5h YmxlDQo+ID4gICAqICB0cnVlIGZvciBob3N0IG5vdGlmaWVyIG1hcCwgZmFsc2UgZm9yIGhvc3Qg bm90aWZpZXIgdW5tYXANCj4gPiArICogQHBhcmFtIHFpZA0KPiA+ICsgKiAgdmhvc3QgcXVldWUg aWQsIFZIT1NUX1FVRVVFX0FMTCB0byBjb25maWd1cmUgYWxsIHRoZSBkZXZpY2UNCj4gPiArIHF1 ZXVlcw0KPiBJIHdvdWxkIHByZWZlciB0d28gQVBJcyB0aGF0IHBhc3NpbmcgYSBzcGVjaWFsIElE IHRoYXQgbWVhbnMgYWxsIHF1ZXVlczoNCj4gDQo+IHJ0ZV92aG9zdF9ob3N0X25vdGlmaWVyX2N0 cmwoaW50IHZpZCwgdWludDE2X3QgcWlkLCBib29sIGVuYWJsZSk7DQo+IHJ0ZV92aG9zdF9ob3N0 X25vdGlmaWVyX2N0cmxfYWxsKGludCB2aWQsIGJvb2wgZW5hYmxlKTsNCj4gDQo+IEkgdGhpbmsg aXQgaXMgY2xlYXJlciBmb3IgdGhlIHVzZXIgb2YgdGhlIEFQSS4NCj4gT3IgaWYgeW91IHRoaW5r IGFuIGV4dHJhIEFQSSBpcyBvdmVya2lsbCwganVzdCBsZXQgdGhlIGRyaXZlciBsb29wIG9uIGFs bCB0aGUNCj4gcXVldWVzLg0KDQpXZSBoYXZlIGEgbG90IG9mIG9wdGlvbnMgaGVyZSB3aXRoIHBy b3MgYW5kIGNvbnMuDQpJIHRvb2sgdGhlIHJ0ZV9ldGhfZGV2X2NhbGxiYWNrX3JlZ2lzdGVyIHN0 eWxlLg0KDQpJdCBpcyBsZXNzIGludHJ1c2l2ZSB3aXRoIG1pbmltdW0gY29kZSBjaGFuZ2UuICAN Cg0KSSdtIG5vdCBzdXJlIHdoYXQgaXMgdGhlIGNsZWFyZXN0IG9wdGlvbiBidXQgdGhlIGN1cnJl bnQgc3VnZ2VzdGlvbiBpcyB3ZWxsIGRlZmluZWQgYW5kIA0KYWxsb3dzIHRvIGNvbmZpZ3VyZSBh bGwgdGhlIHF1ZXVlcyB0b28uDQoNCkxldCBtZSBrbm93IHdoYXQgeW91IHByZWZlci4uLi4NCg0K PiA+ICAgKiBAcmV0dXJuDQo+ID4gICAqICAwIG9uIHN1Y2Nlc3MsIC0xIG9uIGZhaWx1cmUNCj4g PiAgICovDQo+ID4gIF9fcnRlX2V4cGVyaW1lbnRhbA0KPiA+ICBpbnQNCj4gPiAtcnRlX3Zob3N0 X2hvc3Rfbm90aWZpZXJfY3RybChpbnQgdmlkLCBib29sIGVuYWJsZSk7DQo+ID4gK3J0ZV92aG9z dF9ob3N0X25vdGlmaWVyX2N0cmwoaW50IHZpZCwgdWludDE2X3QgcWlkLCBib29sIGVuYWJsZSk7 DQo+ID4NCj4gPiAgLyoqDQoNCg==