From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9F316C433EF for ; Mon, 10 Jan 2022 12:13:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245350AbiAJMNk (ORCPT ); Mon, 10 Jan 2022 07:13:40 -0500 Received: from mail-eopbgr90070.outbound.protection.outlook.com ([40.107.9.70]:18938 "EHLO FRA01-MR2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S245300AbiAJMNT (ORCPT ); Mon, 10 Jan 2022 07:13:19 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E2XCGJU9s4YDcWJ26br71/kKy8BDzMn2tZkBU6WtVRwUcD941WrVkmwEf8TOEU6q8qmQZWSIbZmuGBB9PReozmgINfIi93nhoUWcPEI49NTzYoc9+bIvGdIwBAu++MtGVY8bijHfe2cNq4Z4WK4kUxugi427R0xASdNFBlCxUaY0Ww7HvlkO5enoTtncD8dQGdP+MIpHrNgjwjGe1rCYKs94+gyXcM+jtVEfI8nWQqCpObD6XFifYRzcqNSuAIvM+f9xEyodcKGoQaOPFv773se5Wp9uFJ34B9mwfLYwBDHv4lSE4Y0Qd+Tm0f9oAeEygGXfwSyXwHnX/3C/mikKAg== 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=S4uNcwRVO1My8962A4LBdyJcxGDGFnUpcX2ZMdztNIw=; b=htcGDcjdeBoaUFV5jADVRIIq/iF2E8+oQqhtZ0aZNcmeDAe53M+SN23x3C87hdY46brwlosKObAEoHDCwkyHt/1iN9W41itTC1Tt+VCl6c+0NQyvM6hWIDAvb+Ak8EVu6ixhdOxcTEXwKgrXwKgMWnqpxEuvV6IakP8b42rXldEk9AaAoybQC4d6eVVdwo3kV8d12qljLCa8IvbJxsAWHXFzm5GsDWA2SlHiZRVJY8MFbRxAiGst/eFZYZBqzSByI5kAvoBMze8m+IbQF5GhudYnVNMlSGJGZsRv98n6BrFZEu0Pru1+en9bls9oEiTothyFcuA8J7NCVzFKJHoblA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=csgroup.eu; dmarc=pass action=none header.from=csgroup.eu; dkim=pass header.d=csgroup.eu; arc=none Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:31::15) by MRXP264MB0039.FRAP264.PROD.OUTLOOK.COM (2603:10a6:500:24::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.7; Mon, 10 Jan 2022 12:13:16 +0000 Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::9d4f:1090:9b36:3fc5]) by MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::9d4f:1090:9b36:3fc5%4]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022 12:13:16 +0000 From: Christophe Leroy To: "Naveen N. Rao" , "andrii@kernel.org" , "ast@kernel.org" , Benjamin Herrenschmidt , "daniel@iogearbox.net" , "john.fastabend@gmail.com" , "kafai@fb.com" , "kpsingh@chromium.org" , Michael Ellerman , Paul Mackerras , "sandipan@linux.ibm.com" , "songliubraving@fb.com" , "yhs@fb.com" CC: "bpf@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , "netdev@vger.kernel.org" Subject: Re: [PATCH v2 8/8] powerpc/bpf: Reallocate BPF registers to volatile registers when possible on PPC32 Thread-Topic: [PATCH v2 8/8] powerpc/bpf: Reallocate BPF registers to volatile registers when possible on PPC32 Thread-Index: AQHYA7zo1hVNgRe5uEuXtCOACHnTqKxcL2mA Date: Mon, 10 Jan 2022 12:13:16 +0000 Message-ID: <7f02f0d5-9719-2f67-4ebf-284f8516476d@csgroup.eu> References: <1641556157.ms6rd82ggh.naveen@linux.ibm.com> In-Reply-To: <1641556157.ms6rd82ggh.naveen@linux.ibm.com> Accept-Language: fr-FR, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.4.0 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=csgroup.eu; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: deb2503c-bd1f-493e-6062-08d9d432952b x-ms-traffictypediagnostic: MRXP264MB0039:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: dgBRyaJoX6ontwyU/XrFOGDgITzsfyL7rGOLIt9cINw1M/8LJ/W7eKKfzlFNbAUmk9WOzyBUkrl//ZrXCDG1wdS8ePoOa8ngdf8U/XH0RMZnD84A8XvKGUV9MqxBwbnc8IWgNSRpqQYXfc41j09zv0kjY5P9sfvJJ13582Z9/74LT91rkqzIq3OPQiymfP48Gp8ua7DvLkkksR4kIYLMI39n13rdwnugy1cwNroqK11Orn6A6ALCGn36VS7xe86DE4zLEQOhdJ5NXB/H8jAQu/B9qSKsZxFACN2hdJh9TJuNIAerTgNVk9QO+jl9CKPmY4d97vstdxB5zgBpfExzMgcBqAz7nHiy6LDNkDPpNW70sBYo0uSzQ4MFcwLg6t0H9z9X2wx2u/BFZeQnkN2V3AyXuaOIt5LYt+N3ESP3i2euK/MsOXxXYHpF80CosCfkb1AQpIofWHq2vK8xM927L8JslIWbDDDXoXsrRvm9XXZjCT8Clt+shHB8Q87spUyQSfC1I3PTgK+RjPdFQx0lCZW4XTIsqqwtLE9NTOMQh0KsK0zceuRqsHOKcm/CfKuqXU1RVBjIq1GFISt9w8GAoHPrb4JZ788DfqmgmIEwqcWQJLyC+YmqT4fA8XYlWMU/y5DGOcPbQt3pwI4WYKJZvuToG23Etuth6DOS5N9rJh0z3BBBu41FjHlbFnq937uE6UD1+PXfx1zXk3aa/2mqmkrpPzCvdxCLbX+NMgPQqrbHXTaJb5xWuWyoqxK83x7qB6nw3KB/y/B8W6f8hS027CYHzIotIZ5MGCjaTnFQMJA= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(4636009)(366004)(36756003)(6512007)(316002)(122000001)(38070700005)(4326008)(38100700002)(83380400001)(921005)(31686004)(66574015)(5660300002)(66946007)(6486002)(31696002)(110136005)(54906003)(44832011)(6506007)(7416002)(66556008)(26005)(66476007)(66446008)(64756008)(91956017)(76116006)(8936002)(8676002)(71200400001)(86362001)(2906002)(508600001)(186003)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Vm9GZjhvT055L2FZbGhRcjNsTGo1Z04xeHUrd2NlNyswckIxSlM3ZXFMUC90?= =?utf-8?B?eXdPZklhK2dleVVSZlRJbW9WTGh6bmNLU09ZZ1B4bEdzMzN3Vmk0MFhvK2hX?= =?utf-8?B?NEUzdnVRK3ZadDNoeFpTdU56ZnJWZmkyeFIvTVpzM3M1NzI3cEZQNmZQNjQ0?= =?utf-8?B?Nm1xU0d5Q2R5R0hXV3ZuUlNpT2JRZnZJQjBEbUZBQS9Ld0lRbURzb3ErZnZo?= =?utf-8?B?eTg3Sk9QR3h5OVFMbEFPRGdVR1FrV1NMSHpod3MyR0hqbGhOM2RabGFJYndT?= =?utf-8?B?NEZtTFVjVXVJbFJ5NVVaNE83Nng3ZENxMStoMDdPK1FCYTBCWWNOZWlsc1kr?= =?utf-8?B?VGQ1MDM4eEtwQzBvSTZCaG5xaGRzSXVVYi9CbDRiRnhqWHkvOTJhd0lLRGtx?= =?utf-8?B?cGNZNXlPS01EMG4xTllma3IzTmxwcmpJbmFBR2E3MHJSMmJFTVppZ0ZDMkFH?= =?utf-8?B?enRyaTBLRUJYbDBJbkkrK0gyUTRlOGh2ME1RNmhqQTQwN3hNQjRYVTZtV1JS?= =?utf-8?B?ckxQdSszOTB3MUtkcE9Fb3RLSUF6RkhQaWlTTVUwT2kybitpWVRvSThoRU9V?= =?utf-8?B?ejl2QWVVS1dFTGRxMnlwRXBkWjlMVEwyUlNIQjVVRjl2Zk9ST3JoQ01QS1dx?= =?utf-8?B?d2lhNGJoTFZIZEt2clBGQkN1clpHSnBuQVFhcmpJcGdHUFh3bEx6SEFxeWxt?= =?utf-8?B?bnRnREJDcHJtVzhab0RtZHBzbHVlL3Vra2JaRkdUSUs2NXZHaFk3WjdqWXUz?= =?utf-8?B?b1dmYVpwUGJaNXd4Y2NCOXUwNFpSR0VsT0xkRVJTNnJ6cW9PMld3enFTcUhk?= =?utf-8?B?dnhpS0lFd2FkOGNKcXJWam9mWkFCVWNtOFF3Rlk3Vk5oeXVYRUloZy9oOTIz?= =?utf-8?B?VXh2Tk05WExYTEVtYkpQQnZuRjJuU1VKUDNiRzNEbmdtUmZBUEI0MHZWMjNW?= =?utf-8?B?RGpwTi9GbEwwTVVjQnpaOWdjV3B2T2oxOFd6T0NLd0pFclJ3eFFBR0xORFFW?= =?utf-8?B?Nm5kUVBsaElzS2pLd1g4VDFobnpJU1dBcWY3N20yRkx6cU5ZZ3BLTW92UjlB?= =?utf-8?B?WHBta2ZxWm9aVVA3aXY0YWpIN3VnRUNzbmtzZW45MW1aOHlueUJZSjVYaHhr?= =?utf-8?B?VUVUSlFLdi9Md1paTUhnUGdOUHIwcm1sdFRnVHVPeUhMRUp1TjNzNlVYQUlw?= =?utf-8?B?Z1NBN3V4U1UxdnZPWVNLYnJKc2Vhd3lobFFLSWFjNXJCRGFnSStqNXB0dFJo?= =?utf-8?B?NkMwZ1BqRFdXcGVCb3ppWEM0dFZnY1RibzdRUkcyRGRxWngrQmFhV1FCMzl1?= =?utf-8?B?Q25VTEJWS0kvSnQ3MmM4RDVSK3lEYkZwbFlQdkRwOURxSHJYZUcrVWRxTENw?= =?utf-8?B?WkVvQ21peEtacFZackpSdkw3R3NHYXMwRHE3K0FyWmptcElnaEVXYjRVQVR6?= =?utf-8?B?UncyeExRSW5VQ0ErTUd1bno1QWtSdms4WnVjTW9wM0cvbmFZNEJvTnUzSWRM?= =?utf-8?B?Uk5IcVZJOGh0TnUwRjVUbkpGUTBGL21JblpvTys5VHB4Vm9ORXQ1bHllZnE4?= =?utf-8?B?UmhHeFN5QVAwc1B1MHNYd2dZN0ZjZHc2ZmhZeEI3bC9VUk5RSVZLdGxCSVJ3?= =?utf-8?B?QitKbmJVRFRzNkVCOEduOUZHUk1RUzZWY2xJVzgrVG1XTG0zajZPOW1XVzNS?= =?utf-8?B?QytFOTFpUGhTemU4RzVXNURjTVlYRjE4dGRQRHdzdStMMEZEbHpBSnptQmMv?= =?utf-8?B?VEgvdC9WQzJtVEcvNHRwUEtTWE5CWVh1MERDeWlSNWNENlVhZHNoMmdqMEFQ?= =?utf-8?B?TEZwaHNGQ1NwdWVBT29vTitvcXYzVUpPZHZQU0Z4NDc5aHRXdUZLcWE1Q2Jz?= =?utf-8?B?SDJXMEVzbjJEK3I2TmlBQnM3dW9GZGZhbVkwNS81QTgvK3YrT0ZMOVlEU2or?= =?utf-8?B?UVJrSTMxUkg1ZEpYTDlCTU9ZaXVWU241NnJHeUNXT3BzVlBLdlRDN3lOMTBN?= =?utf-8?B?M2FSYnNwYzI1KzI5ams4bW1ORmhxNlpSdFNrcitFaEFtNndZRVVRVnlRMDB0?= =?utf-8?B?Vm52b0F6bzZuWGd0WWIydFZZZ3J2bGgyNms1SCtLcEpvYk9GUjZ2UWhrY010?= =?utf-8?B?cnpNNHJkKzQwc3psRjlaaW13bVVIU21HQ2lMUzErRWlzbkkzUy83dmhCMzRv?= =?utf-8?B?dnU4aDBwWFZ4dlROdVhqQXpVR0dMVkRGZXdPVWlCRlFRVmF0QjNhUzB3c1BW?= =?utf-8?Q?NBEYZvx9jeiBtvxLeZy9kTrsgDW71pS2H4YjXM9d4A=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <9C84D995F2E3314A8B64D1CAA7AA32D1@FRAP264.PROD.OUTLOOK.COM> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: csgroup.eu X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: deb2503c-bd1f-493e-6062-08d9d432952b X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Jan 2022 12:13:16.4955 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 9914def7-b676-4fda-8815-5d49fb3b45c8 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: WAgpdcmJuXNiqdObdcwMhnR+gZ4wdqD8D54zMtVu3u0QY1VN8GpeSuOhNOgEE1dSXU9TK5kAoOkrj68Gg1W0NS1jpNSMZhJW6bAWcLuIJTg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MRXP264MB0039 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org DQoNCkxlIDA3LzAxLzIwMjIgw6AgMTI6NTEsIE5hdmVlbiBOLiBSYW8gYSDDqWNyaXTCoDoNCj4g Q2hyaXN0b3BoZSBMZXJveSB3cm90ZToNCj4+IFdoZW4gdGhlIEJQRiByb3V0aW5lIGRvZXNuJ3Qg Y2FsbCBhbnkgZnVuY3Rpb24sIHRoZSBub24gdm9sYXRpbGUNCj4+IHJlZ2lzdGVycyBjYW4gYmUg cmVhbGxvY2F0ZWQgdG8gdm9sYXRpbGUgcmVnaXN0ZXJzIGluIG9yZGVyIHRvDQo+PiBhdm9pZCBo YXZpbmcgdG8gc2F2ZSB0aGVtL3Jlc3RvcmUgb24gdGhlIHN0YWNrLg0KPj4NCj4+IEJlZm9yZSB0 aGlzIHBhdGNoLCB0aGUgdGVzdCAjMzU5IEFERCBkZWZhdWx0IFggaXM6DQo+Pg0KPj4gwqDCoCAw OsKgwqDCoCA3YyA2NCAxYiA3OMKgwqDCoMKgIG1ywqDCoMKgwqDCoCByNCxyMw0KPj4gwqDCoCA0 OsKgwqDCoCAzOCA2MCAwMCAwMMKgwqDCoMKgIGxpwqDCoMKgwqDCoCByMywwDQo+PiDCoMKgIDg6 wqDCoMKgIDk0IDIxIGZmIGIwwqDCoMKgwqAgc3R3dcKgwqDCoCByMSwtODAocjEpDQo+PiDCoMKg IGM6wqDCoMKgIDYwIDAwIDAwIDAwwqDCoMKgwqAgbm9wDQo+PiDCoCAxMDrCoMKgwqAgOTIgZTEg MDAgMmPCoMKgwqDCoCBzdHfCoMKgwqDCoCByMjMsNDQocjEpDQo+PiDCoCAxNDrCoMKgwqAgOTMg MDEgMDAgMzDCoMKgwqDCoCBzdHfCoMKgwqDCoCByMjQsNDgocjEpDQo+PiDCoCAxODrCoMKgwqAg OTMgMjEgMDAgMzTCoMKgwqDCoCBzdHfCoMKgwqDCoCByMjUsNTIocjEpDQo+PiDCoCAxYzrCoMKg wqAgOTMgNDEgMDAgMzjCoMKgwqDCoCBzdHfCoMKgwqDCoCByMjYsNTYocjEpDQo+PiDCoCAyMDrC oMKgwqAgMzkgODAgMDAgMDDCoMKgwqDCoCBsacKgwqDCoMKgwqAgcjEyLDANCj4+IMKgIDI0OsKg wqDCoCAzOSA2MCAwMCAwMMKgwqDCoMKgIGxpwqDCoMKgwqDCoCByMTEsMA0KPj4gwqAgMjg6wqDC oMKgIDNiIDQwIDAwIDAwwqDCoMKgwqAgbGnCoMKgwqDCoMKgIHIyNiwwDQo+PiDCoCAyYzrCoMKg wqAgM2IgMjAgMDAgMDDCoMKgwqDCoCBsacKgwqDCoMKgwqAgcjI1LDANCj4+IMKgIDMwOsKgwqDC oCA3YyA5OCAyMyA3OMKgwqDCoMKgIG1ywqDCoMKgwqDCoCByMjQscjQNCj4+IMKgIDM0OsKgwqDC oCA3YyA3NyAxYiA3OMKgwqDCoMKgIG1ywqDCoMKgwqDCoCByMjMscjMNCj4+IMKgIDM4OsKgwqDC oCAzOSA4MCAwMCA0MsKgwqDCoMKgIGxpwqDCoMKgwqDCoCByMTIsNjYNCj4+IMKgIDNjOsKgwqDC oCAzOSA2MCAwMCAwMMKgwqDCoMKgIGxpwqDCoMKgwqDCoCByMTEsMA0KPj4gwqAgNDA6wqDCoMKg IDdkIDhjIGQyIDE0wqDCoMKgwqAgYWRkwqDCoMKgwqAgcjEyLHIxMixyMjYNCj4+IMKgIDQ0OsKg wqDCoCAzOSA2MCAwMCAwMMKgwqDCoMKgIGxpwqDCoMKgwqDCoCByMTEsMA0KPj4gwqAgNDg6wqDC oMKgIDdkIDgzIDYzIDc4wqDCoMKgwqAgbXLCoMKgwqDCoMKgIHIzLHIxMg0KPj4gwqAgNGM6wqDC oMKgIDgyIGUxIDAwIDJjwqDCoMKgwqAgbHd6wqDCoMKgwqAgcjIzLDQ0KHIxKQ0KPj4gwqAgNTA6 wqDCoMKgIDgzIDAxIDAwIDMwwqDCoMKgwqAgbHd6wqDCoMKgwqAgcjI0LDQ4KHIxKQ0KPj4gwqAg NTQ6wqDCoMKgIDgzIDIxIDAwIDM0wqDCoMKgwqAgbHd6wqDCoMKgwqAgcjI1LDUyKHIxKQ0KPj4g wqAgNTg6wqDCoMKgIDgzIDQxIDAwIDM4wqDCoMKgwqAgbHd6wqDCoMKgwqAgcjI2LDU2KHIxKQ0K Pj4gwqAgNWM6wqDCoMKgIDM4IDIxIDAwIDUwwqDCoMKgwqAgYWRkacKgwqDCoCByMSxyMSw4MA0K Pj4gwqAgNjA6wqDCoMKgIDRlIDgwIDAwIDIwwqDCoMKgwqAgYmxyDQo+Pg0KPj4gQWZ0ZXIgdGhp cyBwYXRjaCwgdGhlIHNhbWUgdGVzdCBoYXMgYmVjb21lOg0KPj4NCj4+IMKgwqAgMDrCoMKgwqAg N2MgNjQgMWIgNzjCoMKgwqDCoCBtcsKgwqDCoMKgwqAgcjQscjMNCj4+IMKgwqAgNDrCoMKgwqAg MzggNjAgMDAgMDDCoMKgwqDCoCBsacKgwqDCoMKgwqAgcjMsMA0KPj4gwqDCoCA4OsKgwqDCoCA5 NCAyMSBmZiBiMMKgwqDCoMKgIHN0d3XCoMKgwqAgcjEsLTgwKHIxKQ0KPj4gwqDCoCBjOsKgwqDC oCA2MCAwMCAwMCAwMMKgwqDCoMKgIG5vcA0KPj4gwqAgMTA6wqDCoMKgIDM5IDgwIDAwIDAwwqDC oMKgwqAgbGnCoMKgwqDCoMKgIHIxMiwwDQo+PiDCoCAxNDrCoMKgwqAgMzkgNjAgMDAgMDDCoMKg wqDCoCBsacKgwqDCoMKgwqAgcjExLDANCj4+IMKgIDE4OsKgwqDCoCAzOSAwMCAwMCAwMMKgwqDC oMKgIGxpwqDCoMKgwqDCoCByOCwwDQo+PiDCoCAxYzrCoMKgwqAgMzggZTAgMDAgMDDCoMKgwqDC oCBsacKgwqDCoMKgwqAgcjcsMA0KPj4gwqAgMjA6wqDCoMKgIDdjIDg2IDIzIDc4wqDCoMKgwqAg bXLCoMKgwqDCoMKgIHI2LHI0DQo+PiDCoCAyNDrCoMKgwqAgN2MgNjUgMWIgNzjCoMKgwqDCoCBt csKgwqDCoMKgwqAgcjUscjMNCj4+IMKgIDI4OsKgwqDCoCAzOSA4MCAwMCA0MsKgwqDCoMKgIGxp wqDCoMKgwqDCoCByMTIsNjYNCj4+IMKgIDJjOsKgwqDCoCAzOSA2MCAwMCAwMMKgwqDCoMKgIGxp wqDCoMKgwqDCoCByMTEsMA0KPj4gwqAgMzA6wqDCoMKgIDdkIDhjIDQyIDE0wqDCoMKgwqAgYWRk wqDCoMKgwqAgcjEyLHIxMixyOA0KPj4gwqAgMzQ6wqDCoMKgIDM5IDYwIDAwIDAwwqDCoMKgwqAg bGnCoMKgwqDCoMKgIHIxMSwwDQo+PiDCoCAzODrCoMKgwqAgN2QgODMgNjMgNzjCoMKgwqDCoCBt csKgwqDCoMKgwqAgcjMscjEyDQo+PiDCoCAzYzrCoMKgwqAgMzggMjEgMDAgNTDCoMKgwqDCoCBh ZGRpwqDCoMKgIHIxLHIxLDgwDQo+PiDCoCA0MDrCoMKgwqAgNGUgODAgMDAgMjDCoMKgwqDCoCBi bHINCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBDaHJpc3RvcGhlIExlcm95IDxjaHJpc3RvcGhlLmxl cm95QGNzZ3JvdXAuZXU+DQo+PiAtLS0NCj4+IMKgYXJjaC9wb3dlcnBjL25ldC9icGZfaml0LmjC oMKgwqDCoMKgwqDCoCB8IDE2ICsrKysrKysrKysrKysrKysNCj4+IMKgYXJjaC9wb3dlcnBjL25l dC9icGZfaml0NjQuaMKgwqDCoMKgwqAgfMKgIDIgKy0NCj4+IMKgYXJjaC9wb3dlcnBjL25ldC9i cGZfaml0X2NvbXAuY8KgwqAgfMKgIDIgKysNCj4+IMKgYXJjaC9wb3dlcnBjL25ldC9icGZfaml0 X2NvbXAzMi5jIHwgMzAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tDQo+PiDCoGFyY2gv cG93ZXJwYy9uZXQvYnBmX2ppdF9jb21wNjQuYyB8wqAgNCArKysrDQo+PiDCoDUgZmlsZXMgY2hh bmdlZCwgNTEgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkNCj4+DQo+PiBkaWZmIC0tZ2l0 IGEvYXJjaC9wb3dlcnBjL25ldC9icGZfaml0LmggYi9hcmNoL3Bvd2VycGMvbmV0L2JwZl9qaXQu aA0KPj4gaW5kZXggYTQ1YjgyNjYzNTVkLi43NzZhYmVmNGQyYTAgMTAwNjQ0DQo+PiAtLS0gYS9h cmNoL3Bvd2VycGMvbmV0L2JwZl9qaXQuaA0KPj4gKysrIGIvYXJjaC9wb3dlcnBjL25ldC9icGZf aml0LmgNCj4+IEBAIC0xMTYsNiArMTE2LDE1IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc19uZWFy YnJhbmNoKGludCBvZmZzZXQpDQo+PiDCoCNkZWZpbmUgU0VFTl9TVEFDS8KgwqDCoCAweDQwMDAw MDAwIC8qIHVzZXMgQlBGIHN0YWNrICovDQo+PiDCoCNkZWZpbmUgU0VFTl9UQUlMQ0FMTMKgwqDC oCAweDgwMDAwMDAwIC8qIHVzZXMgdGFpbCBjYWxscyAqLw0KPj4NCj4+ICsjZGVmaW5lIFNFRU5f VlJFR19NQVNLwqDCoMKgIDB4MWZmODAwMDAgLyogVm9sYXRpbGUgcmVnaXN0ZXJzIHIzLXIxMiAq Lw0KPj4gKyNkZWZpbmUgU0VFTl9OVlJFR19NQVNLwqDCoMKgIDB4MDAwM2ZmZmYgLyogTm9uIHZv bGF0aWxlIHJlZ2lzdGVycyANCj4+IHIxNC1yMzEgKi8NCj4+ICsNCj4+ICsjaWZkZWYgQ09ORklH X1BQQzY0DQo+PiArZXh0ZXJuIGNvbnN0IGludCBiMnBbTUFYX0JQRl9KSVRfUkVHICsgMl07DQo+ PiArI2Vsc2UNCj4+ICtleHRlcm4gY29uc3QgaW50IGIycFtNQVhfQlBGX0pJVF9SRUcgKyAxXTsN Cj4+ICsjZW5kaWYNCj4+ICsNCj4+IMKgc3RydWN0IGNvZGVnZW5fY29udGV4dCB7DQo+PiDCoMKg wqDCoCAvKg0KPj4gwqDCoMKgwqDCoCAqIFRoaXMgaXMgdXNlZCB0byB0cmFjayByZWdpc3RlciB1 c2FnZSBhcyB3ZWxsDQo+PiBAQCAtMTI5LDYgKzEzOCw3IEBAIHN0cnVjdCBjb2RlZ2VuX2NvbnRl eHQgew0KPj4gwqDCoMKgwqAgdW5zaWduZWQgaW50IHNlZW47DQo+PiDCoMKgwqDCoCB1bnNpZ25l ZCBpbnQgaWR4Ow0KPj4gwqDCoMKgwqAgdW5zaWduZWQgaW50IHN0YWNrX3NpemU7DQo+PiArwqDC oMKgIGludCBiMnBbQVJSQVlfU0laRShiMnApXTsNCj4+IMKgfTsNCj4+DQo+PiDCoHN0YXRpYyBp bmxpbmUgdm9pZCBicGZfZmx1c2hfaWNhY2hlKHZvaWQgKnN0YXJ0LCB2b2lkICplbmQpDQo+PiBA QCAtMTQ3LDExICsxNTcsMTcgQEAgc3RhdGljIGlubGluZSB2b2lkIGJwZl9zZXRfc2Vlbl9yZWdp c3RlcihzdHJ1Y3QgDQo+PiBjb2RlZ2VuX2NvbnRleHQgKmN0eCwgaW50IGkpDQo+PiDCoMKgwqDC oCBjdHgtPnNlZW4gfD0gMSA8PCAoMzEgLSBpKTsNCj4+IMKgfQ0KPj4NCj4+ICtzdGF0aWMgaW5s aW5lIHZvaWQgYnBmX2NsZWFyX3NlZW5fcmVnaXN0ZXIoc3RydWN0IGNvZGVnZW5fY29udGV4dCAN Cj4+ICpjdHgsIGludCBpKQ0KPj4gK3sNCj4+ICvCoMKgwqAgY3R4LT5zZWVuICY9IH4oMSA8PCAo MzEgLSBpKSk7DQo+PiArfQ0KPj4gKw0KPj4gwqB2b2lkIGJwZl9qaXRfZW1pdF9mdW5jX2NhbGxf cmVsKHUzMiAqaW1hZ2UsIHN0cnVjdCBjb2RlZ2VuX2NvbnRleHQgDQo+PiAqY3R4LCB1NjQgZnVu Yyk7DQo+PiDCoGludCBicGZfaml0X2J1aWxkX2JvZHkoc3RydWN0IGJwZl9wcm9nICpmcCwgdTMy ICppbWFnZSwgc3RydWN0IA0KPj4gY29kZWdlbl9jb250ZXh0ICpjdHgsDQo+PiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgdTMyICphZGRycywgYm9vbCBleHRyYV9wYXNzKTsNCj4+IMKg dm9pZCBicGZfaml0X2J1aWxkX3Byb2xvZ3VlKHUzMiAqaW1hZ2UsIHN0cnVjdCBjb2RlZ2VuX2Nv bnRleHQgKmN0eCk7DQo+PiDCoHZvaWQgYnBmX2ppdF9idWlsZF9lcGlsb2d1ZSh1MzIgKmltYWdl LCBzdHJ1Y3QgY29kZWdlbl9jb250ZXh0ICpjdHgpOw0KPj4gK3ZvaWQgYnBmX2ppdF9yZWFsbG9j X3JlZ3Moc3RydWN0IGNvZGVnZW5fY29udGV4dCAqY3R4KTsNCj4+DQo+PiDCoCNlbmRpZg0KPj4N Cj4+IGRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMvbmV0L2JwZl9qaXQ2NC5oIGIvYXJjaC9wb3dl cnBjL25ldC9icGZfaml0NjQuaA0KPj4gaW5kZXggYjA1ZjJlNjdiYmExLi43YjcxM2VkZmE3ZTIg MTAwNjQ0DQo+PiAtLS0gYS9hcmNoL3Bvd2VycGMvbmV0L2JwZl9qaXQ2NC5oDQo+PiArKysgYi9h cmNoL3Bvd2VycGMvbmV0L2JwZl9qaXQ2NC5oDQo+PiBAQCAtMzksNyArMzksNyBAQA0KPj4gwqAj ZGVmaW5lIFRNUF9SRUdfMsKgwqDCoCAoTUFYX0JQRl9KSVRfUkVHICsgMSkNCj4+DQo+PiDCoC8q IEJQRiB0byBwcGMgcmVnaXN0ZXIgbWFwcGluZ3MgKi8NCj4+IC1zdGF0aWMgY29uc3QgaW50IGIy cFtdID0gew0KPj4gK2NvbnN0IGludCBiMnBbTUFYX0JQRl9KSVRfUkVHICsgMl0gPSB7DQo+PiDC oMKgwqDCoCAvKiBmdW5jdGlvbiByZXR1cm4gdmFsdWUgKi8NCj4+IMKgwqDCoMKgIFtCUEZfUkVH XzBdID0gOCwNCj4+IMKgwqDCoMKgIC8qIGZ1bmN0aW9uIGFyZ3VtZW50cyAqLw0KPj4gZGlmZiAt LWdpdCBhL2FyY2gvcG93ZXJwYy9uZXQvYnBmX2ppdF9jb21wLmMgDQo+PiBiL2FyY2gvcG93ZXJw Yy9uZXQvYnBmX2ppdF9jb21wLmMNCj4+IGluZGV4IGVmYWM4OTk2NDg3My4uNzk4YWM0MzUwYTgy IDEwMDY0NA0KPj4gLS0tIGEvYXJjaC9wb3dlcnBjL25ldC9icGZfaml0X2NvbXAuYw0KPj4gKysr IGIvYXJjaC9wb3dlcnBjL25ldC9icGZfaml0X2NvbXAuYw0KPj4gQEAgLTE0Myw2ICsxNDMsNyBA QCBzdHJ1Y3QgYnBmX3Byb2cgKmJwZl9pbnRfaml0X2NvbXBpbGUoc3RydWN0IA0KPj4gYnBmX3By b2cgKmZwKQ0KPj4gwqDCoMKgwqAgfQ0KPj4NCj4+IMKgwqDCoMKgIG1lbXNldCgmY2djdHgsIDAs IHNpemVvZihzdHJ1Y3QgY29kZWdlbl9jb250ZXh0KSk7DQo+PiArwqDCoMKgIG1lbWNweShjZ2N0 eC5iMnAsIGIycCwgc2l6ZW9mKGNnY3R4LmIycCkpOw0KPj4NCj4+IMKgwqDCoMKgIC8qIE1ha2Ug c3VyZSB0aGF0IHRoZSBzdGFjayBpcyBxdWFkd29yZCBhbGlnbmVkLiAqLw0KPj4gwqDCoMKgwqAg Y2djdHguc3RhY2tfc2l6ZSA9IHJvdW5kX3VwKGZwLT5hdXgtPnN0YWNrX2RlcHRoLCAxNik7DQo+ PiBAQCAtMTY3LDYgKzE2OCw3IEBAIHN0cnVjdCBicGZfcHJvZyAqYnBmX2ludF9qaXRfY29tcGls ZShzdHJ1Y3QgDQo+PiBicGZfcHJvZyAqZnApDQo+PiDCoMKgwqDCoMKgwqDCoMKgIH0NCj4+IMKg wqDCoMKgIH0NCj4+DQo+PiArwqDCoMKgIGJwZl9qaXRfcmVhbGxvY19yZWdzKCZjZ2N0eCk7DQo+ PiDCoMKgwqDCoCAvKg0KPj4gwqDCoMKgwqDCoCAqIFByZXRlbmQgdG8gYnVpbGQgcHJvbG9ndWUs IGdpdmVuIHRoZSBmZWF0dXJlcyB3ZSd2ZSBzZWVuLiAgDQo+PiBUaGlzIHdpbGwNCj4+IMKgwqDC oMKgwqAgKiB1cGRhdGUgY3RndHguaWR4IGFzIGl0IHByZXRlbmRzIHRvIG91dHB1dCBpbnN0cnVj dGlvbnMsIHRoZW4gDQo+PiB3ZSBjYW4NCj4+IGRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMvbmV0 L2JwZl9qaXRfY29tcDMyLmMgDQo+PiBiL2FyY2gvcG93ZXJwYy9uZXQvYnBmX2ppdF9jb21wMzIu Yw0KPj4gaW5kZXggMjljZTgwMmQ3NTM0Li4wMDM4NDMyNzNiNDMgMTAwNjQ0DQo+PiAtLS0gYS9h cmNoL3Bvd2VycGMvbmV0L2JwZl9qaXRfY29tcDMyLmMNCj4+ICsrKyBiL2FyY2gvcG93ZXJwYy9u ZXQvYnBmX2ppdF9jb21wMzIuYw0KPj4gQEAgLTM3LDcgKzM3LDcgQEANCj4+IMKgI2RlZmluZSBU TVBfUkVHwqDCoMKgIChNQVhfQlBGX0pJVF9SRUcgKyAwKQ0KPj4NCj4+IMKgLyogQlBGIHRvIHBw YyByZWdpc3RlciBtYXBwaW5ncyAqLw0KPj4gLXN0YXRpYyBjb25zdCBpbnQgYjJwW10gPSB7DQo+ PiArY29uc3QgaW50IGIycFtNQVhfQlBGX0pJVF9SRUcgKyAxXSA9IHsNCj4+IMKgwqDCoMKgIC8q IGZ1bmN0aW9uIHJldHVybiB2YWx1ZSAqLw0KPj4gwqDCoMKgwqAgW0JQRl9SRUdfMF0gPSAxMiwN Cj4+IMKgwqDCoMKgIC8qIGZ1bmN0aW9uIGFyZ3VtZW50cyAqLw0KPj4gQEAgLTYwLDcgKzYwLDcg QEAgc3RhdGljIGNvbnN0IGludCBiMnBbXSA9IHsNCj4+DQo+PiDCoHN0YXRpYyBpbnQgYnBmX3Rv X3BwYyhzdHJ1Y3QgY29kZWdlbl9jb250ZXh0ICpjdHgsIGludCByZWcpDQo+PiDCoHsNCj4+IC3C oMKgwqAgcmV0dXJuIGIycFtyZWddOw0KPj4gK8KgwqDCoCByZXR1cm4gY3R4LT5iMnBbcmVnXTsN Cj4+IMKgfQ0KPj4NCj4+IMKgLyogUFBDIE5WUiByYW5nZSAtLSB1cGRhdGUgdGhpcyBpZiB3ZSBl dmVyIHVzZSBOVlJzIGJlbG93IHIxNyAqLw0KPj4gQEAgLTc3LDYgKzc3LDMyIEBAIHN0YXRpYyBp bnQgYnBmX2ppdF9zdGFja19vZmZzZXRvZihzdHJ1Y3QgDQo+PiBjb2RlZ2VuX2NvbnRleHQgKmN0 eCwgaW50IHJlZykNCj4+IMKgwqDCoMKgIHJldHVybiBCUEZfUFBDX1NUQUNLRlJBTUUoY3R4KSAt IDQ7DQo+PiDCoH0NCj4+DQo+PiArdm9pZCBicGZfaml0X3JlYWxsb2NfcmVncyhzdHJ1Y3QgY29k ZWdlbl9jb250ZXh0ICpjdHgpDQo+PiArew0KPj4gK8KgwqDCoCBpZiAoY3R4LT5zZWVuICYgU0VF Tl9GVU5DKQ0KPj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybjsNCj4gDQo+IENhbid0IHlvdSByZW1h cCBCUEZfUkVHXzUsIEJQRl9SRUdfQVggYW5kIFRNUF9SRUcgcmVnYXJkbGVzcyBvZiBTRUVOX0ZV TkM/DQo+IA0KDQpPaCB5ZXMsIHdlIGNhbiBkbyB0aGF0Lg0KDQpCUEZfUkVHXzUgaXMgdW5saWtl bHkgdG8gYmUgdXNlZCB1bmxlc3MgQlBGX1JFR18wIHRvIDQgYXJlIHVzZWQsIHNvIEkgDQpndWVz cyB3ZSB3b24ndCBoYXZlIGFueSB2b2xhdGlsZSByZWdpc3RlciBhdmFpbGFibGUuDQoNCkJQRl9S RUdfQVgsIEkgd2Fzbid0IHN1cmUgYnV0IGl0IGlzIGEgdm9sYXRpbGUgcmVnaXN0ZXIgb24gUFBD NjQgc28gSSANCmd1ZXNzIGl0IGlzIE9LLg0KDQpUTVBfUkVHIGZvciBzdXJlIGNhbiBiZSByZWFs bG9jYXRlZCB0byBhIHZvbGF0aWxlIHJlZyB3aGVuIG9uZSBpcyBhdmFpbGFibGUuDQoNCkknbGwg c2VuZCBhIHBhdGNoIGZvciB0aGF0Lg0KDQpUaGFua3MNCkNocmlzdG9waGU= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id EC702C433F5 for ; Mon, 10 Jan 2022 12:14:15 +0000 (UTC) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4JXXn174ndz3bc9 for ; Mon, 10 Jan 2022 23:14:13 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=csgroup.eu (client-ip=2a01:111:f400:7e19::607; helo=fra01-mr2-obe.outbound.protection.outlook.com; envelope-from=christophe.leroy@csgroup.eu; receiver=) Received: from FRA01-MR2-obe.outbound.protection.outlook.com (mail-mr2fra01on0607.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e19::607]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4JXXmP3Vjhz2yMC for ; Mon, 10 Jan 2022 23:13:39 +1100 (AEDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E2XCGJU9s4YDcWJ26br71/kKy8BDzMn2tZkBU6WtVRwUcD941WrVkmwEf8TOEU6q8qmQZWSIbZmuGBB9PReozmgINfIi93nhoUWcPEI49NTzYoc9+bIvGdIwBAu++MtGVY8bijHfe2cNq4Z4WK4kUxugi427R0xASdNFBlCxUaY0Ww7HvlkO5enoTtncD8dQGdP+MIpHrNgjwjGe1rCYKs94+gyXcM+jtVEfI8nWQqCpObD6XFifYRzcqNSuAIvM+f9xEyodcKGoQaOPFv773se5Wp9uFJ34B9mwfLYwBDHv4lSE4Y0Qd+Tm0f9oAeEygGXfwSyXwHnX/3C/mikKAg== 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=S4uNcwRVO1My8962A4LBdyJcxGDGFnUpcX2ZMdztNIw=; b=htcGDcjdeBoaUFV5jADVRIIq/iF2E8+oQqhtZ0aZNcmeDAe53M+SN23x3C87hdY46brwlosKObAEoHDCwkyHt/1iN9W41itTC1Tt+VCl6c+0NQyvM6hWIDAvb+Ak8EVu6ixhdOxcTEXwKgrXwKgMWnqpxEuvV6IakP8b42rXldEk9AaAoybQC4d6eVVdwo3kV8d12qljLCa8IvbJxsAWHXFzm5GsDWA2SlHiZRVJY8MFbRxAiGst/eFZYZBqzSByI5kAvoBMze8m+IbQF5GhudYnVNMlSGJGZsRv98n6BrFZEu0Pru1+en9bls9oEiTothyFcuA8J7NCVzFKJHoblA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=csgroup.eu; dmarc=pass action=none header.from=csgroup.eu; dkim=pass header.d=csgroup.eu; arc=none Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:31::15) by MRXP264MB0039.FRAP264.PROD.OUTLOOK.COM (2603:10a6:500:24::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.7; Mon, 10 Jan 2022 12:13:16 +0000 Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::9d4f:1090:9b36:3fc5]) by MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::9d4f:1090:9b36:3fc5%4]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022 12:13:16 +0000 From: Christophe Leroy To: "Naveen N. Rao" , "andrii@kernel.org" , "ast@kernel.org" , Benjamin Herrenschmidt , "daniel@iogearbox.net" , "john.fastabend@gmail.com" , "kafai@fb.com" , "kpsingh@chromium.org" , Michael Ellerman , Paul Mackerras , "sandipan@linux.ibm.com" , "songliubraving@fb.com" , "yhs@fb.com" Subject: Re: [PATCH v2 8/8] powerpc/bpf: Reallocate BPF registers to volatile registers when possible on PPC32 Thread-Topic: [PATCH v2 8/8] powerpc/bpf: Reallocate BPF registers to volatile registers when possible on PPC32 Thread-Index: AQHYA7zo1hVNgRe5uEuXtCOACHnTqKxcL2mA Date: Mon, 10 Jan 2022 12:13:16 +0000 Message-ID: <7f02f0d5-9719-2f67-4ebf-284f8516476d@csgroup.eu> References: <1641556157.ms6rd82ggh.naveen@linux.ibm.com> In-Reply-To: <1641556157.ms6rd82ggh.naveen@linux.ibm.com> Accept-Language: fr-FR, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.4.0 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=csgroup.eu; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: deb2503c-bd1f-493e-6062-08d9d432952b x-ms-traffictypediagnostic: MRXP264MB0039:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: dgBRyaJoX6ontwyU/XrFOGDgITzsfyL7rGOLIt9cINw1M/8LJ/W7eKKfzlFNbAUmk9WOzyBUkrl//ZrXCDG1wdS8ePoOa8ngdf8U/XH0RMZnD84A8XvKGUV9MqxBwbnc8IWgNSRpqQYXfc41j09zv0kjY5P9sfvJJ13582Z9/74LT91rkqzIq3OPQiymfP48Gp8ua7DvLkkksR4kIYLMI39n13rdwnugy1cwNroqK11Orn6A6ALCGn36VS7xe86DE4zLEQOhdJ5NXB/H8jAQu/B9qSKsZxFACN2hdJh9TJuNIAerTgNVk9QO+jl9CKPmY4d97vstdxB5zgBpfExzMgcBqAz7nHiy6LDNkDPpNW70sBYo0uSzQ4MFcwLg6t0H9z9X2wx2u/BFZeQnkN2V3AyXuaOIt5LYt+N3ESP3i2euK/MsOXxXYHpF80CosCfkb1AQpIofWHq2vK8xM927L8JslIWbDDDXoXsrRvm9XXZjCT8Clt+shHB8Q87spUyQSfC1I3PTgK+RjPdFQx0lCZW4XTIsqqwtLE9NTOMQh0KsK0zceuRqsHOKcm/CfKuqXU1RVBjIq1GFISt9w8GAoHPrb4JZ788DfqmgmIEwqcWQJLyC+YmqT4fA8XYlWMU/y5DGOcPbQt3pwI4WYKJZvuToG23Etuth6DOS5N9rJh0z3BBBu41FjHlbFnq937uE6UD1+PXfx1zXk3aa/2mqmkrpPzCvdxCLbX+NMgPQqrbHXTaJb5xWuWyoqxK83x7qB6nw3KB/y/B8W6f8hS027CYHzIotIZ5MGCjaTnFQMJA= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(4636009)(366004)(36756003)(6512007)(316002)(122000001)(38070700005)(4326008)(38100700002)(83380400001)(921005)(31686004)(66574015)(5660300002)(66946007)(6486002)(31696002)(110136005)(54906003)(44832011)(6506007)(7416002)(66556008)(26005)(66476007)(66446008)(64756008)(91956017)(76116006)(8936002)(8676002)(71200400001)(86362001)(2906002)(508600001)(186003)(2616005)(43740500002)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Vm9GZjhvT055L2FZbGhRcjNsTGo1Z04xeHUrd2NlNyswckIxSlM3ZXFMUC90?= =?utf-8?B?eXdPZklhK2dleVVSZlRJbW9WTGh6bmNLU09ZZ1B4bEdzMzN3Vmk0MFhvK2hX?= =?utf-8?B?NEUzdnVRK3ZadDNoeFpTdU56ZnJWZmkyeFIvTVpzM3M1NzI3cEZQNmZQNjQ0?= =?utf-8?B?Nm1xU0d5Q2R5R0hXV3ZuUlNpT2JRZnZJQjBEbUZBQS9Ld0lRbURzb3ErZnZo?= =?utf-8?B?eTg3Sk9QR3h5OVFMbEFPRGdVR1FrV1NMSHpod3MyR0hqbGhOM2RabGFJYndT?= =?utf-8?B?NEZtTFVjVXVJbFJ5NVVaNE83Nng3ZENxMStoMDdPK1FCYTBCWWNOZWlsc1kr?= =?utf-8?B?VGQ1MDM4eEtwQzBvSTZCaG5xaGRzSXVVYi9CbDRiRnhqWHkvOTJhd0lLRGtx?= =?utf-8?B?cGNZNXlPS01EMG4xTllma3IzTmxwcmpJbmFBR2E3MHJSMmJFTVppZ0ZDMkFH?= =?utf-8?B?enRyaTBLRUJYbDBJbkkrK0gyUTRlOGh2ME1RNmhqQTQwN3hNQjRYVTZtV1JS?= =?utf-8?B?ckxQdSszOTB3MUtkcE9Fb3RLSUF6RkhQaWlTTVUwT2kybitpWVRvSThoRU9V?= =?utf-8?B?ejl2QWVVS1dFTGRxMnlwRXBkWjlMVEwyUlNIQjVVRjl2Zk9ST3JoQ01QS1dx?= =?utf-8?B?d2lhNGJoTFZIZEt2clBGQkN1clpHSnBuQVFhcmpJcGdHUFh3bEx6SEFxeWxt?= =?utf-8?B?bnRnREJDcHJtVzhab0RtZHBzbHVlL3Vra2JaRkdUSUs2NXZHaFk3WjdqWXUz?= =?utf-8?B?b1dmYVpwUGJaNXd4Y2NCOXUwNFpSR0VsT0xkRVJTNnJ6cW9PMld3enFTcUhk?= =?utf-8?B?dnhpS0lFd2FkOGNKcXJWam9mWkFCVWNtOFF3Rlk3Vk5oeXVYRUloZy9oOTIz?= =?utf-8?B?VXh2Tk05WExYTEVtYkpQQnZuRjJuU1VKUDNiRzNEbmdtUmZBUEI0MHZWMjNW?= =?utf-8?B?RGpwTi9GbEwwTVVjQnpaOWdjV3B2T2oxOFd6T0NLd0pFclJ3eFFBR0xORFFW?= =?utf-8?B?Nm5kUVBsaElzS2pLd1g4VDFobnpJU1dBcWY3N20yRkx6cU5ZZ3BLTW92UjlB?= =?utf-8?B?WHBta2ZxWm9aVVA3aXY0YWpIN3VnRUNzbmtzZW45MW1aOHlueUJZSjVYaHhr?= =?utf-8?B?VUVUSlFLdi9Md1paTUhnUGdOUHIwcm1sdFRnVHVPeUhMRUp1TjNzNlVYQUlw?= =?utf-8?B?Z1NBN3V4U1UxdnZPWVNLYnJKc2Vhd3lobFFLSWFjNXJCRGFnSStqNXB0dFJo?= =?utf-8?B?NkMwZ1BqRFdXcGVCb3ppWEM0dFZnY1RibzdRUkcyRGRxWngrQmFhV1FCMzl1?= =?utf-8?B?Q25VTEJWS0kvSnQ3MmM4RDVSK3lEYkZwbFlQdkRwOURxSHJYZUcrVWRxTENw?= =?utf-8?B?WkVvQ21peEtacFZackpSdkw3R3NHYXMwRHE3K0FyWmptcElnaEVXYjRVQVR6?= =?utf-8?B?UncyeExRSW5VQ0ErTUd1bno1QWtSdms4WnVjTW9wM0cvbmFZNEJvTnUzSWRM?= =?utf-8?B?Uk5IcVZJOGh0TnUwRjVUbkpGUTBGL21JblpvTys5VHB4Vm9ORXQ1bHllZnE4?= =?utf-8?B?UmhHeFN5QVAwc1B1MHNYd2dZN0ZjZHc2ZmhZeEI3bC9VUk5RSVZLdGxCSVJ3?= =?utf-8?B?QitKbmJVRFRzNkVCOEduOUZHUk1RUzZWY2xJVzgrVG1XTG0zajZPOW1XVzNS?= =?utf-8?B?QytFOTFpUGhTemU4RzVXNURjTVlYRjE4dGRQRHdzdStMMEZEbHpBSnptQmMv?= =?utf-8?B?VEgvdC9WQzJtVEcvNHRwUEtTWE5CWVh1MERDeWlSNWNENlVhZHNoMmdqMEFQ?= =?utf-8?B?TEZwaHNGQ1NwdWVBT29vTitvcXYzVUpPZHZQU0Z4NDc5aHRXdUZLcWE1Q2Jz?= =?utf-8?B?SDJXMEVzbjJEK3I2TmlBQnM3dW9GZGZhbVkwNS81QTgvK3YrT0ZMOVlEU2or?= =?utf-8?B?UVJrSTMxUkg1ZEpYTDlCTU9ZaXVWU241NnJHeUNXT3BzVlBLdlRDN3lOMTBN?= =?utf-8?B?M2FSYnNwYzI1KzI5ams4bW1ORmhxNlpSdFNrcitFaEFtNndZRVVRVnlRMDB0?= =?utf-8?B?Vm52b0F6bzZuWGd0WWIydFZZZ3J2bGgyNms1SCtLcEpvYk9GUjZ2UWhrY010?= =?utf-8?B?cnpNNHJkKzQwc3psRjlaaW13bVVIU21HQ2lMUzErRWlzbkkzUy83dmhCMzRv?= =?utf-8?B?dnU4aDBwWFZ4dlROdVhqQXpVR0dMVkRGZXdPVWlCRlFRVmF0QjNhUzB3c1BW?= =?utf-8?Q?NBEYZvx9jeiBtvxLeZy9kTrsgDW71pS2H4YjXM9d4A=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <9C84D995F2E3314A8B64D1CAA7AA32D1@FRAP264.PROD.OUTLOOK.COM> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: csgroup.eu X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: deb2503c-bd1f-493e-6062-08d9d432952b X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Jan 2022 12:13:16.4955 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 9914def7-b676-4fda-8815-5d49fb3b45c8 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: WAgpdcmJuXNiqdObdcwMhnR+gZ4wdqD8D54zMtVu3u0QY1VN8GpeSuOhNOgEE1dSXU9TK5kAoOkrj68Gg1W0NS1jpNSMZhJW6bAWcLuIJTg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MRXP264MB0039 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "netdev@vger.kernel.org" , "bpf@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , "linux-kernel@vger.kernel.org" Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" DQoNCkxlIDA3LzAxLzIwMjIgw6AgMTI6NTEsIE5hdmVlbiBOLiBSYW8gYSDDqWNyaXTCoDoNCj4g Q2hyaXN0b3BoZSBMZXJveSB3cm90ZToNCj4+IFdoZW4gdGhlIEJQRiByb3V0aW5lIGRvZXNuJ3Qg Y2FsbCBhbnkgZnVuY3Rpb24sIHRoZSBub24gdm9sYXRpbGUNCj4+IHJlZ2lzdGVycyBjYW4gYmUg cmVhbGxvY2F0ZWQgdG8gdm9sYXRpbGUgcmVnaXN0ZXJzIGluIG9yZGVyIHRvDQo+PiBhdm9pZCBo YXZpbmcgdG8gc2F2ZSB0aGVtL3Jlc3RvcmUgb24gdGhlIHN0YWNrLg0KPj4NCj4+IEJlZm9yZSB0 aGlzIHBhdGNoLCB0aGUgdGVzdCAjMzU5IEFERCBkZWZhdWx0IFggaXM6DQo+Pg0KPj4gwqDCoCAw OsKgwqDCoCA3YyA2NCAxYiA3OMKgwqDCoMKgIG1ywqDCoMKgwqDCoCByNCxyMw0KPj4gwqDCoCA0 OsKgwqDCoCAzOCA2MCAwMCAwMMKgwqDCoMKgIGxpwqDCoMKgwqDCoCByMywwDQo+PiDCoMKgIDg6 wqDCoMKgIDk0IDIxIGZmIGIwwqDCoMKgwqAgc3R3dcKgwqDCoCByMSwtODAocjEpDQo+PiDCoMKg IGM6wqDCoMKgIDYwIDAwIDAwIDAwwqDCoMKgwqAgbm9wDQo+PiDCoCAxMDrCoMKgwqAgOTIgZTEg MDAgMmPCoMKgwqDCoCBzdHfCoMKgwqDCoCByMjMsNDQocjEpDQo+PiDCoCAxNDrCoMKgwqAgOTMg MDEgMDAgMzDCoMKgwqDCoCBzdHfCoMKgwqDCoCByMjQsNDgocjEpDQo+PiDCoCAxODrCoMKgwqAg OTMgMjEgMDAgMzTCoMKgwqDCoCBzdHfCoMKgwqDCoCByMjUsNTIocjEpDQo+PiDCoCAxYzrCoMKg wqAgOTMgNDEgMDAgMzjCoMKgwqDCoCBzdHfCoMKgwqDCoCByMjYsNTYocjEpDQo+PiDCoCAyMDrC oMKgwqAgMzkgODAgMDAgMDDCoMKgwqDCoCBsacKgwqDCoMKgwqAgcjEyLDANCj4+IMKgIDI0OsKg wqDCoCAzOSA2MCAwMCAwMMKgwqDCoMKgIGxpwqDCoMKgwqDCoCByMTEsMA0KPj4gwqAgMjg6wqDC oMKgIDNiIDQwIDAwIDAwwqDCoMKgwqAgbGnCoMKgwqDCoMKgIHIyNiwwDQo+PiDCoCAyYzrCoMKg wqAgM2IgMjAgMDAgMDDCoMKgwqDCoCBsacKgwqDCoMKgwqAgcjI1LDANCj4+IMKgIDMwOsKgwqDC oCA3YyA5OCAyMyA3OMKgwqDCoMKgIG1ywqDCoMKgwqDCoCByMjQscjQNCj4+IMKgIDM0OsKgwqDC oCA3YyA3NyAxYiA3OMKgwqDCoMKgIG1ywqDCoMKgwqDCoCByMjMscjMNCj4+IMKgIDM4OsKgwqDC oCAzOSA4MCAwMCA0MsKgwqDCoMKgIGxpwqDCoMKgwqDCoCByMTIsNjYNCj4+IMKgIDNjOsKgwqDC oCAzOSA2MCAwMCAwMMKgwqDCoMKgIGxpwqDCoMKgwqDCoCByMTEsMA0KPj4gwqAgNDA6wqDCoMKg IDdkIDhjIGQyIDE0wqDCoMKgwqAgYWRkwqDCoMKgwqAgcjEyLHIxMixyMjYNCj4+IMKgIDQ0OsKg wqDCoCAzOSA2MCAwMCAwMMKgwqDCoMKgIGxpwqDCoMKgwqDCoCByMTEsMA0KPj4gwqAgNDg6wqDC oMKgIDdkIDgzIDYzIDc4wqDCoMKgwqAgbXLCoMKgwqDCoMKgIHIzLHIxMg0KPj4gwqAgNGM6wqDC oMKgIDgyIGUxIDAwIDJjwqDCoMKgwqAgbHd6wqDCoMKgwqAgcjIzLDQ0KHIxKQ0KPj4gwqAgNTA6 wqDCoMKgIDgzIDAxIDAwIDMwwqDCoMKgwqAgbHd6wqDCoMKgwqAgcjI0LDQ4KHIxKQ0KPj4gwqAg NTQ6wqDCoMKgIDgzIDIxIDAwIDM0wqDCoMKgwqAgbHd6wqDCoMKgwqAgcjI1LDUyKHIxKQ0KPj4g wqAgNTg6wqDCoMKgIDgzIDQxIDAwIDM4wqDCoMKgwqAgbHd6wqDCoMKgwqAgcjI2LDU2KHIxKQ0K Pj4gwqAgNWM6wqDCoMKgIDM4IDIxIDAwIDUwwqDCoMKgwqAgYWRkacKgwqDCoCByMSxyMSw4MA0K Pj4gwqAgNjA6wqDCoMKgIDRlIDgwIDAwIDIwwqDCoMKgwqAgYmxyDQo+Pg0KPj4gQWZ0ZXIgdGhp cyBwYXRjaCwgdGhlIHNhbWUgdGVzdCBoYXMgYmVjb21lOg0KPj4NCj4+IMKgwqAgMDrCoMKgwqAg N2MgNjQgMWIgNzjCoMKgwqDCoCBtcsKgwqDCoMKgwqAgcjQscjMNCj4+IMKgwqAgNDrCoMKgwqAg MzggNjAgMDAgMDDCoMKgwqDCoCBsacKgwqDCoMKgwqAgcjMsMA0KPj4gwqDCoCA4OsKgwqDCoCA5 NCAyMSBmZiBiMMKgwqDCoMKgIHN0d3XCoMKgwqAgcjEsLTgwKHIxKQ0KPj4gwqDCoCBjOsKgwqDC oCA2MCAwMCAwMCAwMMKgwqDCoMKgIG5vcA0KPj4gwqAgMTA6wqDCoMKgIDM5IDgwIDAwIDAwwqDC oMKgwqAgbGnCoMKgwqDCoMKgIHIxMiwwDQo+PiDCoCAxNDrCoMKgwqAgMzkgNjAgMDAgMDDCoMKg wqDCoCBsacKgwqDCoMKgwqAgcjExLDANCj4+IMKgIDE4OsKgwqDCoCAzOSAwMCAwMCAwMMKgwqDC oMKgIGxpwqDCoMKgwqDCoCByOCwwDQo+PiDCoCAxYzrCoMKgwqAgMzggZTAgMDAgMDDCoMKgwqDC oCBsacKgwqDCoMKgwqAgcjcsMA0KPj4gwqAgMjA6wqDCoMKgIDdjIDg2IDIzIDc4wqDCoMKgwqAg bXLCoMKgwqDCoMKgIHI2LHI0DQo+PiDCoCAyNDrCoMKgwqAgN2MgNjUgMWIgNzjCoMKgwqDCoCBt csKgwqDCoMKgwqAgcjUscjMNCj4+IMKgIDI4OsKgwqDCoCAzOSA4MCAwMCA0MsKgwqDCoMKgIGxp wqDCoMKgwqDCoCByMTIsNjYNCj4+IMKgIDJjOsKgwqDCoCAzOSA2MCAwMCAwMMKgwqDCoMKgIGxp wqDCoMKgwqDCoCByMTEsMA0KPj4gwqAgMzA6wqDCoMKgIDdkIDhjIDQyIDE0wqDCoMKgwqAgYWRk wqDCoMKgwqAgcjEyLHIxMixyOA0KPj4gwqAgMzQ6wqDCoMKgIDM5IDYwIDAwIDAwwqDCoMKgwqAg bGnCoMKgwqDCoMKgIHIxMSwwDQo+PiDCoCAzODrCoMKgwqAgN2QgODMgNjMgNzjCoMKgwqDCoCBt csKgwqDCoMKgwqAgcjMscjEyDQo+PiDCoCAzYzrCoMKgwqAgMzggMjEgMDAgNTDCoMKgwqDCoCBh ZGRpwqDCoMKgIHIxLHIxLDgwDQo+PiDCoCA0MDrCoMKgwqAgNGUgODAgMDAgMjDCoMKgwqDCoCBi bHINCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBDaHJpc3RvcGhlIExlcm95IDxjaHJpc3RvcGhlLmxl cm95QGNzZ3JvdXAuZXU+DQo+PiAtLS0NCj4+IMKgYXJjaC9wb3dlcnBjL25ldC9icGZfaml0LmjC oMKgwqDCoMKgwqDCoCB8IDE2ICsrKysrKysrKysrKysrKysNCj4+IMKgYXJjaC9wb3dlcnBjL25l dC9icGZfaml0NjQuaMKgwqDCoMKgwqAgfMKgIDIgKy0NCj4+IMKgYXJjaC9wb3dlcnBjL25ldC9i cGZfaml0X2NvbXAuY8KgwqAgfMKgIDIgKysNCj4+IMKgYXJjaC9wb3dlcnBjL25ldC9icGZfaml0 X2NvbXAzMi5jIHwgMzAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tDQo+PiDCoGFyY2gv cG93ZXJwYy9uZXQvYnBmX2ppdF9jb21wNjQuYyB8wqAgNCArKysrDQo+PiDCoDUgZmlsZXMgY2hh bmdlZCwgNTEgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkNCj4+DQo+PiBkaWZmIC0tZ2l0 IGEvYXJjaC9wb3dlcnBjL25ldC9icGZfaml0LmggYi9hcmNoL3Bvd2VycGMvbmV0L2JwZl9qaXQu aA0KPj4gaW5kZXggYTQ1YjgyNjYzNTVkLi43NzZhYmVmNGQyYTAgMTAwNjQ0DQo+PiAtLS0gYS9h cmNoL3Bvd2VycGMvbmV0L2JwZl9qaXQuaA0KPj4gKysrIGIvYXJjaC9wb3dlcnBjL25ldC9icGZf aml0LmgNCj4+IEBAIC0xMTYsNiArMTE2LDE1IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc19uZWFy YnJhbmNoKGludCBvZmZzZXQpDQo+PiDCoCNkZWZpbmUgU0VFTl9TVEFDS8KgwqDCoCAweDQwMDAw MDAwIC8qIHVzZXMgQlBGIHN0YWNrICovDQo+PiDCoCNkZWZpbmUgU0VFTl9UQUlMQ0FMTMKgwqDC oCAweDgwMDAwMDAwIC8qIHVzZXMgdGFpbCBjYWxscyAqLw0KPj4NCj4+ICsjZGVmaW5lIFNFRU5f VlJFR19NQVNLwqDCoMKgIDB4MWZmODAwMDAgLyogVm9sYXRpbGUgcmVnaXN0ZXJzIHIzLXIxMiAq Lw0KPj4gKyNkZWZpbmUgU0VFTl9OVlJFR19NQVNLwqDCoMKgIDB4MDAwM2ZmZmYgLyogTm9uIHZv bGF0aWxlIHJlZ2lzdGVycyANCj4+IHIxNC1yMzEgKi8NCj4+ICsNCj4+ICsjaWZkZWYgQ09ORklH X1BQQzY0DQo+PiArZXh0ZXJuIGNvbnN0IGludCBiMnBbTUFYX0JQRl9KSVRfUkVHICsgMl07DQo+ PiArI2Vsc2UNCj4+ICtleHRlcm4gY29uc3QgaW50IGIycFtNQVhfQlBGX0pJVF9SRUcgKyAxXTsN Cj4+ICsjZW5kaWYNCj4+ICsNCj4+IMKgc3RydWN0IGNvZGVnZW5fY29udGV4dCB7DQo+PiDCoMKg wqDCoCAvKg0KPj4gwqDCoMKgwqDCoCAqIFRoaXMgaXMgdXNlZCB0byB0cmFjayByZWdpc3RlciB1 c2FnZSBhcyB3ZWxsDQo+PiBAQCAtMTI5LDYgKzEzOCw3IEBAIHN0cnVjdCBjb2RlZ2VuX2NvbnRl eHQgew0KPj4gwqDCoMKgwqAgdW5zaWduZWQgaW50IHNlZW47DQo+PiDCoMKgwqDCoCB1bnNpZ25l ZCBpbnQgaWR4Ow0KPj4gwqDCoMKgwqAgdW5zaWduZWQgaW50IHN0YWNrX3NpemU7DQo+PiArwqDC oMKgIGludCBiMnBbQVJSQVlfU0laRShiMnApXTsNCj4+IMKgfTsNCj4+DQo+PiDCoHN0YXRpYyBp bmxpbmUgdm9pZCBicGZfZmx1c2hfaWNhY2hlKHZvaWQgKnN0YXJ0LCB2b2lkICplbmQpDQo+PiBA QCAtMTQ3LDExICsxNTcsMTcgQEAgc3RhdGljIGlubGluZSB2b2lkIGJwZl9zZXRfc2Vlbl9yZWdp c3RlcihzdHJ1Y3QgDQo+PiBjb2RlZ2VuX2NvbnRleHQgKmN0eCwgaW50IGkpDQo+PiDCoMKgwqDC oCBjdHgtPnNlZW4gfD0gMSA8PCAoMzEgLSBpKTsNCj4+IMKgfQ0KPj4NCj4+ICtzdGF0aWMgaW5s aW5lIHZvaWQgYnBmX2NsZWFyX3NlZW5fcmVnaXN0ZXIoc3RydWN0IGNvZGVnZW5fY29udGV4dCAN Cj4+ICpjdHgsIGludCBpKQ0KPj4gK3sNCj4+ICvCoMKgwqAgY3R4LT5zZWVuICY9IH4oMSA8PCAo MzEgLSBpKSk7DQo+PiArfQ0KPj4gKw0KPj4gwqB2b2lkIGJwZl9qaXRfZW1pdF9mdW5jX2NhbGxf cmVsKHUzMiAqaW1hZ2UsIHN0cnVjdCBjb2RlZ2VuX2NvbnRleHQgDQo+PiAqY3R4LCB1NjQgZnVu Yyk7DQo+PiDCoGludCBicGZfaml0X2J1aWxkX2JvZHkoc3RydWN0IGJwZl9wcm9nICpmcCwgdTMy ICppbWFnZSwgc3RydWN0IA0KPj4gY29kZWdlbl9jb250ZXh0ICpjdHgsDQo+PiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgdTMyICphZGRycywgYm9vbCBleHRyYV9wYXNzKTsNCj4+IMKg dm9pZCBicGZfaml0X2J1aWxkX3Byb2xvZ3VlKHUzMiAqaW1hZ2UsIHN0cnVjdCBjb2RlZ2VuX2Nv bnRleHQgKmN0eCk7DQo+PiDCoHZvaWQgYnBmX2ppdF9idWlsZF9lcGlsb2d1ZSh1MzIgKmltYWdl LCBzdHJ1Y3QgY29kZWdlbl9jb250ZXh0ICpjdHgpOw0KPj4gK3ZvaWQgYnBmX2ppdF9yZWFsbG9j X3JlZ3Moc3RydWN0IGNvZGVnZW5fY29udGV4dCAqY3R4KTsNCj4+DQo+PiDCoCNlbmRpZg0KPj4N Cj4+IGRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMvbmV0L2JwZl9qaXQ2NC5oIGIvYXJjaC9wb3dl cnBjL25ldC9icGZfaml0NjQuaA0KPj4gaW5kZXggYjA1ZjJlNjdiYmExLi43YjcxM2VkZmE3ZTIg MTAwNjQ0DQo+PiAtLS0gYS9hcmNoL3Bvd2VycGMvbmV0L2JwZl9qaXQ2NC5oDQo+PiArKysgYi9h cmNoL3Bvd2VycGMvbmV0L2JwZl9qaXQ2NC5oDQo+PiBAQCAtMzksNyArMzksNyBAQA0KPj4gwqAj ZGVmaW5lIFRNUF9SRUdfMsKgwqDCoCAoTUFYX0JQRl9KSVRfUkVHICsgMSkNCj4+DQo+PiDCoC8q IEJQRiB0byBwcGMgcmVnaXN0ZXIgbWFwcGluZ3MgKi8NCj4+IC1zdGF0aWMgY29uc3QgaW50IGIy cFtdID0gew0KPj4gK2NvbnN0IGludCBiMnBbTUFYX0JQRl9KSVRfUkVHICsgMl0gPSB7DQo+PiDC oMKgwqDCoCAvKiBmdW5jdGlvbiByZXR1cm4gdmFsdWUgKi8NCj4+IMKgwqDCoMKgIFtCUEZfUkVH XzBdID0gOCwNCj4+IMKgwqDCoMKgIC8qIGZ1bmN0aW9uIGFyZ3VtZW50cyAqLw0KPj4gZGlmZiAt LWdpdCBhL2FyY2gvcG93ZXJwYy9uZXQvYnBmX2ppdF9jb21wLmMgDQo+PiBiL2FyY2gvcG93ZXJw Yy9uZXQvYnBmX2ppdF9jb21wLmMNCj4+IGluZGV4IGVmYWM4OTk2NDg3My4uNzk4YWM0MzUwYTgy IDEwMDY0NA0KPj4gLS0tIGEvYXJjaC9wb3dlcnBjL25ldC9icGZfaml0X2NvbXAuYw0KPj4gKysr IGIvYXJjaC9wb3dlcnBjL25ldC9icGZfaml0X2NvbXAuYw0KPj4gQEAgLTE0Myw2ICsxNDMsNyBA QCBzdHJ1Y3QgYnBmX3Byb2cgKmJwZl9pbnRfaml0X2NvbXBpbGUoc3RydWN0IA0KPj4gYnBmX3By b2cgKmZwKQ0KPj4gwqDCoMKgwqAgfQ0KPj4NCj4+IMKgwqDCoMKgIG1lbXNldCgmY2djdHgsIDAs IHNpemVvZihzdHJ1Y3QgY29kZWdlbl9jb250ZXh0KSk7DQo+PiArwqDCoMKgIG1lbWNweShjZ2N0 eC5iMnAsIGIycCwgc2l6ZW9mKGNnY3R4LmIycCkpOw0KPj4NCj4+IMKgwqDCoMKgIC8qIE1ha2Ug c3VyZSB0aGF0IHRoZSBzdGFjayBpcyBxdWFkd29yZCBhbGlnbmVkLiAqLw0KPj4gwqDCoMKgwqAg Y2djdHguc3RhY2tfc2l6ZSA9IHJvdW5kX3VwKGZwLT5hdXgtPnN0YWNrX2RlcHRoLCAxNik7DQo+ PiBAQCAtMTY3LDYgKzE2OCw3IEBAIHN0cnVjdCBicGZfcHJvZyAqYnBmX2ludF9qaXRfY29tcGls ZShzdHJ1Y3QgDQo+PiBicGZfcHJvZyAqZnApDQo+PiDCoMKgwqDCoMKgwqDCoMKgIH0NCj4+IMKg wqDCoMKgIH0NCj4+DQo+PiArwqDCoMKgIGJwZl9qaXRfcmVhbGxvY19yZWdzKCZjZ2N0eCk7DQo+ PiDCoMKgwqDCoCAvKg0KPj4gwqDCoMKgwqDCoCAqIFByZXRlbmQgdG8gYnVpbGQgcHJvbG9ndWUs IGdpdmVuIHRoZSBmZWF0dXJlcyB3ZSd2ZSBzZWVuLiAgDQo+PiBUaGlzIHdpbGwNCj4+IMKgwqDC oMKgwqAgKiB1cGRhdGUgY3RndHguaWR4IGFzIGl0IHByZXRlbmRzIHRvIG91dHB1dCBpbnN0cnVj dGlvbnMsIHRoZW4gDQo+PiB3ZSBjYW4NCj4+IGRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMvbmV0 L2JwZl9qaXRfY29tcDMyLmMgDQo+PiBiL2FyY2gvcG93ZXJwYy9uZXQvYnBmX2ppdF9jb21wMzIu Yw0KPj4gaW5kZXggMjljZTgwMmQ3NTM0Li4wMDM4NDMyNzNiNDMgMTAwNjQ0DQo+PiAtLS0gYS9h cmNoL3Bvd2VycGMvbmV0L2JwZl9qaXRfY29tcDMyLmMNCj4+ICsrKyBiL2FyY2gvcG93ZXJwYy9u ZXQvYnBmX2ppdF9jb21wMzIuYw0KPj4gQEAgLTM3LDcgKzM3LDcgQEANCj4+IMKgI2RlZmluZSBU TVBfUkVHwqDCoMKgIChNQVhfQlBGX0pJVF9SRUcgKyAwKQ0KPj4NCj4+IMKgLyogQlBGIHRvIHBw YyByZWdpc3RlciBtYXBwaW5ncyAqLw0KPj4gLXN0YXRpYyBjb25zdCBpbnQgYjJwW10gPSB7DQo+ PiArY29uc3QgaW50IGIycFtNQVhfQlBGX0pJVF9SRUcgKyAxXSA9IHsNCj4+IMKgwqDCoMKgIC8q IGZ1bmN0aW9uIHJldHVybiB2YWx1ZSAqLw0KPj4gwqDCoMKgwqAgW0JQRl9SRUdfMF0gPSAxMiwN Cj4+IMKgwqDCoMKgIC8qIGZ1bmN0aW9uIGFyZ3VtZW50cyAqLw0KPj4gQEAgLTYwLDcgKzYwLDcg QEAgc3RhdGljIGNvbnN0IGludCBiMnBbXSA9IHsNCj4+DQo+PiDCoHN0YXRpYyBpbnQgYnBmX3Rv X3BwYyhzdHJ1Y3QgY29kZWdlbl9jb250ZXh0ICpjdHgsIGludCByZWcpDQo+PiDCoHsNCj4+IC3C oMKgwqAgcmV0dXJuIGIycFtyZWddOw0KPj4gK8KgwqDCoCByZXR1cm4gY3R4LT5iMnBbcmVnXTsN Cj4+IMKgfQ0KPj4NCj4+IMKgLyogUFBDIE5WUiByYW5nZSAtLSB1cGRhdGUgdGhpcyBpZiB3ZSBl dmVyIHVzZSBOVlJzIGJlbG93IHIxNyAqLw0KPj4gQEAgLTc3LDYgKzc3LDMyIEBAIHN0YXRpYyBp bnQgYnBmX2ppdF9zdGFja19vZmZzZXRvZihzdHJ1Y3QgDQo+PiBjb2RlZ2VuX2NvbnRleHQgKmN0 eCwgaW50IHJlZykNCj4+IMKgwqDCoMKgIHJldHVybiBCUEZfUFBDX1NUQUNLRlJBTUUoY3R4KSAt IDQ7DQo+PiDCoH0NCj4+DQo+PiArdm9pZCBicGZfaml0X3JlYWxsb2NfcmVncyhzdHJ1Y3QgY29k ZWdlbl9jb250ZXh0ICpjdHgpDQo+PiArew0KPj4gK8KgwqDCoCBpZiAoY3R4LT5zZWVuICYgU0VF Tl9GVU5DKQ0KPj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybjsNCj4gDQo+IENhbid0IHlvdSByZW1h cCBCUEZfUkVHXzUsIEJQRl9SRUdfQVggYW5kIFRNUF9SRUcgcmVnYXJkbGVzcyBvZiBTRUVOX0ZV TkM/DQo+IA0KDQpPaCB5ZXMsIHdlIGNhbiBkbyB0aGF0Lg0KDQpCUEZfUkVHXzUgaXMgdW5saWtl bHkgdG8gYmUgdXNlZCB1bmxlc3MgQlBGX1JFR18wIHRvIDQgYXJlIHVzZWQsIHNvIEkgDQpndWVz cyB3ZSB3b24ndCBoYXZlIGFueSB2b2xhdGlsZSByZWdpc3RlciBhdmFpbGFibGUuDQoNCkJQRl9S RUdfQVgsIEkgd2Fzbid0IHN1cmUgYnV0IGl0IGlzIGEgdm9sYXRpbGUgcmVnaXN0ZXIgb24gUFBD NjQgc28gSSANCmd1ZXNzIGl0IGlzIE9LLg0KDQpUTVBfUkVHIGZvciBzdXJlIGNhbiBiZSByZWFs bG9jYXRlZCB0byBhIHZvbGF0aWxlIHJlZyB3aGVuIG9uZSBpcyBhdmFpbGFibGUuDQoNCkknbGwg c2VuZCBhIHBhdGNoIGZvciB0aGF0Lg0KDQpUaGFua3MNCkNocmlzdG9waGU=