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 6779742B8C; Wed, 24 May 2023 14:34:36 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id F0003406BC; Wed, 24 May 2023 14:34:35 +0200 (CEST) Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam04on2069.outbound.protection.outlook.com [40.107.100.69]) by mails.dpdk.org (Postfix) with ESMTP id AE97B4067E for ; Wed, 24 May 2023 14:34:34 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XabgdbKJ4KrXbR7VrRv11yuxsOdBKtJD8c8G4PgDi951JwimopclFO/4SDE87G3mtBMPkNP0I2/ZZL0aRSiQr7DX0vMsIzCO4oYzWY4mNpcJmLgFwZYMvzMze50sfuMLCD5oi/nYA3Zax2Hg77CfkUathUpZPBBv6aQIrb71BoO7EGAT6ptKh3rf2PXSo8qgxM6aPucFYIGmRg9HA14TnekkMs7323VzTsQXjHuaqyBQAANz7GIJT2aye59oqP+guudIbZr2JKgRRNI4Egq2XIuCCU5j3LIibGaatdv4BhB1m08QGevAdgJTUTwLTOHbIeccpk2/QSaQpJXicPhLdQ== 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=jNtwRK7EX/yCGRh1WdRphWIW67XlP8K5U+QJ1YLXb2Q=; b=f1azWXs9a7EzINRKM9kGpYDdViq82sYVTDaDsTxRt9IE3P6eTOMsKVqCjQozDgnvURvBBmfO5OKkXwIN58zsAJdS1WlqAqpmeOFKIiNHUO+6WSpHxRIEZkY0pFiwZMx35VCNlgwnmB0bRmdYISuRjWiXvnimcpuE6YJBPZT77m1LuV0T7g4m4aazJOD2FeWJpUo8KVVCklkrPz23jc9VjVy8D9drgvmADdtQma5PVop4M0LUgxCSA8yb7bQ3jnG12TXdvMk76LuPe4FnJw6Fdj7rTwwsdxop+YpgF8zYW9CYj7+/NjNlfa10yy7JslIrQ0WBgpR+KsjJZVi0kHP5xw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jNtwRK7EX/yCGRh1WdRphWIW67XlP8K5U+QJ1YLXb2Q=; b=qX12Hm9JQtfl1cSldYNAqh2LkTqHkVYPx0zEDNho79d7qYu+XvtvqjtusmvUAXHewO1j9mjYYDfTLWlIUT8sGGDoRm60hxer2nEAOcjNAw1ROlKtH3Lbkp332E5nHvbZdfQvcYziuh9M95qJYtpOZc4mMvu0kS+AeXFDCTUz5uo= Received: from BL1PR12MB5777.namprd12.prod.outlook.com (2603:10b6:208:390::21) by CH2PR12MB4905.namprd12.prod.outlook.com (2603:10b6:610:64::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6433.15; Wed, 24 May 2023 12:34:32 +0000 Received: from BL1PR12MB5777.namprd12.prod.outlook.com ([fe80::1c3:699b:de02:1146]) by BL1PR12MB5777.namprd12.prod.outlook.com ([fe80::1c3:699b:de02:1146%2]) with mapi id 15.20.6433.015; Wed, 24 May 2023 12:34:32 +0000 From: "Tummala, Sivaprasad" To: "Burakov, Anatoly" , "david.hunt@intel.com" , "jerinj@marvell.com" , "harry.van.haaren@intel.com" CC: "dev@dpdk.org" Subject: RE: [RFC PATCH 4/5] power: add eventdev support for power management Thread-Topic: [RFC PATCH 4/5] power: add eventdev support for power management Thread-Index: AQHZcqUKHJjiKlxCc0WgngXHb/yfwq9etrIAgArbRHA= Date: Wed, 24 May 2023 12:34:32 +0000 Message-ID: References: <20230419095427.563185-1-sivaprasad.tummala@amd.com> <20230419095427.563185-4-sivaprasad.tummala@amd.com> <1cecb5a2-3089-d862-8614-77bb6bea3f17@intel.com> In-Reply-To: <1cecb5a2-3089-d862-8614-77bb6bea3f17@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=true; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SetDate=2023-05-24T12:34:29Z; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Method=Standard; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Name=General; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=5bf350e7-a027-4b29-8993-e41b036215a5; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=1 msip_label_4342314e-0df4-4b58-84bf-38bed6170a0f_enabled: true msip_label_4342314e-0df4-4b58-84bf-38bed6170a0f_setdate: 2023-05-24T12:34:29Z msip_label_4342314e-0df4-4b58-84bf-38bed6170a0f_method: Standard msip_label_4342314e-0df4-4b58-84bf-38bed6170a0f_name: General msip_label_4342314e-0df4-4b58-84bf-38bed6170a0f_siteid: 3dd8961f-e488-4e60-8e11-a82d994e183d msip_label_4342314e-0df4-4b58-84bf-38bed6170a0f_actionid: e5f55547-575b-4ac3-896d-886f1132ea57 msip_label_4342314e-0df4-4b58-84bf-38bed6170a0f_contentbits: 0 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BL1PR12MB5777:EE_|CH2PR12MB4905:EE_ x-ms-office365-filtering-correlation-id: 142d2482-482e-4786-cd10-08db5c5339f0 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 8CeD69/pm1rTOOoL+xkXseFenRWnfyp47EiK/8nyjrngEzn5W3SauXlA5m94jffVByD3uO6kzJOC7bJgPgyV46Vc0d/i0QMtR6CQE/4MAL8Qt6P+kLuUL3q6Hekm+S8ck7mk0Jx9K7XJ7SOIogxpKTBIZ7DRc/6nwETf0AWnbRls8YhEcdf+d5nQb9WhhywRp+PnWd5E98e6usxrq9u1ikqvEJUsgZsEQG8soynjV1H9wpTIf8N8haQxxDh8erpDOuvagU8JZTFZcUSou88dSH76sPn4FYuBCTKOKIB4MRhrifYyB3otbMWm9VUYj4xxLfPmvPqIjaMPRl9cZzjTbK4HPFvreXiB8hoZ6LxOLqbtIT/M33xDyXT5aTICY1L8hNkYNAVDZEDTyrREjxqCQwEhHhZFvoJGo5dZWA8GbvQ2t2INNPL4Y9yG1WWus/lWsCEhZEuUtihkPBBCQ5SMfuhw4yH/jkUQX2w/mOd8m5iqnFZ5WpMVENO0VwM7LVcLu2jI4RZe8pmpv7H41x30zNdEDNCIVEzUZpBXFA6pEW0n8uWa8XE6qnACf2QfR56/8wAHyQI/Qnsw9VO75IWbkM3zOKO/BY1JofOGNFIMeg3mKi4I88d43TZsVoCqlyI6 x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BL1PR12MB5777.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(4636009)(366004)(136003)(396003)(39860400002)(346002)(376002)(451199021)(41300700001)(7696005)(38070700005)(83380400001)(6506007)(33656002)(186003)(2906002)(53546011)(55236004)(86362001)(9686003)(26005)(122000001)(38100700002)(55016003)(5660300002)(52536014)(8676002)(8936002)(64756008)(66476007)(66446008)(66556008)(76116006)(66946007)(4326008)(478600001)(110136005)(316002)(71200400001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SUZBR1p2UUZnS3BYQXM5U29naGp2YzhOQ3IzTTRqWjgxaGtQRFp2R1Fla1c1?= =?utf-8?B?VXpFVXhMQ0p1a3RhSytvYWpMbEJReFZtTGdiMm56eXkvVDJxWG9EVDJ4ZGZZ?= =?utf-8?B?dnVoL2MvOWNVcHNzZ09hT1FNbHZrYWNReS9kbVpaOWRhQWN1SjdQTjdwdTcw?= =?utf-8?B?V0E0K0VsSE9TM00vTWp4YkMyT0Fia1lKd0Nmb1hHL29vTkJPcjcwRlpJZXRm?= =?utf-8?B?ZEpxcXVpKzV5TDhKQVFKUkVsdks0dStJS29oK2l2MVRtOWp2aGtyUzRFUXpo?= =?utf-8?B?QXlhT0l4WGdaUFF3YU9xWkQwR2lqVWlPWURDclIxSUlQMVVyOHhmcnF0c1pJ?= =?utf-8?B?MlBxS0tPUWo4YXNESzZ1T3J4Z1duVUUwcjc5bEJScHJ5UnIxYnZ0OTR6Y1lJ?= =?utf-8?B?NENCWDIzUThVSmlCaDdJNDBnNWhCYUZqTktNdXlqOFFXUnNCQ3p0QmozNVVs?= =?utf-8?B?ZzNvY2pSY1ZwbzhUQVQ3ZElYUnIrWlhDWnhFZTdZdVFPTmhaWEJUT3A1VmdT?= =?utf-8?B?V2YvUE9ESnV4czVucGRIOHVqcFl3SFNZaklMZW9qejRYbGFOWFVyU3JNYkts?= =?utf-8?B?cmtXMFQ3S1ZmVnVNZk9ZbG1VSFZiRFVKalhOeEpjcWllWW9LN001Y2pveUNv?= =?utf-8?B?N3AxdnY4NmlXMGF5enk5VVZQcXNtVTZsWGtSeWovTGxGME9zY2RDQUhtSWpO?= =?utf-8?B?eTlpb1FvNWVoZjRVM0xqV3ZBWFVUcTN5OUkyRVNndG01cEVzdjRHaWRVaHNp?= =?utf-8?B?bjFNRjRmZk1FeHRZK3FDbjNmU2RQaGt4Rm1VVEpRR2hhNkFTZUl5ZzNLN1V0?= =?utf-8?B?MTA3TmUxVHd1dWVWL1MrS0NNWVRPaGszM2ZiSXo0NHRqUTBxWjhsRTFkKzVE?= =?utf-8?B?L3Y5TWFBWXJHanpnSlJ2ZkcvWFpOR3hUVmhoRXdhTmw5Ujg3SXNYS0xwYU0w?= =?utf-8?B?LzJadmhtVGV6dFAyUVVKZGNmQ0tITzlNcHZwcS9kc1ZYSEZ1SG5IQjh5YmhV?= =?utf-8?B?TjdNQVB4NENuRVl0NFpMSFlFeHM2QmtxU1RKalZGTHQ0UG4rb293elFJalVo?= =?utf-8?B?dXlGTGtFQzdVTkVTT3B3MWVVeGVQeEdrRVpISlJXdG1lY1BMUHlUUkc4dDFm?= =?utf-8?B?dWYzTHVNbFZiNzNWV1RxZk1ZUGd4Z1Y5Q1l4SXVlMWpic3YxSlR1V2x6ZEhO?= =?utf-8?B?SG5YS0NQczliM3BOZzhUM3JxSGRlcTVFQTV2NzhPUi9NVzNOK0s2SGdtSCtR?= =?utf-8?B?Y1llUDE1Qlh0V29yditZM05la08rNWhSeVoyY2I4Z3d3bkFUZDA5RWVLYjdN?= =?utf-8?B?R1plZzkwL3NpOHJPWXk3bTQ2RXYwZm56aEtRNjFkQ3Rjam4xQVplUnZWSXFk?= =?utf-8?B?b3FMVS9ySmd0dUFKaThqNVZMMEdTRk9CUU1MTm1PU3BXVVVUTGltNVRaVExU?= =?utf-8?B?WUV4bmhDcUVlcVF4eDlUdTNaTFBIMS96RE1FRk9rd3RtaGE3ellzMXR6ZGNr?= =?utf-8?B?L2dBSTZtREpzU0hhT0tZTW5YSlU0dDB5U2lUVk16U2JhdEVQWUhUTEJVMVBr?= =?utf-8?B?K3hXRTVjY1dtTTQvVVhXbHZVV3dkNHliMm9OakJvSTRTV3ZFQm91dkI4R0J3?= =?utf-8?B?RkRtUWpuKzYwQWZ0TFdEUnB3MjNaNGNmOGVKWVBXdEFXWk9HRlFzcSt2aDlR?= =?utf-8?B?U2hYNTRNcnVlMHhzbWtJN0ZZdVBETlNnV3RoYVBuaytrOFJVbGduU1VWZlBk?= =?utf-8?B?VGgyVVlKSTRvMGZZK0RubnJjK0ZOcFFPVWpabElVN1lsWWt1TTJvalBzckVj?= =?utf-8?B?MjFPYloybmlGcG5MRkRGQmcvTVBvNXZFdmU3TzBoQWxoRko0L2ZNclNXT212?= =?utf-8?B?MXd3N2VDK0hyVFJZbzBwdlNpZlVYaWl4bEJSUE9tMlRzTnN0MlB0UmlvVTVo?= =?utf-8?B?SDZHWHNSSkl2d0h1N1dqQ2hiTFd4K3E3Q2FJM0hNQTRvK1pLdmpUTW5rNDE3?= =?utf-8?B?SUFOMjJKR25Od0UxUTl5QnEyaW9rOXJZZ2daS2VwcXJNL05EOURVcm1wVUZZ?= =?utf-8?B?WGxaRnhLSzdsM3lOY0ZCbjk3Y3hoTjUyZzJneDVCQ25NNldybUl5WjB6UDhz?= =?utf-8?Q?VxaU=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BL1PR12MB5777.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 142d2482-482e-4786-cd10-08db5c5339f0 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 May 2023 12:34:32.6997 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 6IHnf563AzYIcTcBTNCIvfN2RJb23RCqcC6ni82CncNK+EANBZ3QYLWApa6COdHKxQ+SCNm1agSJlCujnWw1qA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4905 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 W0FNRCBPZmZpY2lhbCBVc2UgT25seSAtIEdlbmVyYWxdDQoNCkhpLA0KDQo+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEJ1cmFrb3YsIEFuYXRvbHkgPGFuYXRvbHkuYnVyYWtv dkBpbnRlbC5jb20+DQo+IFNlbnQ6IFdlZG5lc2RheSwgTWF5IDE3LCAyMDIzIDg6MTQgUE0NCj4g VG86IFR1bW1hbGEsIFNpdmFwcmFzYWQgPFNpdmFwcmFzYWQuVHVtbWFsYUBhbWQuY29tPjsNCj4g ZGF2aWQuaHVudEBpbnRlbC5jb207IGplcmluakBtYXJ2ZWxsLmNvbTsgaGFycnkudmFuLmhhYXJl bkBpbnRlbC5jb20NCj4gQ2M6IGRldkBkcGRrLm9yZw0KPiBTdWJqZWN0OiBSZTogW1JGQyBQQVRD SCA0LzVdIHBvd2VyOiBhZGQgZXZlbnRkZXYgc3VwcG9ydCBmb3IgcG93ZXINCj4gbWFuYWdlbWVu dA0KPiANCj4gQ2F1dGlvbjogVGhpcyBtZXNzYWdlIG9yaWdpbmF0ZWQgZnJvbSBhbiBFeHRlcm5h bCBTb3VyY2UuIFVzZSBwcm9wZXIgY2F1dGlvbg0KPiB3aGVuIG9wZW5pbmcgYXR0YWNobWVudHMs IGNsaWNraW5nIGxpbmtzLCBvciByZXNwb25kaW5nLg0KPiANCj4gDQo+IE9uIDQvMTkvMjAyMyAx MDo1NCBBTSwgU2l2YXByYXNhZCBUdW1tYWxhIHdyb3RlOg0KPiA+IEFkZCBldmVudGRldiBzdXBw b3J0IHRvIGVuYWJsZSBwb3dlciBzYXZpbmcgd2hlbiBubyBldmVudHMgYXJlDQo+ID4gYXJyaXZp bmcuIEl0IGlzIGJhc2VkIG9uIGNvdW50aW5nIHRoZSBudW1iZXIgb2YgZW1wdHkgcG9sbHMgYW5k LCB3aGVuDQo+ID4gdGhlIG51bWJlciByZWFjaGVzIGEgY2VydGFpbiB0aHJlc2hvbGQsIGVudGVy aW5nIGFuDQo+ID4gYXJjaGl0ZWN0dXJlLWRlZmluZWQgb3B0aW1pemVkIHBvd2VyIHN0YXRlIHRo YXQgd2lsbCBlaXRoZXIgd2FpdCB1bnRpbA0KPiA+IGEgVFNDIHRpbWVzdGFtcCBleHBpcmVzLCBv ciB3aGVuIGV2ZW50cyBhcnJpdmUuDQo+ID4NCj4gPiBUaGlzIEFQSSBtYW5kYXRlcyBhIGNvcmUt dG8tc2luZ2xlLXBvcnQgbWFwcGluZyAoaS5lLiBvbmUgY29yZSBwb2xsaW5nDQo+ID4gbXVsdGlw bGUgcG9ydHMgb2YgZXZlbnQgZGV2aWNlIGlzIG5vdCBzdXBwb3J0ZWQpLiBUaGlzIHNob3VsZCBi ZSBvayBhcw0KPiA+IHRoZSBnZW5lcmFsIHVzZSBjYXNlIHdpbGwgaGF2ZSBvbmUgQ1BVIGNvcmUg dXNpbmcgb25lIHBvcnQgdG8NCj4gPiBlbnF1ZXVlL2RlcXVldWUgZXZlbnRzIGZyb20gYW4gZXZl bnRkZXYuDQo+ID4NCj4gPiBUaGlzIGRlc2lnbiBpcyB1c2luZyBFdmVudGRldiBQTUQgRGVxdWV1 ZSBjYWxsYmFja3MuDQo+ID4NCj4gPiAxLiBNV0FJVFgvTU9OSVRPUlg6DQo+ID4NCj4gPiAgICAg V2hlbiBhIGNlcnRhaW4gdGhyZXNob2xkIG9mIGVtcHR5IHBvbGxzIGlzIHJlYWNoZWQsIHRoZSBj b3JlIHdpbGwgZ28NCj4gPiAgICAgaW50byBhIHBvd2VyIG9wdGltaXplZCBzbGVlcCB3aGlsZSB3 YWl0aW5nIG9uIGFuIGFkZHJlc3Mgb2YgbmV4dCBSWA0KPiA+ICAgICBkZXNjcmlwdG9yIHRvIGJl IHdyaXR0ZW4gdG8uDQo+ID4NCj4gPiAyLiBQYXVzZSBpbnN0cnVjdGlvbg0KPiA+DQo+ID4gICAg IFRoaXMgbWV0aG9kIHVzZXMgdGhlIHBhdXNlIGluc3RydWN0aW9uIHRvIGF2b2lkIGJ1c3kgcG9s bGluZy4NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IFNpdmFwcmFzYWQgVHVtbWFsYSA8c2l2YXBy YXNhZC50dW1tYWxhQGFtZC5jb20+DQo+ID4gLS0tDQo+IA0KPiBIaSwgZmV3IGNvbW1lbnRzDQo+ IA0KPiA+ICsNCj4gPiArc3RhdGljIHVpbnQxNl90DQo+ID4gK2V2dF9jbGJfcGF1c2UodWludDhf dCBkZXZfaWQgX19ydGVfdW51c2VkLCB1aW50OF90IHBvcnRfaWQgX19ydGVfdW51c2VkLA0KPiA+ ICsgICAgICAgICAgICAgc3RydWN0IHJ0ZV9ldmVudCAqZXYgX19ydGVfdW51c2VkLA0KPiA+ICsg ICAgICAgICAgICAgdWludDE2X3QgbmJfZXZlbnRzLCB2b2lkICphcmcpIHsNCj4gPiArICAgICBj b25zdCB1bnNpZ25lZCBpbnQgbGNvcmUgPSBydGVfbGNvcmVfaWQoKTsNCj4gPiArICAgICBzdHJ1 Y3QgcXVldWVfbGlzdF9lbnRyeSAqcXVldWVfY29uZiA9IGFyZzsNCj4gPiArICAgICBzdHJ1Y3Qg cG1kX2NvcmVfY2ZnICpsY29yZV9jb25mOw0KPiA+ICsgICAgIGNvbnN0IGJvb2wgZW1wdHkgPSBu Yl9ldmVudHMgPT0gMDsNCj4gPiArICAgICB1aW50MzJfdCBwYXVzZV9kdXJhdGlvbiA9DQo+ID4g K3J0ZV9wb3dlcl9wbWRfbWdtdF9nZXRfcGF1c2VfZHVyYXRpb24oKTsNCj4gPiArDQo+ID4gKyAg ICAgbGNvcmVfY29uZiA9ICZsY29yZV9jZmdzW2xjb3JlXTsNCj4gPiArDQo+ID4gKyAgICAgaWYg KGxpa2VseSghZW1wdHkpKQ0KPiA+ICsgICAgICAgICAgICAgLyogZWFybHkgZXhpdCAqLw0KPiA+ ICsgICAgICAgICAgICAgcXVldWVfcmVzZXQobGNvcmVfY29uZiwgcXVldWVfY29uZik7DQo+ID4g KyAgICAgZWxzZSB7DQo+ID4gKyAgICAgICAgICAgICAvKiBjYW4gdGhpcyBxdWV1ZSBzbGVlcD8g Ki8NCj4gPiArICAgICAgICAgICAgIGlmICghcXVldWVfY2FuX3NsZWVwKGxjb3JlX2NvbmYsIHF1 ZXVlX2NvbmYpKQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmJfZXZlbnRzOw0K PiA+ICsNCj4gPiArICAgICAgICAgICAgIC8qIGNhbiB0aGlzIGxjb3JlIHNsZWVwPyAqLw0KPiA+ ICsgICAgICAgICAgICAgaWYgKCFsY29yZV9jYW5fc2xlZXAobGNvcmVfY29uZikpDQo+ID4gKyAg ICAgICAgICAgICAgICAgICAgIHJldHVybiBuYl9ldmVudHM7DQo+ID4gKw0KPiA+ICsgICAgICAg ICAgICAgdWludDY0X3QgaTsNCj4gPiArICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBnbG9i YWxfZGF0YS5wYXVzZV9wZXJfdXMgKiBwYXVzZV9kdXJhdGlvbjsgaSsrKQ0KPiA+ICsgICAgICAg ICAgICAgICAgICAgICBydGVfcGF1c2UoKTsNCj4gDQo+IFdoeSBub3QgYWRkIHN1cHBvcnQgZm9y IFRQQVVTRT8gVGhpcyBpcyBnZW5lcmljIGNvZGUsIGV0aGRldiBjb2RlIHBhdGggc3VwcG9ydHMN Cj4gaXQsIGFuZCBtb3N0IG9mIHRoaXMgZnVuY3Rpb24gaXMgZHVwbGljYXRlZCBmcm9tIGV0aGRl diBpbXBsZW1lbnRhdGlvbi4gSSB3aXNoIHdlDQo+IGNvdWxkIHVuaWZ5IHRoZW0gc29tZWhvdywg YnV0IEkgY2FuJ3QgdGhpbmsgb2YgYW4gZWxlZ2FudCB3YXkgdG8gZG8gaXQgb2ZmIHRoZSB0b3AN Cj4gb2YgbXkgaGVhZC4NCj4gDQpTdXJlLCB3aWxsIGZpeCB0aGlzIGluIHYxLg0KPiA+ICsNCj4g PiArICAgICAvKiB3ZSBuZWVkIHRoaXMgaW4gdmFyaW91cyBwbGFjZXMgKi8NCj4gPiArICAgICBy dGVfY3B1X2dldF9pbnRyaW5zaWNzX3N1cHBvcnQoJmdsb2JhbF9kYXRhLmludHJpbnNpY3Nfc3Vw cG9ydCk7DQo+ID4gKw0KPiA+ICsgICAgIHN3aXRjaCAobW9kZSkgew0KPiA+ICsgICAgIGNhc2Ug UlRFX1BPV0VSX01HTVRfVFlQRV9NT05JVE9SOg0KPiA+ICsgICAgICAgICAgICAgLyogY2hlY2sg aWYgd2UgY2FuIGFkZCBhIG5ldyBwb3J0ICovDQo+ID4gKyAgICAgICAgICAgICByZXQgPSBjaGVj a19ldnRfbW9uaXRvcihsY29yZV9jZmcsICZxZGF0YSk7DQo+ID4gKyAgICAgICAgICAgICBpZiAo cmV0IDwgMCkNCj4gPiArICAgICAgICAgICAgICAgICAgICAgZ290byBlbmQ7DQo+ID4gKw0KPiA+ ICsgICAgICAgICAgICAgY2xiID0gZXZ0X2NsYl91bXdhaXQ7DQo+ID4gKyAgICAgICAgICAgICBi cmVhazsNCj4gPiArICAgICBjYXNlIFJURV9QT1dFUl9NR01UX1RZUEVfUEFVU0U6DQo+ID4gKyAg ICAgICAgICAgICAvKiBmaWd1cmUgb3V0IHZhcmlvdXMgdGltZS10by10c2MgY29udmVyc2lvbnMg Ki8NCj4gPiArICAgICAgICAgICAgIGlmIChnbG9iYWxfZGF0YS50c2NfcGVyX3VzID09IDApDQo+ ID4gKyAgICAgICAgICAgICAgICAgICAgIGNhbGNfdHNjKCk7DQo+ID4gKw0KPiA+ICsgICAgICAg ICAgICAgY2xiID0gZXZ0X2NsYl9wYXVzZTsNCj4gPiArICAgICAgICAgICAgIGJyZWFrOw0KPiA+ ICsgICAgIGRlZmF1bHQ6DQo+ID4gKyAgICAgICAgICAgICBSVEVfTE9HKERFQlVHLCBQT1dFUiwg IkludmFsaWQgcG93ZXIgbWFuYWdlbWVudA0KPiA+ICsgdHlwZVxuIik7DQo+IA0KPiBUZWNobmlj YWxseSwgaWYgd2Ugc3BlY2lmeSAic2NhbGUiIGhlcmUsIHRoZSBwb3dlciBtYW5hZ2VtZW50IHNj aGVtZSB3b3VsZCBiZQ0KPiAqdW5zdXBwb3J0ZWQqIHJhdGhlciB0aGFuICppbnZhbGlkKiwgYW5k IHRodXMgc2hvdWxkIHJldHVybiAtRU5PVFNVUCByYXRoZXIgdGhhbg0KPiAtRUlOVkFMLg0KPiAN Cj4gQWxzbywgc2luY2UgdGhpcyBpcyBnZW5lcmljIGNvZGUsIHRoZW9yZXRpY2FsbHkgdGhpcyBj b2RlIGNvdWxkIGluIGZhY3Qgc3VwcG9ydCBTQ0FMRQ0KPiBtb2RlPyBXb3VsZCBpdCBtYWtlIHNl bnNlIGZvciBldmVudGRldiB0byB1c2UgdGhhdCBzY2hlbWU/DQo+IA0KQWdyZWVkLiBXaWxsIGZp eCB0aGlzIGluIHYxIHBhdGNoLiANCg0KPiA+ICsvKioNCj4gPiArICogQHdhcm5pbmcNCj4gPiAr ICogQGIgRVhQRVJJTUVOVEFMOiB0aGlzIEFQSSBtYXkgY2hhbmdlLCBvciBiZSByZW1vdmVkLCB3 aXRob3V0IHByaW9yDQo+IG5vdGljZS4NCj4gPiArICoNCj4gPiArICogRGlzYWJsZSBwb3dlciBt YW5hZ2VtZW50IG9uIGEgc3BlY2lmaWVkIEV0aGVybmV0IGRldmljZSBSeCBxdWV1ZSBhbmQNCj4g bGNvcmUuDQo+ID4gKyAqDQo+ID4gKyAqIEBub3RlIFRoaXMgZnVuY3Rpb24gaXMgbm90IHRocmVh ZC1zYWZlLg0KPiA+ICsgKg0KPiA+ICsgKiBAd2FybmluZyBUaGlzIGZ1bmN0aW9uIG11c3QgYmUg Y2FsbGVkIHdoZW4gYWxsIGFmZmVjdGVkIEV0aGVybmV0IHF1ZXVlcyBhcmUNCj4gPiArICogICBz dG9wcGVkIGFuZCBubyBSeC9UeCBpcyBpbiBwcm9ncmVzcyENCj4gPiArICoNCj4gPiArICogQHBh cmFtIGxjb3JlX2lkDQo+ID4gKyAqICAgVGhlIGxjb3JlIHRoZSBSeCBxdWV1ZSBpcyBwb2xsZWQg ZnJvbS4NCj4gPiArICogQHBhcmFtIGRldl9pZA0KPiA+ICsgKiAgIFRoZSBpZGVudGlmaWVyIG9m IHRoZSBkZXZpY2UuDQo+ID4gKyAqIEBwYXJhbSBwb3J0X2lkDQo+ID4gKyAqICAgRXZlbnQgcG9y dCBpZGVudGlmaWVyIG9mIHRoZSBFdmVudCBkZXZpY2UuDQo+ID4gKyAqIEByZXR1cm4NCj4gPiAr ICogICAwIG9uIHN1Y2Nlc3MNCj4gPiArICogICA8MCBvbiBlcnJvcg0KPiA+ICsgKi8NCj4gPiAr X19ydGVfZXhwZXJpbWVudGFsDQo+ID4gK2ludA0KPiA+ICtydGVfcG93ZXJfZXZlbnRkZXZfcG1n bXRfcG9ydF9kaXNhYmxlKHVuc2lnbmVkIGludCBsY29yZV9pZCwNCj4gPiArICAgICAgICAgICAg IHVpbnQ4X3QgZGV2X2lkLCB1aW50OF90IHBvcnRfaWQpOw0KPiANCj4gSXQgd291bGQndmUgYmVl biBuaWNlIGlmIHdlIGRpZG4ndCBoYXZlIHRvIHJlaW1wbGVtZW50IHRoZSBzYW1lIGxvZ2ljIGZv ciBldmVyeQ0KPiBuZXcgZGV2aWNlIHR5cGUsIGJ1dCBzZWVpbmcgaG93IHdlIGRvIG5vdCBoYXZl IGFueSB1bmlmaWVkIGRyaXZlciBBUEksIEkgZG9uJ3QNCj4gaGF2ZSBhbnkgYnJpZ2h0IGlkZWFz IG9uIGhvdyB0byBkbyBpdCBiZXR0ZXIuDQo+IA0KPiAtLQ0KPiBUaGFua3MsDQo+IEFuYXRvbHkg DQoNCg==