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 DBDE245BDA; Sat, 26 Oct 2024 07:22:15 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 45C9540265; Sat, 26 Oct 2024 07:22:15 +0200 (CEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2056.outbound.protection.outlook.com [40.107.93.56]) by mails.dpdk.org (Postfix) with ESMTP id 6F1DE40264 for ; Sat, 26 Oct 2024 07:22:13 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pqGH7cGPNDL31R6h/hsVY44OjcBof+bCXxWJxvKk2UqtysVkGNJ1AEotGjcOmXu7seSVVBBQKTQHriKS6q+HSVbJNicoP14raMDeNydDCGlegMhG8eI6yGlxgvqr9Yu03mOz4c27iMgPCYwvU3EFr9t2mEKw/7tdchZP9EfWBj8PYWNZEQXDYaY8eRtut1wmKxgSh10XsnwBKcS+pHeYD4paK/q6poQuWztN8AMBJaUHiVDJjtKEnBgs9cq2yFW9d7yWrI/mm5o7BEgTIKe3IevFTvndAwMusMFctifjoaGmEmhAUvrqyHChRZYRhJP66gdxYIOdP7hCg+vROit6AQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=7BsyV3ZpbdFriMURut8Xw8Hy1Yr5l/Ft8HkhvGmZ34o=; b=FcEgXPaCp//UcpSaDAU84v8jV7EAe6zaSBveolYX8vmL1V3PqWPRCvJH4v5dJBqeRlPCWgcfSk3jq4TrqVq78SdbrRfYUOxaMsqLpvzEcvx9otEgazHmS/9JBzh3So72wn6CbPJ4PMljaL5J9wFuBHdXCw2ohKFEO9UixrrsJSIu8OompRsXNa7l0yAJ6Q+HMnfMqM4bxN5k1o+v7gT7iTmqMubKMw4bWbja+PKh/SRxvztKMOJ+ZP1BNWC8dTsExK32OghaCzqptCKbCwx8glhiTEgpcYI0j43NbFf4emL2aCuSWDzkIWErGMYtQSlOXUUHdQL8Qrcaw9zNe6ZiSw== 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=7BsyV3ZpbdFriMURut8Xw8Hy1Yr5l/Ft8HkhvGmZ34o=; b=q+cpmY1gsLmA2zzaCxondgL7SGiHg0ZjvZWS9z58NmanXzHvfFfzBEA0sR2BId0NrK4BA+Qh0tjuV7Zoh1ySLntLqskSc7EjBfmb0I/YzDfF9W/oUzFcvflQEwb56Ic7dnwiyPApZ5TIAVdUUO8kpftLah3LeSCAiMw1YFlEQfI= Received: from CH3PR12MB8233.namprd12.prod.outlook.com (2603:10b6:610:129::15) by SJ2PR12MB8112.namprd12.prod.outlook.com (2603:10b6:a03:4f8::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8093.24; Sat, 26 Oct 2024 05:22:09 +0000 Received: from CH3PR12MB8233.namprd12.prod.outlook.com ([fe80::278f:5cc5:549c:3515]) by CH3PR12MB8233.namprd12.prod.outlook.com ([fe80::278f:5cc5:549c:3515%4]) with mapi id 15.20.8093.023; Sat, 26 Oct 2024 05:22:09 +0000 From: "Tummala, Sivaprasad" To: "lihuisong (C)" CC: "dev@dpdk.org" , "david.hunt@intel.com" , "anatoly.burakov@intel.com" , "jerinj@marvell.com" , "radu.nicolau@intel.com" , "cristian.dumitrescu@intel.com" , "konstantin.ananyev@huawei.com" , "Yigit, Ferruh" , "gakhil@marvell.com" Subject: RE: [PATCH v9 1/6] power: refactor core power management library Thread-Topic: [PATCH v9 1/6] power: refactor core power management library Thread-Index: AQHbJQoki6c8CyQSrUK9WBkiYWqwrLKYXieAgAANwMA= Date: Sat, 26 Oct 2024 05:22:08 +0000 Message-ID: References: <20241022184133.700367-1-sivaprasad.tummala@amd.com> <20241023051139.1066426-1-sivaprasad.tummala@amd.com> <20241023051139.1066426-2-sivaprasad.tummala@amd.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_ActionId=d3f5678e-74d8-4480-b469-e2679647b067; MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_ContentBits=0; MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_Enabled=true; MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_Method=Standard; MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_Name=AMD Internal Distribution Only; MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_SetDate=2024-10-26T03:56:10Z; MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; 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: CH3PR12MB8233:EE_|SJ2PR12MB8112:EE_ x-ms-office365-filtering-correlation-id: 1b28f4aa-213d-4f10-d811-08dcf57e237f x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?ZjlIVllGRWRFUjRuNlE5blhqVmcwOUNVZlhsclF0MTBNL1lKZGVPV3JidHdo?= =?utf-8?B?V3A2UFU5QjlEUE9yMHlMWmFlZTluV1ArV3l2YXhGTWNvVkt5anU4M0lla0FS?= =?utf-8?B?MXN3ZGhaWi8weGVNM3BGMDd3TzA3cUJCeThEUzd3NDFqZVZzZStpSncvenpW?= =?utf-8?B?ak5nQ0RWcitaRHllWEkyRW41Z0ZGazhkTmZwQ3hBN05UcHJ1VEJ5WjN3YkpU?= =?utf-8?B?d2dkVFBnbmtrd2N3V3dKRTVhUDZOUmxPdTNHVUpvVGxCbXFtZEtNV1huemU0?= =?utf-8?B?Wi9PcmdzTkd2bHhOdUxrV0tlVnJmbDF5RDB6ODNjaGljWTdoMzlKY0d3ZmlE?= =?utf-8?B?aU9PUGZJenY0Ykg1bFBRQmtwSXBzdWNUSEZOUGlBSWVsT1Bva2xxVVN5VHJL?= =?utf-8?B?dWx5MHJoM1lSNHVYbXNwdGNLZEpDMmd1dFdVS0JiVjBEMmhyREE2a0kwa0ds?= =?utf-8?B?RWpWeFIyTmlXZ0NqTXRFKytKaFhXZUUzMVRHRHBROUFPVjZjeXZLem5UeXdY?= =?utf-8?B?M1dWeStacHJKOEtCZlpoNmZLdEZ4OFRjU0lyQngrZzZPSVcrR2tLcjdBQ1ZH?= =?utf-8?B?bmlKa0ljNW41RGFINEVyaElHVXJDWFJHRHE5Qit5dDkvY0FCVnlUQ1k4cU82?= =?utf-8?B?MTNzNzAzMmpCQk1LODc3dTdFV20zdmI3ZHpRY2w2QTV4V3QzVlVSZTRTaVpL?= =?utf-8?B?QVBBcytaRElkVEVWNjlhSlQ2SDBPa0JxNDdGYXN4NkduRFJPa3QxNkhJWkFX?= =?utf-8?B?VlpDTXBSOWliMU5KWW5SakxHMHErMmN0N01nQVdoT1Q0OGh1UEN5YkV5TXBD?= =?utf-8?B?cUxqK21FMnJFNDZtWU96NmJEN25lTFZvQ0RZYk4xRWJtZzFVWlFyV09IeFU3?= =?utf-8?B?UWprd0NJT1B6NEkrTW43dHRKMGxHckFCYkNCZTN2bnl5QnFtOVNQZ0dIdzk2?= =?utf-8?B?eG9XNkpzVmpSREpuaTY3YnV6NWVGVlljQXpwdXQySXF6VWZkeFdYVkc4MytY?= =?utf-8?B?Y1VFWWxDQnV2S2VWMG9iSjFRZ3YzcERLK0cwQVpMaklTcndDeXhhcEYxVDlU?= =?utf-8?B?dnMyQ3BWZFRSd0xpWlN4NTFualhjd1lMSzJWcG5ySmtzRkZkcGNtWE5zTDlQ?= =?utf-8?B?M3RBbHVPSWJmVGdqaHFwakpCd2xPMm5HNVN1RWFLQlNIeHdCcWJiUzIwaDlr?= =?utf-8?B?OTEwMDM3OFZ1Ny9pSmJ4RU5PcWVReC9DQXNMci9SdWZQTVp1THltWVlaYnF4?= =?utf-8?B?VVFwbk1Nc0dqekdiMVFmMVhIdGxOdFpZUDFDa1BQRVhYOGc2cS9VelRkYi9H?= =?utf-8?B?ZUZJcWhtUjBleFM0Qk9yWEJVVS9SS2dSaHU4KzMrZXJ2VlUrU2RvbFVIWk9F?= =?utf-8?B?SXBOb1B6dXQ5c0ViL2h3akNJR3gzaHNPS3NseDB1WGFXbTVhRGpEd2p6Tldz?= =?utf-8?B?NEpQcVBDcjRUbGVDTGtmU0dYbnpkQzZqUklGcVdBbW9zMUh4QkN3cHlrbVRR?= =?utf-8?B?QXAxSGNLeG93OU1ZZVQ1MWt4ZjRvMitkaVlYSDFlMFhTOXBlMnVPMVlKSkJi?= =?utf-8?B?b1QwZlpVZEgvZ3lpK3RmNW8zcGxnM3R4dDVFNFhrM1VJVzlLRmJtWFA5UkFF?= =?utf-8?B?U2Y0eGZKSmhabkJDeW1DbVlXY2lCMFZqOEZSckJCVHJTc1lLVVF4WWNWQUQ4?= =?utf-8?B?SkF6UGJ2bVhLbndTelBtNCtRQXJFOEFSaEZwUXRrN1dZOTA4MjBzbnUxQi9w?= =?utf-8?B?ck54OE0zTDl0bTRiL0l6d1FhR2dZTnlCb1NFY0x4Tk52ZzM0bkVJRnRCNzQz?= =?utf-8?Q?tgbTk9y6yjdPSQMZr7jk+TWB34ntLLIB/WR+U=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH3PR12MB8233.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?OUJaWVBVSGNrY1JoSEl2NUYzb3dtaGlrOHFJSUJMRWlXaW5wclFaZStibUpw?= =?utf-8?B?UE1HVS80dlpsTTR0QWprdHluQzF0RTMvTEVxOHpJUVE3NXN3THhaT1R3WE85?= =?utf-8?B?SGErOEtZSUlRTUxxMHZoOVJlMmx3d3JqV1d2b0daaHF2clNyeHlGRnNkVTdi?= =?utf-8?B?KzJoN0dBYVRWMmNWeng5SlZUeUUrc04ybGgwUkhUbEprOGhPWjVwRnlFdzdK?= =?utf-8?B?MG85bU5ZSnpDai9rV0V5eXRoNGgyRzhJTXdMckltbEVQVzhjRWFtV091enZl?= =?utf-8?B?Y3ZJKzFrR0NQMnl6U0dDNG85S2ZPRlVyUVkyUFNEQTNsOXk1bCt1Z2FDblBz?= =?utf-8?B?bVdZUWVmeGNUZVNMZUd3aWlBTFgybmFBVUgxb29RaUMyeENWaUF5R3dOME9U?= =?utf-8?B?ZFBwVkMxSlRVRmtoV2M2OXlIcElhU1p0SURuRi9yNzNSVlhzM2pheStBakxm?= =?utf-8?B?OU5idnZuL0dzdmxzL0hETno3Q2xpekd1enA5YjFSakpTQW1OUVZLSVVnR2Ns?= =?utf-8?B?Y2xHa3IxSzNLcjRhM1pvckh1SHo2SE1tZVVPVFVMUER4RDU1eXZ4VUVVY0FI?= =?utf-8?B?ci9jSEdmV0tTbWt5REVhZFV1ZURuZ3NIVTNUUXdmMEM2YzRsQjN3alNFNEhk?= =?utf-8?B?bHJxN1pCY3BnVmZpNG1qc3dBckZhNjVsSVR2YWc5bXBLMURhSXZseWZOWUZU?= =?utf-8?B?cE50ekQ5bkQwck5CNU1jWUVVYjh3UlE5dVp1aHNCanlSSmUrR0RmaFVwaTg4?= =?utf-8?B?QTF3QStHN2tjV0xWb1BxTkwvTkY4dEFsd1dmcVZZQjBwWXZvajhQSTZPWEpm?= =?utf-8?B?dUxKZ2QzSVVSMDBmOEg2aE8vSFZxa2VISXFlaENQd2FKTG1ROW9DUG1CeXl3?= =?utf-8?B?b2MwZWRPclMwMWZ5WW9qMUxUSEI5Zks0c0RBUGJXbk9LWnc3RDM0NTJPbHo1?= =?utf-8?B?V2xpODdldTlVS2RnaHdSVXUwdkN0V001b0sxSnpUSER4KzhVVU5tZDVGY25x?= =?utf-8?B?Wm5wV0FNOEl4cUlnaGs5RFhCNmFKMWlneDFJUlFvSjFkMk9UaHFjR2loejJh?= =?utf-8?B?dzR2U0VkSmFGaEVqelhqYS9tMVhReUhva3dJWFRjOTFvNDVLcEI5YjBMYzNQ?= =?utf-8?B?d203TFJkdlR5elZ2VjRNSXpDQWFoSEtWZXRZVHFlQXMyakhONWFOQ0RwWHRq?= =?utf-8?B?ZUp0aGNyMDRzanRXMy9lTC8wSzZnWjhKRUhYYTlwVFYwOVFVb2dHd2hyWGU1?= =?utf-8?B?YkVVS1p5WlpxWmdPR0luZ3hTSi82Q0IrbW9YbDRxRG0rT0FsWGxUL0V0KzZY?= =?utf-8?B?cEJDY01idHA0dkdFWi90Q1RqQkYyYjRBNmd1Z2VvWUwvMnVYYzBVSzZrVUhL?= =?utf-8?B?dzlGa1ExcGxIQkRNL3NvWkorcFBTMm5WbUVTbzQ0L0dIaG9ZN0JCbFpiNVhI?= =?utf-8?B?QlkvRk04WnlGZDJRQ2tBR3BIK3ZxKzlhaXJkQ0ZyMzJHUkZFYW41WVRBWkVH?= =?utf-8?B?Nnp2Q3l2M2JFMTN3am14aE1yOWQvUFVGNjkvUXpjMEU4MW9mNkNTRkNvdzVR?= =?utf-8?B?WThFNFFQQ2RSR1FaQm9ZOEw0T21PaTI5dVo0aHZFcHMxbmFXWEduQWhEcmxi?= =?utf-8?B?TURidW5seHBPdU15QjhCc09rcU5YRy95emlMK3dRMFArZmRIT1RkNHNvQnR5?= =?utf-8?B?QUFWdWJ1cmE5ZzZ3UmFHN1RKQ3o0MXBPbnF6OUFhV3lPZFJZWVIyQXpQVGtI?= =?utf-8?B?Q0tNQW1NZFV0MlhJbkFlZ2IwcXAvdzBscG5XR2xFY3JKc0FwOVdsQy9GZitw?= =?utf-8?B?NHA5QzlmU2daQ0hFNjB0QVp6djFjdjd0WEpOT2cwR2NkU1dnV2kyOEczbmZM?= =?utf-8?B?YURESzFTelRicVdtT2s1WE1FU1ZZSW83ZVdUWkZqRjUxZHpBVmp6MHhKSzhV?= =?utf-8?B?djRWcUFiOFc0aXNoUVp5MzJjZkJoU2EzOERXeVlaQ2hxZ0lVMGtSa0NuaWVp?= =?utf-8?B?YXlrODVHZVNqblJxM2orQ21OcUkrVS9OZVpnWSsxQndLS0UxaUFFbVFSRTVs?= =?utf-8?B?a2NndE9ORzJGclNJdWczblNrQ3I0VkdQUmprQ2VRYUZxUGJYS200SFFNeEFG?= =?utf-8?Q?rw2M=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: CH3PR12MB8233.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1b28f4aa-213d-4f10-d811-08dcf57e237f X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Oct 2024 05:22:08.9421 (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: RF3Surpm1Kq8+V/2ZWY4PIOvLmNGxPb+2VtezO4jWc7RBxMr6eCeVpWu2WHnsJCMEUogBTzyLzrrigCcNaE28w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8112 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 W0FNRCBPZmZpY2lhbCBVc2UgT25seSAtIEFNRCBJbnRlcm5hbCBEaXN0cmlidXRpb24gT25seV0N Cg0KSGkgSHVpc29uZywNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBs aWh1aXNvbmcgKEMpIDxsaWh1aXNvbmdAaHVhd2VpLmNvbT4NCj4gU2VudDogU2F0dXJkYXksIE9j dG9iZXIgMjYsIDIwMjQgODozNyBBTQ0KPiBUbzogVHVtbWFsYSwgU2l2YXByYXNhZCA8U2l2YXBy YXNhZC5UdW1tYWxhQGFtZC5jb20+DQo+IENjOiBkZXZAZHBkay5vcmc7IGRhdmlkLmh1bnRAaW50 ZWwuY29tOyBhbmF0b2x5LmJ1cmFrb3ZAaW50ZWwuY29tOw0KPiBqZXJpbmpAbWFydmVsbC5jb207 IHJhZHUubmljb2xhdUBpbnRlbC5jb207IGNyaXN0aWFuLmR1bWl0cmVzY3VAaW50ZWwuY29tOw0K PiBrb25zdGFudGluLmFuYW55ZXZAaHVhd2VpLmNvbTsgWWlnaXQsIEZlcnJ1aCA8RmVycnVoLllp Z2l0QGFtZC5jb20+Ow0KPiBnYWtoaWxAbWFydmVsbC5jb20NCj4gU3ViamVjdDogUmU6IFtQQVRD SCB2OSAxLzZdIHBvd2VyOiByZWZhY3RvciBjb3JlIHBvd2VyIG1hbmFnZW1lbnQgbGlicmFyeQ0K Pg0KPiBDYXV0aW9uOiBUaGlzIG1lc3NhZ2Ugb3JpZ2luYXRlZCBmcm9tIGFuIEV4dGVybmFsIFNv dXJjZS4gVXNlIHByb3BlciBjYXV0aW9uDQo+IHdoZW4gb3BlbmluZyBhdHRhY2htZW50cywgY2xp Y2tpbmcgbGlua3MsIG9yIHJlc3BvbmRpbmcuDQo+DQo+DQo+IEhpIFNpdmFwcmFzYWQsDQo+DQo+ IExHVE0gZXhjZXB0IGZvciBzb21lIHRyaXZpYWwgY29tbWVudHMgaW5saW5lLCBXaXRoIGJlbG93 cyB0byBjaGFuZ2UsIHlvdSBjYW4gYWRkDQo+IEFja2VkLWJ5OiBIdWlzb25nIExpIDxsaWh1aXNv bmdAaHVhd2VpLmNvbT4NCj4NCj4gL0h1aXNvbmcNCj4g5ZyoIDIwMjQvMTAvMjMgMTM6MTEsIFNp dmFwcmFzYWQgVHVtbWFsYSDlhpnpgZM6DQo+ID4gVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIGEgY29t cHJlaGVuc2l2ZSByZWZhY3RvciB0byB0aGUgY29yZSBwb3dlcg0KPiA+IG1hbmFnZW1lbnQgbGli cmFyeS4gVGhlIHByaW1hcnkgZm9jdXMgaXMgb24gaW1wcm92aW5nIG1vZHVsYXJpdHkgYW5kDQo+ ID4gb3JnYW5pemF0aW9uIGJ5IHJlbG9jYXRpbmcgc3BlY2lmaWMgZHJpdmVyIGltcGxlbWVudGF0 aW9ucyBmcm9tIHRoZQ0KPiA+ICdsaWIvcG93ZXInIGRpcmVjdG9yeSB0byBkZWRpY2F0ZWQgZGly ZWN0b3JpZXMgd2l0aGluDQo+ID4gJ2RyaXZlcnMvcG93ZXIvY29yZS8qJy4gVGhlIGFkanVzdG1l bnQgb2YgbWVzb24uYnVpbGQgZmlsZXMgZW5hYmxlcw0KPiA+IHRoZSBzZWxlY3RpdmUgYWN0aXZh dGlvbiBvZiBpbmRpdmlkdWFsIGRyaXZlcnMuDQo+ID4NCj4gPiBUaGVzZSBjaGFuZ2VzIGNvbnRy aWJ1dGUgdG8gYSBzaWduaWZpY2FudCBlbmhhbmNlbWVudCBpbiBjb2RlDQo+ID4gb3JnYW5pemF0 aW9uLCBwcm92aWRpbmcgYSBjbGVhcmVyIHN0cnVjdHVyZSBmb3IgZHJpdmVyIGltcGxlbWVudGF0 aW9ucy4NCj4gPiBUaGUgcmVmYWN0b3IgYWltcyB0byBpbXByb3ZlIG92ZXJhbGwgY29kZSBjbGFy aXR5IGFuZCBib29zdA0KPiA+IG1haW50YWluYWJpbGl0eS4gQWRkaXRpb25hbGx5LCBpdCBlc3Rh Ymxpc2hlcyBhIGZvdW5kYXRpb24gZm9yIGZ1dHVyZQ0KPiA+IGRldmVsb3BtZW50LCBhbGxvd2lu ZyBmb3IgbW9yZSBmb2N1c2VkIHdvcmsgb24gaW5kaXZpZHVhbCBkcml2ZXJzIGFuZA0KPiA+IHNl YW1sZXNzIGludGVncmF0aW9uIG9mIGZvcnRoY29taW5nIGVuaGFuY2VtZW50cy4NCj4gPg0KPiA+ IHY4Og0KPiA+ICAgLSBtYXJrZWQgcnRlX3Bvd2VyX2xvZ3R5cGUgYXMgaW50ZXJuYWwNCj4gPiAg IC0gcmVtb3ZlZCBjKysgZ3VhcmRzIGZvciBpbnRlcm5hbCBoZWFkZXIgZmlsZXMNCj4gPiAgIC0g cmVuYW1lZCBydGVfcG93ZXJfY3B1ZnJlcV9hcGkuaCBmb3IgbmFtaW5nIGNvbnZlbnRpb24NCj4g PiAgIC0gcmVuYW1lZCBydGVfcG93ZXJfcmVnaXN0ZXJfb3BzIGZvciBuYW1pbmcgY29udmVudGlv bg0KPiA+DQo+ID4gdjY6DQo+ID4gICAtIGZpeGVkIGNvbXBpbGF0aW9uIGVycm9yIHdpdGggc3lt Ym9sIGV4cG9ydCBpbiBBUEkNCj4gPiAgIC0gZXhwb3J0ZWQgcG93ZXJfZ2V0X2xjb3JlX21hcHBl ZF9jcHVfaWQgYXMgaW50ZXJuYWwgQVBJIHRvIGJlDQo+ID4gICAgIHVzZWQgaW4gZHJpdmVycy9w b3dlci8qDQo+ID4NCj4gPiB2NToNCj4gPiAgIC0gZml4ZWQgY29kZSBzdHlsZSB3YXJuaW5nDQo+ ID4NCj4gPiB2NDoNCj4gPiAgIC0gZml4ZWQgYnVpbGQgZXJyb3Igd2l0aCBSVEVfQVNTRVJUDQo+ ID4NCj4gPiB2MzoNCj4gPiAgIC0gcmVuYW1lZCBydGVfcG93ZXJfY29yZV9vcHMuaCBhcyBydGVf cG93ZXJfY3B1ZnJlcV9hcGkuaA0KPiA+ICAgLSByZS13b3JrZWQgb24gYXV0byBkZXRlY3Rpb24g bG9naWMNCj4gPg0KPiA+IHYyOg0KPiA+ICAgLSBhZGRlZCBOVUxMIGNoZWNrIGZvciBnbG9iYWxf Y29yZV9vcHMgaW4gcnRlX3Bvd2VyX2dldF9jb3JlX29wcw0KPiA+DQo+ID4gU2lnbmVkLW9mZi1i eTogU2l2YXByYXNhZCBUdW1tYWxhIDxzaXZhcHJhc2FkLnR1bW1hbGFAYW1kLmNvbT4NCj4gPiAt LS0NCj4gPHNuaXA+DQo+ID4gKw0KPiA+ICsvKioNCj4gPiArICogUmVnaXN0ZXIgcG93ZXIgY3B1 IGZyZXF1ZW5jeSBvcGVyYXRpb25zLg0KPiA+ICsgKg0KPiA+ICsgKiBAcGFyYW0gb3BzDQo+ID4g KyAqICAgUG9pbnRlciB0byBhbiBvcHMgc3RydWN0dXJlIHRvIHJlZ2lzdGVyLg0KPiA+ICsgKiBA cmV0dXJuDQo+ID4gKyAqICAgLSA+PTA6IFN1Y2Nlc3M7IHJldHVybiB0aGUgaW5kZXggb2YgdGhl IG9wcyBzdHJ1Y3QgaW4gdGhlIHRhYmxlLg0KPiA+ICsgKiAgIC0gLUVJTlZBTCAtIGVycm9yIHdo aWxlIHJlZ2lzdGVyaW5nIG9wcyBzdHJ1Y3QuDQo+IE5vdCB0aGUgaW5kZXggaW4gdGhlIHRhYmxl LCBuZWVkIHRvIGZpeCBpdC4NCj4gQlRXLCB0aGlzIEFQSSBhbHdheXMgc3VjY2VzcyBub3cuIHNv IG5vIHJldHVybiB2YWx1ZS4NCkFQSSBub3cgY29uc2lzdGVudGx5IHJldHVybnMgMCBvbiBzdWNj ZXNzLCByYXRoZXIgdGhhbiBhbiBpbmRleCBpbiB0aGUgdGFibGUuIEl0IHdpbGwgcmV0dXJuIGEg bmVnYXRpdmUgdmFsdWUgb24gZXJyb3IuDQpJJ2xsIHVwZGF0ZSB0aGUgZG9jdW1lbnRhdGlvbiB0 byByZWZsZWN0IHRoaXMgY2hhbmdlIGFuZCBhdm9pZCBhbnkgY29uZnVzaW9uLg0KPiA+ICsgKi8N Cj4gPiArX19ydGVfaW50ZXJuYWwNCj4gPiAraW50IHJ0ZV9wb3dlcl9yZWdpc3Rlcl9jcHVmcmVx X29wcyhzdHJ1Y3QgcnRlX3Bvd2VyX2NwdWZyZXFfb3BzDQo+ID4gKypvcHMpOw0KPiA+ICsNCj4g PiArLyoqDQo+ID4gKyAqIE1hY3JvIHRvIHN0YXRpY2FsbHkgcmVnaXN0ZXIgdGhlIG9wcyBvZiBh IGNwdWZyZXEgZHJpdmVyLg0KPiA+ICsgKi8NCj4gPiArI2RlZmluZSBSVEVfUE9XRVJfUkVHSVNU RVJfQ1BVRlJFUV9PUFMob3BzKSBcDQo+ID4gK1JURV9JTklUKHBvd2VyX2hkbHJfaW5pdF8jI29w cykgXA0KPiA+ICt7IFwNCj4gPiArICAgICBydGVfcG93ZXJfcmVnaXN0ZXJfY3B1ZnJlcV9vcHMo Jm9wcyk7IFwgfQ0KPiA+ICsNCj4gPiArI2VuZGlmDQo+ID4gZGlmZiAtLWdpdCBhL2xpYi9wb3dl ci9ydGVfcG93ZXIuYyBiL2xpYi9wb3dlci9ydGVfcG93ZXIuYyBpbmRleA0KPiA+IDM2YzNmM2Rh OTguLjMxNjhiNmQzMDEgMTAwNjQ0DQo+ID4gLS0tIGEvbGliL3Bvd2VyL3J0ZV9wb3dlci5jDQo+ ID4gKysrIGIvbGliL3Bvd2VyL3J0ZV9wb3dlci5jDQo+ID4gQEAgLTYsMTU1ICs2LDg4IEBADQo+ ID4NCj4gPiAgICNpbmNsdWRlIDxydGVfZXJybm8uaD4NCj4gPiAgICNpbmNsdWRlIDxydGVfc3Bp bmxvY2suaD4NCj4gPiArI2luY2x1ZGUgPHJ0ZV9kZWJ1Zy5oPg0KPiA+DQo+ID4gICAjaW5jbHVk ZSAicnRlX3Bvd2VyLmgiDQo+ID4gLSNpbmNsdWRlICJwb3dlcl9hY3BpX2NwdWZyZXEuaCINCj4g PiAtI2luY2x1ZGUgInBvd2VyX2NwcGNfY3B1ZnJlcS5oIg0KPiA+ICAgI2luY2x1ZGUgInBvd2Vy X2NvbW1vbi5oIg0KPiA+IC0jaW5jbHVkZSAicG93ZXJfa3ZtX3ZtLmgiDQo+ID4gLSNpbmNsdWRl ICJwb3dlcl9wc3RhdGVfY3B1ZnJlcS5oIg0KPiA+IC0jaW5jbHVkZSAicG93ZXJfYW1kX3BzdGF0 ZV9jcHVmcmVxLmgiDQo+ID4NCj4gPiAtZW51bSBwb3dlcl9tYW5hZ2VtZW50X2VudiBnbG9iYWxf ZGVmYXVsdF9lbnYgPSBQTV9FTlZfTk9UX1NFVDsNCj4gPiArc3RhdGljIGVudW0gcG93ZXJfbWFu YWdlbWVudF9lbnYgZ2xvYmFsX2RlZmF1bHRfZW52ID0NCj4gUE1fRU5WX05PVF9TRVQ7DQo+ID4g K3N0YXRpYyBzdHJ1Y3QgcnRlX3Bvd2VyX2NwdWZyZXFfb3BzICpnbG9iYWxfY3B1ZnJlcV9vcHM7 DQo+ID4NCj4gPiAgIHN0YXRpYyBydGVfc3BpbmxvY2tfdCBnbG9iYWxfZW52X2NmZ19sb2NrID0N Cj4gPiBSVEVfU1BJTkxPQ0tfSU5JVElBTElaRVI7DQo+ID4gLQ0KPiA+IC0vKiBmdW5jdGlvbiBw b2ludGVycyAqLw0KPiA+IC1ydGVfcG93ZXJfZnJlcXNfdCBydGVfcG93ZXJfZnJlcXMgID0gTlVM TDsgLXJ0ZV9wb3dlcl9nZXRfZnJlcV90DQo+ID4gcnRlX3Bvd2VyX2dldF9mcmVxID0gTlVMTDsg LXJ0ZV9wb3dlcl9zZXRfZnJlcV90IHJ0ZV9wb3dlcl9zZXRfZnJlcSA9DQo+ID4gTlVMTDsgLXJ0 ZV9wb3dlcl9mcmVxX2NoYW5nZV90IHJ0ZV9wb3dlcl9mcmVxX3VwID0gTlVMTDsNCj4gPiAtcnRl X3Bvd2VyX2ZyZXFfY2hhbmdlX3QgcnRlX3Bvd2VyX2ZyZXFfZG93biA9IE5VTEw7DQo+ID4gLXJ0 ZV9wb3dlcl9mcmVxX2NoYW5nZV90IHJ0ZV9wb3dlcl9mcmVxX21heCA9IE5VTEw7DQo+ID4gLXJ0 ZV9wb3dlcl9mcmVxX2NoYW5nZV90IHJ0ZV9wb3dlcl9mcmVxX21pbiA9IE5VTEw7DQo+ID4gLXJ0 ZV9wb3dlcl9mcmVxX2NoYW5nZV90IHJ0ZV9wb3dlcl90dXJib19zdGF0dXM7DQo+ID4gLXJ0ZV9w b3dlcl9mcmVxX2NoYW5nZV90IHJ0ZV9wb3dlcl9mcmVxX2VuYWJsZV90dXJibzsNCj4gPiAtcnRl X3Bvd2VyX2ZyZXFfY2hhbmdlX3QgcnRlX3Bvd2VyX2ZyZXFfZGlzYWJsZV90dXJibzsNCj4gPiAt cnRlX3Bvd2VyX2dldF9jYXBhYmlsaXRpZXNfdCBydGVfcG93ZXJfZ2V0X2NhcGFiaWxpdGllczsN Cj4gPiAtDQo+ID4gLXN0YXRpYyB2b2lkDQo+ID4gLXJlc2V0X3Bvd2VyX2Z1bmN0aW9uX3B0cnMo dm9pZCkNCj4gPiArc3RhdGljIFJURV9UQUlMUV9IRUFEKCwgcnRlX3Bvd2VyX2NwdWZyZXFfb3Bz KSBjcHVmcmVxX29wc19saXN0ID0NCj4gPiArICAgICAgICAgICAgICAgICAgICAgVEFJTFFfSEVB RF9JTklUSUFMSVpFUihjcHVmcmVxX29wc19saXN0KTsNCj4gPiArDQo+ID4gK2NvbnN0IGNoYXIg KnBvd2VyX2Vudl9zdHJbXSA9IHsNCj4gPiArICAgICAibm90IHNldCIsDQo+ID4gKyAgICAgImFj cGkiLA0KPiA+ICsgICAgICJrdm0tdm0iLA0KPiA+ICsgICAgICJwc3RhdGUiLA0KPiA+ICsgICAg ICJjcHBjIiwNCj4gPiArICAgICAiYW1kLXBzdGF0ZSINCj4gPiArfTsNCj4NCj4gSG93IHVzZSB0 aGUgIm5vdCBzZXQiPyBJIGRvbid0IGtub3cgd2hhdCBpdHMgdXNhZ2UgaXMuIERvIHdlIG5lZWQg dG8gY29uc2lkZXINCj4gcmVtb3ZpbmcgaXQgbGF0ZXI/DQpUaGUgIm5vdCBzZXQiIGlzIGRlZmF1 bHQgc3RhdGUgYW5kIGluZGljYXRlcyBubyBzcGVjaWZpYyBjcHVmcmVxIG1hbmFnZW1lbnQgZHJp dmVyIGlzIGFjdGl2ZS4NCklmIHRoZSBzcGVjaWZpYyBkcml2ZXIgKGxvY2F0ZWQgaW4gZHJpdmVy cy9wb3dlci8qKSBpcyBkaXNhYmxlZCBkdXJpbmcgdGhlIGJ1aWxkIHByb2Nlc3MsDQp0aGUgQVBJ IHdpbGwgZmFpbCB0byBjb25maWd1cmUgdGhlIGVudmlyb25tZW50LCBsZWF2aW5nIGl0IGluIHRo ZSAibm90IHNldCIgc3RhdGUuDQo+DQo+ID4gKw0KPiA+ICsvKiByZWdpc3RlciB0aGUgb3BzIHN0 cnVjdCBpbiBydGVfcG93ZXJfY3B1ZnJlcV9vcHMsIHJldHVybiAwIG9uDQo+ID4gK3N1Y2Nlc3Mu ICovIGludCBydGVfcG93ZXJfcmVnaXN0ZXJfY3B1ZnJlcV9vcHMoc3RydWN0DQo+ID4gK3J0ZV9w b3dlcl9jcHVmcmVxX29wcyAqZHJpdmVyX29wcykNCj4gPiAgIHsNCj4gPiAtICAgICBydGVfcG93 ZXJfZnJlcXMgID0gTlVMTDsNCj4gPiAtICAgICBydGVfcG93ZXJfZ2V0X2ZyZXEgPSBOVUxMOw0K PiA+IC0gICAgIHJ0ZV9wb3dlcl9zZXRfZnJlcSA9IE5VTEw7DQo+ID4gLSAgICAgcnRlX3Bvd2Vy X2ZyZXFfdXAgPSBOVUxMOw0KPiA+IC0gICAgIHJ0ZV9wb3dlcl9mcmVxX2Rvd24gPSBOVUxMOw0K PiA+IC0gICAgIHJ0ZV9wb3dlcl9mcmVxX21heCA9IE5VTEw7DQo+ID4gLSAgICAgcnRlX3Bvd2Vy X2ZyZXFfbWluID0gTlVMTDsNCj4gPiAtICAgICBydGVfcG93ZXJfdHVyYm9fc3RhdHVzID0gTlVM TDsNCj4gPiAtICAgICBydGVfcG93ZXJfZnJlcV9lbmFibGVfdHVyYm8gPSBOVUxMOw0KPiA+IC0g ICAgIHJ0ZV9wb3dlcl9mcmVxX2Rpc2FibGVfdHVyYm8gPSBOVUxMOw0KPiA+IC0gICAgIHJ0ZV9w b3dlcl9nZXRfY2FwYWJpbGl0aWVzID0gTlVMTDsNCj4gPiArICAgICBpZiAoIWRyaXZlcl9vcHMt PmluaXQgfHwgIWRyaXZlcl9vcHMtPmV4aXQgfHwNCj4gPiArICAgICAgICAgICAgICFkcml2ZXJf b3BzLT5jaGVja19lbnZfc3VwcG9ydCB8fCAhZHJpdmVyX29wcy0+Z2V0X2F2YWlsX2ZyZXFzIHx8 DQo+ID4gKyAgICAgICAgICAgICAhZHJpdmVyX29wcy0+Z2V0X2ZyZXEgfHwgIWRyaXZlcl9vcHMt PnNldF9mcmVxIHx8DQo+ID4gKyAgICAgICAgICAgICAhZHJpdmVyX29wcy0+ZnJlcV91cCB8fCAh ZHJpdmVyX29wcy0+ZnJlcV9kb3duIHx8DQo+ID4gKyAgICAgICAgICAgICAhZHJpdmVyX29wcy0+ ZnJlcV9tYXggfHwgIWRyaXZlcl9vcHMtPmZyZXFfbWluIHx8DQo+ID4gKyAgICAgICAgICAgICAh ZHJpdmVyX29wcy0+dHVyYm9fc3RhdHVzIHx8ICFkcml2ZXJfb3BzLT5lbmFibGVfdHVyYm8gfHwN Cj4gPiArICAgICAgICAgICAgICFkcml2ZXJfb3BzLT5kaXNhYmxlX3R1cmJvIHx8ICFkcml2ZXJf b3BzLT5nZXRfY2Fwcykgew0KPiA+ICsgICAgICAgICAgICAgUE9XRVJfTE9HKEVSUiwgIk1pc3Np bmcgY2FsbGJhY2tzIHdoaWxlIHJlZ2lzdGVyaW5nIGNwdWZyZXEgb3BzIik7DQo+ID4gKyAgICAg ICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4gPiArICAgICB9DQo+ID4gKw0KPiA+ICsgICAgIFRB SUxRX0lOU0VSVF9UQUlMKCZjcHVmcmVxX29wc19saXN0LCBkcml2ZXJfb3BzLCBuZXh0KTsNCj4g PiArDQo+ID4gKyAgICAgcmV0dXJuIDA7DQo+ID4gICB9DQo+IHN1Z2dlc3QgdGhhdCBjaGFuZ2Ug ZnVuY3Rpb24gcmV0dXJuIHZhbHVlIGFzIGFib3ZlIG1lbnRpb24uDQpTYW1lIGFzIGFib3ZlLg0K PiA+DQo+ID4gICBpbnQNCj4gPiAgIHJ0ZV9wb3dlcl9jaGVja19lbnZfc3VwcG9ydGVkKGVudW0g cG93ZXJfbWFuYWdlbWVudF9lbnYgZW52KQ0KPiA+ICAgew0KPiA+IC0gICAgIHN3aXRjaCAoZW52 KSB7DQo+ID4gLSAgICAgY2FzZSBQTV9FTlZfQUNQSV9DUFVGUkVROg0KPiA+IC0gICAgICAgICAg ICAgcmV0dXJuIHBvd2VyX2FjcGlfY3B1ZnJlcV9jaGVja19zdXBwb3J0ZWQoKTsNCj4gPiAtICAg ICBjYXNlIFBNX0VOVl9QU1RBVEVfQ1BVRlJFUToNCj4gPiAtICAgICAgICAgICAgIHJldHVybiBw b3dlcl9wc3RhdGVfY3B1ZnJlcV9jaGVja19zdXBwb3J0ZWQoKTsNCj4gPiAtICAgICBjYXNlIFBN X0VOVl9LVk1fVk06DQo+ID4gLSAgICAgICAgICAgICByZXR1cm4gcG93ZXJfa3ZtX3ZtX2NoZWNr X3N1cHBvcnRlZCgpOw0KPiA+IC0gICAgIGNhc2UgUE1fRU5WX0NQUENfQ1BVRlJFUToNCj4gPiAt ICAgICAgICAgICAgIHJldHVybiBwb3dlcl9jcHBjX2NwdWZyZXFfY2hlY2tfc3VwcG9ydGVkKCk7 DQo+ID4gLSAgICAgY2FzZSBQTV9FTlZfQU1EX1BTVEFURV9DUFVGUkVROg0KPiA+IC0gICAgICAg ICAgICAgcmV0dXJuIHBvd2VyX2FtZF9wc3RhdGVfY3B1ZnJlcV9jaGVja19zdXBwb3J0ZWQoKTsN Cj4gPiAtICAgICBkZWZhdWx0Og0KPiA+IC0gICAgICAgICAgICAgcnRlX2Vycm5vID0gRUlOVkFM Ow0KPiA+IC0gICAgICAgICAgICAgcmV0dXJuIC0xOw0KPiA+IC0gICAgIH0NCj4gPiArICAgICBz dHJ1Y3QgcnRlX3Bvd2VyX2NwdWZyZXFfb3BzICpvcHM7DQo+ID4gKw0KPiA+ICsgICAgIGlmIChl bnYgPj0gUlRFX0RJTShwb3dlcl9lbnZfc3RyKSkNCj4gPiArICAgICAgICAgICAgIHJldHVybiAw Ow0KPiA+ICsNCj4gPiArICAgICBSVEVfVEFJTFFfRk9SRUFDSChvcHMsICZjcHVmcmVxX29wc19s aXN0LCBuZXh0KQ0KPiA+ICsgICAgICAgICAgICAgaWYgKHN0cm5jbXAob3BzLT5uYW1lLCBwb3dl cl9lbnZfc3RyW2Vudl0sDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX1BP V0VSX0RSSVZFUl9OQU1FU1opID09IDApDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgIHJldHVy biBvcHMtPmNoZWNrX2Vudl9zdXBwb3J0KCk7DQo+ID4gKw0KPiA+ICsgICAgIHJldHVybiAwOw0K PiA+ICAgfQ0KPiA+DQo+IDxzbmlwPg0K