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 380BA43BE0; Tue, 27 Feb 2024 10:34:58 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 019E840693; Tue, 27 Feb 2024 10:34:58 +0100 (CET) Received: from szxga06-in.huawei.com (szxga06-in.huawei.com [45.249.212.32]) by mails.dpdk.org (Postfix) with ESMTP id AF2D840150 for ; Tue, 27 Feb 2024 10:34:55 +0100 (CET) Received: from mail.maildlp.com (unknown [172.19.163.44]) by szxga06-in.huawei.com (SkyGuard) with ESMTP id 4TkXPN1zWPzqh0K; Tue, 27 Feb 2024 17:34:16 +0800 (CST) Received: from dggpeml500023.china.huawei.com (unknown [7.185.36.114]) by mail.maildlp.com (Postfix) with ESMTPS id 089991400DD; Tue, 27 Feb 2024 17:34:53 +0800 (CST) Received: from frapeml500007.china.huawei.com (7.182.85.172) by dggpeml500023.china.huawei.com (7.185.36.114) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Tue, 27 Feb 2024 17:34:51 +0800 Received: from frapeml500007.china.huawei.com ([7.182.85.172]) by frapeml500007.china.huawei.com ([7.182.85.172]) with mapi id 15.01.2507.035; Tue, 27 Feb 2024 10:34:49 +0100 From: Konstantin Ananyev To: Tyler Retzlaff , "dev@dpdk.org" CC: Andrew Rybchenko , Bruce Richardson , Fengchengwen , Cristian Dumitrescu , David Christensen , David Hunt , Ferruh Yigit , Honnappa Nagarahalli , Jasvinder Singh , Jerin Jacob , Kevin Laatz , Konstantin Ananyev , Min Zhou , "Ruifeng Wang" , Sameh Gobriel , Stanislaw Kardach , Thomas Monjalon , Vladimir Medvedkin , Yipeng Wang Subject: RE: [PATCH v6 01/39] eal: use C11 alignas Thread-Topic: [PATCH v6 01/39] eal: use C11 alignas Thread-Index: AQHaaOFGH8uCkuo2p0OtJWav0RGKS7Ed7m7w Date: Tue, 27 Feb 2024 09:34:49 +0000 Message-ID: References: <1707873986-29352-1-git-send-email-roretzla@linux.microsoft.com> <1708971946-18231-1-git-send-email-roretzla@linux.microsoft.com> <1708971946-18231-2-git-send-email-roretzla@linux.microsoft.com> In-Reply-To: <1708971946-18231-2-git-send-email-roretzla@linux.microsoft.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.206.138.42] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 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 DQo+IFN1YmplY3Q6IFtQQVRDSCB2NiAwMS8zOV0gZWFsOiB1c2UgQzExIGFsaWduYXMNCj4gDQo+ IFRoZSBjdXJyZW50IGxvY2F0aW9uIHVzZWQgZm9yIF9fcnRlX2FsaWduZWQoYSkgZm9yIGFsaWdu bWVudCBvZiB0eXBlcw0KPiBhbmQgdmFyaWFibGVzIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggTVNW Qy4gVGhlcmUgaXMgb25seSBhIHNpbmdsZQ0KPiBsb2NhdGlvbiBhY2NlcHRlZCBieSBib3RoIHRv b2xjaGFpbnMuDQo+IA0KPiBGb3IgdmFyaWFibGVzIHN0YW5kYXJkIEMxMSBvZmZlcnMgYWxpZ25h cyhhKSBzdXBwb3J0ZWQgYnkgY29uZm9ybWFudA0KPiBjb21waWxlcnMgaS5lLiBib3RoIE1TVkMg YW5kIEdDQy4NCj4gDQo+IEZvciB0eXBlcyB0aGUgc3RhbmRhcmQgb2ZmZXJzIG5vIGFsaWdubWVu dCBmYWNpbGl0eSB0aGF0IGNvbXBhdGlibHkNCj4gaW50ZXJvcGVyYXRlcyB3aXRoIEMgYW5kIEMr KyBidXQgbWF5IGJlIGFjaGlldmVkIGJ5IHJlbG9jYXRpbmcgdGhlDQo+IHBsYWNlbWVudCBvZiBf X3J0ZV9hbGlnbmVkKGEpIHRvIHRoZSBhZm9yZW1lbnRpb25lZCBsb2NhdGlvbiBhY2NlcHRlZA0K PiBieSBhbGwgY3VycmVudGx5IHN1cHBvcnRlZCB0b29sY2hhaW5zLg0KPiANCj4gVG8gYWxsb3cg YWxpZ25tZW50IGZvciBib3RoIGNvbXBpbGVycyBkbyB0aGUgZm9sbG93aW5nOg0KPiANCj4gKiBF eHBhbmQgX19ydGVfYWxpZ25lZChhKSB0byBfX2RlY2xzcGVjKGFsaWduKGEpKSB3aGVuIGJ1aWxk aW5nDQo+ICAgd2l0aCBNU1ZDLg0KPiANCj4gKiBNb3ZlIF9fcnRlX2FsaWduZWQgZnJvbSB0aGUg ZW5kIG9mIHtzdHJ1Y3QsdW5pb259IGRlZmluaXRpb25zIHRvDQo+ICAgYmUgYmV0d2VlbiB7c3Ry dWN0LHVuaW9ufSBhbmQgdGFnLg0KPiANCj4gICBUaGUgcGxhY2VtZW50IGJldHdlZW4ge3N0cnVj dCx1bmlvbn0gYW5kIHRoZSB0YWcgYWxsb3dzIHRoZSBkZXNpcmVkDQo+ICAgYWxpZ25tZW50IHRv IGJlIGltcGFydGVkIG9uIHRoZSB0eXBlIHJlZ2FyZGxlc3Mgb2YgdGhlIHRvb2xjaGFpbiBiZWlu Zw0KPiAgIHVzZWQgZm9yIGFsbCBvZiBHQ0MsIExMVk0sIE1TVkMgY29tcGlsZXJzIGJ1aWxkaW5n IGJvdGggQyBhbmQgQysrLg0KPiANCj4gKiBSZXBsYWNlIHVzZSBvZiBfX3J0ZV9hbGlnbmVkKGEp IG9uIHZhcmlhYmxlcy9maWVsZHMgd2l0aCBhbGlnbmFzKGEpLg0KPiANCj4gU2lnbmVkLW9mZi1i eTogVHlsZXIgUmV0emxhZmYgPHJvcmV0emxhQGxpbnV4Lm1pY3Jvc29mdC5jb20+DQo+IEFja2Vk LWJ5OiBNb3J0ZW4gQnLDuHJ1cCA8bWJAc21hcnRzaGFyZXN5c3RlbXMuY29tPg0KPiBBY2tlZC1i eTogQnJ1Y2UgUmljaGFyZHNvbiA8YnJ1Y2UucmljaGFyZHNvbkBpbnRlbC5jb20+DQo+IC0tLQ0K PiAgbGliL2VhbC9hcm0vaW5jbHVkZS9ydGVfdmVjdC5oICAgICAgIHwgIDQgKystLQ0KPiAgbGli L2VhbC9jb21tb24vbWFsbG9jX2VsZW0uaCAgICAgICAgIHwgIDQgKystLQ0KPiAgbGliL2VhbC9j b21tb24vbWFsbG9jX2hlYXAuaCAgICAgICAgIHwgIDQgKystLQ0KPiAgbGliL2VhbC9jb21tb24v cnRlX2tlZXBhbGl2ZS5jICAgICAgIHwgIDMgKystDQo+ICBsaWIvZWFsL2NvbW1vbi9ydGVfcmFu ZG9tLmMgICAgICAgICAgfCAgNCArKy0tDQo+ICBsaWIvZWFsL2NvbW1vbi9ydGVfc2VydmljZS5j ICAgICAgICAgfCAgOCArKysrLS0tLQ0KPiAgbGliL2VhbC9pbmNsdWRlL2dlbmVyaWMvcnRlX2F0 b21pYy5oIHwgIDQgKystLQ0KPiAgbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaCAgICAgICAg IHwgMjMgKysrKysrKysrKysrKysrLS0tLS0tLS0NCj4gIGxpYi9lYWwvbG9vbmdhcmNoL2luY2x1 ZGUvcnRlX3ZlY3QuaCB8ICA4ICsrKystLS0tDQo+ICBsaWIvZWFsL3BwYy9pbmNsdWRlL3J0ZV92 ZWN0LmggICAgICAgfCAgNCArKy0tDQo+ICBsaWIvZWFsL3Jpc2N2L2luY2x1ZGUvcnRlX3ZlY3Qu aCAgICAgfCAgNCArKy0tDQo+ICBsaWIvZWFsL3g4Ni9pbmNsdWRlL3J0ZV92ZWN0LmggICAgICAg fCAgNCArKy0tDQo+ICBsaWIvZWFsL3g4Ni9ydGVfcG93ZXJfaW50cmluc2ljcy5jICAgfCAxMCAr KysrKystLS0tDQo+ICAxMyBmaWxlcyBjaGFuZ2VkLCA0NyBpbnNlcnRpb25zKCspLCAzNyBkZWxl dGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9saWIvZWFsL2FybS9pbmNsdWRlL3J0ZV92ZWN0 LmggYi9saWIvZWFsL2FybS9pbmNsdWRlL3J0ZV92ZWN0LmgNCj4gaW5kZXggOGNmZTRiZC4uYzk3 ZDI5OSAxMDA2NDQNCj4gLS0tIGEvbGliL2VhbC9hcm0vaW5jbHVkZS9ydGVfdmVjdC5oDQo+ICsr KyBiL2xpYi9lYWwvYXJtL2luY2x1ZGUvcnRlX3ZlY3QuaA0KPiBAQCAtMjQsMTQgKzI0LDE0IEBA DQo+ICAjZGVmaW5lCVhNTV9TSVpFCShzaXplb2YoeG1tX3QpKQ0KPiAgI2RlZmluZQlYTU1fTUFT SwkoWE1NX1NJWkUgLSAxKQ0KPiANCj4gLXR5cGVkZWYgdW5pb24gcnRlX3htbSB7DQo+ICt0eXBl ZGVmIHVuaW9uIF9fcnRlX2FsaWduZWQoMTYpIHJ0ZV94bW0gew0KPiAgCXhtbV90ICAgIHg7DQo+ ICAJdWludDhfdCAgdThbWE1NX1NJWkUgLyBzaXplb2YodWludDhfdCldOw0KPiAgCXVpbnQxNl90 IHUxNltYTU1fU0laRSAvIHNpemVvZih1aW50MTZfdCldOw0KPiAgCXVpbnQzMl90IHUzMltYTU1f U0laRSAvIHNpemVvZih1aW50MzJfdCldOw0KPiAgCXVpbnQ2NF90IHU2NFtYTU1fU0laRSAvIHNp emVvZih1aW50NjRfdCldOw0KPiAgCWRvdWJsZSAgIHBkW1hNTV9TSVpFIC8gc2l6ZW9mKGRvdWJs ZSldOw0KPiAtfSBfX3J0ZV9hbGlnbmVkKDE2KSBydGVfeG1tX3Q7DQo+ICt9IHJ0ZV94bW1fdDsN Cj4gDQo+ICAjaWYgZGVmaW5lZChSVEVfQVJDSF9BUk0pICYmIGRlZmluZWQoUlRFX0FSQ0hfMzIp DQo+ICAvKiBORU9OIGludHJpbnNpYyB2cXRibDFxX3U4KCkgaXMgbm90IHN1cHBvcnRlZCBpbiBB Uk12Ny1BKEFBcmNoMzIpICovDQo+IGRpZmYgLS1naXQgYS9saWIvZWFsL2NvbW1vbi9tYWxsb2Nf ZWxlbS5oIGIvbGliL2VhbC9jb21tb24vbWFsbG9jX2VsZW0uaA0KPiBpbmRleCA5NTJjZTczLi5j N2ZmNjcxIDEwMDY0NA0KPiAtLS0gYS9saWIvZWFsL2NvbW1vbi9tYWxsb2NfZWxlbS5oDQo+ICsr KyBiL2xpYi9lYWwvY29tbW9uL21hbGxvY19lbGVtLmgNCj4gQEAgLTIwLDcgKzIwLDcgQEAgZW51 bSBlbGVtX3N0YXRlIHsNCj4gIAlFTEVNX1BBRCAgLyogZWxlbWVudCBpcyBhIHBhZGRpbmctb25s eSBoZWFkZXIgKi8NCj4gIH07DQo+IA0KPiAtc3RydWN0IG1hbGxvY19lbGVtIHsNCj4gK3N0cnVj dCBfX3J0ZV9jYWNoZV9hbGlnbmVkIG1hbGxvY19lbGVtIHsNCj4gIAlzdHJ1Y3QgbWFsbG9jX2hl YXAgKmhlYXA7DQo+ICAJc3RydWN0IG1hbGxvY19lbGVtICp2b2xhdGlsZSBwcmV2Ow0KPiAgCS8q KjwgcG9pbnRzIHRvIHByZXYgZWxlbSBpbiBtZW1zZWcgKi8NCj4gQEAgLTQ4LDcgKzQ4LDcgQEAg c3RydWN0IG1hbGxvY19lbGVtIHsNCj4gIAlzaXplX3QgdXNlcl9zaXplOw0KPiAgCXVpbnQ2NF90 IGFzYW5fY29va2llWzJdOyAvKiBtdXN0IGJlIG5leHQgdG8gaGVhZGVyX2Nvb2tpZSAqLw0KPiAg I2VuZGlmDQo+IC19IF9fcnRlX2NhY2hlX2FsaWduZWQ7DQo+ICt9Ow0KPiANCj4gIHN0YXRpYyBj b25zdCB1bnNpZ25lZCBpbnQgTUFMTE9DX0VMRU1fSEVBREVSX0xFTiA9IHNpemVvZihzdHJ1Y3Qg bWFsbG9jX2VsZW0pOw0KPiANCj4gZGlmZiAtLWdpdCBhL2xpYi9lYWwvY29tbW9uL21hbGxvY19o ZWFwLmggYi9saWIvZWFsL2NvbW1vbi9tYWxsb2NfaGVhcC5oDQo+IGluZGV4IDhmM2FiNTcuLjBj NDk1ODggMTAwNjQ0DQo+IC0tLSBhL2xpYi9lYWwvY29tbW9uL21hbGxvY19oZWFwLmgNCj4gKysr IGIvbGliL2VhbC9jb21tb24vbWFsbG9jX2hlYXAuaA0KPiBAQCAtMjEsNyArMjEsNyBAQA0KPiAg LyoqDQo+ICAgKiBTdHJ1Y3R1cmUgdG8gaG9sZCBtYWxsb2MgaGVhcA0KPiAgICovDQo+IC1zdHJ1 Y3QgbWFsbG9jX2hlYXAgew0KPiArc3RydWN0IF9fcnRlX2NhY2hlX2FsaWduZWQgbWFsbG9jX2hl YXAgew0KPiAgCXJ0ZV9zcGlubG9ja190IGxvY2s7DQo+ICAJTElTVF9IRUFEKCwgbWFsbG9jX2Vs ZW0pIGZyZWVfaGVhZFtSVEVfSEVBUF9OVU1fRlJFRUxJU1RTXTsNCj4gIAlzdHJ1Y3QgbWFsbG9j X2VsZW0gKnZvbGF0aWxlIGZpcnN0Ow0KPiBAQCAtMzEsNyArMzEsNyBAQCBzdHJ1Y3QgbWFsbG9j X2hlYXAgew0KPiAgCXVuc2lnbmVkIGludCBzb2NrZXRfaWQ7DQo+ICAJc2l6ZV90IHRvdGFsX3Np emU7DQo+ICAJY2hhciBuYW1lW1JURV9IRUFQX05BTUVfTUFYX0xFTl07DQo+IC19IF9fcnRlX2Nh Y2hlX2FsaWduZWQ7DQo+ICt9Ow0KPiANCj4gIHZvaWQgKg0KPiAgbWFsbG9jX2hlYXBfYWxsb2Mo Y29uc3QgY2hhciAqdHlwZSwgc2l6ZV90IHNpemUsIGludCBzb2NrZXQsIHVuc2lnbmVkIGludCBm bGFncywNCj4gZGlmZiAtLWdpdCBhL2xpYi9lYWwvY29tbW9uL3J0ZV9rZWVwYWxpdmUuYyBiL2xp Yi9lYWwvY29tbW9uL3J0ZV9rZWVwYWxpdmUuYw0KPiBpbmRleCBmNmRiOTczLi4zOTFjMWJlIDEw MDY0NA0KPiAtLS0gYS9saWIvZWFsL2NvbW1vbi9ydGVfa2VlcGFsaXZlLmMNCj4gKysrIGIvbGli L2VhbC9jb21tb24vcnRlX2tlZXBhbGl2ZS5jDQo+IEBAIC0yLDYgKzIsNyBAQA0KPiAgICogQ29w eXJpZ2h0KGMpIDIwMTUtMjAxNiBJbnRlbCBDb3Jwb3JhdGlvbg0KPiAgICovDQo+IA0KPiArI2lu Y2x1ZGUgPHN0ZGFsaWduLmg+DQo+ICAjaW5jbHVkZSA8aW50dHlwZXMuaD4NCj4gDQo+ICAjaW5j bHVkZSA8cnRlX2NvbW1vbi5oPg0KPiBAQCAtMTksNyArMjAsNyBAQCBzdHJ1Y3QgcnRlX2tlZXBh bGl2ZSB7DQo+ICAJCS8qDQo+ICAJCSAqIEVhY2ggZWxlbWVudCBtdXN0IGJlIGNhY2hlIGFsaWdu ZWQgdG8gcHJldmVudCBmYWxzZSBzaGFyaW5nLg0KPiAgCQkgKi8NCj4gLQkJZW51bSBydGVfa2Vl cGFsaXZlX3N0YXRlIGNvcmVfc3RhdGUgX19ydGVfY2FjaGVfYWxpZ25lZDsNCj4gKwkJYWxpZ25h cyhSVEVfQ0FDSEVfTElORV9TSVpFKSBlbnVtIHJ0ZV9rZWVwYWxpdmVfc3RhdGUgY29yZV9zdGF0 ZTsNCj4gIAl9IGxpdmVfZGF0YVtSVEVfS0VFUEFMSVZFX01BWENPUkVTXTsNCj4gDQo+ICAJLyoq IExhc3Qtc2Vlbi1hbGl2ZSB0aW1lc3RhbXBzICovDQo+IGRpZmYgLS1naXQgYS9saWIvZWFsL2Nv bW1vbi9ydGVfcmFuZG9tLmMgYi9saWIvZWFsL2NvbW1vbi9ydGVfcmFuZG9tLmMNCj4gaW5kZXgg NzcwOWI4Zi4uOTBlOTFiMyAxMDA2NDQNCj4gLS0tIGEvbGliL2VhbC9jb21tb24vcnRlX3JhbmRv bS5jDQo+ICsrKyBiL2xpYi9lYWwvY29tbW9uL3J0ZV9yYW5kb20uYw0KPiBAQCAtMTMsMTQgKzEz LDE0IEBADQo+ICAjaW5jbHVkZSA8cnRlX2xjb3JlLmg+DQo+ICAjaW5jbHVkZSA8cnRlX3JhbmRv bS5oPg0KPiANCj4gLXN0cnVjdCBydGVfcmFuZF9zdGF0ZSB7DQo+ICtzdHJ1Y3QgX19ydGVfY2Fj aGVfYWxpZ25lZCBydGVfcmFuZF9zdGF0ZSB7DQo+ICAJdWludDY0X3QgejE7DQo+ICAJdWludDY0 X3QgejI7DQo+ICAJdWludDY0X3QgejM7DQo+ICAJdWludDY0X3QgejQ7DQo+ICAJdWludDY0X3Qg ejU7DQo+ICAJUlRFX0NBQ0hFX0dVQVJEOw0KPiAtfSBfX3J0ZV9jYWNoZV9hbGlnbmVkOw0KPiAr fTsNCj4gDQo+ICAvKiBPbmUgaW5zdGFuY2UgZWFjaCBmb3IgZXZlcnkgbGNvcmUgaWQtZXF1aXBw ZWQgdGhyZWFkLCBhbmQgb25lDQo+ICAgKiBhZGRpdGlvbmFsIGluc3RhbmNlIHRvIGJlIHNoYXJl ZCBieSBhbGwgb3RoZXJzIHRocmVhZHMgKGkuZS4sIGFsbA0KPiBkaWZmIC0tZ2l0IGEvbGliL2Vh bC9jb21tb24vcnRlX3NlcnZpY2UuYyBiL2xpYi9lYWwvY29tbW9uL3J0ZV9zZXJ2aWNlLmMNCj4g aW5kZXggZDk1OWM5MS4uNTYzNzk5MyAxMDA2NDQNCj4gLS0tIGEvbGliL2VhbC9jb21tb24vcnRl X3NlcnZpY2UuYw0KPiArKysgYi9saWIvZWFsL2NvbW1vbi9ydGVfc2VydmljZS5jDQo+IEBAIC0z Miw3ICszMiw3IEBADQo+ICAjZGVmaW5lIFJVTlNUQVRFX1JVTk5JTkcgMQ0KPiANCj4gIC8qIGlu dGVybmFsIHJlcHJlc2VudGF0aW9uIG9mIGEgc2VydmljZSAqLw0KPiAtc3RydWN0IHJ0ZV9zZXJ2 aWNlX3NwZWNfaW1wbCB7DQo+ICtzdHJ1Y3QgX19ydGVfY2FjaGVfYWxpZ25lZCBydGVfc2Vydmlj ZV9zcGVjX2ltcGwgew0KPiAgCS8qIHB1YmxpYyBwYXJ0IG9mIHRoZSBzdHJ1Y3QgKi8NCj4gIAlz dHJ1Y3QgcnRlX3NlcnZpY2Vfc3BlYyBzcGVjOw0KPiANCj4gQEAgLTUzLDcgKzUzLDcgQEAgc3Ry dWN0IHJ0ZV9zZXJ2aWNlX3NwZWNfaW1wbCB7DQo+ICAJICogb24gY3VycmVudGx5Lg0KPiAgCSAq Lw0KPiAgCVJURV9BVE9NSUModWludDMyX3QpIG51bV9tYXBwZWRfY29yZXM7DQo+IC19IF9fcnRl X2NhY2hlX2FsaWduZWQ7DQo+ICt9Ow0KPiANCj4gIHN0cnVjdCBzZXJ2aWNlX3N0YXRzIHsNCj4g IAlSVEVfQVRPTUlDKHVpbnQ2NF90KSBjYWxsczsNCj4gQEAgLTYxLDcgKzYxLDcgQEAgc3RydWN0 IHNlcnZpY2Vfc3RhdHMgew0KPiAgfTsNCj4gDQo+ICAvKiB0aGUgaW50ZXJuYWwgdmFsdWVzIG9m IGEgc2VydmljZSBjb3JlICovDQo+IC1zdHJ1Y3QgY29yZV9zdGF0ZSB7DQo+ICtzdHJ1Y3QgX19y dGVfY2FjaGVfYWxpZ25lZCBjb3JlX3N0YXRlIHsNCj4gIAkvKiBtYXAgb2Ygc2VydmljZXMgSURz IGFyZSBydW4gb24gdGhpcyBjb3JlICovDQo+ICAJdWludDY0X3Qgc2VydmljZV9tYXNrOw0KPiAg CVJURV9BVE9NSUModWludDhfdCkgcnVuc3RhdGU7IC8qIHJ1bm5pbmcgb3Igc3RvcHBlZCAqLw0K PiBAQCAtNzEsNyArNzEsNyBAQCBzdHJ1Y3QgY29yZV9zdGF0ZSB7DQo+ICAJUlRFX0FUT01JQyh1 aW50NjRfdCkgbG9vcHM7DQo+ICAJUlRFX0FUT01JQyh1aW50NjRfdCkgY3ljbGVzOw0KPiAgCXN0 cnVjdCBzZXJ2aWNlX3N0YXRzIHNlcnZpY2Vfc3RhdHNbUlRFX1NFUlZJQ0VfTlVNX01BWF07DQo+ IC19IF9fcnRlX2NhY2hlX2FsaWduZWQ7DQo+ICt9Ow0KPiANCj4gIHN0YXRpYyB1aW50MzJfdCBy dGVfc2VydmljZV9jb3VudDsNCj4gIHN0YXRpYyBzdHJ1Y3QgcnRlX3NlcnZpY2Vfc3BlY19pbXBs ICpydGVfc2VydmljZXM7DQo+IGRpZmYgLS1naXQgYS9saWIvZWFsL2luY2x1ZGUvZ2VuZXJpYy9y dGVfYXRvbWljLmggYi9saWIvZWFsL2luY2x1ZGUvZ2VuZXJpYy9ydGVfYXRvbWljLmgNCj4gaW5k ZXggMGU2MzlkYS4uZjg1OTcwNyAxMDA2NDQNCj4gLS0tIGEvbGliL2VhbC9pbmNsdWRlL2dlbmVy aWMvcnRlX2F0b21pYy5oDQo+ICsrKyBiL2xpYi9lYWwvaW5jbHVkZS9nZW5lcmljL3J0ZV9hdG9t aWMuaA0KPiBAQCAtMTA5NCw3ICsxMDk0LDcgQEAgc3RhdGljIGlubGluZSB2b2lkIHJ0ZV9hdG9t aWM2NF9jbGVhcihydGVfYXRvbWljNjRfdCAqdikNCj4gIC8qKg0KPiAgICogMTI4LWJpdCBpbnRl Z2VyIHN0cnVjdHVyZS4NCj4gICAqLw0KPiAtdHlwZWRlZiBzdHJ1Y3Qgew0KPiArdHlwZWRlZiBz dHJ1Y3QgX19ydGVfYWxpZ25lZCgxNikgew0KPiAgCXVuaW9uIHsNCj4gIAkJdWludDY0X3QgdmFs WzJdOw0KPiAgI2lmZGVmIFJURV9BUkNIXzY0DQo+IEBAIC0xMTAzLDcgKzExMDMsNyBAQCBzdGF0 aWMgaW5saW5lIHZvaWQgcnRlX2F0b21pYzY0X2NsZWFyKHJ0ZV9hdG9taWM2NF90ICp2KQ0KPiAg I2VuZGlmDQo+ICAjZW5kaWYNCj4gIAl9Ow0KPiAtfSBfX3J0ZV9hbGlnbmVkKDE2KSBydGVfaW50 MTI4X3Q7DQo+ICt9IHJ0ZV9pbnQxMjhfdDsNCj4gDQo+ICAjaWZkZWYgX19ET1hZR0VOX18NCj4g DQo+IGRpZmYgLS1naXQgYS9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oIGIvbGliL2VhbC9p bmNsdWRlL3J0ZV9jb21tb24uaA0KPiBpbmRleCAxY2MxMjIyLi4wOTA4YWEwIDEwMDY0NA0KPiAt LS0gYS9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oDQo+ICsrKyBiL2xpYi9lYWwvaW5jbHVk ZS9ydGVfY29tbW9uLmgNCj4gQEAgLTEyLDYgKzEyLDggQEANCj4gICAqIGZvciBEUERLLg0KPiAg ICovDQo+IA0KPiArI2luY2x1ZGUgPHN0ZGFsaWduLmg+DQo+ICsNCj4gICNpZmRlZiBfX2NwbHVz cGx1cw0KPiAgZXh0ZXJuICJDIiB7DQo+ICAjZW5kaWYNCj4gQEAgLTYzLDEwICs2NSwxOSBAQA0K PiAgI2VuZGlmDQo+IA0KPiAgLyoqDQo+IC0gKiBGb3JjZSBhbGlnbm1lbnQNCj4gKyAqIEZvcmNl IHR5cGUgYWxpZ25tZW50DQo+ICsgKg0KPiArICogVGhpcyBtYWNybyBzaG91bGQgYmUgdXNlZCB3 aGVuIGFsaWdubWVudCBvZiBhIHN0cnVjdCBvciB1bmlvbiB0eXBlDQo+ICsgKiBpcyByZXF1aXJl ZC4gRm9yIHRvb2xjaGFpbiBjb21wYXRpYmlsaXR5IGl0IHNob3VsZCBhcHBlYXIgYmV0d2Vlbg0K PiArICogdGhlIHtzdHJ1Y3QsdW5pb259IGtleXdvcmQgYW5kIHRhZy4gZS5nLg0KPiArICoNCj4g KyAqICAgc3RydWN0IF9fcnRlX2FsaWduZWQoOCkgdGFnIHsgLi4uIH07DQo+ICsgKg0KPiArICog SWYgYWxpZ25tZW50IG9mIGFuIG9iamVjdC92YXJpYWJsZSBpcyByZXF1aXJlZCB0aGVuIHRoaXMg bWFjcm8gc2hvdWxkDQo+ICsgKiBub3QgYmUgdXNlZCwgaW5zdGVhZCBwcmVmZXIgQzExIGFsaWdu YXMoYSkuDQo+ICAgKi8NCj4gICNpZmRlZiBSVEVfVE9PTENIQUlOX01TVkMNCj4gLSNkZWZpbmUg X19ydGVfYWxpZ25lZChhKQ0KPiArI2RlZmluZSBfX3J0ZV9hbGlnbmVkKGEpIF9fZGVjbHNwZWMo YWxpZ24oYSkpDQo+ICAjZWxzZQ0KPiAgI2RlZmluZSBfX3J0ZV9hbGlnbmVkKGEpIF9fYXR0cmli dXRlX18oKF9fYWxpZ25lZF9fKGEpKSkNCj4gICNlbmRpZg0KPiBAQCAtNTM4LDE4ICs1NDksMTQg QEAgc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoZGVzdHJ1Y3RvcihSVEVfUFJJTyhwcmlvKSks IHVzZWQpKSBmdW5jKHZvaWQpDQo+ICAjZGVmaW5lIFJURV9DQUNIRV9MSU5FX01JTl9TSVpFIDY0 DQo+IA0KPiAgLyoqIEZvcmNlIGFsaWdubWVudCB0byBjYWNoZSBsaW5lLiAqLw0KPiAtI2lmZGVm IFJURV9UT09MQ0hBSU5fTVNWQw0KPiAtI2RlZmluZSBfX3J0ZV9jYWNoZV9hbGlnbmVkDQo+IC0j ZWxzZQ0KPiAgI2RlZmluZSBfX3J0ZV9jYWNoZV9hbGlnbmVkIF9fcnRlX2FsaWduZWQoUlRFX0NB Q0hFX0xJTkVfU0laRSkNCj4gLSNlbmRpZg0KPiANCj4gIC8qKiBGb3JjZSBtaW5pbXVtIGNhY2hl IGxpbmUgYWxpZ25tZW50LiAqLw0KPiAgI2RlZmluZSBfX3J0ZV9jYWNoZV9taW5fYWxpZ25lZCBf X3J0ZV9hbGlnbmVkKFJURV9DQUNIRV9MSU5FX01JTl9TSVpFKQ0KPiANCj4gICNkZWZpbmUgX1JU RV9DQUNIRV9HVUFSRF9IRUxQRVIyKHVuaXF1ZSkgXA0KPiAtCWNoYXIgY2FjaGVfZ3VhcmRfICMj IHVuaXF1ZVtSVEVfQ0FDSEVfTElORV9TSVpFICogUlRFX0NBQ0hFX0dVQVJEX0xJTkVTXSBcDQo+ IC0JX19ydGVfY2FjaGVfYWxpZ25lZA0KPiArCWFsaWduYXMoUlRFX0NBQ0hFX0xJTkVfU0laRSkg XA0KPiArCWNoYXIgY2FjaGVfZ3VhcmRfICMjIHVuaXF1ZVtSVEVfQ0FDSEVfTElORV9TSVpFICog UlRFX0NBQ0hFX0dVQVJEX0xJTkVTXQ0KPiAgI2RlZmluZSBfUlRFX0NBQ0hFX0dVQVJEX0hFTFBF UjEodW5pcXVlKSBfUlRFX0NBQ0hFX0dVQVJEX0hFTFBFUjIodW5pcXVlKQ0KPiAgLyoqDQo+ICAg KiBFbXB0eSBjYWNoZSBsaW5lcywgdG8gZ3VhcmQgYWdhaW5zdCBmYWxzZSBzaGFyaW5nLWxpa2Ug ZWZmZWN0cw0KPiBkaWZmIC0tZ2l0IGEvbGliL2VhbC9sb29uZ2FyY2gvaW5jbHVkZS9ydGVfdmVj dC5oIGIvbGliL2VhbC9sb29uZ2FyY2gvaW5jbHVkZS9ydGVfdmVjdC5oDQo+IGluZGV4IDE1NDY1 MTUuLmFhMzM0ZTggMTAwNjQ0DQo+IC0tLSBhL2xpYi9lYWwvbG9vbmdhcmNoL2luY2x1ZGUvcnRl X3ZlY3QuaA0KPiArKysgYi9saWIvZWFsL2xvb25nYXJjaC9pbmNsdWRlL3J0ZV92ZWN0LmgNCj4g QEAgLTE1LDcgKzE1LDcgQEANCj4gDQo+ICAjZGVmaW5lIFJURV9WRUNUX0RFRkFVTFRfU0lNRF9C SVRXSURUSCBSVEVfVkVDVF9TSU1EX0RJU0FCTEVEDQo+IA0KPiAtdHlwZWRlZiB1bmlvbiB4bW0g ew0KPiArdHlwZWRlZiB1bmlvbiBfX3J0ZV9hbGlnbmVkKDE2KSB4bW0gew0KPiAgCWludDhfdCAg IGk4WzE2XTsNCj4gIAlpbnQxNl90ICBpMTZbOF07DQo+ICAJaW50MzJfdCAgaTMyWzRdOw0KPiBA QCAtMjUsMTkgKzI1LDE5IEBADQo+ICAJdWludDMyX3QgdTMyWzRdOw0KPiAgCXVpbnQ2NF90IHU2 NFsyXTsNCj4gIAlkb3VibGUgICBwZFsyXTsNCj4gLX0gX19ydGVfYWxpZ25lZCgxNikgeG1tX3Q7 DQo+ICt9IHhtbV90Ow0KPiANCj4gICNkZWZpbmUgWE1NX1NJWkUgICAgICAgIChzaXplb2YoeG1t X3QpKQ0KPiAgI2RlZmluZSBYTU1fTUFTSyAgICAgICAgKFhNTV9TSVpFIC0gMSkNCj4gDQo+IC10 eXBlZGVmIHVuaW9uIHJ0ZV94bW0gew0KPiArdHlwZWRlZiB1bmlvbiBfX3J0ZV9hbGlnbmVkKDE2 KSBydGVfeG1tIHsNCj4gIAl4bW1fdAkgeDsNCj4gIAl1aW50OF90CSB1OFtYTU1fU0laRSAvIHNp emVvZih1aW50OF90KV07DQo+ICAJdWludDE2X3QgdTE2W1hNTV9TSVpFIC8gc2l6ZW9mKHVpbnQx Nl90KV07DQo+ICAJdWludDMyX3QgdTMyW1hNTV9TSVpFIC8gc2l6ZW9mKHVpbnQzMl90KV07DQo+ ICAJdWludDY0X3QgdTY0W1hNTV9TSVpFIC8gc2l6ZW9mKHVpbnQ2NF90KV07DQo+ICAJZG91Ymxl ICAgcGRbWE1NX1NJWkUgLyBzaXplb2YoZG91YmxlKV07DQo+IC19IF9fcnRlX2FsaWduZWQoMTYp IHJ0ZV94bW1fdDsNCj4gK30gcnRlX3htbV90Ow0KPiANCj4gIHN0YXRpYyBpbmxpbmUgeG1tX3QN Cj4gIHZlY3RfbG9hZF8xMjgodm9pZCAqcCkNCj4gZGlmZiAtLWdpdCBhL2xpYi9lYWwvcHBjL2lu Y2x1ZGUvcnRlX3ZlY3QuaCBiL2xpYi9lYWwvcHBjL2luY2x1ZGUvcnRlX3ZlY3QuaA0KPiBpbmRl eCBhNWYwMDliLi5jOGJhY2UyIDEwMDY0NA0KPiAtLS0gYS9saWIvZWFsL3BwYy9pbmNsdWRlL3J0 ZV92ZWN0LmgNCj4gKysrIGIvbGliL2VhbC9wcGMvaW5jbHVkZS9ydGVfdmVjdC5oDQo+IEBAIC0y MiwxNCArMjIsMTQgQEANCj4gICNkZWZpbmUJWE1NX1NJWkUJKHNpemVvZih4bW1fdCkpDQo+ICAj ZGVmaW5lCVhNTV9NQVNLCShYTU1fU0laRSAtIDEpDQo+IA0KPiAtdHlwZWRlZiB1bmlvbiBydGVf eG1tIHsNCj4gK3R5cGVkZWYgdW5pb24gX19ydGVfYWxpZ25lZCgxNikgcnRlX3htbSB7DQo+ICAJ eG1tX3QgICAgeDsNCj4gIAl1aW50OF90ICB1OFtYTU1fU0laRSAvIHNpemVvZih1aW50OF90KV07 DQo+ICAJdWludDE2X3QgdTE2W1hNTV9TSVpFIC8gc2l6ZW9mKHVpbnQxNl90KV07DQo+ICAJdWlu dDMyX3QgdTMyW1hNTV9TSVpFIC8gc2l6ZW9mKHVpbnQzMl90KV07DQo+ICAJdWludDY0X3QgdTY0 W1hNTV9TSVpFIC8gc2l6ZW9mKHVpbnQ2NF90KV07DQo+ICAJZG91YmxlICAgcGRbWE1NX1NJWkUg LyBzaXplb2YoZG91YmxlKV07DQo+IC19IF9fcnRlX2FsaWduZWQoMTYpIHJ0ZV94bW1fdDsNCj4g K30gcnRlX3htbV90Ow0KPiANCj4gICNpZmRlZiBfX2NwbHVzcGx1cw0KPiAgfQ0KPiBkaWZmIC0t Z2l0IGEvbGliL2VhbC9yaXNjdi9pbmNsdWRlL3J0ZV92ZWN0LmggYi9saWIvZWFsL3Jpc2N2L2lu Y2x1ZGUvcnRlX3ZlY3QuaA0KPiBpbmRleCBkYTkwOTJhLi42ZGYxMGZhIDEwMDY0NA0KPiAtLS0g YS9saWIvZWFsL3Jpc2N2L2luY2x1ZGUvcnRlX3ZlY3QuaA0KPiArKysgYi9saWIvZWFsL3Jpc2N2 L2luY2x1ZGUvcnRlX3ZlY3QuaA0KPiBAQCAtMjIsMTQgKzIyLDE0IEBADQo+ICAjZGVmaW5lIFhN TV9TSVpFCShzaXplb2YoeG1tX3QpKQ0KPiAgI2RlZmluZSBYTU1fTUFTSwkoWE1NX1NJWkUgLSAx KQ0KPiANCj4gLXR5cGVkZWYgdW5pb24gcnRlX3htbSB7DQo+ICt0eXBlZGVmIHVuaW9uIF9fcnRl X2FsaWduZWQoMTYpIHJ0ZV94bW0gew0KPiAgCXhtbV90CQl4Ow0KPiAgCXVpbnQ4X3QJCXU4W1hN TV9TSVpFIC8gc2l6ZW9mKHVpbnQ4X3QpXTsNCj4gIAl1aW50MTZfdAl1MTZbWE1NX1NJWkUgLyBz aXplb2YodWludDE2X3QpXTsNCj4gIAl1aW50MzJfdAl1MzJbWE1NX1NJWkUgLyBzaXplb2YodWlu dDMyX3QpXTsNCj4gIAl1aW50NjRfdAl1NjRbWE1NX1NJWkUgLyBzaXplb2YodWludDY0X3QpXTsN Cj4gIAlkb3VibGUJCXBkW1hNTV9TSVpFIC8gc2l6ZW9mKGRvdWJsZSldOw0KPiAtfSBfX3J0ZV9h bGlnbmVkKDE2KSBydGVfeG1tX3Q7DQo+ICt9IHJ0ZV94bW1fdDsNCj4gDQo+ICBzdGF0aWMgaW5s aW5lIHhtbV90DQo+ICB2ZWN0X2xvYWRfMTI4KHZvaWQgKnApDQo+IGRpZmYgLS1naXQgYS9saWIv ZWFsL3g4Ni9pbmNsdWRlL3J0ZV92ZWN0LmggYi9saWIvZWFsL3g4Ni9pbmNsdWRlL3J0ZV92ZWN0 LmgNCj4gaW5kZXggNTYwZjllNC4uYTFhNTM3ZSAxMDA2NDQNCj4gLS0tIGEvbGliL2VhbC94ODYv aW5jbHVkZS9ydGVfdmVjdC5oDQo+ICsrKyBiL2xpYi9lYWwveDg2L2luY2x1ZGUvcnRlX3ZlY3Qu aA0KPiBAQCAtOTEsNyArOTEsNyBAQA0KPiAgI2RlZmluZSBSVEVfWDg2X1pNTV9TSVpFCShzaXpl b2YoX19tNTEyaSkpDQo+ICAjZGVmaW5lIFJURV9YODZfWk1NX01BU0sJKFJURV9YODZfWk1NX1NJ WkUgLSAxKQ0KPiANCj4gLXR5cGVkZWYgdW5pb24gX19ydGVfeDg2X3ptbSB7DQo+ICt0eXBlZGVm IHVuaW9uIF9fcnRlX2FsaWduZWQoUlRFX1g4Nl9aTU1fU0laRSkgX19ydGVfeDg2X3ptbSB7DQo+ ICAJX19tNTEyaQkgejsNCj4gIAl5bW1fdCAgICB5W1JURV9YODZfWk1NX1NJWkUgLyBzaXplb2Yo eW1tX3QpXTsNCj4gIAl4bW1fdCAgICB4W1JURV9YODZfWk1NX1NJWkUgLyBzaXplb2YoeG1tX3Qp XTsNCj4gQEAgLTEwMCw3ICsxMDAsNyBAQA0KPiAgCXVpbnQzMl90IHUzMltSVEVfWDg2X1pNTV9T SVpFIC8gc2l6ZW9mKHVpbnQzMl90KV07DQo+ICAJdWludDY0X3QgdTY0W1JURV9YODZfWk1NX1NJ WkUgLyBzaXplb2YodWludDY0X3QpXTsNCj4gIAlkb3VibGUgICBwZFtSVEVfWDg2X1pNTV9TSVpF IC8gc2l6ZW9mKGRvdWJsZSldOw0KPiAtfSBfX3J0ZV9hbGlnbmVkKFJURV9YODZfWk1NX1NJWkUp IF9fcnRlX3g4Nl96bW1fdDsNCj4gK30gX19ydGVfeDg2X3ptbV90Ow0KPiANCj4gICNlbmRpZiAv KiBfX0FWWDUxMkZfXyAqLw0KPiANCj4gZGlmZiAtLWdpdCBhL2xpYi9lYWwveDg2L3J0ZV9wb3dl cl9pbnRyaW5zaWNzLmMgYi9saWIvZWFsL3g4Ni9ydGVfcG93ZXJfaW50cmluc2ljcy5jDQo+IGlu ZGV4IDUzMmEyZTYuLjZkOWI2NDIgMTAwNjQ0DQo+IC0tLSBhL2xpYi9lYWwveDg2L3J0ZV9wb3dl cl9pbnRyaW5zaWNzLmMNCj4gKysrIGIvbGliL2VhbC94ODYvcnRlX3Bvd2VyX2ludHJpbnNpY3Mu Yw0KPiBAQCAtMiw2ICsyLDggQEANCj4gICAqIENvcHlyaWdodChjKSAyMDIwIEludGVsIENvcnBv cmF0aW9uDQo+ICAgKi8NCj4gDQo+ICsjaW5jbHVkZSA8c3RkYWxpZ24uaD4NCj4gKw0KPiAgI2lu Y2x1ZGUgPHJ0ZV9jb21tb24uaD4NCj4gICNpbmNsdWRlIDxydGVfbGNvcmUuaD4NCj4gICNpbmNs dWRlIDxydGVfcnRtLmg+DQo+IEBAIC0xMiwxMCArMTQsMTAgQEANCj4gIC8qDQo+ICAgKiBQZXIt bGNvcmUgc3RydWN0dXJlIGhvbGRpbmcgY3VycmVudCBzdGF0dXMgb2YgQzAuMiBzbGVlcHMuDQo+ ICAgKi8NCj4gLXN0YXRpYyBzdHJ1Y3QgcG93ZXJfd2FpdF9zdGF0dXMgew0KPiArc3RhdGljIGFs aWduYXMoUlRFX0NBQ0hFX0xJTkVfU0laRSkgc3RydWN0IHBvd2VyX3dhaXRfc3RhdHVzIHsNCj4g IAlydGVfc3BpbmxvY2tfdCBsb2NrOw0KPiAgCXZvbGF0aWxlIHZvaWQgKm1vbml0b3JfYWRkcjsg LyoqPCBOVUxMIGlmIG5vdCBjdXJyZW50bHkgc2xlZXBpbmcgKi8NCj4gLX0gX19ydGVfY2FjaGVf YWxpZ25lZCB3YWl0X3N0YXR1c1tSVEVfTUFYX0xDT1JFXTsNCj4gK30gd2FpdF9zdGF0dXNbUlRF X01BWF9MQ09SRV07DQo+IA0KPiAgLyoNCj4gICAqIFRoaXMgZnVuY3Rpb24gdXNlcyBVTU9OSVRP Ui9VTVdBSVQgaW5zdHJ1Y3Rpb25zIGFuZCB3aWxsIGVudGVyIEMwLjIgc3RhdGUuDQo+IEBAIC04 NSwxMCArODcsMTAgQEAgc3RhdGljIHZvaWQgYW1kX213YWl0eChjb25zdCB1aW50NjRfdCB0aW1l b3V0KQ0KPiAgI2VuZGlmDQo+ICB9DQo+IA0KPiAtc3RhdGljIHN0cnVjdCB7DQo+ICtzdGF0aWMg YWxpZ25hcyhSVEVfQ0FDSEVfTElORV9TSVpFKSBzdHJ1Y3Qgew0KPiAgCXZvaWQgKCptbW9uaXRv cikodm9sYXRpbGUgdm9pZCAqYWRkcik7DQo+ICAJdm9pZCAoKm13YWl0KShjb25zdCB1aW50NjRf dCB0aW1lb3V0KTsNCj4gLX0gX19ydGVfY2FjaGVfYWxpZ25lZCBwb3dlcl9tb25pdG9yX29wczsN Cj4gK30gcG93ZXJfbW9uaXRvcl9vcHM7DQo+IA0KPiAgc3RhdGljIGlubGluZSB2b2lkDQo+ICBf X3Vtd2FpdF93YWtldXAodm9sYXRpbGUgdm9pZCAqYWRkcikNCj4gLS0NCg0KQWNrZWQtYnk6IEtv bnN0YW50aW4gQW5hbnlldiA8a29uc3RhbnRpbi5hbmFueWV2QGh1YXdlaS5jb20+DQoNCj4gMS44 LjMuMQ0KDQo=