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 E07ABC00140 for ; Fri, 5 Aug 2022 17:18:12 +0000 (UTC) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4LzskC1255z3bZC for ; Sat, 6 Aug 2022 03:18:11 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=csgroup.eu header.i=@csgroup.eu header.a=rsa-sha256 header.s=selector1 header.b=3+6oxnTV; dkim-atps=neutral Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=csgroup.eu (client-ip=40.107.9.77; helo=fra01-mr2-obe.outbound.protection.outlook.com; envelope-from=christophe.leroy@csgroup.eu; receiver=) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=csgroup.eu header.i=@csgroup.eu header.a=rsa-sha256 header.s=selector1 header.b=3+6oxnTV; dkim-atps=neutral Received: from FRA01-MR2-obe.outbound.protection.outlook.com (mail-eopbgr90077.outbound.protection.outlook.com [40.107.9.77]) (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 4LzsjH2h6tz2y2F for ; Sat, 6 Aug 2022 03:17:22 +1000 (AEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WdprTVXnxIwQvdyzDZ9AxzxPnGV43cl7rqn7/Yq5rw+u2PuxDK/wgGXjoXuXPKDY93QbE8jfSrEE33OQV1KTML3HGFxAIpVp/Qo3ofcIG+iGV+vhVDAYkhK+cVmfA2pTJ/VE7EFPCy3eoMTyHsQKYv8DKChcYUudjUHQWPbkWxzYNhGfoY/3hpBm2uZRQBBMZTCo89ysspmEZ6sZyrIbTCg4bVxY+3/1U4V0gYcZN7qcAgEcNLBZk2hYrXkqntIYis9Xc5hJfRMjr6cebDWSENEvjWc8+743cRq/sggT1lV5WtczGxPzFeQIZMRjgdfblbR3JZ6VJTV9BmJTtCbh7w== 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=cyQZysdlJskeVmfVlrDEJPqXkzLNwUS784o3xBbLYLY=; b=KujWxbOHPfxmxsStXqFnjP2Ad3+ph98mue9p2KWbiRqnSLbPKNa/V0nnwSAfIKK8jIsituzRswID2m5Er5BeThz5FROkR7GV568sCKZz18Elto5qqTCCNnmRM0vjP2GeZEmFiz4o6VQ6eJ8WzvvN8dINnw9E9VF4+OEu7eL/oL58MCcHBc0NhaxBhcWxdMop1pAkhZZGaXd/P6diUXbi3XvcjQFC4bd24k5R1Jq0bCN4ZH1vrFZzRGf2TASGZK5NbR5TDSdh+JFM13CkK+8Qx14W0HRTdNQZQ5V+0cqIY8i1vwyN6LxfXfevUvT+d5RVKdBvzRMda3lVcKEL6Xud1Q== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=csgroup.eu; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=cyQZysdlJskeVmfVlrDEJPqXkzLNwUS784o3xBbLYLY=; b=3+6oxnTVj+JEakKRuft02hcOE2vdrLV+AL9zZKsi1ZCeVrAlfsaxlVuKf2L+NR0HsgR63B/mZuftwsbUPuZ85RcvVjpZKxqI75zat/5MO98yu119bKuTrPaIzWyCS0Zhs4pMZiIVLtLOPHDmccrgVJlYNBMAV1cbf3kC91OeWAVOON9CpH5XFWBrtOgoqmXh+lEoaZrzHV0k6ZytSFvmpef2jH7SSefVdcpwUxxX0qKWfbTLNuXajc59vOjg9ENLy2Nh6UoK3g37KBzmB8xydesaW22ibGxIjZgcAx/CprHOLYiDEodw0hIilIxEW2q+EMMPBofqiCYf1sifED/5WQ== Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:31::15) by PR0P264MB3274.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:146::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Fri, 5 Aug 2022 17:17:02 +0000 Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::e063:6eff:d302:8624]) by MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::e063:6eff:d302:8624%6]) with mapi id 15.20.5504.016; Fri, 5 Aug 2022 17:17:02 +0000 From: Christophe Leroy To: Rohan McLure , "linuxppc-dev@lists.ozlabs.org" Subject: Re: [PATCH v2 10/14] powerpc: Provide syscall wrapper Thread-Topic: [PATCH v2 10/14] powerpc: Provide syscall wrapper Thread-Index: AQHYn/APyXaDVXTURECDqBicRepAk62gnnmA Date: Fri, 5 Aug 2022 17:17:02 +0000 Message-ID: References: <20220725063024.120674-1-rmclure@linux.ibm.com> In-Reply-To: <20220725063024.120674-1-rmclure@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.11.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: f6cec214-04db-4203-715c-08da7706503f x-ms-traffictypediagnostic: PR0P264MB3274:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Kp3srKTNHccjnhU+vNjX6DJTHmXMsZNMCPDS8QfeQPJr+2+fAh8eW4CkHbQOWzROCNkJMJ4zyBRNXgqMF2HCoXv30zDEruHLbNUv1RDRuFQh6116douQDQ+uNaqK1lk1LYjG8BmUv2TiwqraZPh1m4dLgX2N+hR3YVAl2/RtqzVia2jueLn4v61W55fBX/YyswTn5u04MmkQcCxPeUGisNdOT2wJbtoFpmVlPfe7JdqqcDyhSmnRwGa8cejwpDxD5fdeWMZWuHjRCURaTBivyYoXskvRSoJQjA4CBmmTBVVLblmrvNeWFon2P8tSE0TcSJ9/TbYfZos2jygjjk0xTbufgxoDYvX0A5379F17eygZSaqRTbJgmWAynkxYA2i1bjbV/CPyoQRo99FU4eRfrqTZ7z7g6cT8avP3KvT2yHB6BjMlIx0FuL16OaiVUOSwpVICXcxK43URl0gEQkowlhQho43dzg6cbFBuL2MnhAoZnK3AZFelnEazfLKx2vQwR8Ff4Mopc9fL7sHj9++ItIhXmJiFMBlANkJquoK/vSy1XO/ps1HrL72Vkv8opT4u9WQv3jvQGZVxsqzUH/oy+7rffXaKfgmCkHfHfmp4twkjTMkyEGeP5ldyDcD9tCq+nsycsu5dOKtB12fKQrvHtvn+j7RTgMpM9hD1eDuxszK1yJMRUllOO5MGXsN+7OOSaf9SPyWCXa3zzCJpWVAs5ZL5SGLMeL+FT2HdaB2mbmQ2LQM5XhF84QbIj6aHKP0wYnpgDK4zG2/kFBczAta3OfprInTbsSMh941cZUlmovUOawpVJm4DjSo4+/uaUzGXe4js0ntta3BuM1YLit4mfXmTfso8oldXPpPfDytLCmdsnUCg7Vgk+jLUUpWO3vMk 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:(13230016)(39850400004)(346002)(136003)(396003)(366004)(376002)(66574015)(83380400001)(110136005)(6486002)(54906003)(71200400001)(30864003)(2616005)(2906002)(26005)(44832011)(6512007)(186003)(31686004)(41300700001)(478600001)(6506007)(36756003)(8936002)(122000001)(316002)(86362001)(31696002)(38070700005)(76116006)(64756008)(66446008)(5660300002)(66946007)(91956017)(66476007)(66556008)(8676002)(4326008)(38100700002)(45980500001)(43740500002)(579004);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?QktxTGhIZ21ZV0QzQ1VSb2R2d0FCT21SdkROeUhMVnJNQXpLSDdzZmJmajlj?= =?utf-8?B?L3prMlJDbE93dFhYZ2tNV1BEZVk4b25SM29qelc3YStQRy9YSDFkVUQ0dEc1?= =?utf-8?B?NUVWSlo4aWl1cEpwcHN2WjR2cmZ5ZzR1d0dKZXdOVDhvL0N3T1lmd1ozTnJM?= =?utf-8?B?SnJYQUFteElrdGt0ZGNtc2R1NE13TlY5TXZzc0lqampQdmNuek5Dci9vWmRI?= =?utf-8?B?STlwUFdOZWlEV3J6STBGRFZuSHJuWDJCcHREbmkxdFlEbXNSb2ZHSWtWc0pI?= =?utf-8?B?amVkTXQyK3Jlb1p1ek1adis4VVM5QmplTHV6SEtkV0JzZXdETUdFcGt4eEVx?= =?utf-8?B?WC8zcnVpb29kNlJGYTJHTUN2OFlnTWMzb1E1c202OHVoZDZxUzFUcld1elBI?= =?utf-8?B?UndEZVoza0laVkUxYkszckdNZzlkaERLbUZpa01velV3Y1hPRnA5NHdwNWEw?= =?utf-8?B?eG5PQjByY09Td1lVMTkrOUROSUtXT3VoclRwbjdxVHVrdG12RFhIS2ovRC9w?= =?utf-8?B?WG96eUczTGZVVTJoTGM5eXErbkt3b040cGt5RDEzRHlKM1VJUmhUdE1zNEY0?= =?utf-8?B?cVJuK2xyOWhRRnk1WmE2RitPMXlRdzIySG9kTG1zSzV6ZTg3ZWt6RWo0M2dH?= =?utf-8?B?WmFCMEtGclJYam1tTWRMZmlkcVJMZVFPOGpieVNkc1JlNFlQNGU4Yi9LemtP?= =?utf-8?B?UFdZa2pvWC9MSUY2Nm40YlQwck5WR0o0a1h6YVBIUWRiTFYvOXV5VlIyVjBQ?= =?utf-8?B?WTlmU1BkNllLbWV4QWVvN016c2tlejRUbStEZy9SMktDRlVaV0lxSko3cjQr?= =?utf-8?B?bWF0ZVA2NkNTY2FsV0l4SXFiYWdIYk1JdVVXeEF6ZjMyV2dlOGFzZDY1UGZO?= =?utf-8?B?aDlaam5CZm85bTdpUnVCRHhBMlpoMSszeGpzS2FGeW41T3dVeDR2d29TcHRi?= =?utf-8?B?Z2h1Z1Azd1dxdG1UMzlra2dVV01rQlRxNGg3aFdCNzZ1MEh1eitmRUpsZklp?= =?utf-8?B?blBrMXo0aEpLT0hGeFJ2eFRTWTgxTnlOMEl5Qi80dkZnNzUrSmlkSktCNGxt?= =?utf-8?B?VXdwb1FGa244Z3JscEp5VnhBSnZWQTVmdEYwd1BScGJhNUI4czNDcDBzYXVN?= =?utf-8?B?TDhyTlBnQzlwZmZKcXE5YTY0Ry9kL3U5NmtuOUxEV2RZbUtBelY0aEd6cVBX?= =?utf-8?B?SDh5SVAvWHhHdmRzb1o1aFJSeGFOWkJoek9jNFJKRGwvWlVBNVNRbU5mUTlZ?= =?utf-8?B?MnFIRStQVGRuSHBYMEtaZXV3THpYN2llU1F3RFdoaWdwWmUvaUV2aGkyVkRX?= =?utf-8?B?S2wwWU9JR0VGUUloR3hkTFpHQXYvQ0QwQjJSWjNqOW9heHhsNjNOaG5jVmJ3?= =?utf-8?B?L3MybGdLdlJ4TTdrRitiZG9Ic0srSkdRcVJhVFcxZnRoeVVEYVNTa0JtVVRn?= =?utf-8?B?bzZ3YU5ka2VKeFZXVzFVU1ZmYnBmOFcvb3BkdmRma3ZBVU0weFZ3b0VnUkZX?= =?utf-8?B?L29lbjkzcWZiVmRBRGIrR1VCdHlvaEhGRlpwTFBaV203ZkxPVXlmUGoxZ2NV?= =?utf-8?B?dFRGSGpUNXM2Q29qS1kzaFZNNmF5SmtQVzZ0bU9xUDJER3pZR1hudGtHYmhB?= =?utf-8?B?NnV1aUExWU9XQnI1a1RFQlpZK1NFc0VCMHpVbFducEZvOGo0Y0s0NmtrUWFY?= =?utf-8?B?WkVRczRyVFFmQXh1ZnNoNU5ubVkwMGI1dVFwc2hxVnpCUlFRV0dTMkNtQlJH?= =?utf-8?B?Zmc2ZVl3TUtrczVEMzB5Sm0wWUpyM0h5WWErQk9oRjhDTWQ2d0JDdS9pQXAx?= =?utf-8?B?Nlp5bUFWNTVLampONnBJWE1KdnJ2SHkyRnd5WWlITVdjZTdHdm9lMmtvYmxJ?= =?utf-8?B?M1hZRjZCZERwTmJoN21KVWUrUDNZY0xjVHhkUjZWMnMxQWRDZTlmNkJwUDBl?= =?utf-8?B?d2F4dDlCazg0b3ZXYlVQZ0JzWVFDdmVOZWJrZzdjcWRqVnc5Z0g4NW1qOWMz?= =?utf-8?B?OXRYUkdSSzFTVlBGY2xZbnp1OER5OEU3Rm5MNUgrVVFwZm5QR1ZWdzBnOTMw?= =?utf-8?B?Y1pCY2E3ZHlucUd4OUpaT3FpYkRmMDNlY0xQR1FCUlZjaGJ0UXVVbzFlTjI4?= =?utf-8?B?SjNaNTBaclc2bk5BYjAvejBLVlRLUWQwN1FheW5tK0RtOGhQQWdROXQ2ZU10?= =?utf-8?Q?ZX2FN30DB7Hg5jKZ732+2/o=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <2A1D945DF51BD748827D829E34B98338@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: f6cec214-04db-4203-715c-08da7706503f X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Aug 2022 17:17:02.5878 (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: 3Uq0v004E9pMfmkOHiFW4dB0qnWUEUaNrnImOpj+O2R9zloUYSct2smFnxq87rGqpR74NyxrW3AfvNFNY24hLOe5e5wR5C2Ah3yrEsZjOO8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR0P264MB3274 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: "npiggin@gmail.com" , Andrew Donnellan Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" DQoNCkxlIDI1LzA3LzIwMjIgw6AgMDg6MzAsIFJvaGFuIE1jTHVyZSBhIMOpY3JpdMKgOg0KPiBJ bXBsZW1lbnQgc3lzY2FsbCB3cmFwcGVyIGFzIHBlciBzMzkwLCB4ODYsIGFybTY0LiBXaGVuIGVu YWJsZWQNCj4gY2F1c2UgaGFuZGxlcnMgdG8gYWNjZXB0IHBhcmFtZXRlcnMgZnJvbSBhIHN0YWNr IGZyYW1lIHJhdGhlciB0aGFuDQo+IGZyb20gdXNlciBzY3JhdGNoIHJlZ2lzdGVyIHN0YXRlLiBU aGlzIGFsbG93cyBmb3IgdXNlciByZWdpc3RlcnMgdG8gYmUNCj4gc2FmZWx5IGNsZWFyZWQgaW4g b3JkZXIgdG8gcmVkdWNlIGNhbGxlciBpbmZsdWVuY2Ugb24gc3BlY3VsYXRpb24NCj4gd2l0aGlu IHN5c2NhbGwgcm91dGluZS4gVGhlIHdyYXBwZXIgaXMgYSBtYWNybyB0aGF0IGVtaXRzIHN5c2Nh bGwNCj4gaGFuZGxlciBzeW1ib2xzIHRoYXQgY2FsbCBpbnRvIHRoZSB0YXJnZXQgaGFuZGxlciwg b2J0YWluaW5nIGl0cw0KPiBwYXJhbWV0ZXJzIGZyb20gYSBzdHJ1Y3QgcHRfcmVncyBvbiB0aGUg c3RhY2suDQo+IA0KPiBBcyByZWdpc3RlcnMgYXJlIGFscmVhZHkgc2F2ZWQgdG8gdGhlIHN0YWNr IHByaW9yIHRvIGNhbGxpbmcNCj4gc3lzdGVtX2NhbGxfZXhjZXB0aW9uLCBpdCBhcHBlYXJzIHRo YXQgdGhpcyBmdW5jdGlvbiBpcyBleGVjdXRlZCBtb3JlDQo+IGVmZmljaWVudGx5IHdpdGggdGhl IG5ldyBzdGFjay1wb2ludGVyIGNvbnZlbnRpb24gdGhhbiB3aXRoIHBhcmFtZXRlcnMNCj4gcGFz c2VkIGJ5IHJlZ2lzdGVycywgYXZvaWRpbmcgdGhlIGFsbG9jYXRpb24gb2YgYSBzdGFjayBmcmFt ZSBmb3IgdGhpcw0KPiBtZXRob2QuIE9uIGEgMzItYml0IHN5c3RlbSwgd2Ugc2VlID4yMCUgcGVy Zm9ybWFuY2UgaW5jcmVhc2VzIG9uIHRoZQ0KPiBudWxsX3N5c2NhbGwgbWljcm9iZW5jaG1hcmss IGFuZCBvbiBhIFBvd2VyIDggdGhlIHBlcmZvcm1hbmNlIGdhaW5zDQo+IGFtb3J0aXNlIHRoZSBj b3N0IG9mIGNsZWFyaW5nIGFuZCByZXN0b3JpbmcgcmVnaXN0ZXJzIHdoaWNoIGlzDQo+IGltcGxl bWVudGVkIGF0IHRoZSBlbmQgb2YgdGhpcyBzZXJpZXMsIHNlZWluZyBmaW5hbCByZXN1bHQgb2Yg fjUuNiUNCj4gcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnQgb24gbnVsbF9zeXNjYWxsLg0KPiANCj4g U3lzY2FsbHMgYXJlIHdyYXBwZWQgaW4gdGhpcyBmYXNoaW9uIG9uIGFsbCBwbGF0Zm9ybXMgZXhj ZXB0IGZvciB0aGUNCj4gQ2VsbCBwcm9jZXNzb3IgYXMgdGhpcyBjb21taXQgZG9lcyBub3QgcHJv dmlkZSBTUFUgc3VwcG9ydC4gVGhpcyBjYW4gYmUNCj4gcXVpY2tseSBmaXhlZCBpbiBhIHN1Y2Nl c3NpdmUgcGF0Y2gsIGJ1dCByZXF1aXJlcyBzcHVfc3lzX2NhbGxiYWNrIHRvDQo+IGFsbG9jYXRl IGEgcHRfcmVncyBzdHJ1Y3R1cmUgdG8gc2F0aXNmeSB0aGUgd3JhcHBlZCBjYWxsaW5nIGNvbnZl bnRpb24uDQo+IA0KPiBDby1kZXZlbG9wZWQtYnk6IEFuZHJldyBEb25uZWxsYW4gPGFqZEBsaW51 eC5pYm0uY29tPg0KPiBTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgRG9ubmVsbGFuIDxhamRAbGludXgu aWJtLmNvbT4NCj4gU2lnbmVkLW9mZi1ieTogUm9oYW4gTWNMdXJlIDxybWNsdXJlQGxpbnV4Lmli bS5jb20+DQo+IC0tLQ0KPiBWMSAtPiBWMjogR2VuZXJhdGUgcHJvdG90eXBlcyBmb3Igc3ltYm9s cyBwcm9kdWNlZCBieSB0aGUgd3JhcHBlci4NCj4gLS0tDQo+ICAgYXJjaC9wb3dlcnBjL0tjb25m aWcgICAgICAgICAgICAgICAgICAgICAgIHwgIDEgKw0KPiAgIGFyY2gvcG93ZXJwYy9pbmNsdWRl L2FzbS9pbnRlcnJ1cHQuaCAgICAgICB8ICAzICstDQo+ICAgYXJjaC9wb3dlcnBjL2luY2x1ZGUv YXNtL3N5c2NhbGwuaCAgICAgICAgIHwgIDQgKw0KPiAgIGFyY2gvcG93ZXJwYy9pbmNsdWRlL2Fz bS9zeXNjYWxsX3dyYXBwZXIuaCB8IDk0ICsrKysrKysrKysrKysrKysrKysrDQo+ICAgYXJjaC9w b3dlcnBjL2luY2x1ZGUvYXNtL3N5c2NhbGxzLmggICAgICAgIHwgMjUgKysrKystDQo+ICAgYXJj aC9wb3dlcnBjL2tlcm5lbC9lbnRyeV8zMi5TICAgICAgICAgICAgIHwgIDYgKy0NCj4gICBhcmNo L3Bvd2VycGMva2VybmVsL2ludGVycnVwdC5jICAgICAgICAgICAgfCAzMSArKystLS0tDQo+ICAg YXJjaC9wb3dlcnBjL2tlcm5lbC9pbnRlcnJ1cHRfNjQuUyAgICAgICAgIHwgMzAgKysrLS0tLQ0K PiAgIGFyY2gvcG93ZXJwYy9rZXJuZWwvc3lzdGJsLmMgICAgICAgICAgICAgICB8ICAyICsNCj4g ICBhcmNoL3Bvd2VycGMva2VybmVsL3Zkc28uYyAgICAgICAgICAgICAgICAgfCAgMiArDQo+ICAg MTAgZmlsZXMgY2hhbmdlZCwgMTU2IGluc2VydGlvbnMoKyksIDQyIGRlbGV0aW9ucygtKQ0KPiAN Cj4gZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9LY29uZmlnIGIvYXJjaC9wb3dlcnBjL0tjb25m aWcNCj4gaW5kZXggMjYzMzFjZGQzNjQyLi40NDdiZDM0YjViODcgMTAwNjQ0DQo+IC0tLSBhL2Fy Y2gvcG93ZXJwYy9LY29uZmlnDQo+ICsrKyBiL2FyY2gvcG93ZXJwYy9LY29uZmlnDQo+IEBAIC0x MzcsNiArMTM3LDcgQEAgY29uZmlnIFBQQw0KPiAgIAlzZWxlY3QgQVJDSF9IQVNfU1RSSUNUX0tF Uk5FTF9SV1gJaWYgKFBQQ19CT09LM1MgfHwgUFBDXzh4eCB8fCA0MHgpICYmICFISUJFUk5BVElP Tg0KPiAgIAlzZWxlY3QgQVJDSF9IQVNfU1RSSUNUX0tFUk5FTF9SV1gJaWYgRlNMX0JPT0tFICYm ICFISUJFUk5BVElPTiAmJiAhUkFORE9NSVpFX0JBU0UNCj4gICAJc2VsZWN0IEFSQ0hfSEFTX1NU UklDVF9NT0RVTEVfUldYCWlmIEFSQ0hfSEFTX1NUUklDVF9LRVJORUxfUldYDQo+ICsJc2VsZWN0 IEFSQ0hfSEFTX1NZU0NBTExfV1JBUFBFUgkJaWYgIVNQVV9CQVNFDQo+ICAgCXNlbGVjdCBBUkNI X0hBU19USUNLX0JST0FEQ0FTVAkJaWYgR0VORVJJQ19DTE9DS0VWRU5UU19CUk9BRENBU1QNCj4g ICAJc2VsZWN0IEFSQ0hfSEFTX1VBQ0NFU1NfRkxVU0hDQUNIRQ0KPiAgIAlzZWxlY3QgQVJDSF9I QVNfVUJTQU5fU0FOSVRJWkVfQUxMDQo+IGRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMvaW5jbHVk ZS9hc20vaW50ZXJydXB0LmggYi9hcmNoL3Bvd2VycGMvaW5jbHVkZS9hc20vaW50ZXJydXB0LmgN Cj4gaW5kZXggODA2OWRiYzRiOGQxLi4zZjljYWQ4MTU4NWMgMTAwNjQ0DQo+IC0tLSBhL2FyY2gv cG93ZXJwYy9pbmNsdWRlL2FzbS9pbnRlcnJ1cHQuaA0KPiArKysgYi9hcmNoL3Bvd2VycGMvaW5j bHVkZS9hc20vaW50ZXJydXB0LmgNCj4gQEAgLTY2NSw4ICs2NjUsNyBAQCBzdGF0aWMgaW5saW5l IHZvaWQgaW50ZXJydXB0X2NvbmRfbG9jYWxfaXJxX2VuYWJsZShzdHJ1Y3QgcHRfcmVncyAqcmVn cykNCj4gICAJCWxvY2FsX2lycV9lbmFibGUoKTsNCj4gICB9DQo+ICAgDQo+IC1sb25nIHN5c3Rl bV9jYWxsX2V4Y2VwdGlvbihsb25nIHIzLCBsb25nIHI0LCBsb25nIHI1LCBsb25nIHI2LCBsb25n IHI3LCBsb25nIHI4LA0KPiAtCQkJICAgdW5zaWduZWQgbG9uZyByMCwgc3RydWN0IHB0X3JlZ3Mg KnJlZ3MpOw0KPiArbG9uZyBzeXN0ZW1fY2FsbF9leGNlcHRpb24odW5zaWduZWQgbG9uZyByMCwg c3RydWN0IHB0X3JlZ3MgKnJlZ3MpOw0KPiAgIG5vdHJhY2UgdW5zaWduZWQgbG9uZyBzeXNjYWxs X2V4aXRfcHJlcGFyZSh1bnNpZ25lZCBsb25nIHIzLCBzdHJ1Y3QgcHRfcmVncyAqcmVncywgbG9u ZyBzY3YpOw0KPiAgIG5vdHJhY2UgdW5zaWduZWQgbG9uZyBpbnRlcnJ1cHRfZXhpdF91c2VyX3By ZXBhcmUoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpOw0KPiAgIG5vdHJhY2UgdW5zaWduZWQgbG9uZyBp bnRlcnJ1cHRfZXhpdF9rZXJuZWxfcHJlcGFyZShzdHJ1Y3QgcHRfcmVncyAqcmVncyk7DQo+IGRp ZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMvaW5jbHVkZS9hc20vc3lzY2FsbC5oIGIvYXJjaC9wb3dl cnBjL2luY2x1ZGUvYXNtL3N5c2NhbGwuaA0KPiBpbmRleCBkMmE4ZGZkNWRlMzMuLjNkZDM2YzVl MzM0YSAxMDA2NDQNCj4gLS0tIGEvYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL3N5c2NhbGwuaA0K PiArKysgYi9hcmNoL3Bvd2VycGMvaW5jbHVkZS9hc20vc3lzY2FsbC5oDQo+IEBAIC0xNCw4ICsx NCwxMiBAQA0KPiAgICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPg0KPiAgICNpbmNsdWRlIDxsaW51 eC90aHJlYWRfaW5mby5oPg0KPiAgIA0KPiArI2lmZGVmIENPTkZJR19BUkNIX0hBU19TWVNDQUxM X1dSQVBQRVINCj4gK3R5cGVkZWYgbG9uZyAoKnN5c2NhbGxfZm4pKGNvbnN0IHN0cnVjdCBwdF9y ZWdzICopOw0KPiArI2Vsc2UNCj4gICB0eXBlZGVmIGxvbmcgKCpzeXNjYWxsX2ZuKSh1bnNpZ25l ZCBsb25nLCB1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nLA0KPiAgIAkJCSAgIHVuc2lnbmVk IGxvbmcsIHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcpOw0KPiArI2VuZGlmDQo+ICAgDQo+ ICAgLyogZnRyYWNlIHN5c2NhbGxzIHJlcXVpcmVzIGV4cG9ydGluZyB0aGUgc3lzX2NhbGxfdGFi bGUgKi8NCj4gICBleHRlcm4gY29uc3Qgc3lzY2FsbF9mbiBzeXNfY2FsbF90YWJsZVtdOw0KPiBk aWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL3N5c2NhbGxfd3JhcHBlci5oIGIv YXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL3N5c2NhbGxfd3JhcHBlci5oDQo+IG5ldyBmaWxlIG1v ZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAwMC4uZWJlZmZjYjA4ZDNkDQo+IC0tLSAvZGV2 L251bGwNCj4gKysrIGIvYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL3N5c2NhbGxfd3JhcHBlci5o DQo+IEBAIC0wLDAgKzEsOTQgQEANCj4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwt Mi4wICovDQo+ICsvKg0KPiArICogc3lzY2FsbF93cmFwcGVyLmggLSBwb3dlcnBjIHNwZWNpZmlj IHdyYXBwZXJzIHRvIHN5c2NhbGwgZGVmaW5pdGlvbnMNCj4gKyAqDQo+ICsgKiBCYXNlZCBvbiBh cmNoL3t4ODYsYXJtNjR9L2luY2x1ZGUvYXNtL3N5c2NhbGxfd3JhcHBlci5oDQo+ICsgKi8NCj4g Kw0KPiArI2lmbmRlZiBfX0FTTV9TWVNDQUxMX1dSQVBQRVJfSA0KPiArI2RlZmluZSBfX0FTTV9T WVNDQUxMX1dSQVBQRVJfSA0KPiArDQo+ICtzdHJ1Y3QgcHRfcmVnczsNCj4gKw0KPiArI2RlZmlu ZSBTQ19QT1dFUlBDX1JFR1NfVE9fQVJHUyh4LCAuLi4pCQkJCVwNCj4gKwlfX01BUCh4LF9fU0Nf QVJHUwkJCQkJXA0KPiArCSAgICAgICwscmVncy0+Z3ByWzNdLCxyZWdzLT5ncHJbNF0sLHJlZ3Mt Pmdwcls1XQlcDQo+ICsJICAgICAgLCxyZWdzLT5ncHJbNl0sLHJlZ3MtPmdwcls3XSwscmVncy0+ Z3ByWzhdKQ0KPiArDQo+ICsjaWZkZWYgQ09ORklHX0NPTVBBVA0KPiArDQo+ICsjZGVmaW5lIENP TVBBVF9TWVNDQUxMX0RFRklORXgoeCwgbmFtZSwgLi4uKQkJCQkJCVwNCj4gKwlhc21saW5rYWdl IGxvbmcgX19wb3dlcnBjX2NvbXBhdF9zeXMjI25hbWUoY29uc3Qgc3RydWN0IHB0X3JlZ3MgKnJl Z3MpOwkJXA0KPiArCUFMTE9XX0VSUk9SX0lOSkVDVElPTihfX3Bvd2VycGNfY29tcGF0X3N5cyMj bmFtZSwgRVJSTk8pOwkJCVwNCj4gKwlzdGF0aWMgbG9uZyBfX3NlX2NvbXBhdF9zeXMjI25hbWUo X19NQVAoeCxfX1NDX0xPTkcsX19WQV9BUkdTX18pKTsJCVwNCj4gKwlzdGF0aWMgaW5saW5lIGxv bmcgX19kb19jb21wYXRfc3lzIyNuYW1lKF9fTUFQKHgsX19TQ19ERUNMLF9fVkFfQVJHU19fKSk7 CVwNCj4gKwlhc21saW5rYWdlIGxvbmcgX19wb3dlcnBjX2NvbXBhdF9zeXMjI25hbWUoY29uc3Qg c3RydWN0IHB0X3JlZ3MgKnJlZ3MpCQlcDQo+ICsJewkJCQkJCQkJCQlcDQo+ICsJCXJldHVybiBf X3NlX2NvbXBhdF9zeXMjI25hbWUoU0NfUE9XRVJQQ19SRUdTX1RPX0FSR1MoeCxfX1ZBX0FSR1Nf XykpOwlcDQo+ICsJfQkJCQkJCQkJCQlcDQo+ICsJc3RhdGljIGxvbmcgX19zZV9jb21wYXRfc3lz IyNuYW1lKF9fTUFQKHgsX19TQ19MT05HLF9fVkFfQVJHU19fKSkJCVwNCj4gKwl7CQkJCQkJCQkJ CVwNCj4gKwkJcmV0dXJuIF9fZG9fY29tcGF0X3N5cyMjbmFtZShfX01BUCh4LF9fU0NfREVMT1VT RSxfX1ZBX0FSR1NfXykpOwlcDQo+ICsJfQkJCQkJCQkJCQlcDQo+ICsJc3RhdGljIGlubGluZSBs b25nIF9fZG9fY29tcGF0X3N5cyMjbmFtZShfX01BUCh4LF9fU0NfREVDTCxfX1ZBX0FSR1NfXykp DQo+ICsNCj4gKyNkZWZpbmUgQ09NUEFUX1NZU0NBTExfREVGSU5FMChzbmFtZSkJCQkJCQkJXA0K PiArCWFzbWxpbmthZ2UgbG9uZyBfX3Bvd2VycGNfY29tcGF0X3N5c18jI3NuYW1lKGNvbnN0IHN0 cnVjdCBwdF9yZWdzICpfX3VudXNlZCk7CVwNCj4gKwlBTExPV19FUlJPUl9JTkpFQ1RJT04oX19w b3dlcnBjX2NvbXBhdF9zeXNfIyNzbmFtZSwgRVJSTk8pOwkJCVwNCj4gKwlhc21saW5rYWdlIGxv bmcgX19wb3dlcnBjX2NvbXBhdF9zeXNfIyNzbmFtZShjb25zdCBzdHJ1Y3QgcHRfcmVncyAqX191 bnVzZWQpDQo+ICsNCj4gKyNkZWZpbmUgQ09ORF9TWVNDQUxMX0NPTVBBVChuYW1lKQkJCQkJCQlc DQo+ICsJbG9uZyBfX3Bvd2VycGNfY29tcGF0X3N5c18jI25hbWUoY29uc3Qgc3RydWN0IHB0X3Jl Z3MgKnJlZ3MpOwkJCVwNCj4gKwlhc21saW5rYWdlIGxvbmcgX193ZWFrIF9fcG93ZXJwY19jb21w YXRfc3lzXyMjbmFtZShjb25zdCBzdHJ1Y3QgcHRfcmVncyAqcmVncykJXA0KPiArCXsJCQkJCQkJ CQkJXA0KPiArCQlyZXR1cm4gc3lzX25pX3N5c2NhbGwoKTsJCQkJCQlcDQo+ICsJfQ0KPiArI2Rl ZmluZSBDT01QQVRfU1lTX05JKG5hbWUpIFwNCj4gKwlTWVNDQUxMX0FMSUFTKF9fcG93ZXJwY19j b21wYXRfc3lzXyMjbmFtZSwgc3lzX25pX3Bvc2l4X3RpbWVycyk7DQo+ICsNCj4gKyNlbmRpZiAv KiBDT05GSUdfQ09NUEFUICovDQo+ICsNCj4gKyNkZWZpbmUgX19TWVNDQUxMX0RFRklORXgoeCwg bmFtZSwgLi4uKQkJCQkJCVwNCj4gKwlhc21saW5rYWdlIGxvbmcgX19wb3dlcnBjX3N5cyMjbmFt ZShjb25zdCBzdHJ1Y3QgcHRfcmVncyAqcmVncyk7CVwNCj4gKwlBTExPV19FUlJPUl9JTkpFQ1RJ T04oX19wb3dlcnBjX3N5cyMjbmFtZSwgRVJSTk8pOwkJCVwNCj4gKwlsb25nIHN5cyMjbmFtZShf X01BUCh4LF9fU0NfREVDTCxfX1ZBX0FSR1NfXykpOwkJCQlcDQo+ICsJc3RhdGljIGxvbmcgX19z ZV9zeXMjI25hbWUoX19NQVAoeCxfX1NDX0xPTkcsX19WQV9BUkdTX18pKTsJCVwNCj4gKwlzdGF0 aWMgaW5saW5lIGxvbmcgX19kb19zeXMjI25hbWUoX19NQVAoeCxfX1NDX0RFQ0wsX19WQV9BUkdT X18pKTsJXA0KPiArCWFzbWxpbmthZ2UgbG9uZyBfX3Bvd2VycGNfc3lzIyNuYW1lKGNvbnN0IHN0 cnVjdCBwdF9yZWdzICpyZWdzKQkJXA0KPiArCXsJCQkJCQkJCQlcDQo+ICsJCXJldHVybiBfX3Nl X3N5cyMjbmFtZShTQ19QT1dFUlBDX1JFR1NfVE9fQVJHUyh4LF9fVkFfQVJHU19fKSk7CVwNCj4g Kwl9CQkJCQkJCQkJXA0KPiArCWxvbmcgc3lzIyNuYW1lKF9fTUFQKHgsX19TQ19ERUNMLF9fVkFf QVJHU19fKSkJCQkJXA0KPiArCXsJCQkJCQkJCQlcDQo+ICsJCXJldHVybiBfX2RvX3N5cyMjbmFt ZShfX01BUCh4LF9fU0NfQ0FTVCxfX1ZBX0FSR1NfXykpOwkJXA0KPiArCX0JCQkJCQkJCQlcDQo+ ICsJc3RhdGljIGxvbmcgX19zZV9zeXMjI25hbWUoX19NQVAoeCxfX1NDX0xPTkcsX19WQV9BUkdT X18pKQkJXA0KPiArCXsJCQkJCQkJCQlcDQo+ICsJCWxvbmcgcmV0ID0gX19kb19zeXMjI25hbWUo X19NQVAoeCxfX1NDX0NBU1QsX19WQV9BUkdTX18pKTsJXA0KPiArCQlfX01BUCh4LF9fU0NfVEVT VCxfX1ZBX0FSR1NfXyk7CQkJCQlcDQo+ICsJCV9fUFJPVEVDVCh4LCByZXQsX19NQVAoeCxfX1ND X0FSR1MsX19WQV9BUkdTX18pKTsJCVwNCj4gKwkJcmV0dXJuIHJldDsJCQkJCQkJXA0KPiArCX0J CQkJCQkJCQlcDQo+ICsJc3RhdGljIGlubGluZSBsb25nIF9fZG9fc3lzIyNuYW1lKF9fTUFQKHgs X19TQ19ERUNMLF9fVkFfQVJHU19fKSkNCj4gKw0KPiArI2RlZmluZSBTWVNDQUxMX0RFRklORTAo c25hbWUpCQkJCQkJCVwNCj4gKwlTWVNDQUxMX01FVEFEQVRBKF8jI3NuYW1lLCAwKTsJCQkJCQlc DQo+ICsJbG9uZyBzeXNfIyNzbmFtZSh2b2lkKTsJCQkJCQkJXA0KPiArCWFzbWxpbmthZ2UgbG9u ZyBfX3Bvd2VycGNfc3lzXyMjc25hbWUoY29uc3Qgc3RydWN0IHB0X3JlZ3MgKl9fdW51c2VkKTsJ XA0KPiArCUFMTE9XX0VSUk9SX0lOSkVDVElPTihfX3Bvd2VycGNfc3lzXyMjc25hbWUsIEVSUk5P KTsJCQlcDQo+ICsJbG9uZyBzeXNfIyNzbmFtZSh2b2lkKQkJCQkJCQlcDQo+ICsJewkJCQkJCQkJ CVwNCj4gKwkJcmV0dXJuIF9fcG93ZXJwY19zeXNfIyNzbmFtZShOVUxMKTsJCQkJXA0KPiArCX0J CQkJCQkJCQlcDQo+ICsJYXNtbGlua2FnZSBsb25nIF9fcG93ZXJwY19zeXNfIyNzbmFtZShjb25z dCBzdHJ1Y3QgcHRfcmVncyAqX191bnVzZWQpDQo+ICsNCj4gKyNkZWZpbmUgQ09ORF9TWVNDQUxM KG5hbWUpCQkJCQkJCVwNCj4gKwlsb25nIF9fcG93ZXJwY19zeXNfIyNuYW1lKGNvbnN0IHN0cnVj dCBwdF9yZWdzICpyZWdzKTsJCQlcDQo+ICsJYXNtbGlua2FnZSBsb25nIF9fd2VhayBfX3Bvd2Vy cGNfc3lzXyMjbmFtZShjb25zdCBzdHJ1Y3QgcHRfcmVncyAqcmVncykJXA0KPiArCXsJCQkJCQkJ CQlcDQo+ICsJCXJldHVybiBzeXNfbmlfc3lzY2FsbCgpOwkJCQkJXA0KPiArCX0NCj4gKw0KPiAr I2RlZmluZSBTWVNfTkkobmFtZSkgU1lTQ0FMTF9BTElBUyhfX3Bvd2VycGNfc3lzXyMjbmFtZSwg c3lzX25pX3Bvc2l4X3RpbWVycyk7DQo+ICsNCj4gKyNlbmRpZiAvKiBfX0FTTV9TWVNDQUxMX1dS QVBQRVJfSCAqLw0KPiBkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL3N5c2Nh bGxzLmggYi9hcmNoL3Bvd2VycGMvaW5jbHVkZS9hc20vc3lzY2FsbHMuaA0KPiBpbmRleCBmYmVh YjhlODhjNWUuLjdiNjZmOWZkZmEwNCAxMDA2NDQNCj4gLS0tIGEvYXJjaC9wb3dlcnBjL2luY2x1 ZGUvYXNtL3N5c2NhbGxzLmgNCj4gKysrIGIvYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL3N5c2Nh bGxzLmgNCj4gQEAgLTE1LDYgKzE1LDEyIEBADQo+ICAgI2luY2x1ZGUgPGFzbS91bmlzdGQuaD4N Cj4gICAjaW5jbHVkZSA8YXNtL3Vjb250ZXh0Lmg+DQo+ICAgDQo+ICsjaWZuZGVmIENPTkZJR19B UkNIX0hBU19TWVNDQUxMX1dSQVBQRVINCj4gK2FzbWxpbmthZ2UgbG9uZyBzeXNfbmlfc3lzY2Fs bCh2b2lkKTsNCj4gKyNlbHNlDQo+ICthc21saW5rYWdlIGxvbmcgc3lzX25pX3N5c2NhbGwoY29u c3Qgc3RydWN0IHB0X3JlZ3MgKnJlZ3MpOw0KPiArI2VuZGlmDQo+ICsNCj4gICBzdHJ1Y3QgcnRh c19hcmdzOw0KPiAgIA0KPiAgICNpZm5kZWYgQ09ORklHX0FSQ0hfSEFTX1NZU0NBTExfV1JBUFBF Ug0KPiBAQCAtMjQsNyArMzAsNiBAQCBzdHJ1Y3QgcnRhc19hcmdzOw0KPiAgICAqLw0KPiAgIA0K PiAgIGFzbWxpbmthZ2UgbG9uZyBzeXNfcnRhcyhzdHJ1Y3QgcnRhc19hcmdzIF9fdXNlciAqdWFy Z3MpOw0KPiAtYXNtbGlua2FnZSBsb25nIHN5c19uaV9zeXNjYWxsKHZvaWQpOw0KPiAgIA0KPiAg ICNpZmRlZiBDT05GSUdfUFBDNjQNCj4gICBhc21saW5rYWdlIGxvbmcgc3lzX3BwYzY0X3BlcnNv bmFsaXR5KHVuc2lnbmVkIGxvbmcgcGVyc29uYWxpdHkpOw0KPiBAQCAtOTUsNiArMTAwLDI0IEBA IGFzbWxpbmthZ2UgbG9uZyBjb21wYXRfc3lzX3BwY19zeW5jX2ZpbGVfcmFuZ2UyKGludCBmZCwg dW5zaWduZWQgaW50IGZsYWdzLA0KPiAgIAkJCQkJCXVuc2lnbmVkIGludCBuYnl0ZXMyKTsNCj4g ICAjZW5kaWYgLyogQ09ORklHX0NPTVBBVCAqLw0KPiAgIA0KPiArI2Vsc2UNCj4gKw0KPiArI2Rl ZmluZSBfX1NZU0NBTExfV0lUSF9DT01QQVQobnIsIG5hdGl2ZSwgY29tcGF0KQlfX1NZU0NBTEwo bnIsIG5hdGl2ZSkNCj4gKyNkZWZpbmUgX19TWVNDQUxMKG5yLCBlbnRyeSkgXA0KPiArCWFzbWxp bmthZ2UgbG9uZyBfX3Bvd2VycGNfIyNlbnRyeShjb25zdCBzdHJ1Y3QgcHRfcmVncyAqcmVncyk7 DQo+ICsNCj4gKyNpZmRlZiBDT05GSUdfUFBDNjQNCj4gKyNpbmNsdWRlIDxhc20vc3lzY2FsbF90 YWJsZV82NC5oPg0KPiArI2Vsc2UNCj4gKyNpbmNsdWRlIDxhc20vc3lzY2FsbF90YWJsZV8zMi5o Pg0KPiArI2VuZGlmIC8qIENPTkZJR19QUEM2NCAqLw0KPiArDQo+ICsjaWZkZWYgQ09ORklHX0NP TVBBVA0KPiArI3VuZGVmIF9fU1lTQ0FMTF9XSVRIX0NPTVBBVA0KPiArI2RlZmluZSBfX1NZU0NB TExfV0lUSF9DT01QQVQobnIsIG5hdGl2ZSwgY29tcGF0KQlfX1NZU0NBTEwobnIsIGNvbXBhdCkN Cj4gKyNpbmNsdWRlIDxhc20vc3lzY2FsbF90YWJsZV8zMi5oPg0KPiArI2VuZGlmIC8qIENPTkZJ R19DT01QQVQgKi8NCj4gKw0KPiAgICNlbmRpZiAvKiBDT05GSUdfQVJDSF9IQVNfU1lTQ0FMTF9X UkFQUEVSICovDQo+ICAgDQo+ICAgI2VuZGlmIC8qIF9fS0VSTkVMX18gKi8NCj4gZGlmZiAtLWdp dCBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvZW50cnlfMzIuUyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwv ZW50cnlfMzIuUw0KPiBpbmRleCAxZDU5OWRmNmYxNjkuLmJlNjYwNDBmNzcwOCAxMDA2NDQNCj4g LS0tIGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9lbnRyeV8zMi5TDQo+ICsrKyBiL2FyY2gvcG93ZXJw Yy9rZXJuZWwvZW50cnlfMzIuUw0KPiBAQCAtMTIxLDkgKzEyMSw5IEBAIHRyYW5zZmVyX3RvX3N5 c2NhbGw6DQo+ICAgCVNBVkVfTlZHUFJTKHIxKQ0KPiAgIAlrdWVwX2xvY2sNCj4gICANCj4gLQkv KiBDYWxsaW5nIGNvbnZlbnRpb24gaGFzIHI5ID0gb3JpZyByMCwgcjEwID0gcmVncyAqLw0KPiAt CWFkZGkJcjEwLHIxLFNUQUNLX0ZSQU1FX09WRVJIRUFEDQo+IC0JbXIJcjkscjANCj4gKwkvKiBD YWxsaW5nIGNvbnZlbnRpb24gaGFzIHIzID0gb3JpZyByMCwgcjQgPSByZWdzICovDQo+ICsJYWRk aQlyNCxyMSxTVEFDS19GUkFNRV9PVkVSSEVBRA0KPiArCW1yCXIzLHIwDQo+ICAgCWJsCXN5c3Rl bV9jYWxsX2V4Y2VwdGlvbg0KPiAgIA0KPiAgIHJldF9mcm9tX3N5c2NhbGw6DQo+IGRpZmYgLS1n aXQgYS9hcmNoL3Bvd2VycGMva2VybmVsL2ludGVycnVwdC5jIGIvYXJjaC9wb3dlcnBjL2tlcm5l bC9pbnRlcnJ1cHQuYw0KPiBpbmRleCA2MmU2MzZlMGY2ODQuLmZhYTk0YTdlMWVkYyAxMDA2NDQN Cj4gLS0tIGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9pbnRlcnJ1cHQuYw0KPiArKysgYi9hcmNoL3Bv d2VycGMva2VybmVsL2ludGVycnVwdC5jDQo+IEBAIC03MiwxNSArNzIsMTMgQEAgc3RhdGljIG5v dHJhY2UgX19hbHdheXNfaW5saW5lIGJvb2wgcHJlcF9pcnFfZm9yX2VuYWJsZWRfZXhpdChib29s IHJlc3RhcnRhYmxlKQ0KPiAgIH0NCj4gICANCj4gICAvKiBIYXMgdG8gcnVuIG5vdHJhY2UgYmVj YXVzZSBpdCBpcyBlbnRlcmVkIG5vdCBjb21wbGV0ZWx5ICJyZWNvbmNpbGVkIiAqLw0KPiAtbm90 cmFjZSBsb25nIHN5c3RlbV9jYWxsX2V4Y2VwdGlvbihsb25nIHIzLCBsb25nIHI0LCBsb25nIHI1 LA0KPiAtCQkJCSAgIGxvbmcgcjYsIGxvbmcgcjcsIGxvbmcgcjgsDQo+IC0JCQkJICAgdW5zaWdu ZWQgbG9uZyByMCwgc3RydWN0IHB0X3JlZ3MgKnJlZ3MpDQo+ICtub3RyYWNlIGxvbmcgc3lzdGVt X2NhbGxfZXhjZXB0aW9uKHVuc2lnbmVkIGxvbmcgcjAsIHN0cnVjdCBwdF9yZWdzICpyZWdzKQ0K PiAgIHsNCj4gICAJc3lzY2FsbF9mbiBmOw0KPiAgIA0KPiAgIAlrdWFwX2xvY2soKTsNCj4gICAN Cj4gLQlyZWdzLT5vcmlnX2dwcjMgPSByMzsNCj4gKwlyZWdzLT5vcmlnX2dwcjMgPSByZWdzLT5n cHJbM107DQoNCkkgdGhpbmsgaXQgd291bGQgYmUgYmV0dGVyIHRvIHJldmVydCBjb21taXQgODg3 NWY0N2I3NjgxIA0KKCJwb3dlcnBjL3N5c2NhbGw6IFNhdmUgcjMgaW4gcmVncy0+b3JpZ19yMyIp DQoNCkFuZCBmb3IgUFBDMzIgcmV0cmlldmUgaXQgZnJvbSBiZWZvcmUgY29tbWl0IDZmNzZhMDEx NzNjYyANCigicG93ZXJwYy9zeXNjYWxsOiBpbXBsZW1lbnQgc3lzdGVtIGNhbGwgZW50cnkvZXhp dCBsb2dpYyBpbiBDIGZvciBQUEMzMiIpDQoNCj4gICANCj4gICAJaWYgKElTX0VOQUJMRUQoQ09O RklHX1BQQ19JUlFfU09GVF9NQVNLX0RFQlVHKSkNCj4gICAJCUJVR19PTihpcnFfc29mdF9tYXNr X3JldHVybigpICE9IElSUVNfQUxMX0RJU0FCTEVEKTsNCj4gQEAgLTE5NCwxMiArMTkyLDYgQEAg bm90cmFjZSBsb25nIHN5c3RlbV9jYWxsX2V4Y2VwdGlvbihsb25nIHIzLCBsb25nIHI0LCBsb25n IHI1LA0KPiAgIAkJcjAgPSBkb19zeXNjYWxsX3RyYWNlX2VudGVyKHJlZ3MpOw0KPiAgIAkJaWYg KHVubGlrZWx5KHIwID49IE5SX3N5c2NhbGxzKSkNCj4gICAJCQlyZXR1cm4gcmVncy0+Z3ByWzNd Ow0KPiAtCQlyMyA9IHJlZ3MtPmdwclszXTsNCj4gLQkJcjQgPSByZWdzLT5ncHJbNF07DQo+IC0J CXI1ID0gcmVncy0+Z3ByWzVdOw0KPiAtCQlyNiA9IHJlZ3MtPmdwcls2XTsNCj4gLQkJcjcgPSBy ZWdzLT5ncHJbN107DQo+IC0JCXI4ID0gcmVncy0+Z3ByWzhdOw0KPiAgIA0KPiAgIAl9IGVsc2Ug aWYgKHVubGlrZWx5KHIwID49IE5SX3N5c2NhbGxzKSkgew0KPiAgIAkJaWYgKHVubGlrZWx5KHRy YXBfaXNfdW5zdXBwb3J0ZWRfc2N2KHJlZ3MpKSkgew0KPiBAQCAtMjE2LDE4ICsyMDgsMjMgQEAg bm90cmFjZSBsb25nIHN5c3RlbV9jYWxsX2V4Y2VwdGlvbihsb25nIHIzLCBsb25nIHI0LCBsb25n IHI1LA0KPiAgIAlpZiAodW5saWtlbHkoaXNfY29tcGF0X3Rhc2soKSkpIHsNCj4gICAJCWYgPSAo dm9pZCAqKWNvbXBhdF9zeXNfY2FsbF90YWJsZVtyMF07DQo+ICAgDQo+IC0JCXIzICY9IDB4MDAw MDAwMDBmZmZmZmZmZlVMTDsNCj4gLQkJcjQgJj0gMHgwMDAwMDAwMGZmZmZmZmZmVUxMOw0KPiAt CQlyNSAmPSAweDAwMDAwMDAwZmZmZmZmZmZVTEw7DQo+IC0JCXI2ICY9IDB4MDAwMDAwMDBmZmZm ZmZmZlVMTDsNCj4gLQkJcjcgJj0gMHgwMDAwMDAwMGZmZmZmZmZmVUxMOw0KPiAtCQlyOCAmPSAw eDAwMDAwMDAwZmZmZmZmZmZVTEw7DQo+ICsJCXJlZ3MtPmdwclszXSAmPSAweDAwMDAwMDAwZmZm ZmZmZmZVTEw7DQo+ICsJCXJlZ3MtPmdwcls0XSAmPSAweDAwMDAwMDAwZmZmZmZmZmZVTEw7DQo+ ICsJCXJlZ3MtPmdwcls1XSAmPSAweDAwMDAwMDAwZmZmZmZmZmZVTEw7DQo+ICsJCXJlZ3MtPmdw cls2XSAmPSAweDAwMDAwMDAwZmZmZmZmZmZVTEw7DQo+ICsJCXJlZ3MtPmdwcls3XSAmPSAweDAw MDAwMDAwZmZmZmZmZmZVTEw7DQo+ICsJCXJlZ3MtPmdwcls4XSAmPSAweDAwMDAwMDAwZmZmZmZm ZmZVTEw7DQo+ICAgDQo+ICAgCX0gZWxzZSB7DQo+ICAgCQlmID0gKHZvaWQgKilzeXNfY2FsbF90 YWJsZVtyMF07DQo+ICAgCX0NCj4gICANCj4gLQlyZXR1cm4gZihyMywgcjQsIHI1LCByNiwgcjcs IHI4KTsNCj4gKwkjaWZkZWYgQ09ORklHX0FSQ0hfSEFTX1NZU0NBTExfV1JBUFBFUg0KPiArCXJl dHVybiBmKHJlZ3MpOw0KPiArCSNlbHNlDQo+ICsJcmV0dXJuIGYocmVncy0+Z3ByWzNdLCByZWdz LT5ncHJbNF0sIHJlZ3MtPmdwcls1XSwNCj4gKwkJIHJlZ3MtPmdwcls2XSwgcmVncy0+Z3ByWzdd LCByZWdzLT5ncHJbOF0pOw0KPiArCSNlbmRpZg0KPiAgIH0NCj4gICANCj4gICBzdGF0aWMgbm90 cmFjZSB2b2lkIGJvb2tlX2xvYWRfZGJjcjAodm9pZCkNCj4gZGlmZiAtLWdpdCBhL2FyY2gvcG93 ZXJwYy9rZXJuZWwvaW50ZXJydXB0XzY0LlMgYi9hcmNoL3Bvd2VycGMva2VybmVsL2ludGVycnVw dF82NC5TDQo+IGluZGV4IGNlMjViMjhjZjQxOC4uM2U4YTgxMWUwOWM0IDEwMDY0NA0KPiAtLS0g YS9hcmNoL3Bvd2VycGMva2VybmVsL2ludGVycnVwdF82NC5TDQo+ICsrKyBiL2FyY2gvcG93ZXJw Yy9rZXJuZWwvaW50ZXJydXB0XzY0LlMNCj4gQEAgLTkxLDkgKzkxLDkgQEAgX0FTTV9OT0tQUk9C RV9TWU1CT0woc3lzdGVtX2NhbGxfdmVjdG9yZWRfXG5hbWUpDQo+ICAgCWxpCXIxMSxcdHJhcG5y DQo+ICAgCXN0ZAlyMTEsX1RSQVAocjEpDQo+ICAgCXN0ZAlyMTIsX0NDUihyMSkNCj4gLQlhZGRp CXIxMCxyMSxTVEFDS19GUkFNRV9PVkVSSEVBRA0KPiArCWFkZGkJcjQscjEsU1RBQ0tfRlJBTUVf T1ZFUkhFQUQNCj4gICAJbGQJcjExLGV4Y2VwdGlvbl9tYXJrZXJAdG9jKHIyKQ0KPiAtCXN0ZAly MTEsLTE2KHIxMCkJCS8qICJyZWdzaGVyZSIgbWFya2VyICovDQo+ICsJc3RkCXIxMSwtMTYocjQp CQkvKiAicmVnc2hlcmUiIG1hcmtlciAqLw0KPiAgIA0KPiAgIEJFR0lOX0ZUUl9TRUNUSU9ODQo+ ICAgCUhNVF9NRURJVU0NCj4gQEAgLTEwOCw4ICsxMDgsOCBAQCBFTkRfRlRSX1NFQ1RJT05fSUZT RVQoQ1BVX0ZUUl9IQVNfUFBSKQ0KPiAgIAkgKiBidXQgdGhpcyBpcyB0aGUgYmVzdCB3ZSBjYW4g ZG8uDQo+ICAgCSAqLw0KPiAgIA0KPiAtCS8qIENhbGxpbmcgY29udmVudGlvbiBoYXMgcjkgPSBv cmlnIHIwLCByMTAgPSByZWdzICovDQo+IC0JbXIJcjkscjANCj4gKwkvKiBDYWxsaW5nIGNvbnZl bnRpb24gaGFzIHIzID0gb3JpZyByMCwgcjQgPSByZWdzICovDQo+ICsJbXIJcjMscjANCj4gICAJ YmwJc3lzdGVtX2NhbGxfZXhjZXB0aW9uDQo+ICAgDQo+ICAgLkxzeXNjYWxsX3ZlY3RvcmVkX1xu YW1lXCgpX2V4aXQ6DQo+IEBAIC0yNzUsOSArMjc1LDkgQEAgRU5EX0JUQl9GTFVTSF9TRUNUSU9O DQo+ICAgCXN0ZAlyMTAsX0xJTksocjEpDQo+ICAgCXN0ZAlyMTEsX1RSQVAocjEpDQo+ICAgCXN0 ZAlyMTIsX0NDUihyMSkNCj4gLQlhZGRpCXIxMCxyMSxTVEFDS19GUkFNRV9PVkVSSEVBRA0KPiAr CWFkZGkJcjQscjEsU1RBQ0tfRlJBTUVfT1ZFUkhFQUQNCj4gICAJbGQJcjExLGV4Y2VwdGlvbl9t YXJrZXJAdG9jKHIyKQ0KPiAtCXN0ZAlyMTEsLTE2KHIxMCkJCS8qICJyZWdzaGVyZSIgbWFya2Vy ICovDQo+ICsJc3RkCXIxMSwtMTYocjQpCQkvKiAicmVnc2hlcmUiIG1hcmtlciAqLw0KPiAgIA0K PiAgICNpZmRlZiBDT05GSUdfUFBDX0JPT0szUw0KPiAgIAlsaQlyMTEsMQ0KPiBAQCAtMjk4LDgg KzI5OCw4IEBAIEVORF9CVEJfRkxVU0hfU0VDVElPTg0KPiAgIAl3cnRlZWkJMQ0KPiAgICNlbmRp Zg0KPiAgIA0KPiAtCS8qIENhbGxpbmcgY29udmVudGlvbiBoYXMgcjkgPSBvcmlnIHIwLCByMTAg PSByZWdzICovDQo+IC0JbXIJcjkscjANCj4gKwkvKiBDYWxsaW5nIGNvbnZlbnRpb24gaGFzIHIz ID0gb3JpZyByMCwgcjQgPSByZWdzICovDQo+ICsJbXIJcjMscjANCj4gICAJYmwJc3lzdGVtX2Nh bGxfZXhjZXB0aW9uDQo+ICAgDQo+ICAgLkxzeXNjYWxsX2V4aXQ6DQo+IEBAIC0zNDMsMTYgKzM0 Myw4IEBAIEVORF9GVFJfU0VDVElPTl9JRkNMUihDUFVfRlRSX1NUQ1hfQ0hFQ0tTX0FERFJFU1Mp DQo+ICAgCWNtcGRpCXIzLDANCj4gICAJYm5lCS5Mc3lzY2FsbF9yZXN0b3JlX3JlZ3MNCj4gICAJ LyogWmVybyB2b2xhdGlsZSByZWdzIHRoYXQgbWF5IGNvbnRhaW4gc2Vuc2l0aXZlIGtlcm5lbCBk YXRhICovDQo+IC0JbGkJcjAsMA0KPiAtCWxpCXI0LDANCj4gLQlsaQlyNSwwDQo+IC0JbGkJcjYs MA0KPiAtCWxpCXI3LDANCj4gLQlsaQlyOCwwDQo+IC0JbGkJcjksMA0KPiAtCWxpCXIxMCwwDQo+ IC0JbGkJcjExLDANCj4gLQlsaQlyMTIsMA0KPiArCU5VTExJRllfR1BSKDApDQo+ICsJTlVMTElG WV9HUFJTKDQsIDEyKQ0KDQpTaG91bGQgYmUgYmUgcGFydCBvZiBwYXRjaCAxMiBpbnN0ZWFkID8N Cg0KPiAgIAltdGN0cglyMA0KPiAgIAltdHNwcglTUFJOX1hFUixyMA0KPiAgIC5Mc3lzY2FsbF9y ZXN0b3JlX3JlZ3NfY29udDoNCj4gQEAgLTM3OCw3ICszNzAsNyBAQCBFTkRfRlRSX1NFQ1RJT05f SUZTRVQoQ1BVX0ZUUl9IQVNfUFBSKQ0KPiAgIAlSRVNUX05WR1BSUyhyMSkNCj4gICAJbXRjdHIJ cjMNCj4gICAJbXRzcHIJU1BSTl9YRVIscjQNCj4gLQlsZAlyMCxHUFIwKHIxKQ0KPiArCVJFU1Rf R1BSKDAsIHIxKQ0KDQpTYW1lID8NCg0KPiAgIAlSRVNUX0dQUlMoNCwgMTIsIHIxKQ0KPiAgIAli CS5Mc3lzY2FsbF9yZXN0b3JlX3JlZ3NfY29udA0KPiAgIC5Mc3lzY2FsbF9yc3RfZW5kOg0KPiBk aWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9zeXN0YmwuYyBiL2FyY2gvcG93ZXJwYy9r ZXJuZWwvc3lzdGJsLmMNCj4gaW5kZXggYjg4YTljMmExZjUwLi5jYjA1ZTMwMmVhNTggMTAwNjQ0 DQo+IC0tLSBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvc3lzdGJsLmMNCj4gKysrIGIvYXJjaC9wb3dl cnBjL2tlcm5lbC9zeXN0YmwuYw0KPiBAQCAtMTUsOCArMTUsMTAgQEANCj4gICAjaW5jbHVkZSA8 YXNtL3VuaXN0ZC5oPg0KPiAgICNpbmNsdWRlIDxhc20vc3lzY2FsbHMuaD4NCj4gICANCj4gKyN1 bmRlZiBfX1NZU0NBTExfV0lUSF9DT01QQVQNCj4gICAjZGVmaW5lIF9fU1lTQ0FMTF9XSVRIX0NP TVBBVChuciwgZW50cnksIGNvbXBhdCkgX19TWVNDQUxMKG5yLCBlbnRyeSkNCj4gICANCj4gKyN1 bmRlZiBfX1NZU0NBTEwNCj4gICAjaWZkZWYgQ09ORklHX0FSQ0hfSEFTX1NZU0NBTExfV1JBUFBF Ug0KPiAgICNkZWZpbmUgX19TWVNDQUxMKG5yLCBlbnRyeSkgW25yXSA9IF9fcG93ZXJwY18jI2Vu dHJ5LA0KPiAgICNkZWZpbmUgX19wb3dlcnBjX3N5c19uaV9zeXNjYWxsCXN5c19uaV9zeXNjYWxs DQo+IGRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMva2VybmVsL3Zkc28uYyBiL2FyY2gvcG93ZXJw Yy9rZXJuZWwvdmRzby5jDQo+IGluZGV4IDA4MGM5ZTdkZTBjMC4uOTAwZGM4ZWQxZjE0IDEwMDY0 NA0KPiAtLS0gYS9hcmNoL3Bvd2VycGMva2VybmVsL3Zkc28uYw0KPiArKysgYi9hcmNoL3Bvd2Vy cGMva2VybmVsL3Zkc28uYw0KPiBAQCAtMzksNiArMzksOCBAQA0KPiAgIGV4dGVybiBjaGFyIHZk c28zMl9zdGFydCwgdmRzbzMyX2VuZDsNCj4gICBleHRlcm4gY2hhciB2ZHNvNjRfc3RhcnQsIHZk c282NF9lbmQ7DQo+ICAgDQo+ICthc21saW5rYWdlIGxvbmcgc3lzX25pX3N5c2NhbGwodm9pZCk7 DQo+ICsNCj4gICAvKg0KPiAgICAqIFRoZSB2ZHNvIGRhdGEgcGFnZSAoYWthLiBzeXN0ZW1jZmcg Zm9yIG9sZCBwcGM2NCBmYW5zKSBpcyBoZXJlLg0KPiAgICAqIE9uY2UgdGhlIGVhcmx5IGJvb3Qg a2VybmVsIGNvZGUgbm8gbG9uZ2VyIG5lZWRzIHRvIG11Y2sgYXJvdW5k