From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id A000BA04B6; Mon, 12 Oct 2020 14:50:10 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 7EAE41D6ED; Mon, 12 Oct 2020 14:50:09 +0200 (CEST) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 540861D6EC for ; Mon, 12 Oct 2020 14:50:06 +0200 (CEST) IronPort-SDR: upWBtAOd1oGA6bNjOsIn/q9xEBs9XGRhMNfcgf0M0zxQ2XIL1100RYT9rdL2oSN5U/4QRuMLP8 PXy8xWhk0OhA== X-IronPort-AV: E=McAfee;i="6000,8403,9771"; a="164946364" X-IronPort-AV: E=Sophos;i="5.77,366,1596524400"; d="scan'208";a="164946364" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Oct 2020 05:50:04 -0700 IronPort-SDR: 6ht6WQeZVuI7GO19qdIuTiKt/TOGHSVQoxMXplPWW3tduHijU9bwhyCrlKLyydern4U8UfppBr +QqEL59gB4jw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,366,1596524400"; d="scan'208";a="356609131" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga007.jf.intel.com with ESMTP; 12 Oct 2020 05:50:04 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 12 Oct 2020 05:50:03 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 12 Oct 2020 05:50:03 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Mon, 12 Oct 2020 05:50:03 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.106) 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; Mon, 12 Oct 2020 05:50:02 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=c62m3JU3Zvp8V9u2Vb62Rbpz8P7jkuyJ1MSjaRCKX7nP2eM6GlEDiOy4LeUv9WnRV2CutggVSL7ivBhVpuJZJbShCu+CG8K/rH4o3MvkIhP4kzM0yOlbzfIdFXdWBCnzc0gjMXG2/F4ocOB952NdcmwvNdqFDZ6V+TTVqdA9DR8GgSL+L2Aj1F3vS+wQ55GBxDSDNTCwyxeL73AST/wYUK8b9elErq8EDNaBA6XlwTtF3qfwCz6LXokhC1ovD5IOgjpnZbY5EPicaUqc75j/rsgPcTxJtStpqAGpjKjW0kS1JdM8QFuFcaja90osQ4ejcZZWo7qlaMWOJ1OUZWEmwg== 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=r3Ztd5hGisGQw5/3/YCtHbc9mqqmPPno1l1MlijuNIc=; b=U7zB/FfydVBMJu9ktUmDNG7wonZnwD/UEvEqfHD+Q402koV296cNmjgi9nGY4r1dAXFwhROYrgxXiALPDNt1a5LNmvrIqqGESv/m5dFnRVL3QGfnHCg4FRSK3xtJ50atSmRI5SMnqgTladD3Nfa293dQvShg8V6IznQ80YDiBReOH17txaXj1n5acQCLOcJ9kAsfZq8V9TFSb0tfdQWcxwB5x/SPXYpR1795u3+xFSavH3gw5vXG0101tqgh5dOdj707++5avMg8LdmrgP02pw8NxFTPMON3oSPn1JwTJ2L8C+N91v8Vr5S6DM1Jba1j5KkDwny2oP7RmdMmK9og4g== 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=r3Ztd5hGisGQw5/3/YCtHbc9mqqmPPno1l1MlijuNIc=; b=vSU4G7A25yCGLXivMbEEp0XcIfx6/QAJGcXWQ7876y3CkmEoTmqFE3MCPOLyPI6dxOcHvwZhR9taeZKZb3NpU1WipHMoop4qXDSq1qpBbywE4kf2EzzBqWe5mYRCePRshqHFvsoQLGDPYuN7WP1DiRE9Pb82jrMNXoL9rDRkmu4= Received: from BYAPR11MB3301.namprd11.prod.outlook.com (2603:10b6:a03:7f::26) by BYAPR11MB2535.namprd11.prod.outlook.com (2603:10b6:a02:be::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3455.21; Mon, 12 Oct 2020 12:50:00 +0000 Received: from BYAPR11MB3301.namprd11.prod.outlook.com ([fe80::f5a4:3f6b:ade3:296b]) by BYAPR11MB3301.namprd11.prod.outlook.com ([fe80::f5a4:3f6b:ade3:296b%3]) with mapi id 15.20.3455.029; Mon, 12 Oct 2020 12:50:00 +0000 From: "Ananyev, Konstantin" To: "Burakov, Anatoly" , "Ma, Liang J" , "dev@dpdk.org" CC: "Hunt, David" , "stephen@networkplumber.org" Thread-Topic: [dpdk-dev] [PATCH v4 02/10] eal: add power management intrinsics Thread-Index: AQHWmMYPBOcZdcvgJkGANiNLSAilV6mN+sZAgAEL54CAAGXHYIAAD3EAgAAKK2CAAANvgIABULaQgAL7BICAAABlAIAAGjHA Date: Mon, 12 Oct 2020 12:50:00 +0000 Message-ID: References: <1599214740-3927-1-git-send-email-liang.j.ma@intel.com> <1601647919-25312-1-git-send-email-liang.j.ma@intel.com> <1601647919-25312-2-git-send-email-liang.j.ma@intel.com> <665bcb31-dcf0-553b-bae1-054e5f50e77f@intel.com> <3609c5b3-f431-3954-6350-cb2de77b72a7@intel.com> <7e3bedc9-db3d-262e-c0ab-62b53d60fc7c@intel.com> In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [46.7.39.127] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c9ca4fa0-15e5-4e4c-048f-08d86ead54ed x-ms-traffictypediagnostic: BYAPR11MB2535: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 3SHZkeG0vWdoTZU5iAyrhr9gauzlXx9SNDXdwjE+89rV8FYXddWxBHCOt9j0EdIJ7h9ILx3zrDXzjdhQeh2+FCAVCsm/M5mIoWnAmO9n05iQjkgv+ijDxMpYzlfqPV1krsVTDuS/g27DaCtsi6n1/qX/6pgHjqd0g5sQLMkhJstMDAJlzJeA6xOaoZmM52ODFWvn4DH/nWxyKU7Pum7COpQHr5IY+VihQ1oIfGkXfP81u3nRAfM1jY91fgVvtj1ikXBBUYuqzJqXXGJm75XNLSONLa5FsOTLnVrmMWZb80W9jV+cz9hl+EjjObIKQBhQx6TwgpQp8q4nwfZg2ESV23KokBWmIMbhzuyKWkBfb3fc43nBJmjMm7aLB360F77nVt+7xdGipWc7fbnlAfetfg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR11MB3301.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(39860400002)(136003)(376002)(396003)(366004)(346002)(110136005)(54906003)(7696005)(9686003)(8676002)(71200400001)(2906002)(8936002)(4326008)(6506007)(5660300002)(52536014)(316002)(478600001)(33656002)(966005)(26005)(55016002)(86362001)(83380400001)(186003)(66446008)(64756008)(66556008)(66946007)(66476007)(76116006)(83080400001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: ASzG2kLCuuwUtHKKHzxz8Q/skeQN8E2eDmr53miu7jGHX4v/wjk3RzXYVg/9/11OlZ9afg+mHy0fzpxki7JyjkgKAuenXHBHr+kvvern6Che6sharwLLbRMRXtH04O4N6mfFwDu/9Ia8aIc51NvH05IKVHxRqnPTW2Q9Ay8J0PDGE3Y5zHIJHND6VizajI30CGLrvCKfjdl3cbkTFxIpXY0LvaKW9uxB4EKeU07tMG2Zw8WhCgkjer4L/e28UQwatU0BwhB3I6KFRzViMq01DDtPvMfGxPp9S9pyIB5vF8lf5sROnCUvJKEzDmtmXp8VSKlZWzDZdjWN9S/FcF8jYRCq4RnxIMSAlDhiS6YuP3UourMnwJwY0D/ILyTLinDl7p/gI0YW6mlW+lI/YiS1tlIk3FFB8TOanFFvGmgR57NXfikD2OHv1cBB5KqcfgTPmrGRH7vVb1PT2ke0zNx2MZ4IYUMJNzGgKV/uD7mXgXV6Au8Yf3ATLjpBFz0vE1Blr1CTEJnxWA/0MDJHWeM7Tv3quuq7u+URvJ2HjQ+6SxFjz7lenk3mdfL7H6HxIp8qvSAZ3XxERcpgMvRYgPrlp452dwFjgNG4vAQhnQq7aF4StSXs9SD3+ChFO2OdXLqSmjnBFYolfA5DuLwYgRsgTQ== 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: BYAPR11MB3301.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c9ca4fa0-15e5-4e4c-048f-08d86ead54ed X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Oct 2020 12:50:00.4293 (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: EMos0KLiSodfbkMp2R5Fc82CfCO86sExJaXYXhNm0wwqzK6v1VnNaRdkCVgPGI3ZkLURPwAJMMYgiWFqi2QraCca/kJ/E+dSBPK0ic+Z6v8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB2535 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v4 02/10] eal: add power management intrinsics X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" DQo+ID4+DQo+ID4+Pj4+Pj4+PiBBZGQgdHdvIG5ldyBwb3dlciBtYW5hZ2VtZW50IGludHJpbnNp Y3MsIGFuZCBwcm92aWRlIGFuDQo+ID4+Pj4+Pj4+PiBpbXBsZW1lbnRhdGlvbg0KPiA+Pj4+Pj4+ Pj4gaW4gZWFsL3g4NiBiYXNlZCBvbiBVTU9OSVRPUi9VTVdBSVQgaW5zdHJ1Y3Rpb25zLiBUaGUg aW5zdHJ1Y3Rpb25zDQo+ID4+Pj4+Pj4+PiBhcmUgaW1wbGVtZW50ZWQgYXMgcmF3IGJ5dGUgb3Bj b2RlcyBiZWNhdXNlIHRoZXJlIGlzIG5vdCB5ZXQNCj4gPj4+Pj4+Pj4+IHdpZGVzcHJlYWQNCj4g Pj4+Pj4+Pj4+IGNvbXBpbGVyIHN1cHBvcnQgZm9yIHRoZXNlIGluc3RydWN0aW9ucy4NCj4gPj4+ Pj4+Pj4+DQo+ID4+Pj4+Pj4+PiBUaGUgcG93ZXIgbWFuYWdlbWVudCBpbnN0cnVjdGlvbnMgcHJv dmlkZSBhbiBhcmNoaXRlY3R1cmUtc3BlY2lmaWMNCj4gPj4+Pj4+Pj4+IGZ1bmN0aW9uIHRvIGVp dGhlciB3YWl0IHVudGlsIGEgc3BlY2lmaWVkIFRTQyB0aW1lc3RhbXAgaXMNCj4gPj4+Pj4+Pj4+ IHJlYWNoZWQsIG9yDQo+ID4+Pj4+Pj4+PiBvcHRpb25hbGx5IHdhaXQgdW50aWwgZWl0aGVyIGEg VFNDIHRpbWVzdGFtcCBpcyByZWFjaGVkIG9yIGENCj4gPj4+Pj4+Pj4+IG1lbW9yeQ0KPiA+Pj4+ Pj4+Pj4gbG9jYXRpb24gaXMgd3JpdHRlbiB0by4gVGhlIG1vbml0b3IgZnVuY3Rpb24gYWxzbyBw cm92aWRlcyBhbg0KPiA+Pj4+Pj4+Pj4gb3B0aW9uYWwNCj4gPj4+Pj4+Pj4+IGNvbXBhcmlzb24s IHRvIGF2b2lkIHNsZWVwaW5nIHdoZW4gdGhlIGV4cGVjdGVkIHdyaXRlIGhhcyBhbHJlYWR5DQo+ ID4+Pj4+Pj4+PiBoYXBwZW5lZCwgYW5kIG5vIG1vcmUgd3JpdGVzIGFyZSBleHBlY3RlZC4NCj4g Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4gSSB0aGluayB3aGF0IHRoaXMgQVBJIGlzIG1pc3NpbmcgLSBh IGZ1bmN0aW9uIHRvIHdha2V1cCBzbGVlcGluZw0KPiA+Pj4+Pj4+PiBjb3JlLg0KPiA+Pj4+Pj4+ PiBJZiB1c2VyIGNhbi9zaG91bGQgdXNlIHNvbWUgc3lzdGVtIGNhbGwgdG8gYWNoaWV2ZSB0aGF0 LCB0aGVuIGF0DQo+ID4+Pj4+Pj4+IGxlYXN0DQo+ID4+Pj4+Pj4+IGl0IGhhcyB0byBiZSBjbGVh cmx5IGRvY3VtZW50ZWQsIGV2ZW4gYmV0dGVyIHNvbWUgd3JhcHBlciBwcm92aWRlZC4NCj4gPj4+ Pj4+Pg0KPiA+Pj4+Pj4+IEkgZG9uJ3QgdGhpbmsgaXQncyBwb3NzaWJsZSB0byBkbyB0aGF0IHdp dGhvdXQgc2V2ZXJlbHkNCj4gPj4+Pj4+PiBvdmVyY29tcGxpY2F0aW5nDQo+ID4+Pj4+Pj4gdGhl IGludHJpbnNpYyBhbmQgaXRzIHVzYWdlLCBiZWNhdXNlIEFGQUlLIHRoZSBvbmx5IHdheSB0byB3 YWtlIHVwIGENCj4gPj4+Pj4+PiBzbGVlcGluZyBjb3JlIHdvdWxkIGJlIHRvIHNlbmQgc29tZSBr aW5kIG9mIGludGVycnVwdCB0byB0aGUNCj4gPj4+Pj4+PiBjb3JlLCBvcg0KPiA+Pj4+Pj4+IHRy aWdnZXIgYSB3cml0ZSB0byB0aGUgY2FjaGUtbGluZSBpbiBxdWVzdGlvbi4NCj4gPj4+Pj4+Pg0K PiA+Pj4+Pj4NCj4gPj4+Pj4+IFllcywgSSB0aGluayB3ZSBlaXRoZXIgbmVlZCBhIHN5c2NhbGwg dGhhdCB3b3VsZCBkbyBhbiBJUEkgZm9yIHVzDQo+ID4+Pj4+PiAob24gdG9wIG9mIG15IGhlYWQg LSBtZW1iYXJyaWVyKCkgZG9lcyB0aGF0LCBtaWdodCBiZSB0aGVyZSBhcmUNCj4gPj4+Pj4+IHNv bWUgb3RoZXIgc3lzY2FsbHMgdG9vKSwNCj4gPj4+Pj4+IG9yIHNvbWV0aGluZyBoYW5kLW1hZGUu IEZvciBoYW5kLW1hZGUsIEkgd29uZGVyIHdvdWxkIHNvbWV0aGluZw0KPiA+Pj4+Pj4gbGlrZSB0 aGF0DQo+ID4+Pj4+PiBiZSBzYWZlIGFuZCBzdWZmaWNpZW50Og0KPiA+Pj4+Pj4gdWludDY0X3Qg dmFsID0gYXRvbWljX2xvYWQoYWRkcik7DQo+ID4+Pj4+PiBDQVMoYWRkciwgdmFsLCAmdmFsKTsN Cj4gPj4+Pj4+ID8NCj4gPj4+Pj4+IEFueXdheSwgb25lIHdheSBvciBhbm90aGVyIC0gSSB0aGlu ayBhYmlsaXR5IHRvIHdha2V1cCBjb3JlIHdlIHB1dA0KPiA+Pj4+Pj4gdG8gc2xlZXANCj4gPj4+ Pj4+IGhhdmUgdG8gYmUgYW4gZXNzZW50aWFsIHBhcnQgb2YgdGhpcyBmZWF0dXJlLg0KPiA+Pj4+ Pj4gQXMgSSB1bmRlcnN0YW5kIGxpbnV4IGtlcm5lbCB3aWxsIGxpbWl0IG1heCBhbW91bnQgb2Yg c2xlZXAgdGltZQ0KPiA+Pj4+Pj4gZm9yIHRoZXNlIGluc3RydWN0aW9uczoNCj4gPj4+Pj4+IGh0 dHBzOi8vbHduLm5ldC9BcnRpY2xlcy83OTA5MjAvDQo+ID4+Pj4+PiBCdXQgcmVseWluZyBqdXN0 IG9uIHRoYXQsIHNlZW1zIHRvbyB2YWd1ZSBmb3IgbWU6DQo+ID4+Pj4+PiAtIHVzZXIgY2FuIGFk anVzdCB0aGF0IHZhbHVlDQo+ID4+Pj4+PiAtIHdvdWxkbid0IGFwcGx5IHRvIG9sZGVyIGtlcm5l bHMgYW5kIG5vbi1saW51eCBjYXNlcw0KPiA+Pj4+Pj4gS29uc3RhbnRpbg0KPiA+Pj4+Pj4NCj4g Pj4+Pj4NCj4gPj4+Pj4gVGhpcyBpbXBsaWVzIGtub3dpbmcgdGhlIHZhbHVlIHRoZSBjb3JlIGlz IHNsZWVwaW5nIG9uLg0KPiA+Pj4+DQo+ID4+Pj4gWW91IGRvbid0IHRoZSB2YWx1ZSB0byB3YWl0 IGZvciwgeW91IGp1c3QgbmVlZCBhbiBhZGRyZXNzLg0KPiA+Pj4+IEFuZCB5b3UgY2FuIG1ha2Ug d2FrZXVwIGZ1bmN0aW9uIHRvIGFjY2VwdCBhZGRyZXNzIGFzIGEgcGFyYW1ldGVyLA0KPiA+Pj4+ IHNhbWUgYXMgbW9uaXRvcigpIGRvZXMuDQo+ID4+Pg0KPiA+Pj4gU29ycnksIGkgbWVhbnQgdGhl IGFkZHJlc3MuIFdlIGRvbid0IGtub3cgdGhlIGFkZHJlc3Mgd2UncmUgc2xlZXBpbmcgb24uDQo+ ID4+Pg0KPiA+Pj4+DQo+ID4+Pj4+IFRoYXQncyBub3QNCj4gPj4+Pj4gYWx3YXlzIHRoZSBjYXNl IC0gd2l0aCB0aGlzIHBhcnRpY3VsYXIgUE1EIHBvd2VyIG1hbmFnZW1lbnQgc2NoZW1lLCB3ZQ0K PiA+Pj4+PiBnZXQgdGhlIGFkZHJlc3MgZnJvbSB0aGUgUE1EIGFuZCBpdCBzdGF5cyBpbnNpZGUg dGhlIGNhbGxiYWNrLg0KPiA+Pj4+DQo+ID4+Pj4gVGhhdCdzIGZpbmUgLSB5b3UgY2FuIHN0b3Jl IGFkZHJlc3MgaW5zaWRlIHlvdSBjYWxsYmFjayBtZXRhZGF0YQ0KPiA+Pj4+IGFuZCBkbyB3YWtl dXAgYXMgcGFydCBvZiBfZGlzYWJsZV8gZnVuY3Rpb24uDQo+ID4+Pj4NCj4gPj4+DQo+ID4+PiBU aGUgYWRkcmVzcyBtYXkgYmUgZGlmZmVyZW50LCBhbmQgYnkgdGhlIHRpbWUgd2UgYWNjZXNzIHRo ZSBhZGRyZXNzIGl0DQo+ID4+PiBtYXkgYmVjb21lIHN0YWxlLCBzbyBpIGRvbid0IHNlZSBob3cg dGhhdCB3b3VsZCBoZWxwIHVubGVzcyB5b3UncmUNCj4gPj4+IHN1Z2dlc3RpbmcgdG8gaGF2ZSBz b21lIGtpbmQgb2Ygc3luY2hyb25pemF0aW9uIG1lY2hhbmlzbSB0aGVyZS4NCj4gPj4NCj4gPj4g WWVzLCB3ZSdsbCBuZWVkIHNvbWV0aGluZyB0byBzeW5jIGhlcmUgZm9yIHN1cmUuDQo+ID4+IFNv cnJ5LCBJIHNob3VsZCBzYXkgaXQgc3RyYWlnaHR3YXksIHRvIGF2b2lkIGZ1cnRoZXIgbWlzdW5k ZXJzdGFuZGluZy4NCj4gPj4gTGV0IHNheSwgYXNzb2NpYXRlIGEgc3Bpbl9sb2NrIHdpdGggbW9u aXRvcigpLCBieSBhbmFsb2d5IHdpdGgNCj4gPj4gcHRocmVhZF9jb25kX3dhaXQoKS4NCj4gPj4g S29uc3RhbnRpbg0KPiA+Pg0KPiA+DQo+ID4gVGhlIGlkZWEgd2FzIHRvIHByb3ZpZGUgYW4gaW50 cmluc2ljLWxpa2UgZnVuY3Rpb24gLSBhcyBpbiwgcmF3DQo+ID4gaW5zdHJ1Y3Rpb24gY2FsbCwg d2l0aG91dCBhbnl0aGluZyBleHRyYS4gV2UgZXZlbiBhZGRlZCB0aGUgbWFza3MvdmFsdWVzDQo+ ID4gZXRjLiBvbmx5IGJlY2F1c2UgdGhlcmUncyBubyByYWNlLWxlc3Mgd2F5IHRvIGNvbWJpbmUg VU1PTklUT1IvVU1XQUlUDQo+ID4gd2l0aG91dCB0aG9zZS4NCj4+DQo+ID4gUGVyaGFwcyB3ZSBj YW4gcHJvdmlkZSBhIHN5bmNocm9uaXplLWFibGUgd3JhcHBlciBhcm91bmQgaXQgdG8gYXZvaWQN Cj4gPiBhZGRpbmcgb3ZlcmhlYWQgdG8gY2FsbHMgdGhhdCBmdW5jdGlvbiBidXQgZG9lc24ndCBu ZWVkIHRoZSBzeW5jIG1lY2hhbmlzbT8NCg0KWWVzLCBtaWdodCBiZSB0d28gZmxhdm91cnMsIHNv bWV0aGluZyBsaWtlDQpydGVfcG93ZXJfbW9uaXRvcigpIGFuZCBydGVfcG93ZXJfbW9uaXRvcl9z eW5jKCkgDQpvciB3aGF0ZXZlciB3b3VsZCBiZSBhIGJldHRlciBuYW1lLg0KDQo+ID4NCj4gDQo+ IEFsc28sIGhvdyB3b3VsZCBoYXZpbmcgYSBzcGlubG9jayBoZWxwIHRvIHN5bmNocm9uaXplPyBB cmUgeW91DQo+IHN1Z2dlc3Rpbmcgd2UgZG8gVU1XQUlUIG9uIGEgc3BpbmxvY2sgYWRkcmVzcywg b3Igc29tZXRoaW5nIHRvIHRoYXQgZWZmZWN0Pw0KPiANCg0KSSB0aG91Z2h0IGFib3V0IHNvbWV0 aGluZyB2ZXJ5IHNpbWlsYXIgdG8gY29uZF93YWl0KCkgd29ya2luZyBtb2RlbDoNCg0KLyoNCiAq IENhbGxlciBoYXMgdG8gb2J0YWluIGxvY2sgYmVmb3JlIGNhbGxpbmcgdGhhdCBmdW5jdGlvbi4N CiAqLw0Kc3RhdGljIGlubGluZSBpbnQgcnRlX3Bvd2VyX21vbml0b3Jfc3luYyhjb25zdCB2b2xh dGlsZSB2b2lkICpwLA0KICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ2NF90IGV4cGVjdGVkX3Zh bHVlLCBjb25zdCB1aW50NjRfdCB2YWx1ZV9tYXNrLA0KICAgICAgICAgICAgICAgIGNvbnN0IHVp bnQzMl90IHN0YXRlLCBjb25zdCB1aW50NjRfdCB0c2NfdGltZXN0YW1wLCBydGVfc3BpbmxvY2tf dCAqbGNrKQ0Kew0KCS8qIGRvIHdoYXRldmVyIHByZXBhcmF0aW9ucyBhcmUgbmVlZGVkICovDQog ICAgICAgICAgICAgICAuLi4uDQoJdW1vbml0b3IocCk7DQoNCglpZiAodmFsdWVfbWFzayAhPSAw ICYmICooKGNvbnN0IHVpbnQ2NF90ICopcCkgJiB2YWx1ZV9tYXNrID09IGV4cGVjdGVkX3ZhbHVl KSB7DQoJCXJldHVybiAwOw0KIAl9DQoJDQoJLyogcmVsZWFzZSBsb2NrIGFuZCBnbyB0byBzbGVl cCAqLw0KCXJ0ZV9zcGlubG9ja191bmxvY2sobGNrKTsNCglyZmxhZ3MgPSB1bXdhaXQoKTsNCg0K CS8qIGdyYWIgbG9jayBiYWNrIGFmdGVyIHdha2V1cCAqLw0KCXJ0ZV9zcGlubG9ja19sb2NrKGxj ayk7DQoNCgkvKiBkbyByZXN0IG9mIHByb2Nlc3NpbmcgKi8NCgkuLi4uDQp9DQoNCi8qIHNpbWls YXIgZ28gY29uZF9zaWduYWwgKi8NCnN0YXRpYyBpbmxpbmUgdm9pZCBydGVfcG93ZXJfbW9uaXRv cl93YWtldXAodm9sYXRpbGUgdm9pZCAqcCkNCnsNCgl1aW50NjRfdCB2Ow0KDQoJdiA9IF9fYXRv bWljX2xvYWRfbihwLCBfX0FUT01JQ19SRUxBWEVEKTsNCglfX2F0b21pY19jb21wYXJlX2V4Y2hh bmdlX24ocCwgdiwgJnYsIDEsIF9fQVRPTUlDX1JFTEFYRUQsIF9fQVRPTUlDX1JFTEFYRUQpOw0K fSAgICAgICAgICAgICAgIA0KDQoNCk5vdyBpbiBsaWJydGVfcG93ZXI6DQoNCnN0cnVjdCBwbWRf cXVldWVfY2ZnIHsNCiAgICAgICAvKiB0byBwcm90ZWN0IHN0YXRlIGFuZCB3YWl0X2FkZHIgKi8N CiAgICAgICBydGVfc3BpbmxvY2tfdCBsY2s7DQogICAgICAgZW51bSBwbWRfbWdtdF9zdGF0ZSBw d3JfbWdtdF9zdGF0ZTsNCiAgICAgICB2b2lkICp3YWl0X2FkZHI7DQogICAgICAgLyogcmVzdCBm aWVsZHMgKi8NCiAgICAgIC4uLi4NCn0gX19ydGVfY2FjaGVfYWxpZ25lZDsNCg0KDQpzdGF0aWMg dWludDE2X3QNCnJ0ZV9wb3dlcl9tZ210X3Vtd2FpdCh1aW50MTZfdCBwb3J0X2lkLCB1aW50MTZf dCBxaWR4LA0KICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfbWJ1ZiAqKnBrdHMgX19ydGVfdW51 c2VkLCB1aW50MTZfdCBuYl9yeCwNCiAgICAgICAgICAgICAgICB1aW50MTZfdCBtYXhfcGt0cyBf X3J0ZV91bnVzZWQsIHZvaWQgKl8gIF9fcnRlX3VudXNlZCkNCnsNCg0KICAgICAgICBzdHJ1Y3Qg cG1kX3F1ZXVlX2NmZyAqcV9jb25mOw0KICAgICAgICBxX2NvbmYgPSAmcG9ydF9jZmdbcG9ydF9p ZF0ucXVldWVfY2ZnW3FpZHhdOw0KDQogICAgICAgIGlmICh1bmxpa2VseShuYl9yeCA9PSAwKSkg ew0KICAgICAgICAgICAgICAgIHFfY29uZi0+ZW1wdHlfcG9sbF9zdGF0cysrOw0KICAgICAgICAg ICAgICAgIGlmICh1bmxpa2VseShxX2NvbmYtPmVtcHR5X3BvbGxfc3RhdHMgPiBFTVBUWVBPTExf TUFYKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdm9sYXRpbGUgdm9pZCAqdGFyZ2V0X2Fk ZHI7DQogICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBleHBlY3RlZCwgbWFzazsNCiAg ICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IHJldDsNCgkJDQoJICAgICAgICAgLyogZ3Jh YiB0aGUgbG9jayBhbmQgY2hlY2sgdGhlIHN0YXRlICovDQogICAgICAgICAgICAgICAgICAgICAg IHJ0ZV9zcGlubG9ja19sb2NrKCZxX2NvbmYtPmxjayk7DQoJICAgICAgICAgSWYgKHEtY29uZi0+ c3RhdGUgPT0gRU5BQkxFRCkgew0KCSAgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IHJ0ZV9l dGhfZ2V0X3dha2VfYWRkcihwb3J0X2lkLCBxaWR4LA0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ0YXJnZXRfYWRkciwgJmV4cGVjdGVkLCAmbWFz ayk7DQoJCSAgICAgICAgICBJZiAocmV0ID09IDApIHsNCgkJCXFfY29uZi0+d2FpdF9hZGRyID0g dGFyZ2V0X2FkZHI7DQoJCQlydGVfcG93ZXJfbW9uaXRvcih0YXJnZXRfYWRkciwgLi4uLCAmcV9j b25mLT5sY2spOw0KCQkgICAgICAgICB9CQ0KCQkgICAgICAgICAgLyogcmVzZXQgdGhlIHdhaXRf YWRkciAqLw0KCQkgICAgICAgICAgcV9jb25mLT53YWl0X2FkZHIgPSBOVUxMOw0KCSAgICAgICAg IH0NCgkgICAgICAgICBydGVfc3BpbmxvY2tfdW5sb2NrKCZxX2NvbmYtPmxjayk7CQ0KCSAgICAg ICAgIC4uLi4NCn0NCg0KbnQNCnJ0ZV9wb3dlcl9wbWRfbWdtdF9xdWV1ZV9kaXNhYmxlKHVuc2ln bmVkIGludCBsY29yZV9pZCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2 X3QgcG9ydF9pZCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgcXVl dWVfaWQpDQp7DQoJLi4uDQoJLyogZ3JhYiB0aGUgbG9jayBhbmQgY2hhbmdlIHRoZSBzdGF0ZSAq Lw0KICAgICAgICAgICAgICAgcnRlX3NwaW5sb2NrX2xvY2soJnFfY29uZi0+bGNrKTsNCglxdWV1 ZV9jZmctPnN0YXRlID0gRElTQUJMRUQ7DQoNCgkvKiB3YWtldXAgaWYgbmVjZXNzYXJ5ICovDQoJ SWYgKHF1ZXVlX2NmZy0+d2FrZXVwX2FkZHIgIT0gTlVMTCkNCgkJcnRlX3Bvd2VyX21vbml0b3Jf d2FrZXVwKHF1ZXVlX2NmZy0+d2FrZXVwX2FkZHIpOw0KDQoJcnRlX3NwaW5sb2NrX3VubG9jaygm cV9jb25mLT5sY2spOw0KCS4uLg0KfQ0K