From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (xvm-189-124.dc0.ghst.net [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 57213A09FF; Wed, 6 Jan 2021 12:54:25 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D2513160951; Wed, 6 Jan 2021 12:54:24 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 6947016094C for ; Wed, 6 Jan 2021 12:54:23 +0100 (CET) IronPort-SDR: NoJbSy7p/oDe/Gji0lxZ3Ko/qVFMKO+8uaovIWFOHBjtLrBNdTGSSRGHcJiWHwX2gN4JYzDczj 5v6lzwNM2kFg== X-IronPort-AV: E=McAfee;i="6000,8403,9855"; a="262033090" X-IronPort-AV: E=Sophos;i="5.78,480,1599548400"; d="scan'208";a="262033090" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Jan 2021 03:54:22 -0800 IronPort-SDR: JTXcKUdZ9Gkl2OPFxkRitgH2nAfDI9L7ofHnBqPBjAopltASQ2HD9X7ib4hvd4/bHMZu/RJYsC 4JDIk5Ynm85Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.78,480,1599548400"; d="scan'208";a="497133184" Received: from fmsmsx606.amr.corp.intel.com ([10.18.126.86]) by orsmga004.jf.intel.com with ESMTP; 06 Jan 2021 03:54:22 -0800 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 6 Jan 2021 03:54:21 -0800 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Wed, 6 Jan 2021 03:54:21 -0800 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.172) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Wed, 6 Jan 2021 03:54:21 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YFk7uQYeLUx41I2QX65YPyM1bPBhyQJ6TG0TY5cXjwru2WFH8QMjp+VjAEmwdOQCKJRPs5u1H1zFkOMWzwg0EkLXCIPNk/9ZYH8NA78GxfKhtvyhBS4LhAINsyyyAWmcZMovRHZZ5burAXc56UyaRVlhU+ckgsL+GVGCMuDoVkuVmRbQYO2ZCbz4z6S4JdVexyOhMHeeudTY5NJW4xzEjVq8Jt1qoNmkch11fhyzY272UEfbpT6jz2e0QeYLJA4K9BnaaPX/fsbOVIy+YWBlgZIrNeh26kQRYvn+jogBt7j5rxj1JVVFNasORz44BQgio2naeslUWa9FkogOJj2aAw== 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=4g8UbJIRRPN4dgocNX6IIgPBHxD0nBJmxxKVc60yoWs=; b=YutMOBPThZjO0PknfKmI27fweCKtYzU8j3qli4/PYD6cS1vftdGEzJ3iSH82HsbGo9h0PX1OrFs01My6fvrUGIeqpdo++zfixDqcZVoPkvBE/wmNzLqBYUS6IRGwNjT5ZLPUwcy8v2ZmresDePfCMJw5t+IxgKIO6IHgckuXWpi1uKyVT890jfOgoEkNOvmJpuy1qkygKKUULbkvQp/BLb6pbunerpHzPgepb+Bz1zNEyt2s+ZM8kwMEDPlSA+9/WlPywTdrSIvCMEPWiKntun6M5x67Q6CJO+5H0N7o56sM3LwbA8wso2WsX8V1sP94PcNujQW53iFQq3NccJg4Pw== 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=4g8UbJIRRPN4dgocNX6IIgPBHxD0nBJmxxKVc60yoWs=; b=LaOrJXXXxRP3+PpkM4URiihlxaCzYsCpYL4zklGdQTB+xIjBr201SGnOUJ/cvZCo5a+YcuKc4K9IqipMxI6vi5jnFO5mIDqQAMJ831plH1DRYcujyjdZeCmNMOl2M4dHaT1twF+HrAcw+5L9v/AXiVqOOBIGIREH0fvyYG4hZ2k= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB3885.namprd11.prod.outlook.com (2603:10b6:208:151::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3721.20; Wed, 6 Jan 2021 11:54:20 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::74f2:ba7f:cb22:5272]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::74f2:ba7f:cb22:5272%7]) with mapi id 15.20.3721.024; Wed, 6 Jan 2021 11:54:20 +0000 From: "Xia, Chenbo" To: Maxime Coquelin , "dev@dpdk.org" , "olivier.matz@6wind.com" , "amorenoz@redhat.com" , "david.marchand@redhat.com" Thread-Topic: [PATCH 25/40] net/virtio: add Virtio-user features ops Thread-Index: AQHW1xVSnD638YlqmUGYo0kF4niPO6oaljxA Date: Wed, 6 Jan 2021 11:54:20 +0000 Message-ID: References: <20201220211405.313012-1-maxime.coquelin@redhat.com> <20201220211405.313012-26-maxime.coquelin@redhat.com> In-Reply-To: <20201220211405.313012-26-maxime.coquelin@redhat.com> Accept-Language: en-US, zh-CN 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=intel.com; x-originating-ip: [192.102.204.37] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 39fce2e4-f49a-4fca-447d-08d8b239cdb4 x-ms-traffictypediagnostic: MN2PR11MB3885: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3631; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: mbHochROPcZiLJvL2uAMXMecKpeG8a2DUX4NqWBjpq62oI8lAvpE3CC9JlLwO+wE6DvLmGv/NIh09yNSza8FYfFh+wDWl//hZiR/BK/0N4oSq5Krxit36EKDOh/9QEv/nRwYRB5qNEWgY1iiYk8q2Jio/tItkjx2PFixJ6K6FmjsxYNSWpMl2OlAYcdXfuR9onyfVpBOU+Yd9kbDxT+SGcpFGlxtCdy23P65Ai119jiuillMwa3t1U+P7v0ZIRumWv8st5VYj7Pgh6vBrtIt2/YeNkRLu9FTu+kyUHtaYKXtaTyhradRmIFp7rWlvX5giP2O/4p6JfJkERsf8lC0P5/Xn7r7o9nOU+F6H8fIjyKuk6FEc3vO5Y1rTAtFrR49RrboVWaUBDTbhwTieHUC7g== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR11MB4063.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(136003)(396003)(346002)(376002)(39860400002)(71200400001)(5660300002)(52536014)(186003)(8936002)(2906002)(9686003)(83380400001)(7696005)(26005)(55016002)(6506007)(110136005)(33656002)(316002)(53546011)(478600001)(76116006)(66446008)(64756008)(66946007)(66556008)(66476007)(86362001)(8676002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?T0cvL2VCVHJSMGlJNFBtbGpBK2lCQWZHVElVZFRWT1FMQU9rMFZWSWRUQVA1?= =?utf-8?B?Y2RHYXhXWGhRRWo3TkpoaFhVTERJcjlSOUlhL1RPOWc3MVJzMER0d1BleGZU?= =?utf-8?B?eTZPYUFkblgvbVVBT3FHODNtMkREN0E0bUpkclBXVFBZUkFRNDF4SFRiQTBJ?= =?utf-8?B?VjJYd2RBS25mWXRuY0hWUmduNC85SXhGWUcwZUxRYms5cDZtQjRKZzd0RGRY?= =?utf-8?B?UjVUb1QxZCtOMWxUNU5xaWdzUzRRQ3Y0VWdXMVY3MzZUWGdwV2VPcTNQdE5H?= =?utf-8?B?NEVqWXlsTThncFpSZ3pYVEZzclp2VHBMRTFEbHluRnhvQ3hEWGJRMmE1aFZy?= =?utf-8?B?TklpSStaT01SQ1pmM1Qxay9rem55L0U2ZzhBZng5eHdYMkxwRXdKbjBHekp1?= =?utf-8?B?Q0xZVGlOT1ExTC9yVlNURnJhWnhLTzRKYU1aVU5xOCthLzFOdHBWSVpLMWt3?= =?utf-8?B?cVJpTTBtRHJ3V2NrNjU2bHEvS1dvai9qb1pYWnNTbkFsVXZsV1lsSHNNcDlt?= =?utf-8?B?ZElrajNMbTZrVHQyMHllQ253OWdXSVdmUWJ4ckM0ZXhhN2dKMzFYNjVWNTNB?= =?utf-8?B?ZzBLU0p0VnZNRUxTVGtib0duTkIyRXA2azAxVW5SdGQ2TmJHeUl2OENIaXlN?= =?utf-8?B?a2JnTERrZGxUWDRsd0JZUWsvbWtscWdtK0o4UmVWZmYrcE9mT1FENW05cjVS?= =?utf-8?B?WTBnNVVVVEYvd1gxYlVOS3Rna2IrRjAwajBTTHJvZVZwa0hsL0wzTHF6dEtO?= =?utf-8?B?TGdld3UvcU1lb2ZvNGF5TlIxNWRZNGl5eG5FcjdoRThEZldBQ3FBcUpqRGc3?= =?utf-8?B?dmNDd3dJMmhRVWpYLzJFdlVINE5vcU9GUWtTZkJiR2NwOVVVdjZpenJCclow?= =?utf-8?B?Unp0Uks1Uit2WFJjVDFLOTBOREdwWjFmWWlhNC80UGxDMC9MT2J1SVVuUGQ5?= =?utf-8?B?dm9TRDhIYkdja3dEaHU5bDloNFB4d2ZJWUsrTlhXSVlRZjlmWit3Z2VrV2d2?= =?utf-8?B?aURHQ2YwOFVtdVh1RTBPazA2cGtyMmFCT056a0hSdnNTWU1ROGd2YTU3eURy?= =?utf-8?B?eG4vT2dIc1Z3ZHdkd0dJQUhXdGRyTzhKM3VTdHNqMUJLRnY2ZmZxN05KRE5w?= =?utf-8?B?R3A3RjVERFRBRjFKUHdEcy9OYW1kdGF1YzJvWWUwS0VQdm8xYWNKdVBOSW9R?= =?utf-8?B?Sm9BTjNpV3VQbTlHQzB4dFBnTHIxeVk1NFZHUnM5UUF1bHFvT3EzUktDNnAz?= =?utf-8?B?TmgrWHhoYml2MzRhaG9XdHBCZVpJZlI3WVh3Qk1IZ2dLNW1NczRBYmRqNU5S?= =?utf-8?Q?+wwgJ2NskxwSg=3D?= x-ms-exchange-transport-forked: True 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: MN2PR11MB4063.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 39fce2e4-f49a-4fca-447d-08d8b239cdb4 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Jan 2021 11:54:20.5709 (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: KTk6oK15YFtCL7ai5pKcQkWMeTMGNoVXdkCwjpIvVA3+FHbolJh6LFqnkQ8RMS6cBWwh+DHbjy62cz0nY8YsPw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3885 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH 25/40] net/virtio: add Virtio-user features ops 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" SGkgTWF4aW1lLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE1heGlt ZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+DQo+IFNlbnQ6IE1vbmRheSwg RGVjZW1iZXIgMjEsIDIwMjAgNToxNCBBTQ0KPiBUbzogZGV2QGRwZGsub3JnOyBYaWEsIENoZW5i byA8Y2hlbmJvLnhpYUBpbnRlbC5jb20+OyBvbGl2aWVyLm1hdHpANndpbmQuY29tOw0KPiBhbW9y ZW5vekByZWRoYXQuY29tOyBkYXZpZC5tYXJjaGFuZEByZWRoYXQuY29tDQo+IENjOiBNYXhpbWUg Q29xdWVsaW4gPG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiBTdWJqZWN0OiBbUEFUQ0gg MjUvNDBdIG5ldC92aXJ0aW86IGFkZCBWaXJ0aW8tdXNlciBmZWF0dXJlcyBvcHMNCj4gDQo+IFRo aXMgcGF0Y2ggaW50cm9kdWNlIG5ldyBjYWxsYmFja3MgZm9yIGdldHRpbmcNCg0Kcy9pbnRyb2R1 Y2UvaW50cm9kdWNlcw0KDQo+IGFuZCBzZXR0aW5nIFZpcnRpbyBmZWF0dXJlcywgYW5kIGltcGxl bWVudHMgdGhlbQ0KPiBmb3IgdGhlIGRpZmZlcmVudCBiYWNrZW5kIHR5cGVzLg0KPiANCj4gU2ln bmVkLW9mZi1ieTogTWF4aW1lIENvcXVlbGluIDxtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbT4N Cj4gLS0tDQo+ICBkcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3QuaCAgICAgICAg fCAgIDIgKw0KPiAgZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zob3N0X2tlcm5lbC5j IHwgMTUwICsrKysrKysrKy0tLS0tLS0tLQ0KPiAgLi4uL25ldC92aXJ0aW8vdmlydGlvX3VzZXIv dmhvc3Rfa2VybmVsX3RhcC5jIHwgIDIzICsrKw0KPiAgLi4uL25ldC92aXJ0aW8vdmlydGlvX3Vz ZXIvdmhvc3Rfa2VybmVsX3RhcC5oIHwgICAxICsNCj4gIGRyaXZlcnMvbmV0L3ZpcnRpby92aXJ0 aW9fdXNlci92aG9zdF91c2VyLmMgICB8ICA2MyArKysrKysrLQ0KPiAgZHJpdmVycy9uZXQvdmly dGlvL3ZpcnRpb191c2VyL3Zob3N0X3ZkcGEuYyAgIHwgIDM4ICsrKy0tDQo+ICAuLi4vbmV0L3Zp cnRpby92aXJ0aW9fdXNlci92aXJ0aW9fdXNlcl9kZXYuYyAgfCAgIDUgKy0NCj4gIGRyaXZlcnMv bmV0L3ZpcnRpby92aXJ0aW9fdXNlcl9ldGhkZXYuYyAgICAgICB8ICAgMyArLQ0KPiAgOCBmaWxl cyBjaGFuZ2VkLCAxODggaW5zZXJ0aW9ucygrKSwgOTcgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zob3N0LmgNCj4gYi9kcml2 ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3QuaA0KPiBpbmRleCA4ZTgxOWVjZmI4Li4x Njk3OGUyN2VkIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIv dmhvc3QuaA0KPiArKysgYi9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3QuaA0K PiBAQCAtMTAyLDYgKzEwMiw4IEBAIHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXY7DQo+ICBzdHJ1Y3Qg dmlydGlvX3VzZXJfYmFja2VuZF9vcHMgew0KPiAgCWludCAoKnNldHVwKShzdHJ1Y3QgdmlydGlv X3VzZXJfZGV2ICpkZXYpOw0KPiAgCWludCAoKnNldF9vd25lcikoc3RydWN0IHZpcnRpb191c2Vy X2RldiAqZGV2KTsNCj4gKwlpbnQgKCpnZXRfZmVhdHVyZXMpKHN0cnVjdCB2aXJ0aW9fdXNlcl9k ZXYgKmRldiwgdWludDY0X3QgKmZlYXR1cmVzKTsNCj4gKwlpbnQgKCpzZXRfZmVhdHVyZXMpKHN0 cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwgdWludDY0X3QgZmVhdHVyZXMpOw0KPiAgCWludCAo KnNlbmRfcmVxdWVzdCkoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2LA0KPiAgCQkJICAgIGVu dW0gdmhvc3RfdXNlcl9yZXF1ZXN0IHJlcSwNCj4gIAkJCSAgICB2b2lkICphcmcpOw0KPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zob3N0X2tlcm5lbC5jDQo+ IGIvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zob3N0X2tlcm5lbC5jDQo+IGluZGV4 IGI3OWRjYWQxNzkuLmY0NGRmOGVmMWYgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L3ZpcnRp by92aXJ0aW9fdXNlci92aG9zdF9rZXJuZWwuYw0KPiArKysgYi9kcml2ZXJzL25ldC92aXJ0aW8v dmlydGlvX3VzZXIvdmhvc3Rfa2VybmVsLmMNCj4gQEAgLTM4LDYgKzM4LDI4IEBAIHN0cnVjdCB2 aG9zdF9tZW1vcnlfa2VybmVsIHsNCj4gICNkZWZpbmUgVkhPU1RfU0VUX1ZSSU5HX0VSUiBfSU9X KFZIT1NUX1ZJUlRJTywgMHgyMiwgc3RydWN0IHZob3N0X3ZyaW5nX2ZpbGUpDQo+ICAjZGVmaW5l IFZIT1NUX05FVF9TRVRfQkFDS0VORCBfSU9XKFZIT1NUX1ZJUlRJTywgMHgzMCwgc3RydWN0DQo+ IHZob3N0X3ZyaW5nX2ZpbGUpDQo+IA0KPiArLyogd2l0aCBiZWxvdyBmZWF0dXJlcywgdmhvc3Qg a2VybmVsIGRvZXMgbm90IG5lZWQgdG8gZG8gdGhlIGNoZWNrc3VtIGFuZCBUU08sDQo+ICsgKiB0 aGVzZSBpbmZvIHdpbGwgYmUgcGFzc2VkIHRvIHZpcnRpb191c2VyIHRocm91Z2ggdmlydGlvIG5l dCBoZWFkZXIuDQo+ICsgKi8NCj4gKyNkZWZpbmUgVkhPU1RfS0VSTkVMX0dVRVNUX09GRkxPQURT X01BU0sJXA0KPiArCSgoMVVMTCA8PCBWSVJUSU9fTkVUX0ZfR1VFU1RfQ1NVTSkgfAlcDQo+ICsJ ICgxVUxMIDw8IFZJUlRJT19ORVRfRl9HVUVTVF9UU080KSB8CVwNCj4gKwkgKDFVTEwgPDwgVklS VElPX05FVF9GX0dVRVNUX1RTTzYpIHwJXA0KPiArCSAoMVVMTCA8PCBWSVJUSU9fTkVUX0ZfR1VF U1RfRUNOKSAgfAlcDQo+ICsJICgxVUxMIDw8IFZJUlRJT19ORVRfRl9HVUVTVF9VRk8pKQ0KPiAr DQo+ICsvKiB3aXRoIGJlbG93IGZlYXR1cmVzLCB3aGVuIGZsb3dzIGZyb20gdmlydGlvX3VzZXIg dG8gdmhvc3Qga2VybmVsDQo+ICsgKiAoMSkgaWYgZmxvd3MgZ29lcyB1cCB0aHJvdWdoIHRoZSBr ZXJuZWwgbmV0d29ya2luZyBzdGFjaywgaXQgZG9lcyBub3QgbmVlZA0KPiArICogdG8gdmVyaWZ5 IGNoZWNrc3VtLCB3aGljaCBjYW4gc2F2ZSBDUFUgY3ljbGVzOw0KPiArICogKDIpIGlmIGZsb3dz IGdvZXMgdGhyb3VnaCBhIExpbnV4IGJyaWRnZSBhbmQgb3V0c2lkZSBmcm9tIGFuIGludGVyZmFj ZQ0KPiArICogKGtlcm5lbCBkcml2ZXIpLCBjaGVja3N1bSBhbmQgVFNPIHdpbGwgYmUgZG9uZSBi eSBHU08gaW4ga2VybmVsIG9yIGV2ZW4NCj4gKyAqIG9mZmxvYWRlZCBpbnRvIHJlYWwgcGh5c2lj YWwgZGV2aWNlLg0KPiArICovDQo+ICsjZGVmaW5lIFZIT1NUX0tFUk5FTF9IT1NUX09GRkxPQURT X01BU0sJCVwNCj4gKwkoKDFVTEwgPDwgVklSVElPX05FVF9GX0hPU1RfVFNPNCkgfAlcDQo+ICsJ ICgxVUxMIDw8IFZJUlRJT19ORVRfRl9IT1NUX1RTTzYpIHwJXA0KPiArCSAoMVVMTCA8PCBWSVJU SU9fTkVUX0ZfQ1NVTSkpDQo+ICsNCj4gIHN0YXRpYyB1aW50NjRfdCBtYXhfcmVnaW9ucyA9IDY0 Ow0KPiANCj4gIHN0YXRpYyB2b2lkDQo+IEBAIC03NywxMCArOTksNTcgQEAgdmhvc3Rfa2VybmVs X3NldF9vd25lcihzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYpDQo+ICAJcmV0dXJuIHZob3N0 X2tlcm5lbF9pb2N0bChkZXYtPnZob3N0ZmRzWzBdLCBWSE9TVF9TRVRfT1dORVIsIE5VTEwpOw0K PiAgfQ0KPiANCj4gK3N0YXRpYyBpbnQNCj4gK3Zob3N0X2tlcm5lbF9nZXRfZmVhdHVyZXMoc3Ry dWN0IHZpcnRpb191c2VyX2RldiAqZGV2LCB1aW50NjRfdCAqZmVhdHVyZXMpDQo+ICt7DQo+ICsJ aW50IHJldDsNCj4gKwl1bnNpZ25lZCBpbnQgdGFwX2ZlYXR1cmVzOw0KPiArDQo+ICsJcmV0ID0g dmhvc3Rfa2VybmVsX2lvY3RsKGRldi0+dmhvc3RmZHNbMF0sIFZIT1NUX0dFVF9GRUFUVVJFUywg ZmVhdHVyZXMpOw0KPiArCWlmIChyZXQgPCAwKSB7DQo+ICsJCVBNRF9EUlZfTE9HKEVSUiwgIkZh aWxlZCB0byBnZXQgZmVhdHVyZXMiKTsNCj4gKwkJcmV0dXJuIC0xOw0KPiArCX0NCj4gKw0KPiAr CXJldCA9IHRhcF9zdXBwb3J0X2ZlYXR1cmVzKCZ0YXBfZmVhdHVyZXMpOw0KPiArCWlmIChyZXQg PCAwKSB7DQo+ICsJCVBNRF9EUlZfTE9HKEVSUiwgIkZhaWxlZCB0byBnZXQgVEFQIGZlYXR1cmVz KSIpOw0KDQpzaG91bGQgZGVsZXRlICcpJyBhZnRlciAnZmVhdHVyZXMnPw0KDQo+ICsJCXJldHVy biAtMTsNCj4gKwl9DQo+ICsNCj4gKwkvKiB3aXRoIHRhcCBhcyB0aGUgYmFja2VuZCwgYWxsIHRo ZXNlIGZlYXR1cmVzIGFyZSBzdXBwb3J0ZWQNCj4gKwkgKiBidXQgbm90IGNsYWltZWQgYnkgdmhv c3QtbmV0LCBzbyB3ZSBhZGQgdGhlbSBiYWNrIHdoZW4NCj4gKwkgKiByZXBvcnRpbmcgdG8gdXBw ZXIgbGF5ZXIuDQo+ICsJICovDQoNCjxzbmlwPg0KDQo+ICAJLmRtYV9tYXAgPSB2aG9zdF92ZHBh X2RtYV9tYXAsDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIv dmlydGlvX3VzZXJfZGV2LmMNCj4gYi9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmly dGlvX3VzZXJfZGV2LmMNCj4gaW5kZXggZjhlNDU4MTk1MS4uMGE4NWQwNThhOCAxMDA2NDQNCj4g LS0tIGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3ZpcnRpb191c2VyX2Rldi5jDQo+ ICsrKyBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aXJ0aW9fdXNlcl9kZXYuYw0K PiBAQCAtMTQxLDcgKzE0MSw3IEBAIHZpcnRpb191c2VyX2Rldl9zZXRfZmVhdHVyZXMoc3RydWN0 IHZpcnRpb191c2VyX2RldiAqZGV2KQ0KPiAgCS8qIFN0cmlwIFZJUlRJT19ORVRfRl9DVFJMX1ZR LCBhcyBkZXZpY2VzIGRvIG5vdCByZWFsbHkgbmVlZCB0byBrbm93ICovDQo+ICAJZmVhdHVyZXMg Jj0gfigxdWxsIDw8IFZJUlRJT19ORVRfRl9DVFJMX1ZRKTsNCj4gIAlmZWF0dXJlcyAmPSB+KDF1 bGwgPDwgVklSVElPX05FVF9GX1NUQVRVUyk7DQo+IC0JcmV0ID0gZGV2LT5vcHMtPnNlbmRfcmVx dWVzdChkZXYsIFZIT1NUX1VTRVJfU0VUX0ZFQVRVUkVTLCAmZmVhdHVyZXMpOw0KPiArCXJldCA9 IGRldi0+b3BzLT5zZXRfZmVhdHVyZXMoZGV2LCBmZWF0dXJlcyk7DQoNCkkgbm90aWNlZCB0aGF0 IHZpcnRpb191c2VyX2Rldl9zZXRfZmVhdHVyZXMgaXMgY2FsbGVkIGJ5IHZpcnRpb191c2VyX3Nl dF9zdGF0dXMuDQpUaGUgZm9ybWVyIG1heSBmYWlsIGJ1dCB0aGUgbGF0dGVyIHdpbGwgaWdub3Jl IHRoZSBmYWlsdXJlLiBTbyB0aGlzIHdpbGwgaGFwcGVuOg0Kc2V0dGluZyBmZWF0dXJlcyBhbHJl YWR5IGZhaWxlZCBidXQgdmlydGlvLXVzZXIgc3RpbGwgY29udGludWUgdG8gZG8gdGhpbmdzLiBJ TUhPLCANCnRoaXMgaXMgbm90IHZlcnkgZ29vZCAoc2ltaWxhciB0aGluZ3MgbWF5IGhhcHBlbiBm b3IgdmlydGlvX3VzZXJfc3RhcnRfZGV2aWNlKS4NCldoYXQgZG8geW91IHRoaW5rPw0KDQpUaGFu a3MsDQpDaGVuYm8NCg0KPiAgCWlmIChyZXQgPCAwKQ0KPiAgCQlnb3RvIGVycm9yOw0KPiAgCVBN RF9EUlZfTE9HKElORk8sICJzZXQgZmVhdHVyZXM6ICUiIFBSSXg2NCwgZmVhdHVyZXMpOw0KPiBA QCAtNDg4LDggKzQ4OCw3IEBAIHZpcnRpb191c2VyX2Rldl9pbml0KHN0cnVjdCB2aXJ0aW9fdXNl cl9kZXYgKmRldiwgY2hhcg0KPiAqcGF0aCwgaW50IHF1ZXVlcywNCj4gIAkJCXJldHVybiAtMTsN Cj4gIAkJfQ0KPiANCj4gLQkJaWYgKGRldi0+b3BzLT5zZW5kX3JlcXVlc3QoZGV2LCBWSE9TVF9V U0VSX0dFVF9GRUFUVVJFUywNCj4gLQkJCQkJICAgJmRldi0+ZGV2aWNlX2ZlYXR1cmVzKSA8IDAp IHsNCj4gKwkJaWYgKGRldi0+b3BzLT5nZXRfZmVhdHVyZXMoZGV2LCAmZGV2LT5kZXZpY2VfZmVh dHVyZXMpIDwgMCkgew0KPiAgCQkJUE1EX0lOSVRfTE9HKEVSUiwgImdldF9mZWF0dXJlcyBmYWls ZWQ6ICVzIiwNCj4gIAkJCQkgICAgIHN0cmVycm9yKGVycm5vKSk7DQo+ICAJCQlyZXR1cm4gLTE7 DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXJfZXRoZGV2LmMN Cj4gYi9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXJfZXRoZGV2LmMNCj4gaW5kZXggMjgz ZjVjN2EzNi4uNGQyNjM1YzhhYSAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvdmlydGlvL3Zp cnRpb191c2VyX2V0aGRldi5jDQo+ICsrKyBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNl cl9ldGhkZXYuYw0KPiBAQCAtODUsOCArODUsNyBAQCB2aXJ0aW9fdXNlcl9zZXJ2ZXJfcmVjb25u ZWN0KHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldikNCj4gDQo+ICAJdmlydGlvX3NldF9zdGF0 dXMoaHcsIFZJUlRJT19DT05GSUdfU1RBVFVTX0RSSVZFUik7DQo+IA0KPiAtCWlmIChkZXYtPm9w cy0+c2VuZF9yZXF1ZXN0KGRldiwgVkhPU1RfVVNFUl9HRVRfRkVBVFVSRVMsDQo+IC0JCQkJICAg JmRldi0+ZGV2aWNlX2ZlYXR1cmVzKSA8IDApIHsNCj4gKwlpZiAoZGV2LT5vcHMtPmdldF9mZWF0 dXJlcyhkZXYsICZkZXYtPmRldmljZV9mZWF0dXJlcykgPCAwKSB7DQo+ICAJCVBNRF9JTklUX0xP RyhFUlIsICJnZXRfZmVhdHVyZXMgZmFpbGVkOiAlcyIsDQo+ICAJCQkgICAgIHN0cmVycm9yKGVy cm5vKSk7DQo+ICAJCXJldHVybiAtMTsNCj4gLS0NCj4gMi4yOS4yDQoNCg==