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 CE571A034F; Mon, 11 Oct 2021 10:48:00 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BFEA2410EB; Mon, 11 Oct 2021 10:48:00 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id 14666410E6 for ; Mon, 11 Oct 2021 10:47:58 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10133"; a="290323637" X-IronPort-AV: E=Sophos;i="5.85,364,1624345200"; d="scan'208";a="290323637" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Oct 2021 01:47:58 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,364,1624345200"; d="scan'208";a="485828781" Received: from fmsmsx606.amr.corp.intel.com ([10.18.126.86]) by fmsmga007.fm.intel.com with ESMTP; 11 Oct 2021 01:47:57 -0700 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) 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.2242.12; Mon, 11 Oct 2021 01:47:57 -0700 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) by fmsmsx607.amr.corp.intel.com (10.18.126.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Mon, 11 Oct 2021 01:47:57 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Mon, 11 Oct 2021 01:47:57 -0700 Received: from NAM04-MW2-obe.outbound.protection.outlook.com (104.47.73.174) 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.2242.12; Mon, 11 Oct 2021 01:47:56 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RPxNIqFV3FddbwBynm8vcSrCDt6sZ0o1ZPhpcTCVh0iFoI6k5o38xwP9/lKCKH0AcInElGGO2DFVE61LNto71ftvq7nfT/fyZ9kfAqbeTv0lHKT07qvzUJnbsTcWnw176SPltJgo36HZFs8EyVDLG2lVaEzESXhQDveHvEQiX7kEOfOT80vWMULm1pFXqBU9Y03yc5FvEgEXuipIryZuo2xPCbcXBp99I2EbHcDMP3fNplTCQv7Wnk8PWIoMCWI++ydrLM4QQ2cdgGwmy9mi+atih7KnRBfTOxPwKQ5jHfAFjpuafPlvzhuZmZ4M9KnBNJYBn4FCbcSl03Bi/ftqFg== 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=jxEsYBLDUhnHHTmWCkm6T3VN3UuO3WXOZ5NcHFeuWDs=; b=FF+TpA1k8oC54oA6Vq/uZoO/VEsAJ8oXvgxhBnupZ1gFVa4Ozh4tSf2gi4e0OZEN6mtTIAB5r0X7nd5tlPUULM00LO0EnB7CI6YOpJv14XOW9QJ/nvjVhfMZJk3W2raSX2M+l1bwgwL7bD+bExrS7cZsdqbYFwbaHlNobuteuQdAC19nnfAs/7yGxtZh/GAIMSYks0qatIZR1ovJX1ewmypjQCd/JGr4WjSimwZc7r1ZWvvhFakPkC3Id8DCGPJkw/vdS68fiTnM3CcMyLzV53rJkMpqQyB5ZgVB4wIGUPL9KnHtbHLKEDa7uTdh0Fx6zE9bDD3xRTOApwvVxrjUUQ== 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=jxEsYBLDUhnHHTmWCkm6T3VN3UuO3WXOZ5NcHFeuWDs=; b=U7rSP9aTJCurPsf+sgQo3stjPBSWSIU/1G4r/aWJ53oKbgJxjQLRxaL7xrGn1CO5xzRTyoVJQxW3wS3JORfsK0SCHSXbIy2IRwEU6dVIaGFCeclnwqRRXdq6oNPD57KQ/3L08eWm0E2y5iNqwLYMr9X3NSCY+FJaXd8FycFQmoY= Received: from SN6PR11MB3504.namprd11.prod.outlook.com (52.135.125.17) by SA2PR11MB5162.namprd11.prod.outlook.com (20.182.117.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.20; Mon, 11 Oct 2021 08:47:55 +0000 Received: from SN6PR11MB3504.namprd11.prod.outlook.com ([fe80::4041:2618:cb37:e56c]) by SN6PR11MB3504.namprd11.prod.outlook.com ([fe80::4041:2618:cb37:e56c%7]) with mapi id 15.20.4587.026; Mon, 11 Oct 2021 08:47:55 +0000 From: "Xia, Chenbo" To: Maxime Coquelin , "dev@dpdk.org" , "amorenoz@redhat.com" , "david.marchand@redhat.com" , "andrew.rybchenko@oktetlabs.ru" , "Yigit, Ferruh" , "michaelba@nvidia.com" , "viacheslavo@nvidia.com" , "Li, Xiaoyun" CC: "nelio.laranjeiro@6wind.com" , "yvugenfi@redhat.com" , "ybendito@redhat.com" Thread-Topic: [PATCH v4 1/5] net/virtio: add initial RSS support Thread-Index: AQHXuSzP/5D6WwdvvkCVmQiA31okcqvNfw0w Date: Mon, 11 Oct 2021 08:47:55 +0000 Message-ID: References: <20211004143017.51488-1-maxime.coquelin@redhat.com> <20211004143017.51488-2-maxime.coquelin@redhat.com> In-Reply-To: <20211004143017.51488-2-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-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: b3c2fa44-9c55-4a7c-25c7-08d98c93d198 x-ms-traffictypediagnostic: SA2PR11MB5162: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: l/J0YqvIrabbKUvSWHppnSYJR51Tt/1ESQKOlp/FW0zmnXEnrwQrvBunLhfujeBhZj+MRJIE9+V44mA2yjK6RtFhK9A4rh7T35m2Sqcbmh1HEnxwLt3Q8Ku+4BncZqFxmVXdU9yOjiwv+EW9XNtJ4U7gksag94PMMMwMu8MkgBUt6fPn6YrtB/UrkiTsukBXbaFiHVx15o3JyYyPoz++LxMMnyGYAxDttB0mj7OP0elhxjOzDnWwmcaKK9IPOby2M0CThzX31rkMklyuMuTDiJpy/gN1JvtfnGTsCqHkmfafYuCksohdWECWCsi0ysrgyYj6fBX+G3cizS5c/UpSmhmHPvASPDAcZLzy6CvHq8yc/BUw0YnPkPgtEvs4AmVepNEbImqawBlj6/MnNf0DuDW2xC6qz1uTXqFMbwKMVXIQvcQB3YSre3DYcoM+ptx40pEBxOt/pyJGbl7ajChAUqmRJtW1CerVXdkVAiqEqm8qyYQ5JUc5ixZucfWvly16wfI5zyjhdKuucCATVg4s2xrwP6gZfjoSKn3C00qPBK9Wkb4q8DsrX5xwCp+tjoDi41vAeBH9hNk/QbdXfJqfO0rHx6yBz8HsgHkyhh+WNhiQ+0f84IAgxPukUM5uo5ni4SwmZpcJVDesx/UmDZpbNSfUeeE/mTCJTKmJsC8ccPa3yGQtZFjEs+yz4H3qXBvrxt4/X+B7hq3Y53rMeP8jYu5HyeqL7MMyKy+CH2wKB0c= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN6PR11MB3504.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(186003)(508600001)(8676002)(83380400001)(8936002)(26005)(7416002)(6506007)(6636002)(316002)(5660300002)(52536014)(86362001)(66946007)(9686003)(110136005)(71200400001)(33656002)(55016002)(38070700005)(7696005)(2906002)(921005)(4326008)(38100700002)(122000001)(66446008)(66556008)(64756008)(76116006)(66476007)(53546011)(54906003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TGhFS29VM3h5MDBsTUlZRkhUQ0dGSXNLMjNzUEVKdGozSFdrMC9VTnVHL3dV?= =?utf-8?B?OTEvQytUU2dQenZScnJmNEczZkY0Wi9RVVRESm40ZTZQamFVZkdSL3ZkVUFV?= =?utf-8?B?OVpjdjRaa3BPYVBrYlNxSlBieG9NVlpVTGVEaEY3Q2NocEU3bVNuWVZZc3M3?= =?utf-8?B?WFdsV1VYODdrbHJSQnNja0tGWVZuQUlqWDlWeGFPSlRzeWc5UC90d2Z6Zm9r?= =?utf-8?B?RndoZTUzNnJVeDcrT3BWYlVHVTJEVldMQnowd0NJVHpNUExMWWtQbytxdmFR?= =?utf-8?B?aWNuU3B0SXRUQXZacm9mTG1qc0xoSEpGY0NiS0tLcm5NeWlQcThYdEJJMWVO?= =?utf-8?B?Q3hDOEtaa1dybWc1UVNsZ29CWlplZElteHVtNHNPdTlkSzF4bWd3bnNWNExh?= =?utf-8?B?dnVGZXIyczIxdk4zVVB1RS9wQmU2Mi9rS3FmNG9PUXRvcUQ3aEFxc05pdWs1?= =?utf-8?B?Y1IyTmJEQ0lNSHBYYUxZQzkzeDMrNWsvbG9LSnVCZ3N1TUVBb0FPeW04NFdC?= =?utf-8?B?dnlWZC9odGsyNkhYZVFjMzBqQlk4UEtNOVdKRW1reEp2YmZISWYrcGpVZWpK?= =?utf-8?B?aFk2aXh6ZUE4VW9tL0JydEN5c2wrU2cwQWZLeHl4azdleXJVc0VUUUo3QWF5?= =?utf-8?B?WU16LzgySUlJb01DVXd6WXpvTnhOWVpMVEJ4Z2c0d1NTcDZ5ajhRQmdrN3Jl?= =?utf-8?B?SXpLSldUZU9NdDFkRkRnTnVqNFNRMFFHN1hRVjVzUFFFYzNUYXFId1k0eThX?= =?utf-8?B?cnVjbVJmRHh5cE0xZHlqczNESWI0dTRjYUZtRUtrYUg2dWVzUFJibmE1QXlu?= =?utf-8?B?eGN0aFNEd1htOXVqeTNUMFdaaWxielNuQnN3QlR5RzU5Z0RXQlJvdWhaMUNy?= =?utf-8?B?T0R0c3RobmZaUVRKZyt6b2xHZXY0ME5STE5VMHBvVEhrNTdSaWJjaFY4VjNC?= =?utf-8?B?Y1B6VDNOYnp6YlFTYTROckVVMWhRVkJLNDVUeWpjaUlFNzVST2JVc1NPWG94?= =?utf-8?B?b1cvYXh0UWVXb3NEa2dLdGg4MWVnNnIrWlhBTmRPaXYydXAwc1liSXVPU0tn?= =?utf-8?B?WjhnT0FyS0ozMWYvRXpRRngyTkFjWGlvelpmOFlQTDN1anhiazg1Q3M4dGx3?= =?utf-8?B?bFVMZlNFdVdYZ0V3UUlibXNMMEdUbTVzQjd5WU9heFlZMzBhQk1UL0l2Zm42?= =?utf-8?B?RFdTRVYzWUFKSUJ2bU4xVEZ1a3Z4VVVLQ3k5MzFUVXJpWFFXUDVUZnNXUTBG?= =?utf-8?B?OGl0QnRrcXF4Y3VmY2tWYXYzbGplUHpvcXlzbkFVSjArS0c1OHZ0YmJqMCtt?= =?utf-8?B?NUVPWDJqaFpmV1VZd0lGdlFwM0lKOEVxVVhKM2lXc2cwcHY3ZlpPeWo5dit6?= =?utf-8?B?anhnS1FkS0o4SlFReVpRS2EweVRMSFBLOXJzWDVzYmwwNk5MTkRVTUpTQWF4?= =?utf-8?B?bjJNNTJXeEYvTlA4UkhGdThIczJSSzlpVXlxbFB3TlVvYlVvbGU5YW0xNzJV?= =?utf-8?B?dVB4dFl3WktxKzkyaEtoYVdPWElHUnU4TXlsdWpOSlRBdlpkR1UzK0hOV2FJ?= =?utf-8?B?b3hxNzJnTkJ1ZDZOV0syem0wSCtyQlFRRFBLbFFESE5SL0lGUVAybE5Udi9u?= =?utf-8?B?eEdwWGlEOW5hOGYwTlFCeTYvOUx3c0lhcnpiMXNBSE94anlHRk41dDJkejFX?= =?utf-8?B?U3dzZkNoMUh6Wm1VYVREZWV4RHo2SVlTUURsWU5zRFVBRDhhSjhXVVNja1hB?= =?utf-8?Q?IJyFORYUWga9L7Mxnk=3D?= 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: SN6PR11MB3504.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b3c2fa44-9c55-4a7c-25c7-08d98c93d198 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Oct 2021 08:47:55.3136 (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: d51Krib7DgD7kKXAu20cqb3tC6c9/9HNqpaXNWIPIGQ5JuObHdLhorxZob8vOzxcGmL6zgaHwfBdGb0WZ9Eb6Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR11MB5162 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v4 1/5] net/virtio: add initial RSS support 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 T2N0b2JlciA0LCAyMDIxIDEwOjMwIFBNDQo+IFRvOiBkZXZAZHBkay5vcmc7IFhpYSwgQ2hlbmJv IDxjaGVuYm8ueGlhQGludGVsLmNvbT47IGFtb3Jlbm96QHJlZGhhdC5jb207DQo+IGRhdmlkLm1h cmNoYW5kQHJlZGhhdC5jb207IGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1OyBZaWdpdCwg RmVycnVoDQo+IDxmZXJydWgueWlnaXRAaW50ZWwuY29tPjsgbWljaGFlbGJhQG52aWRpYS5jb207 IHZpYWNoZXNsYXZvQG52aWRpYS5jb207IExpLA0KPiBYaWFveXVuIDx4aWFveXVuLmxpQGludGVs LmNvbT4NCj4gQ2M6IG5lbGlvLmxhcmFuamVpcm9ANndpbmQuY29tOyB5dnVnZW5maUByZWRoYXQu Y29tOyB5YmVuZGl0b0ByZWRoYXQuY29tOw0KPiBNYXhpbWUgQ29xdWVsaW4gPG1heGltZS5jb3F1 ZWxpbkByZWRoYXQuY29tPg0KPiBTdWJqZWN0OiBbUEFUQ0ggdjQgMS81XSBuZXQvdmlydGlvOiBh ZGQgaW5pdGlhbCBSU1Mgc3VwcG9ydA0KPiANCj4gUHJvdmlkZSB0aGUgY2FwYWJpbGl0eSB0byB1 cGRhdGUgdGhlIGhhc2gga2V5LCBoYXNoIHR5cGVzDQo+IGFuZCBSRVRBIHRhYmxlIG9uIHRoZSBm bHkgKHdpdGhvdXQgbmVlZGluZyB0byBzdG9wL3N0YXJ0DQo+IHRoZSBkZXZpY2UpLiBIb3dldmVy LCB0aGUga2V5IGxlbmd0aCBhbmQgdGhlIG51bWJlciBvZiBSRVRBDQo+IGVudHJpZXMgYXJlIGZp eGVkIHRvIDQwQiBhbmQgMTI4IGVudHJpZXMgcmVzcGVjdGl2ZWx5LiBUaGlzDQo+IGlzIGRvbmUg aW4gb3JkZXIgdG8gc2ltcGxpZnkgdGhlIGRlc2lnbiwgYnV0IG1heSBiZQ0KPiByZXZpc2l0ZWQg bGF0ZXIgYXMgdGhlIFZpcnRpbyBzcGVjIHByb3ZpZGVzIHRoaXMNCj4gZmxleGliaWxpdHkuDQo+ IA0KPiBOb3RlIHRoYXQgb25seSBWSVJUSU9fTkVUX0ZfUlNTIHN1cHBvcnQgaXMgaW1wbGVtZW50 ZWQsDQo+IFZJUlRJT19ORVRfRl9IQVNIX1JFUE9SVCwgd2hpY2ggd291bGQgZW5hYmxlIHJlcG9y dGluZyB0aGUNCj4gcGFja2V0IFJTUyBoYXNoIGNhbGN1bGF0ZWQgYnkgdGhlIGRldmljZSBpbnRv IG1idWYucnNzLCBpcw0KPiBub3QgeWV0IHN1cHBvcnRlZC4NCj4gDQo+IFJlZ2FyZGluZyB0aGUg ZGVmYXVsdCBSU1MgY29uZmlndXJhdGlvbiwgaXQgaGFzIGJlZW4NCj4gY2hvc2VuIHRvIHVzZSB0 aGUgZGVmYXVsdCBJbnRlbCBpeGdiZSBrZXkgYXMgZGVmYXVsdCBrZXksDQo+IGFuZCBkZWZhdWx0 IFJFVEEgaXMgYSBzaW1wbGUgbW9kdWxvIGJldHdlZW4gdGhlIGhhc2ggYW5kDQo+IHRoZSBudW1i ZXIgb2YgUnggcXVldWVzLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogTWF4aW1lIENvcXVlbGluIDxt YXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbT4NCj4gLS0tDQoNClsuLi5dDQoNCj4gK3N0YXRpYyBp bnQNCj4gK3ZpcnRpb19kZXZfZ2V0X3Jzc19jb25maWcoc3RydWN0IHZpcnRpb19odyAqaHcsIHVp bnQzMl90ICpyc3NfaGFzaF90eXBlcykNCj4gK3sNCj4gKwlzdHJ1Y3QgdmlydGlvX25ldF9jb25m aWcgbG9jYWxfY29uZmlnOw0KPiArCXN0cnVjdCB2aXJ0aW9fbmV0X2NvbmZpZyAqY29uZmlnID0g JmxvY2FsX2NvbmZpZzsNCj4gKw0KPiArCXZpcnRpb19yZWFkX2Rldl9jb25maWcoaHcsDQo+ICsJ CQlvZmZzZXRvZihzdHJ1Y3QgdmlydGlvX25ldF9jb25maWcsIHJzc19tYXhfa2V5X3NpemUpLA0K PiArCQkJJmNvbmZpZy0+cnNzX21heF9rZXlfc2l6ZSwNCj4gKwkJCXNpemVvZihjb25maWctPnJz c19tYXhfa2V5X3NpemUpKTsNCj4gKwlpZiAoY29uZmlnLT5yc3NfbWF4X2tleV9zaXplIDwgVklS VElPX05FVF9SU1NfS0VZX1NJWkUpIHsNCj4gKwkJUE1EX0lOSVRfTE9HKEVSUiwgIkludmFsaWQg ZGV2aWNlIFJTUyBtYXgga2V5IHNpemUgKCV1KSIsDQo+ICsJCQkJY29uZmlnLT5yc3NfbWF4X2tl eV9zaXplKTsNCj4gKwkJcmV0dXJuIC1FSU5WQUw7DQo+ICsJfQ0KPiArDQo+ICsJdmlydGlvX3Jl YWRfZGV2X2NvbmZpZyhodywNCj4gKwkJCW9mZnNldG9mKHN0cnVjdCB2aXJ0aW9fbmV0X2NvbmZp ZywNCj4gKwkJCQlyc3NfbWF4X2luZGlyZWN0aW9uX3RhYmxlX2xlbmd0aCksDQo+ICsJCQkmY29u ZmlnLT5yc3NfbWF4X2luZGlyZWN0aW9uX3RhYmxlX2xlbmd0aCwNCj4gKwkJCXNpemVvZihjb25m aWctPnJzc19tYXhfaW5kaXJlY3Rpb25fdGFibGVfbGVuZ3RoKSk7DQo+ICsJaWYgKGNvbmZpZy0+ cnNzX21heF9pbmRpcmVjdGlvbl90YWJsZV9sZW5ndGggPCBWSVJUSU9fTkVUX1JTU19SRVRBX1NJ WkUpDQo+IHsNCj4gKwkJUE1EX0lOSVRfTE9HKEVSUiwgIkludmFsaWQgZGV2aWNlIFJTUyBtYXgg cmV0YSBzaXplICgldSkiLA0KPiArCQkJCWNvbmZpZy0+cnNzX21heF9pbmRpcmVjdGlvbl90YWJs ZV9sZW5ndGgpOw0KPiArCQlyZXR1cm4gLUVJTlZBTDsNCj4gKwl9DQo+ICsNCj4gKwl2aXJ0aW9f cmVhZF9kZXZfY29uZmlnKGh3LA0KPiArCQkJb2Zmc2V0b2Yoc3RydWN0IHZpcnRpb19uZXRfY29u ZmlnLCBzdXBwb3J0ZWRfaGFzaF90eXBlcyksDQo+ICsJCQkmY29uZmlnLT5zdXBwb3J0ZWRfaGFz aF90eXBlcywNCj4gKwkJCXNpemVvZihjb25maWctPnN1cHBvcnRlZF9oYXNoX3R5cGVzKSk7DQo+ ICsJaWYgKChjb25maWctPnN1cHBvcnRlZF9oYXNoX3R5cGVzICYgVklSVElPX05FVF9IQVNIX1RZ UEVfTUFTSykgPT0gMCkgew0KPiArCQlQTURfSU5JVF9MT0coRVJSLCAiSW52YWxpZCBkZXZpY2Ug UlNTIGhhc2ggdHlwZXMgKCV1KSIsDQoNCkJldHRlciB1c2UgMHgleCB0byBiZSBtb3JlIHVzZXIg ZnJpZW5kbHkNCg0KPiArCQkJCWNvbmZpZy0+c3VwcG9ydGVkX2hhc2hfdHlwZXMpOw0KPiArCQly ZXR1cm4gLUVJTlZBTDsNCj4gKwl9DQo+ICsNCj4gKwkqcnNzX2hhc2hfdHlwZXMgPSBjb25maWct PnN1cHBvcnRlZF9oYXNoX3R5cGVzICYNCj4gVklSVElPX05FVF9IQVNIX1RZUEVfTUFTSzsNCj4g Kw0KPiArCVBNRF9JTklUX0xPRyhERUJVRywgIkRldmljZSBSU1MgY29uZmlnOiIpOw0KPiArCVBN RF9JTklUX0xPRyhERUJVRywgIlx0LU1heCBrZXkgc2l6ZTogJXUiLCBjb25maWctPnJzc19tYXhf a2V5X3NpemUpOw0KPiArCVBNRF9JTklUX0xPRyhERUJVRywgIlx0LU1heCByZXRhIHNpemU6ICV1 IiwgY29uZmlnLQ0KPiA+cnNzX21heF9pbmRpcmVjdGlvbl90YWJsZV9sZW5ndGgpOw0KPiArCVBN RF9JTklUX0xPRyhERUJVRywgIlx0LVN1cHBvcnRlZCBoYXNoIHR5cGVzOiAweCV4IiwgKnJzc19o YXNoX3R5cGVzKTsNCj4gKw0KPiArCXJldHVybiAwOw0KPiArfQ0KPiArDQo+ICtzdGF0aWMgaW50 DQo+ICt2aXJ0aW9fZGV2X3Jzc19oYXNoX3VwZGF0ZShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwN Cj4gKwkJc3RydWN0IHJ0ZV9ldGhfcnNzX2NvbmYgKnJzc19jb25mKQ0KPiArew0KPiArCXN0cnVj dCB2aXJ0aW9faHcgKmh3ID0gZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZTsNCj4gKwl1aW50MTZfdCBu Yl9xdWV1ZXM7DQo+ICsNCj4gKwlpZiAoIXZpcnRpb193aXRoX2ZlYXR1cmUoaHcsIFZJUlRJT19O RVRfRl9SU1MpKQ0KPiArCQlyZXR1cm4gLUVOT1RTVVA7DQo+ICsNCj4gKwlpZiAocnNzX2NvbmYt PnJzc19oZiAmDQo+IH52aXJ0aW9fdG9fZXRoZGV2X3Jzc19vZmZsb2FkcyhWSVJUSU9fTkVUX0hB U0hfVFlQRV9NQVNLKSkNCj4gKwkJcmV0dXJuIC1FSU5WQUw7DQo+ICsNCj4gKwlody0+cnNzX2hh c2hfdHlwZXMgPSBldGhkZXZfdG9fdmlydGlvX3Jzc19vZmZsb2Fkcyhyc3NfY29uZi0+cnNzX2hm KTsNCj4gKw0KPiArCWlmIChyc3NfY29uZi0+cnNzX2tleSAmJiByc3NfY29uZi0+cnNzX2tleV9s ZW4pIHsNCj4gKwkJaWYgKHJzc19jb25mLT5yc3Nfa2V5X2xlbiAhPSBWSVJUSU9fTkVUX1JTU19L RVlfU0laRSkgew0KPiArCQkJUE1EX0lOSVRfTE9HKEVSUiwgIkRyaXZlciBvbmx5IHN1cHBvcnRz ICV1IFJTUyBrZXkgbGVuZ3RoIiwNCj4gKwkJCQkJVklSVElPX05FVF9SU1NfS0VZX1NJWkUpOw0K PiArCQkJcmV0dXJuIC1FSU5WQUw7DQo+ICsJCX0NCj4gKwkJbWVtY3B5KGh3LT5yc3Nfa2V5LCBy c3NfY29uZi0+cnNzX2tleSwgVklSVElPX05FVF9SU1NfS0VZX1NJWkUpOw0KPiArCX0NCj4gKw0K PiArCW5iX3F1ZXVlcyA9IFJURV9NQVgoZGV2LT5kYXRhLT5uYl9yeF9xdWV1ZXMsIGRldi0+ZGF0 YS0+bmJfdHhfcXVldWVzKTsNCj4gKwlyZXR1cm4gdmlydGlvX3NldF9tdWx0aXBsZV9xdWV1ZXNf cnNzKGRldiwgbmJfcXVldWVzKTsNCj4gK30NCj4gKw0KPiArc3RhdGljIGludA0KPiArdmlydGlv X2Rldl9yc3NfaGFzaF9jb25mX2dldChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCj4gKwkJc3Ry dWN0IHJ0ZV9ldGhfcnNzX2NvbmYgKnJzc19jb25mKQ0KPiArew0KPiArCXN0cnVjdCB2aXJ0aW9f aHcgKmh3ID0gZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZTsNCj4gKw0KPiArCWlmICghdmlydGlvX3dp dGhfZmVhdHVyZShodywgVklSVElPX05FVF9GX1JTUykpDQo+ICsJCXJldHVybiAtRU5PVFNVUDsN Cj4gKw0KPiArCWlmIChyc3NfY29uZi0+cnNzX2tleSAmJiByc3NfY29uZi0+cnNzX2tleV9sZW4g Pj0NCj4gVklSVElPX05FVF9SU1NfS0VZX1NJWkUpDQo+ICsJCW1lbWNweShyc3NfY29uZi0+cnNz X2tleSwgaHctPnJzc19rZXksIFZJUlRJT19ORVRfUlNTX0tFWV9TSVpFKTsNCj4gKwlyc3NfY29u Zi0+cnNzX2tleV9sZW4gPSBWSVJUSU9fTkVUX1JTU19LRVlfU0laRTsNCj4gKwlyc3NfY29uZi0+ cnNzX2hmID0gdmlydGlvX3RvX2V0aGRldl9yc3Nfb2ZmbG9hZHMoaHctPnJzc19oYXNoX3R5cGVz KTsNCj4gKw0KPiArCXJldHVybiAwOw0KPiArfQ0KPiArDQo+ICtzdGF0aWMgaW50IHZpcnRpb19k ZXZfcnNzX3JldGFfdXBkYXRlKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LA0KPiArCQkJIHN0cnVj dCBydGVfZXRoX3Jzc19yZXRhX2VudHJ5NjQgKnJldGFfY29uZiwNCj4gKwkJCSB1aW50MTZfdCBy ZXRhX3NpemUpDQo+ICt7DQo+ICsJc3RydWN0IHZpcnRpb19odyAqaHcgPSBkZXYtPmRhdGEtPmRl dl9wcml2YXRlOw0KPiArCXVpbnQxNl90IG5iX3F1ZXVlczsNCj4gKwlpbnQgaWR4LCBwb3MsIGk7 DQo+ICsNCj4gKwlpZiAoIXZpcnRpb193aXRoX2ZlYXR1cmUoaHcsIFZJUlRJT19ORVRfRl9SU1Mp KQ0KPiArCQlyZXR1cm4gLUVOT1RTVVA7DQo+ICsNCj4gKwlpZiAocmV0YV9zaXplICE9IFZJUlRJ T19ORVRfUlNTX1JFVEFfU0laRSkNCj4gKwkJcmV0dXJuIC1FSU5WQUw7DQo+ICsNCj4gKwlmb3Ig KGlkeCA9IDAsIGkgPSAwOyBpIDwgcmV0YV9zaXplOyBpKyspIHsNCg0KaWR4IGlzIGNhbGN1bGF0 ZWQgZXZlcnkgdGltZS4gTm8gbmVlZCB0byBkbyAnaWR4ID0gMCcuDQoNCj4gKwkJaWR4ID0gaSAv IFJURV9SRVRBX0dST1VQX1NJWkU7DQo+ICsJCXBvcyA9IGkgJSBSVEVfUkVUQV9HUk9VUF9TSVpF Ow0KPiArDQo+ICsJCWlmICgoKHJldGFfY29uZltpZHhdLm1hc2sgPj4gcG9zKSAmIDB4MSkgPT0g MCkNCj4gKwkJCWNvbnRpbnVlOw0KPiArDQo+ICsJCWh3LT5yc3NfcmV0YVtpXSA9IHJldGFfY29u ZltpZHhdLnJldGFbcG9zXTsNCj4gKwl9DQo+ICsNCj4gKwluYl9xdWV1ZXMgPSBSVEVfTUFYKGRl di0+ZGF0YS0+bmJfcnhfcXVldWVzLCBkZXYtPmRhdGEtPm5iX3R4X3F1ZXVlcyk7DQo+ICsJcmV0 dXJuIHZpcnRpb19zZXRfbXVsdGlwbGVfcXVldWVzX3JzcyhkZXYsIG5iX3F1ZXVlcyk7DQo+ICt9 DQo+ICsNCj4gK3N0YXRpYyBpbnQgdmlydGlvX2Rldl9yc3NfcmV0YV9xdWVyeShzdHJ1Y3QgcnRl X2V0aF9kZXYgKmRldiwNCj4gKwkJCSBzdHJ1Y3QgcnRlX2V0aF9yc3NfcmV0YV9lbnRyeTY0ICpy ZXRhX2NvbmYsDQo+ICsJCQkgdWludDE2X3QgcmV0YV9zaXplKQ0KPiArew0KPiArCXN0cnVjdCB2 aXJ0aW9faHcgKmh3ID0gZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZTsNCj4gKwlpbnQgaWR4LCBpOw0K PiArDQo+ICsJaWYgKCF2aXJ0aW9fd2l0aF9mZWF0dXJlKGh3LCBWSVJUSU9fTkVUX0ZfUlNTKSkN Cj4gKwkJcmV0dXJuIC1FTk9UU1VQOw0KPiArDQo+ICsJaWYgKHJldGFfc2l6ZSAhPSBWSVJUSU9f TkVUX1JTU19SRVRBX1NJWkUpDQo+ICsJCXJldHVybiAtRUlOVkFMOw0KPiArDQo+ICsJZm9yIChp ZHggPSAwLCBpID0gMDsgaSA8IHJldGFfc2l6ZTsgaSsrKSB7DQoNCkRpdHRvDQoNCj4gKwkJaWR4 ID0gaSAvIFJURV9SRVRBX0dST1VQX1NJWkU7DQo+ICsJCXJldGFfY29uZltpZHhdLnJldGFbaSAl IFJURV9SRVRBX0dST1VQX1NJWkVdID0gaHctPnJzc19yZXRhW2ldOw0KPiArCX0NCj4gKw0KPiAr CXJldHVybiAwOw0KPiArfQ0KPiArDQo+ICsvKg0KDQpbLi4uXQ0KDQo+ICsvKioNCj4gKyAqIFJT UyBjb250cm9sDQo+ICsgKg0KPiArICogVGhlIFJTUyBmZWF0dXJlIDx0b2RvPg0KPiArICovDQo+ ICsjZGVmaW5lIFZJUlRJT19ORVRfUlNTX1JFVEFfU0laRSAxMjgNCj4gKyNkZWZpbmUgVklSVElP X05FVF9SU1NfS0VZX1NJWkUgICAgICAgNDANCg0KRm9yZ290IHRvIGFsaWduIHRoZSBudW1iZXJz PyA6KQ0KDQpUaGFua3MsDQpDaGVuYm8NCg0KPiArDQo+ICtzdHJ1Y3QgdmlydGlvX25ldF9jdHJs X3JzcyB7DQo+ICsJdWludDMyX3QgaGFzaF90eXBlczsNCj4gKwl1aW50MTZfdCBpbmRpcmVjdGlv bl90YWJsZV9tYXNrOw0KPiArCXVpbnQxNl90IHVuY2xhc3NpZmllZF9xdWV1ZTsNCj4gKwl1aW50 MTZfdCBpbmRpcmVjdGlvbl90YWJsZVtWSVJUSU9fTkVUX1JTU19SRVRBX1NJWkVdOw0KPiArCXVp bnQxNl90IG1heF90eF92cTsNCj4gKwl1aW50OF90IGhhc2hfa2V5X2xlbmd0aDsNCj4gKwl1aW50 OF90IGhhc2hfa2V5X2RhdGFbVklSVElPX05FVF9SU1NfS0VZX1NJWkVdOw0KPiArfTsNCj4gKw0K PiAgLyoNCj4gICAqIENvbnRyb2wgbGluayBhbm5vdW5jZSBhY2tub3dsZWRnZW1lbnQNCj4gICAq DQo+IEBAIC0yOTIsNyArMzEwLDEwIEBAIHN0cnVjdCB2aXJ0cXVldWUgew0KPiANCj4gIC8qIElm IG11bHRpcXVldWUgaXMgcHJvdmlkZWQgYnkgaG9zdCwgdGhlbiB3ZSBzdXBwcG9ydCBpdC4gKi8N Cj4gICNkZWZpbmUgVklSVElPX05FVF9DVFJMX01RICAgNA0KPiArDQo+ICAjZGVmaW5lIFZJUlRJ T19ORVRfQ1RSTF9NUV9WUV9QQUlSU19TRVQgICAgICAgIDANCj4gKyNkZWZpbmUgVklSVElPX05F VF9DVFJMX01RX1JTU19DT05GSUcgICAgICAgICAgMQ0KPiArDQo+ICAjZGVmaW5lIFZJUlRJT19O RVRfQ1RSTF9NUV9WUV9QQUlSU19NSU4gICAgICAgIDENCj4gICNkZWZpbmUgVklSVElPX05FVF9D VFJMX01RX1ZRX1BBSVJTX01BWCAgICAgICAgMHg4MDAwDQo+IA0KPiAtLQ0KPiAyLjMxLjENCg0K