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 C40D3A0C41; Wed, 15 Sep 2021 10:45:21 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B29B74003F; Wed, 15 Sep 2021 10:45:21 +0200 (CEST) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mails.dpdk.org (Postfix) with ESMTP id 141404003C for ; Wed, 15 Sep 2021 10:45:19 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10107"; a="221924123" X-IronPort-AV: E=Sophos;i="5.85,294,1624345200"; d="scan'208";a="221924123" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Sep 2021 01:45:18 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,294,1624345200"; d="scan'208";a="544749048" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by FMSMGA003.fm.intel.com with ESMTP; 15 Sep 2021 01:45:18 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Wed, 15 Sep 2021 01:45:18 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Wed, 15 Sep 2021 01:45:18 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.168) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Wed, 15 Sep 2021 01:45:17 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CCI7zDKJ689TY6TssUdIv9McXuQgyu0r9Lpfiio7zKpesH4GwWGKSRAzIyLFblDosioQPBAkGuPpPyZ92zYUkgLgTmtdbo2d6sRf2RolIqK/2S3ZeHqcScuy8I6Fa2BKDGr4bok35aD6zi+1JfW8LqEu70Ay/LQnwuTa5JAv1V35vc4sCYxwLP7oo4g8bXqd0tyLqlT+McHoiE2nkKol9+PZ2jcudQzrTuE1rmOVuAtR9aMB725LXNjr0VMPQyShslw2j4JOL6PZx168wVCjKdrcFR2ipgcqI+UKGFmMmW0KmSBgF+lE5lFaFHtpMZ5PLPlAn0KsSqd01XqrZGh8KA== 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; bh=S4Ld05+gP3IgSi2haHdWddrafvMLhCmghsu64NU/qi8=; b=eal+4vaNpL3RPgCHNpbgzybSdLVIHOehfAYKyy/a/lqZhnqpNgutyfk7SYhJ5/GD67+Nst1w66JB7D3FsQIKjAGEty3KS5+YJ1cscwW0UQrhLMrHIrcpxJ6sOW1hkTSivfxGxcAuPAUsdPxPxX5Zi9wa92Lp+XnnosFW/1u4RbPVejiNmZK39hHsP7y8iH3ehxLO+4l2KHW2ANR43OJWj86NA2CWXLOxX3XcZRApoG/KVjzA0FQEnXBRP5afPlXdHvHwer/AYgZnCNlli+730JYI1i6pz/E9kvdZ1kqtROjyQ+h4eFzyiyrsr//aBnp3zmpUeFAvRhsKSTGW+akBfQ== 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=S4Ld05+gP3IgSi2haHdWddrafvMLhCmghsu64NU/qi8=; b=sfK0EJHessRA4dnUE4boJdTw+nNyyEc/r8K6Ne8AUv1wBlQDOm46QIVVoSXS7YjDaVzab1dTmrC6BL+WIkSxkxX9TIUjkZN8q7G2SIcZhrThOPawMKAF3o1FUSoTsGZQtNJ5Ah07QOOszLC4cIXuzhvQfP3y9zTf/B0El5UPEj8= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB4645.namprd11.prod.outlook.com (2603:10b6:208:269::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4523.14; Wed, 15 Sep 2021 08:45:16 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::6873:dced:7f68:801]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::6873:dced:7f68:801%3]) with mapi id 15.20.4523.014; Wed, 15 Sep 2021 08:45:16 +0000 From: "Xia, Chenbo" To: "Li, Miao" , "dev@dpdk.org" CC: "maxime.coquelin@redhat.com" Thread-Topic: [PATCH 1/5] net/virtio: implement rte_power_monitor API Thread-Index: AQHXpgFBovfAAIzoR0+eiaF5Y1HWP6ukyb8Q Date: Wed, 15 Sep 2021 08:45:16 +0000 Message-ID: References: <20210910130548.127017-1-miao.li@intel.com> <20210910130548.127017-2-miao.li@intel.com> In-Reply-To: <20210910130548.127017-2-miao.li@intel.com> Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 4378bcf2-a8f6-4297-8fde-08d978252418 x-ms-traffictypediagnostic: MN2PR11MB4645: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2150; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 34TdTirc0NzcsQoz5jvGOdLhP8HkLCED/3sTd0oFKuV9KvvNJltJDavg9p6psnOprL1RlioUC+GHYTQdJAzNB1HglYqR5uAFiWdyZryKJjonjCZAq/BbWV5DuT6CxLv8V5lnyzuuUiZ4b0w7WzHzxQwq6G9vaTdEPEAa5K56NHSXPG4Eez+/NpcUbh5RWwDan3326FWesJT6Cwv1nxE0T4OTQ8+SdmWTrRSZ2Rfi6Cl9HQ/dQRiGEaxITQHB9S1g/zx078BCdENzrJ2ge3qXEul8P6up/7bF5GXWFom62Y8UZ9lJuyO/x+emz9xVOAh5YI7lRBChzD8xfD8t4XHsBd3YD1VUiXY4J1acg3ztlRGepDXp1jx/QU2A2AV3YEw1KjK/9IRAB1j/CA9qT5AFNCpGBu73sfSuEosZwI+pxT7simvvpxPmL5zMPofz2jVBqXYIHaQvXTvPFb2sHBrbfj793LinnM/r/pSCc4usu9FB4fsQZZUrphr6m9zY1x89xp679i7jbl0wViJdg0d8ynkGMXHn9vNHXrpd0RcvSj+EiPxLVB+UeEqueSpsgzaQLMQVrFhN9QMU57MrpoLRaYFpNA/hgrL4f2bl1dsd0X6COHNizGpx60rIpl5FmMbmXskiKN4EqY+3+pzDPIxyPqEJBZ6LqUfxb4sIWc0Ex8MP51C+3xX+5k2YewOXQIWjQTMd49j0Sa7WzSSFZD4eXQ== 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)(110136005)(7696005)(33656002)(508600001)(83380400001)(4326008)(53546011)(71200400001)(5660300002)(122000001)(66446008)(38070700005)(52536014)(6506007)(8676002)(66476007)(186003)(64756008)(66946007)(66556008)(26005)(38100700002)(9686003)(86362001)(2906002)(8936002)(316002)(76116006)(55016002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?OEhxSE9ZWHA3b0xPeFdJSXR1RVNFUC9tSHk1L1AvMlk0Nk9WQk1kT20vSElZ?= =?utf-8?B?cjJ5WXQ2S1FuS1pLR2UxaWlFdTk2SDI1aE5neEVkcFZPM2x5NG8wSlNpdGlT?= =?utf-8?B?N1VkY2E3RDlyVGxucTJ1YWxkTlN3a1JvaFZmK1VlU0dlUVcwTEdoMERlZ3N4?= =?utf-8?B?S1JIVnVKWmZaMDhpMWdKQ3ZPVlBvWW9jVG1xeVlMeCsrc0xhcXR5cXE1TzdC?= =?utf-8?B?KzFvZG5nRU40NGlXV3hIVEViZEpKSUIxblk2MU0wMGJ2K1ZJamszYWFVNU5E?= =?utf-8?B?R3o2OE44VDZYKzFaUDJEbDluMHlodDE1dzZRQWRLalJFK2J0UHRYcldxZ1Z4?= =?utf-8?B?TU9XTkdZc3k2NlJrQ0x0V1ordUw2WENYbFE4OUdnV2V0QUN0NzI3R1M1L1Z6?= =?utf-8?B?Q3dWbjZBczJLK1hwVEFGNnlTM1NaOXdsZndFbEh4Yk96cS8vSlp4VVVjTjJY?= =?utf-8?B?OFVDS0VMUUZBQ0gwem5ibXNsMlkvczk1MkdWRURtbk5wOVRqRktSL01sb3di?= =?utf-8?B?MSt5WGlmSXU2RmRRTk1QTDRrK3RNcStuNSswNUc5Wjl0bTQ1YkdiVWdXdWky?= =?utf-8?B?V3ZwRVB0KzFjU1EzOVlHTTRDM2YyRTluWUQ2N000cUYxYmdtK29xK3JRaXU1?= =?utf-8?B?QXdVUElHcVhINVkwYXg5TjFET3U5SnJTNGpIMkQraTh6cCtmU2hFeHVkdkNX?= =?utf-8?B?UzVWcGl2TGlJNlNUaEYxM1ZSczFoRUJMNDlNcVVoeWRHd1AwUTBXdjRnUEZD?= =?utf-8?B?SEtTNjJ1ZS9kZWtKQ1o4SDErWUxQZmJwRFdZUHNSQk50QWt6OCs4cnZNRGFP?= =?utf-8?B?WGw4M3MvczFHcE1sWlMyc2RxczZ3aExBeHVjV1F5bE9kSUhNVW1yZE13YjZT?= =?utf-8?B?YlRxNE50UHlIaTZaTWt0QjJtSFJYWjQ3bzM5YlBKUDVzTjBvZThzeWw5cE1q?= =?utf-8?B?akhya2JlMmcra1MycUlOcU9oLzBWWFNiYWVkb0U1b3BCajhINERRbUwxeStN?= =?utf-8?B?eWVQY1VXekQvYUVqbVU5NC9NemlSWVBaZS9rdUdKeVdFQUpodFJtSjYyRVRV?= =?utf-8?B?ME80TGQxM283WGVPVWViMGs4SUlPR3VNM3hXWnJ5aWcxc0ZET3graUY4aDZq?= =?utf-8?B?d3o1T0JqT2ppQklyeXdncEFmRVdhQ3BneG0zTTFOZ2pYaWJFaGlJQlRFUFhx?= =?utf-8?B?Q2RQUVgza1I0aTVYZ0tZNkt6YlZpYkFqazV4dVRDWmdTVEtiWEZyVzVMcENI?= =?utf-8?B?RzFnSzBiOW4rbUZKY0RQQ0FVS21wZWJVVzl5cnhuaWpTL2xzdEtqODVuRXhP?= =?utf-8?B?ZEV4WjJWc1ArMlVsMmJnVGhZbUpOZHRrcjJ0c1BRSkxVd3lPZ0puZHowMyty?= =?utf-8?B?WDlNVkhNdit1STlkclRmTi9Id0QzWG9XdTRsSlRhRnZGbHYvQk50Nk05a3JX?= =?utf-8?B?dVN0VU4ydDRBMTNPVkRxaFd1WUJ6VzNjVHFHQ2VZbnRxQkpNYUxUUDgvcW1h?= =?utf-8?B?LzFSNzFrVVhsQWRyeHJMRFZ2d1Yyb3Q2eEpIYTFSeEJiR2R6ZTV5eTV5aXhm?= =?utf-8?B?WXU1UVlVeWN3Sm1maUZFclJCWnJ3NWVqVXJMZGJsaTNpWU5CTHNHZDZKMVNF?= =?utf-8?B?UVpONHUzQ0RhZkcwR0diVG9qeGFNQWRESTNiYmVtUGZnVkoxbFFOWDFKei8x?= =?utf-8?B?dXVvVVpKeWFVSTd1OEJkcU1Td0xJRjlTWWhTUStlY0tpV3B5MmJwKzZrLzlL?= =?utf-8?Q?Sk3RTjhGwYAT//rQ8IEuYIzB6VrIffSOLdzruyV?= 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: 4378bcf2-a8f6-4297-8fde-08d978252418 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Sep 2021 08:45:16.3508 (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: jc02zlWsZZ1X8iMFJXNMCJzafr823gy3mlSNLmp1TMH/ZmKqFOrACxqjdEv6QB2a5UWRlHkNef6NVvE983dCVQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4645 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH 1/5] net/virtio: implement rte_power_monitor API 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" SGkgTWlhbywNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBMaSwgTWlh byA8bWlhby5saUBpbnRlbC5jb20+DQo+IFNlbnQ6IEZyaWRheSwgU2VwdGVtYmVyIDEwLCAyMDIx IDk6MDYgUE0NCj4gVG86IGRldkBkcGRrLm9yZw0KPiBDYzogWGlhLCBDaGVuYm8gPGNoZW5iby54 aWFAaW50ZWwuY29tPjsgbWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb207IExpLCBNaWFvDQo+IDxt aWFvLmxpQGludGVsLmNvbT4NCj4gU3ViamVjdDogW1BBVENIIDEvNV0gbmV0L3ZpcnRpbzogaW1w bGVtZW50IHJ0ZV9wb3dlcl9tb25pdG9yIEFQSQ0KPiANCj4gVGhpcyBwYXRjaCBpbXBsZW1lbnRz IHJ0ZV9wb3dlcl9tb25pdG9yIEFQSSBpbiB2aXJ0aW8gUE1EIHRvIHJlZHVjZQ0KPiBwb3dlciBj b25zdW1wdGlvbiB3aGVuIG5vIHBhY2tldCBjb21lIGluLiBBY2NvcmRpbmcgdG8gY3VycmVudCBz ZW1hbnRpY3MNCj4gb2YgcG93ZXIgbW9uaXRvciwgdGhpcyBjb21taXQgYWRkcyBhIGNhbGxiYWNr IGZ1bmN0aW9uIHRvIGRlY2lkZSB3aGV0aGVyDQo+IGFib3J0cyB0aGUgc2xlZXAgYnkgY2hlY2tp bmcgY3VycmVudCB2YWx1ZSBhZ2FpbnN0IHRoZSBleHBlY3RlZCB2YWx1ZSBhbmQNCj4gdmlydGlv X2dldF9tb25pdG9yX2FkZHIgdG8gcHJvdmlkZSBhZGRyZXNzIHRvIG1vbml0b3IuIFdoZW4gbm8g cGFja2V0IGNvbWUNCj4gaW4sIHRoZSB2YWx1ZSBvZiBhZGRyZXNzIHdpbGwgbm90IGJlIGNoYW5n ZWQgYW5kIHRoZSBydW5uaW5nIGNvcmUgd2lsbA0KPiBzbGVlcC4gT25jZSBwYWNrZXRzIGFycml2 ZSwgdGhlIHZhbHVlIG9mIGFkZHJlc3Mgd2lsbCBiZSBjaGFuZ2VkIGFuZCB0aGUNCj4gcnVubmlu ZyBjb3JlIHdpbGwgd2FrZXVwLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogTWlhbyBMaSA8bWlhby5s aUBpbnRlbC5jb20+DQo+IC0tLQ0KPiAgZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb19ldGhkZXYu YyB8IDU3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiAgMSBmaWxlIGNoYW5nZWQs IDU3IGluc2VydGlvbnMoKykNCj4gDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC92aXJ0aW8v dmlydGlvX2V0aGRldi5jDQo+IGIvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb19ldGhkZXYuYw0K PiBpbmRleCBlNTgwODVhMmM5Li40Y2U0OTkzNmY1IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25l dC92aXJ0aW8vdmlydGlvX2V0aGRldi5jDQo+ICsrKyBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0 aW9fZXRoZGV2LmMNCj4gQEAgLTczLDYgKzczLDggQEAgc3RhdGljIGludCB2aXJ0aW9fbWFjX2Fk ZHJfc2V0KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LA0KPiAgCQkJCXN0cnVjdCBydGVfZXRoZXJf YWRkciAqbWFjX2FkZHIpOw0KPiANCj4gIHN0YXRpYyBpbnQgdmlydGlvX2ludHJfZGlzYWJsZShz dHJ1Y3QgcnRlX2V0aF9kZXYgKmRldik7DQo+ICtzdGF0aWMgaW50IHZpcnRpb19nZXRfbW9uaXRv cl9hZGRyKHZvaWQgKnJ4X3F1ZXVlLA0KPiArCQkJCXN0cnVjdCBydGVfcG93ZXJfbW9uaXRvcl9j b25kICpwbWMpOw0KPiANCj4gIHN0YXRpYyBpbnQgdmlydGlvX2Rldl9xdWV1ZV9zdGF0c19tYXBw aW5nX3NldCgNCj4gIAlzdHJ1Y3QgcnRlX2V0aF9kZXYgKmV0aF9kZXYsDQo+IEBAIC05NzUsNiAr OTc3LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBldGhfZGV2X29wcyB2aXJ0aW9fZXRoX2Rldl9v cHMgPSB7DQo+ICAJLm1hY19hZGRyX2FkZCAgICAgICAgICAgID0gdmlydGlvX21hY19hZGRyX2Fk ZCwNCj4gIAkubWFjX2FkZHJfcmVtb3ZlICAgICAgICAgPSB2aXJ0aW9fbWFjX2FkZHJfcmVtb3Zl LA0KPiAgCS5tYWNfYWRkcl9zZXQgICAgICAgICAgICA9IHZpcnRpb19tYWNfYWRkcl9zZXQsDQo+ ICsJLmdldF9tb25pdG9yX2FkZHIgICAgICAgID0gdmlydGlvX2dldF9tb25pdG9yX2FkZHIsDQo+ ICB9Ow0KPiANCj4gIC8qDQo+IEBAIC0xMzA2LDYgKzEzMDksNjAgQEAgdmlydGlvX21hY19hZGRy X3NldChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwgc3RydWN0DQo+IHJ0ZV9ldGhlcl9hZGRyICpt YWNfYWRkcikNCj4gIAlyZXR1cm4gMDsNCj4gIH0NCj4gDQo+ICsjZGVmaW5lIENMQl9WQUxfSURY IDANCj4gKyNkZWZpbmUgQ0xCX01TS19JRFggMQ0KPiArc3RhdGljIGludA0KPiArdmlydGlvX3Bh Y2tlZF9tb25pdG9yX2NhbGxiYWNrKGNvbnN0IHVpbnQ2NF90IHZhbHVlLA0KPiArCQljb25zdCB1 aW50NjRfdCBvcGFxdWVbUlRFX1BPV0VSX01PTklUT1JfT1BBUVVFX1NaXSkNCj4gK3sNCj4gKwlj b25zdCB1aW50NjRfdCBtID0gb3BhcXVlW0NMQl9NU0tfSURYXTsNCj4gKwljb25zdCB1aW50NjRf dCB2ID0gb3BhcXVlW0NMQl9WQUxfSURYXTsNCj4gKw0KPiArCXJldHVybiAodmFsdWUgJiBtKSA9 PSB2ID8gLTEgOiAwOw0KPiArfQ0KPiArDQo+ICtzdGF0aWMgaW50DQo+ICt2aXJ0aW9fc3BsaXRf bW9uaXRvcl9jYWxsYmFjayhjb25zdCB1aW50NjRfdCB2YWx1ZSwNCj4gKwkJY29uc3QgdWludDY0 X3Qgb3BhcXVlW1JURV9QT1dFUl9NT05JVE9SX09QQVFVRV9TWl0pDQo+ICt7DQo+ICsJY29uc3Qg dWludDY0X3QgbSA9IG9wYXF1ZVtDTEJfTVNLX0lEWF07DQo+ICsJY29uc3QgdWludDY0X3QgdiA9 IG9wYXF1ZVtDTEJfVkFMX0lEWF07DQo+ICsNCj4gKwlyZXR1cm4gKHZhbHVlICYgbSkgPT0gdiA/ IDAgOiAtMTsNCj4gK30NCj4gKw0KPiArc3RhdGljIGludA0KPiArdmlydGlvX2dldF9tb25pdG9y X2FkZHIodm9pZCAqcnhfcXVldWUsIHN0cnVjdCBydGVfcG93ZXJfbW9uaXRvcl9jb25kICpwbWMp DQo+ICt7DQo+ICsJc3RydWN0IHZpcnRuZXRfcnggKnJ4dnEgPSByeF9xdWV1ZTsNCj4gKwlzdHJ1 Y3QgdmlydHF1ZXVlICp2cSA9IHZpcnRuZXRfcnhxX3RvX3ZxKHJ4dnEpOw0KPiArCXN0cnVjdCB2 aXJ0aW9faHcgKmh3ID0gdnEtPmh3Ow0KPiArCWlmICh2cSA9PSBOVUxMKQ0KPiArCQlyZXR1cm4g LUVJTlZBTDsNCj4gKwlpZiAodmlydGlvX3dpdGhfcGFja2VkX3F1ZXVlKGh3KSkgew0KPiArCQlz dHJ1Y3QgdnJpbmdfcGFja2VkX2Rlc2MgKmRlc2M7DQo+ICsJCWRlc2MgPSB2cS0+dnFfcGFja2Vk LnJpbmcuZGVzYzsNCj4gKwkJcG1jLT5hZGRyID0gJmRlc2NbdnEtPnZxX3VzZWRfY29uc19pZHhd LmZsYWdzOw0KPiArCQlpZiAodnEtPnZxX3BhY2tlZC51c2VkX3dyYXBfY291bnRlcikNCj4gKwkJ CXBtYy0+b3BhcXVlW0NMQl9WQUxfSURYXSA9DQo+ICsJCQkJCQlWUklOR19QQUNLRURfREVTQ19G X0FWQUlMX1VTRUQ7DQo+ICsJCWVsc2UNCj4gKwkJCXBtYy0+b3BhcXVlW0NMQl9WQUxfSURYXSA9 IDA7DQo+ICsJCXBtYy0+b3BhcXVlW0NMQl9NU0tfSURYXSA9IFZSSU5HX1BBQ0tFRF9ERVNDX0Zf QVZBSUxfVVNFRDsNCj4gKwkJcG1jLT5mbiA9IHZpcnRpb19wYWNrZWRfbW9uaXRvcl9jYWxsYmFj azsNCj4gKwkJcG1jLT5zaXplID0gc2l6ZW9mKHVpbnQxNl90KTsNCg0KSSBzdWdnZXN0IHRvIHVz ZSBzaXplb2YoZGVzY1t2cS0+dnFfdXNlZF9jb25zX2lkeF0uZmxhZ3MpIG9yIHNpemVvZihkZXNj LT5mbGFncykNCmluIGNhc2UgdGhlIGZsYWcgdHlwZSBjaGFuZ2VzLg0KDQo+ICsJfSBlbHNlIHsN Cj4gKwkJcG1jLT5hZGRyID0gJnZxLT52cV9zcGxpdC5yaW5nLnVzZWQtPmlkeDsNCj4gKwkJcG1j LT5vcGFxdWVbQ0xCX1ZBTF9JRFhdID0gdnEtPnZxX3VzZWRfY29uc19pZHgNCj4gKwkJCQkJJiAo dnEtPnZxX25lbnRyaWVzIC0gMSk7DQo+ICsJCXBtYy0+b3BhcXVlW0NMQl9NU0tfSURYXSA9IHZx LT52cV9uZW50cmllcyAtIDE7DQo+ICsJCXBtYy0+Zm4gPSB2aXJ0aW9fc3BsaXRfbW9uaXRvcl9j YWxsYmFjazsNCj4gKwkJcG1jLT5zaXplID0gc2l6ZW9mKHVpbnQxNl90KTsNCg0KU2FtZSBoZXJl Lg0KDQpUaGFua3MsDQpDaGVuYm8NCg0KPiArCX0NCj4gKw0KPiArCXJldHVybiAwOw0KPiArfQ0K PiArDQo+ICBzdGF0aWMgaW50DQo+ICB2aXJ0aW9fdmxhbl9maWx0ZXJfc2V0KHN0cnVjdCBydGVf ZXRoX2RldiAqZGV2LCB1aW50MTZfdCB2bGFuX2lkLCBpbnQgb24pDQo+ICB7DQo+IC0tDQo+IDIu MjUuMQ0KDQo=