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 2D18E43B9B; Mon, 4 Mar 2024 10:01:53 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CE2B440271; Mon, 4 Mar 2024 10:01:52 +0100 (CET) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2059.outbound.protection.outlook.com [40.107.7.59]) by mails.dpdk.org (Postfix) with ESMTP id 5ECC740041 for ; Mon, 4 Mar 2024 09:16:59 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=K+JQHJGjFNjlFd48KKkEBSYeGd29ala2MhoQ1jYUPFive0zI1Y5aDl6Fn3iHY3xX6vXNGq9cuJWUUwe5jDrCJkiPQSliYm67IjlujZ358/lZ7gYyiBSXOJDSk8AOinuXSEyJJ4ZIoJXC9rZ3nS8rR7LT08/50znAG9u29rayO2ArisSjYmqDx1miGXcIuTej9WWlpkB3hkhHWDqTCd2L/GSR/eIThd4783+bVr75WRPSg55hm/vUydRgRI2nhodbaN8n1P6E8gz3JTKiWN3BDSLOKeQbRHeOERQfidlE0vlKnexHiXfV/F9is7xPfUQSVoHLlENrNPYgjvIQpfwOxQ== 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=9iZcIyXfilali4F4KyRs3S93Jr3x+npXB7JIMEmd+7M=; b=EXsUyM5Y6XpGsLy6xTcsLNCFRJWN4S+BgdxCIvgEZfaQhg1s/fV7O+900ljoWWaa2pKWP8+80LuvrEM2wn3yCqEprgUzl25Z8Eg312nHhmfiwgNIsFqUH9OFkOT7KEY14ES1ghz2uS7oFQNu5BTICkmfeT/2J51cGnhZ+pnCKeseKTtaVSzJiukGnXIPI5wXhkIeiiCJi2HJkSEf1vMSJ4h12v5wu4Pc3asDospr2UeZkz6KQJHZKSDjYxhkLxNPq0iE0CToqmkPdmwERGk8aIS0A/Pd/2yXJCTHdg//nglR1IzOqJVXSc54qRo5xe8CwzO2TAqASrI+0lfskUWThA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ericsson.com; dmarc=pass action=none header.from=ericsson.com; dkim=pass header.d=ericsson.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9iZcIyXfilali4F4KyRs3S93Jr3x+npXB7JIMEmd+7M=; b=Kn/1y9RiXn6gzeby2sLpVXkD3EBOWCUkVI5rVl4qYoCDTEpDWiV75UWIkL+AYD8OwZOmQpfmE5RCvAK/Ckq7T1HIWNS3rRKOYs/PscpLPlxDzeBdBMXxa/85yKAAr6WvBo6BaAmb7oanbY/WMk4HFNz6T8Fn3HoGkvnVEMmL42fUCkYu/andEgHwSitSH2de8EOPoZdFGxOwye5gAIAL7FvVx2jhM4VznH2kBIwYzCbU88w3eKsSwYB9GjdUUvRa2V48HqzzCyI4XkCDBjgVRVxw3SINIFBwmUsp1QXYH4Csjm7aLJkDVwnBg43GKNlB7hZDCfRAo9QSpzu9GXP7Fg== Received: from AS1PR07MB8662.eurprd07.prod.outlook.com (2603:10a6:20b:476::19) by PR3PR07MB6698.eurprd07.prod.outlook.com (2603:10a6:102:64::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7339.38; Mon, 4 Mar 2024 08:16:57 +0000 Received: from AS1PR07MB8662.eurprd07.prod.outlook.com ([fe80::3848:8a0e:2a93:48b6]) by AS1PR07MB8662.eurprd07.prod.outlook.com ([fe80::3848:8a0e:2a93:48b6%5]) with mapi id 15.20.7339.035; Mon, 4 Mar 2024 08:16:57 +0000 From: Heng Wang To: =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= , "dev@dpdk.org" CC: "hofors@lysator.liu.se" Subject: RE: [RFC 2/7] eal: add generic bit manipulation macros Thread-Topic: [RFC 2/7] eal: add generic bit manipulation macros Thread-Index: AQHabKo74Cxu7+LNI0ex5NHPmgAwU7EnOcVA Date: Mon, 4 Mar 2024 08:16:57 +0000 Message-ID: References: <20240302135328.531940-1-mattias.ronnblom@ericsson.com> <20240302135328.531940-3-mattias.ronnblom@ericsson.com> In-Reply-To: <20240302135328.531940-3-mattias.ronnblom@ericsson.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=ericsson.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: AS1PR07MB8662:EE_|PR3PR07MB6698:EE_ x-ms-office365-filtering-correlation-id: 62885156-5708-4397-0ad9-08dc3c237567 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: s0mCpUibcWlgc72t11J8T7V7l1BpeDkHse7JNLA4rxQlLqpITGRDwyw5VBs1jbLQuJ1vyfWB8jg7UqIDqfMGLX3k/SSfVisJC1XtnihA0jnuSCi6RfmHsjAITlG7KlnkOau8VxvhkskizklsMt4WYDYb5OUrU2pA9sDjy/05uRDTcDr+W541gQeJb9jHDIf58NyuhSf67VbMbWIdW/h/XKTqXnzqNkBgH5viL7bX0fcKrjcGijTLs34WzxXKJb2ZAWw21/tazr9ARHUY6Jz2wiLtTrEjyxGS4WPzsTmSHkAJF6cJ49jQBmoZYZRuywpBb060cjmjv8e6u29PI6NopHKZ+OS+fPI7C/WqKcK1OXSq+FY3pjfR48TZ/weLCyiX10qkNM7HLORZAvYvbhm67tH7ft/HcPin9mYpcZytPrvsgcYdiEp95cHT8OYP1sQAe5wm9n5KTxDqpEO9GAEQvMqCpWh6C/4wDunXXbJNqHYtbXWzN0s2QliE1Z6M+uUhpCwJ86QjP9jludkKBx1IgNrFcKc4L7Xm9uBi+iU2gFrbrYjMQ/A9OvoOg0eXOMmeXJ5Mq+vk9RAARhA6wLSuxPSl5A1Aalhctknnq+MH965XDuW8c7ekF0dK6VKkJjllepQ76r8pqTwcbiOGm9uTEbGx0Lmcfr4trs2cNjjPd2Fpb4aTSw7vbbELpqVlaqhd4SYugdNjpGYqrADOBiubvw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS1PR07MB8662.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376005)(38070700009); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dm0zbUwrUmVkUjlIRFczdnhiZldjU2dvdkVhRHhkSXFKeDlwY25hU2lVRGFJ?= =?utf-8?B?aWpQK1g5SlBmeEUyVlVwM05NVVFwN3djNUEvU3lOM0F2eDZGNFVuaS9lWTRC?= =?utf-8?B?ZVFLUEQ3QzhKaVlnYTE5d2x6Q3lKNm8xNW8vZ3dmZVFBQzZNZUFndGE3WjhJ?= =?utf-8?B?T094cHlscDZqeUgxbWltc3dkenNjMStIdmcycU41NjcrU1hpUUJhd3VtR0ts?= =?utf-8?B?TTc4M3gwM1daWmRydHYwRUd4MnU2SjdEeDJBYXhUc1ZlNHl3dVNKL1NvcjJS?= =?utf-8?B?RUxJSWNPMlNJNVNlTjE2OVR6bGdCOVBPU0tRb2wydUNYZVdUdXNDWWpVOFBj?= =?utf-8?B?c0NJbERHQkpINFB4M3pDdVE3NllyQmZJUEgxTzd2NHZRZS9pNExXZmdBOEpT?= =?utf-8?B?UCtWR2d2RkZTdnVBR2lnOTk5RHBNWHJQcnJvZmQ0aDNCVlRjTENSOWdUaGZn?= =?utf-8?B?R1hsM3FzMld0WkRPV0IvSGFTVWhGK3RJYkYvbVJxNEJOa2xTb3NlRExvS2tN?= =?utf-8?B?b0IyWFlUdVMrdlZUdm5Ia0lXekxxZUJIRXR0RXNTYzhsa3BUQzBEZkgxWk15?= =?utf-8?B?VFlaRjBBalE2UlY0QnI0VW5DTVVaUjN6TWI2QXJUbGdzZEN2blB5T1Y1aHZx?= =?utf-8?B?VFlJckR6cW0xQk0xdXRDSjVCemVJTlk4cWNEcE5tK2wvMklmZ2YzQ2tEdXpk?= =?utf-8?B?OXQvNWJVSEMyTTBPUkxtSERvWkFTbW9TblFJNTZxRm1lZVluZHZDQWMrL0pE?= =?utf-8?B?emhjQzNlR3hQeHNjcHV5RmZuNU1IbkJ0Z0d5emF0WmNEMHB5djhjeE53MHhz?= =?utf-8?B?NDEvekowWnRiUWc4ODRrN01DNllucEV3a1pKSDY3TkpuVk1EcTlzOExNQ1o2?= =?utf-8?B?TERJb3hidnlYZkZ0OWZwcTNJMjFPNXFScHZZWjlmY1Rzbk1PRWN4cnY4TmdY?= =?utf-8?B?R0RLQmQ0VWZqOWRvbHBiaXdCdjdBb2tYVTdZNnFlbGZmTTMyNXJEMTlJWDlQ?= =?utf-8?B?K21kWW55MGx2VmRrUzhGVTRYbS9QQWk0ZWdyOGJlbFpObXp0ZkdXNTBNajh1?= =?utf-8?B?eWJ6emM2SG4yNzlkSUxvY0g1NWNQbGZVb0RzejhsQUx6YTljQUFjRG9aa1ky?= =?utf-8?B?OUtKenhBNmNKM2I2RFduOWFwTE8zRWFUVG5lZ0xsZyt3R3hrd0lXRWN5V2ZF?= =?utf-8?B?UU9ucVowWVE4S1R4bk4wZldMNjhITERpSGlFdE9abmxaSkJ3YlhWTkw5TzhT?= =?utf-8?B?MDFraUxHTGF4cjJGdG9qUytxV3JYamJwb2d3Mk5xUWRLbmZLbE5DMi9YRlNU?= =?utf-8?B?WW1xYkl3cHlucmhIQjdEN3JvYXdMSnJjSEgzOTNZRlNta0ZCSW1JaVJQZ3Z2?= =?utf-8?B?UEpPTGNUbE5oTGlxVUsvaHB6Qm9rWGExM0Jmdis5NS9vR0Z4T2llT1ZFMDhr?= =?utf-8?B?aHl6N1ZYSVFEbEhuQ0wvc3daTngrYWQzbURQTkJzdWlGWXF4V3BNNElmNzll?= =?utf-8?B?ZG42M1VrMU9rQUdTRzFzVzE5UnlUTysxZHN4WEpXclVVQ25zNlBRTWp6TVN2?= =?utf-8?B?ZmNUY3R2bkpMVWZXUThuNlk5a09yMUtaMzZqRkNIaXJIYWREWlBKaTlSckZ4?= =?utf-8?B?TGdQMHVNUXVaQ0p4MDl0b0RpWUlBK2dGR01kQmQydUt0NXR6SnZOM20yY2V3?= =?utf-8?B?eWkxUVhuM2RlUHpVaXJCbmRVRzh1bWkvdEtsUmFJY2tRbjhjZlQrSUNEN2do?= =?utf-8?B?U0FDa25FZ1JONmNFNzFnVWdrdkJXSEdINStERWMraHN6UlZGTG1IYlZMZXpw?= =?utf-8?B?QytTSDFQTHdMdVgwNnZwZU50bnZXRVYzWkdzN0F6UHhjZFcrR0hzTi95czg1?= =?utf-8?B?S0Vjd2J6UmJ6SnJNMWM4bTViNXp2aE5IcUVFRlJydUxIQVZmR0lpeWZ5bStP?= =?utf-8?B?cXVtL0FVT2l2MzhZWm1jR2NQU1VLVGYwK0c1d2xuaFZLbG05b1Rqc1FzQTN0?= =?utf-8?B?a2dqQlB6ZjJsR3F5VVZoQUppM2I2MitQQ0cwSDNoNGlIQ2RKNmMzOG11aStJ?= =?utf-8?B?d0RxamczeXBPYzZEQ1d6bkZOWXFQOXhjMWd3eU5Fd045R2hodUlMazgrNTZ0?= =?utf-8?Q?vevg5TKRVO6dsMDwUUhb941UD?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: ericsson.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AS1PR07MB8662.eurprd07.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 62885156-5708-4397-0ad9-08dc3c237567 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Mar 2024 08:16:57.0716 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: xld1LMuSNICkBI14wHPTgjA/KNq+NI2uzN9V2Lz+Dzt30hdLiqoSz/YOK0X2/gW0eqCnSiW+CWpN/GDj8VYpPg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR07MB6698 X-Mailman-Approved-At: Mon, 04 Mar 2024 10:01:51 +0100 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 SGkgTWF0dGlhcywNCiAgSSBoYXZlIGEgY29tbWVudCBhYm91dCB0aGUgX0dlbmVyaWMuIFdoYXQg aWYgdGhlIHVzZXIgZ2l2ZXMgdWludDhfdCAqIG9yIHVpbnQxNl90ICogYXMgdGhlIGFkZHJlc3Mu IE9uZSBpbXByb3ZlbWVudCBpcyB0aGF0IHdlIGNvdWxkIGFkZCBhIGRlZmF1bHQgYnJhbmNoIGlu IF9HZW5lcmljIHRvIHRocm93IGEgY29tcGlsZXIgZXJyb3Igb3IgYXNzZXJ0IGZhbHNlLg0KICBB bm90aGVyIHF1ZXN0aW9uIGlzIHdoYXQgaWYgbnIgPj0gc2l6ZW9mKHR5cGUpID8gV2hhdCBpZiB5 b3UgZG8sIGZvciBleGFtcGxlLCAodWludDMyX3QpMSA8PCAzNT8gTWF5YmUgd2UgY291bGQgYWRk IGFuIGFzc2VydCBpbiB0aGUgaW1wbGVtZW50YXRpb24/DQoNClJlZ2FyZHMsDQpIZW5nDQoNCi0t LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBNYXR0aWFzIFLDtm5uYmxvbSA8bWF0dGlh cy5yb25uYmxvbUBlcmljc3Nvbi5jb20+IA0KU2VudDogU2F0dXJkYXksIE1hcmNoIDIsIDIwMjQg Mjo1MyBQTQ0KVG86IGRldkBkcGRrLm9yZw0KQ2M6IGhvZm9yc0BseXNhdG9yLmxpdS5zZTsgSGVu ZyBXYW5nIDxoZW5nLndhbmdAZXJpY3Nzb24uY29tPjsgTWF0dGlhcyBSw7ZubmJsb20gPG1hdHRp YXMucm9ubmJsb21AZXJpY3Nzb24uY29tPg0KU3ViamVjdDogW1JGQyAyLzddIGVhbDogYWRkIGdl bmVyaWMgYml0IG1hbmlwdWxhdGlvbiBtYWNyb3MNCg0KQWRkIGJpdC1sZXZlbCB0ZXN0L3NldC9j bGVhci9hc3NpZ24gbWFjcm9zIG9wZXJhdGluZyBvbiBib3RoIDMyLWJpdCBhbmQgNjQtYml0IHdv cmRzIGJ5IG1lYW5zIG9mIEMxMSBnZW5lcmljIHNlbGVjdGlvbi4NCg0KU2lnbmVkLW9mZi1ieTog TWF0dGlhcyBSw7ZubmJsb20gPG1hdHRpYXMucm9ubmJsb21AZXJpY3Nzb24uY29tPg0KLS0tDQog bGliL2VhbC9pbmNsdWRlL3J0ZV9iaXRvcHMuaCB8IDgxICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKw0KIDEgZmlsZSBjaGFuZ2VkLCA4MSBpbnNlcnRpb25zKCspDQoNCmRpZmYg LS1naXQgYS9saWIvZWFsL2luY2x1ZGUvcnRlX2JpdG9wcy5oIGIvbGliL2VhbC9pbmNsdWRlL3J0 ZV9iaXRvcHMuaCBpbmRleCA5YTM2ODcyNGQ1Li5hZmQwZjExMDMzIDEwMDY0NA0KLS0tIGEvbGli L2VhbC9pbmNsdWRlL3J0ZV9iaXRvcHMuaA0KKysrIGIvbGliL2VhbC9pbmNsdWRlL3J0ZV9iaXRv cHMuaA0KQEAgLTEwNyw2ICsxMDcsODcgQEAgZXh0ZXJuICJDIiB7DQogI2RlZmluZSBSVEVfRklF TERfR0VUNjQobWFzaywgcmVnKSBcDQogCQkoKHR5cGVvZihtYXNrKSkoKChyZWcpICYgKG1hc2sp KSA+PiBydGVfY3R6NjQobWFzaykpKQ0KIA0KKy8qKg0KKyAqIFRlc3QgYml0IGluIHdvcmQuDQor ICoNCisgKiBHZW5lcmljIHNlbGVjdGlvbiBtYWNybyB0byB0ZXN0IHRoZSB2YWx1ZSBvZiBhIGJp dCBpbiBhIDMyLWJpdCBvcg0KKyAqIDY0LWJpdCB3b3JkLiBUaGUgdHlwZSBvZiBvcGVyYXRpb24g ZGVwZW5kcyBvbiB0aGUgdHlwZSBvZiB0aGUgQGMNCisgKiBhZGRyIHBhcmFtZXRlci4NCisgKg0K KyAqIFRoaXMgbWFjcm8gZG9lcyBub3QgZ2l2ZSBhbnkgZ3VhcmFudGVlcyBpbiByZWdhcmRzIHRv IG1lbW9yeQ0KKyAqIG9yZGVyaW5nIG9yIGF0b21pY2l0eS4NCisgKg0KKyAqIEBwYXJhbSBhZGRy DQorICogICBBIHBvaW50ZXIgdG8gdGhlIHdvcmQgdG8gbW9kaWZ5Lg0KKyAqIEBwYXJhbSBucg0K KyAqICAgVGhlIGluZGV4IG9mIHRoZSBiaXQuDQorICovDQorI2RlZmluZSBydGVfYml0X3Rlc3Qo YWRkciwgbnIpCQkJCVwNCisJX0dlbmVyaWMoKGFkZHIpLAkJCQlcDQorCQkgdWludDMyX3QgKjog cnRlX2JpdF90ZXN0MzIsCQlcDQorCQkgdWludDY0X3QgKjogcnRlX2JpdF90ZXN0NjQpKGFkZHIs IG5yKQ0KKw0KKy8qKg0KKyAqIFNldCBiaXQgaW4gd29yZC4NCisgKg0KKyAqIEdlbmVyaWMgc2Vs ZWN0aW9uIG1hY3JvIHRvIHNldCBhIGJpdCBpbiBhIDMyLWJpdCBvciA2NC1iaXQNCisgKiB3b3Jk LiBUaGUgdHlwZSBvZiBvcGVyYXRpb24gZGVwZW5kcyBvbiB0aGUgdHlwZSBvZiB0aGUgQGMgYWRk cg0KKyAqIHBhcmFtZXRlci4NCisgKg0KKyAqIFRoaXMgbWFjcm8gZG9lcyBub3QgZ2l2ZSBhbnkg Z3VhcmFudGVlcyBpbiByZWdhcmRzIHRvIG1lbW9yeQ0KKyAqIG9yZGVyaW5nIG9yIGF0b21pY2l0 eS4NCisgKg0KKyAqIEBwYXJhbSBhZGRyDQorICogICBBIHBvaW50ZXIgdG8gdGhlIHdvcmQgdG8g bW9kaWZ5Lg0KKyAqIEBwYXJhbSBucg0KKyAqICAgVGhlIGluZGV4IG9mIHRoZSBiaXQuDQorICov DQorI2RlZmluZSBydGVfYml0X3NldChhZGRyLCBucikJCQkJXA0KKwlfR2VuZXJpYygoYWRkciks CQkJCVwNCisJCSB1aW50MzJfdCAqOiBydGVfYml0X3NldDMyLAkJXA0KKwkJIHVpbnQ2NF90ICo6 IHJ0ZV9iaXRfc2V0NjQpKGFkZHIsIG5yKQ0KKw0KKy8qKg0KKyAqIENsZWFyIGJpdCBpbiB3b3Jk Lg0KKyAqDQorICogR2VuZXJpYyBzZWxlY3Rpb24gbWFjcm8gdG8gY2xlYXIgYSBiaXQgaW4gYSAz Mi1iaXQgb3IgNjQtYml0DQorICogd29yZC4gVGhlIHR5cGUgb2Ygb3BlcmF0aW9uIGRlcGVuZHMg b24gdGhlIHR5cGUgb2YgdGhlIEBjIGFkZHINCisgKiBwYXJhbWV0ZXIuDQorICoNCisgKiBUaGlz IG1hY3JvIGRvZXMgbm90IGdpdmUgYW55IGd1YXJhbnRlZXMgaW4gcmVnYXJkcyB0byBtZW1vcnkN CisgKiBvcmRlcmluZyBvciBhdG9taWNpdHkuDQorICoNCisgKiBAcGFyYW0gYWRkcg0KKyAqICAg QSBwb2ludGVyIHRvIHRoZSB3b3JkIHRvIG1vZGlmeS4NCisgKiBAcGFyYW0gbnINCisgKiAgIFRo ZSBpbmRleCBvZiB0aGUgYml0Lg0KKyAqLw0KKyNkZWZpbmUgcnRlX2JpdF9jbGVhcihhZGRyLCBu cikJCQlcDQorCV9HZW5lcmljKChhZGRyKSwJCQkJXA0KKwkJIHVpbnQzMl90ICo6IHJ0ZV9iaXRf Y2xlYXIzMiwJCVwNCisJCSB1aW50NjRfdCAqOiBydGVfYml0X2NsZWFyNjQpKGFkZHIsIG5yKQ0K Kw0KKy8qKg0KKyAqIEFzc2lnbiBhIHZhbHVlIHRvIGEgYml0IGluIHdvcmQuDQorICoNCisgKiBH ZW5lcmljIHNlbGVjdGlvbiBtYWNybyB0byBhc3NpZ24gYSB2YWx1ZSB0byBhIGJpdCBpbiBhIDMy LWJpdCBvciANCis2NC1iaXQNCisgKiB3b3JkLiBUaGUgdHlwZSBvZiBvcGVyYXRpb24gZGVwZW5k cyBvbiB0aGUgdHlwZSBvZiB0aGUgQGMgYWRkciBwYXJhbWV0ZXIuDQorICoNCisgKiBUaGlzIG1h Y3JvIGRvZXMgbm90IGdpdmUgYW55IGd1YXJhbnRlZXMgaW4gcmVnYXJkcyB0byBtZW1vcnkNCisg KiBvcmRlcmluZyBvciBhdG9taWNpdHkuDQorICoNCisgKiBAcGFyYW0gYWRkcg0KKyAqICAgQSBw b2ludGVyIHRvIHRoZSB3b3JkIHRvIG1vZGlmeS4NCisgKiBAcGFyYW0gbnINCisgKiAgIFRoZSBp bmRleCBvZiB0aGUgYml0Lg0KKyAqIEBwYXJhbSB2YWx1ZQ0KKyAqICAgVGhlIG5ldyB2YWx1ZSBv ZiB0aGUgYml0IC0gdHJ1ZSBmb3IgJzEnLCBvciBmYWxzZSBmb3IgJzAnLg0KKyAqLw0KKyNkZWZp bmUgcnRlX2JpdF9hc3NpZ24oYWRkciwgbnIsIHZhbHVlKQkJCVwNCisJX0dlbmVyaWMoKGFkZHIp LAkJCQlcDQorCQkgdWludDMyX3QgKjogcnRlX2JpdF9hc3NpZ24zMiwJCQlcDQorCQkgdWludDY0 X3QgKjogcnRlX2JpdF9hc3NpZ242NCkoYWRkciwgbnIsIHZhbHVlKQ0KKw0KIC8qKg0KICAqIFRl c3QgaWYgYSBwYXJ0aWN1bGFyIGJpdCBpbiBhIDMyLWJpdCB3b3JkIGlzIHNldC4NCiAgKg0KLS0N CjIuMzQuMQ0KDQo=