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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 09759CF2576 for ; Sun, 13 Oct 2024 18:27:46 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id B001B10E219; Sun, 13 Oct 2024 18:27:46 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.b="hWnN46NE"; dkim-atps=neutral Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2067.outbound.protection.outlook.com [40.107.243.67]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8CE3210E219 for ; Sun, 13 Oct 2024 18:27:45 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GsV8HeO9xCTAEwxlu2DYtzbe8FHVUfkmG4Ai3/7bqbjGk794JYR5QLB3MMpiVjHbtulj3QwwFNaBNsQXLNY3wYhEda26MHIMyBW85mwRrHhbc3tdwqOWEQ5/gavhARHf6bPuZX80TdVkEx1mQZB48FQVIybx+jMYhKjFVZFUXRMZC7xAi8XpHq2Uzlx2VH7pbinkWiQKtpuR6GdUdFQCQxqTOsCN+pIv/xwL/jGItQ/vVM+hTOgClzgsLWmqIAeAKOJJx39NN6c+E93+MdqdyHocfV+PyE7Zjj9wxfcbaUSQTv2uTCHkj2Qa52yuiHHfv0DV5K7lcp8tROxIaTbmsA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=FAnUkbdnjdHSrJMDre/0PSjN0oROg8Urjh9rTamiTUQ=; b=nnbA+Ub8DXnchXJjLK5h1UbnT/hq3j9ijF+6VU5fbknhxPb5KiJzY1QnI9x9cT0Gvvg3oyc4xtz2xL3Q0gXhOyPrTFlXakM7f+fIEa0KcHNKukObs7csXGDgxuHlz3BstccPz4Gzy/HTUwTsncyS9kag1mN94fiFabjFZDyEc1gnH1nO75q/MdKSE+G2V+56a22WEyPmzSS7D012iAGs5uNhrIkeKK4J9gbrYyM7AQwPrAvOGoyRnWWh4cnac5IWbfOJjhy2Fj4ZmSu/3mUUKtvUY3BGsGtVaeyYC6MKfogPeQfG+qByZkXoy+bBAYgL+hdR304awZ1O3I5l7sGO5w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FAnUkbdnjdHSrJMDre/0PSjN0oROg8Urjh9rTamiTUQ=; b=hWnN46NEIG0OSKzS+r7NRajzIZuLspqpJDoUpVaSZdZcqrtu2BHflErdG1J70v/E8CS7i7pGGKaTOn1zAAhFPYv6U/82JUCDN2ADQCTS2LFdO+8x+hVebnavahfi37wY6Vc881ZHjKWv4rpPpMzWEzZ9SJXvJJ1LAE8My/UCjPsofX2BHbTmS2/1mFFCOM5UZHxgu8vftUCyZu2tefCoFenOyqxKvKsjYMe7qsOllaOvcSey1M3UXqG6wbffmh9SFzHdL0j707WFGBpxdfpfL5J+jJcMqIparSkiLZ4KFd7lCqbT8/03AByqq1Kjx1ZU4mtnTdWTieXRHu42KRHr1g== Received: from SA1PR12MB6870.namprd12.prod.outlook.com (2603:10b6:806:25e::22) by CY5PR12MB6599.namprd12.prod.outlook.com (2603:10b6:930:41::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8048.26; Sun, 13 Oct 2024 18:27:40 +0000 Received: from SA1PR12MB6870.namprd12.prod.outlook.com ([fe80::8e11:7d4b:f9ae:911a]) by SA1PR12MB6870.namprd12.prod.outlook.com ([fe80::8e11:7d4b:f9ae:911a%4]) with mapi id 15.20.8048.017; Sun, 13 Oct 2024 18:27:32 +0000 From: Zhi Wang To: Danilo Krummrich CC: "nouveau@lists.freedesktop.org" , "airlied@gmail.com" , "daniel@ffwll.ch" , Ben Skeggs , Andy Currid , Neo Jia , Surath Mitra , Ankit Agrawal , Aniket Agashe , Kirti Wankhede , "Tarun Gupta (SW-GPU)" , "zhiwang@kernel.org" , Karol Herbst , Lyude Paul , Danilo Krummrich Subject: Re: [PATCH 2/3] nvkm/gsp: correctly calculate the available space of the GSP cmdq buffer Thread-Topic: [PATCH 2/3] nvkm/gsp: correctly calculate the available space of the GSP cmdq buffer Thread-Index: AQHbDPBkVhdvILXGAU6pOkBK6ZKc4LJ26GgAgA442QA= Date: Sun, 13 Oct 2024 18:27:32 +0000 Message-ID: <00670266-2259-4593-a575-e32f814119f1@nvidia.com> References: <20240922130709.1946893-1-zhiw@nvidia.com> <20240922130709.1946893-3-zhiw@nvidia.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SA1PR12MB6870:EE_|CY5PR12MB6599:EE_ x-ms-office365-filtering-correlation-id: 710cc3dc-c724-469c-cbf0-08dcebb4b3d7 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|366016|1800799024|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?VE5BR0VaZGJCQm9SNlY1ZE5YOWEwWjJ5UTE2QW1lWWxrZGlGWVFPU3drRUFs?= =?utf-8?B?VktQTXVZbGZIM2R6WlFobW14UDgwMklaNU9OWTJTRnJwaUIxTjRCczEzK3JP?= =?utf-8?B?QWYyOVpwSmlISnVrUld1RUV1K3FJVEg5SmZ6aklzVGhHM2VCYlQ2MzE2K2lI?= =?utf-8?B?QmZpMjFqVHY4eVpaZUVFS05LUnlFalVaZTh0QXNSNE1tSlFiZWtxdFNURG16?= =?utf-8?B?WmF4dXJSQjhLRzFmRnpXTHpOQ0UrcUtRMXJYdjM3NXQ4ZTdBek5CbjBJbjN3?= =?utf-8?B?YWlFWlNoenhrMW1DU2g1MzhQWW5yY1V3TXdOMC9FdzdJNFFXdVVYUS9GY3Er?= =?utf-8?B?NVBTZnhIT3JKaTl0VWRlb2FISmh5VXd1QmMzTVl6YytRc2NoUVpTY0JrWWV0?= =?utf-8?B?RDdTODhScTJ5QmxUVWpna3pJcjZCY3pyYkM1ZjJadmo4R1JkeWZ2aWQ4V0tx?= =?utf-8?B?Q0dMQVVFRmx5N25pRThMNStuUVZqYm5rQzhpVGlSL1dLcUtRQjBQTStKRERK?= =?utf-8?B?a3hYa3JSMkE0MzBpMjlHWW5nYzVSUnN0RnRFdnBCME1zdU5OWFFuUmxBSzhh?= =?utf-8?B?YjZEL1g0aFpBQ3h4NmRSSTc1ampaNVA1d3gwb3lGeUg4aGxwZ2srN1RpSjFn?= =?utf-8?B?NTRYUEwyN01adjk3YWFqVjY5eUVRdDNkVU4rV1YwVUIzcUgrZW5Sd1ZoUHlv?= =?utf-8?B?YndIdk8wTC8xRUczeXZ4UHVIa2w0VG1sdjZDTWJJS2Z3SFBEeHFjTWh4bFZ3?= =?utf-8?B?WXhjRHpVVTJFS1pGT1RYdzR0RjF2SjdlNU0yS2ltdE1VSlc4VjdUMVNMY0lV?= =?utf-8?B?UHMxWXoyV2ZCZmxYU1BPOGxLYm1yV1hHbHdUenRyaU91NVg2ZklPaThRSnhT?= =?utf-8?B?NVBodEF2TmcvL0pQbGlTb1Y5TnA3MDNXdnBZWVJ5Nk5pODlPbEhYd3FyaU5X?= =?utf-8?B?Q3hZaUptZ2NQeTg1VExFZ0crMGF2SDBaSFBUMVFqcEpxSnppOWJaNlF5aHlt?= =?utf-8?B?c05DajRmTEZCWE43UjJWMnpDM29OSUkyRHp3VzVpa096N2lpZ3NWbDVrVXJr?= =?utf-8?B?S1dQVzRUd25qRTJTNW54WDNOdWh4a21VYWY5SGw3akEyL2EwRVN6U2VxWldU?= =?utf-8?B?bkEzSzRrbE5ObDEwUnBNUEgrYjd1VVY0VUpDNlJJRDZRWjVOK3F3K1E0MkNu?= =?utf-8?B?NDFoUldSTm5Ka1RBaUlVMGpJWTBYdXByeVE2ei90T1djckVSTi9CdHJTUWhU?= =?utf-8?B?K0V1ZUxrUzFFekpBWTNsYk56V0JhMlVTaXU4K20yYk1ENW1ZY3dvcEJzQXVw?= =?utf-8?B?U1hITDhkZXZrTGVZcDg0a2xyZFk0TFdjUHd2NWR3NFl6d1lwOGxJbTBHSmw0?= =?utf-8?B?Z1QzNnI2R3RlQWh5YWswa0VGVFpkT3VnY0dDaEcvbDE0RGZQeEMzdjVNTGpI?= =?utf-8?B?QnhZRlVya2NodkVnL1Y2aGZtZVgrMkhSRXJlbERKL3A1N29aWjBGTmhMVEd2?= =?utf-8?B?WlZZKy8vTXdVWDZQSGJrMEtVTUdwYWkyOFo3THNsbjJJVnNkNTQ5a1RnT1pM?= =?utf-8?B?SlY1ZDFpd1hZa09UQjVPTTJKNjZ2YW96a0N2SmZLSkZXWWliNk0wTlVQRDE5?= =?utf-8?B?Tzh2SFk2UnNrRENQUzBObVM5U2VGdGtWVzF3SHJ4akhibGNLWllleWYrdnov?= =?utf-8?B?dTZSQlNKRzNLS3NENXBWU29Pb3E5SlBpWWlYWmkrNnFiemRJTDhzeTI3VTNo?= =?utf-8?B?TzN2cjRQZ01hR21PUWhtTmlodnNHZ3puanVlaGE2d2VrM01yTEgvZDdJNzRi?= =?utf-8?B?clFId2xOMENWN3N6eVlFdz09?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA1PR12MB6870.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(366016)(1800799024)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?amJVZzgrajA3NHBKKzVndG1XZTU2ek5mQnlYU0pyNUlxa3dFdTAvQVlhT1Ny?= =?utf-8?B?MVQwOFQ2VFdJTWVLaHA2YkpHdERzdk5WY0VMR1A0Zy9Vd0JwekRTS1lOK1JF?= =?utf-8?B?THBhcGw0c1JsMTFFeHE5YXhxZEJmYXBBYkJpVWc4S2lZQnJrYUNPZ3M2Ymho?= =?utf-8?B?UVowajM2NVZFM2hhMEM5VHBOa053WWl0aW9Xc3o0S0RaUVVVQXFoOTFKeVJl?= =?utf-8?B?THZHWExVWEdzRHNzcmR2Ymo5YnlCZnJDZUNEbzY3TjBnQ2JmWlUxWWtTZDYz?= =?utf-8?B?Z3NVVWZCNGpHcGVHQ1ZGVENGVGF0ZDdxOEpVRkJieHBRVU1iSUlhYlJabnk4?= =?utf-8?B?RHhZVlhzUHE0azc4NU1SUmdacEpHQkN6enBwMDJLSDZYR1hpY0xzMEZiZ0dS?= =?utf-8?B?OURHRGM4MnRMenFVbi9iZFcvY2MycDl6cVlFQmd6Q0t2c3czV0FCSDZFMUhz?= =?utf-8?B?MFZ3QjNxTjhTZWxBYlhyOEtRRVB6K2xrdXdTQ2hTS3d2QzN3Q0d1RVpMUldG?= =?utf-8?B?dysvUzBObzYyRDNXVldKamR0SlluWkR2L1pJVHhCcHBwUFdQQi9DWVduNEk2?= =?utf-8?B?L0xQMVhJQmNmQWJkZ1N0bmZPdHhCTmJxeXhUVmxPWWhSK0M3MUQ2U3hzN1pi?= =?utf-8?B?L2NBdGYxbStxYVRkM2V1VmtmZ2FsOU5jaUdEMWRkdGF5M0oyamgyZ2hJY3hr?= =?utf-8?B?aFhJRjJMemhxV29HWjlxQUlkZTRsRng3cEg2L09MVjNTWGdhMWdYNlJCZWFm?= =?utf-8?B?U3hpK1pXRnNHMkMvS1lMcDVzZ3RFOE1WaHpXUXpQNFBrVkp1OVpqTXA3VE9P?= =?utf-8?B?aEp4eS9zL1RZMjlVd1puUWY5Uk9mTzlGay9ZRHExc1dmRWZEMzRMdk91M0Rh?= =?utf-8?B?NFo1RkM4Qkh4V053TUMzWmkvQ1AwbmxQUklsdFZSNGhNZ0c2UjQzSXJjQ2xy?= =?utf-8?B?YnVHZnVVb0llY1J0dFVJT2JranlvdUttc1pDTzZDRlRNZHk3Rm05aU5GSmx0?= =?utf-8?B?ZG5nb3hGMnVrM0FCcWlKTWMvM29wMTlYemxOSlJWYzZNdllPL2svU1ZHeVVl?= =?utf-8?B?N0laRTZ3aDJ5MjNHUy9XMGJyeHN6bFdwMGxxQ3lQSFMrT0c1RDBESWpHaWZq?= =?utf-8?B?SUZqYWsrdytRVjhjNEJyTUg4dGZORldLVVlRdFpyRHNXZTNXbm5kRTd6V3h5?= =?utf-8?B?OGxyODNROGVtZCtiZ0ljdWh3dUJ5eklLS0ZSUEg4bDhYaTVWcEQ1WjNGSnlT?= =?utf-8?B?UjdhODJtOWVqa2s2RlloQ1dQOHFYKzZiQWNqL3V6SnVza292WFVoOGJIWSs2?= =?utf-8?B?d3hGb3VScTU4NGZ1U2c0eHBFdVJ0aEl2MFJyVlRWV0tQL0dPSlgwcVhIN3N5?= =?utf-8?B?UlliMm1ZTzRyWkdaazBCVlFxZVRVUXlDMy8wQVJRZnRDZlkyUlM0cmZrdERI?= =?utf-8?B?YlFxMHRqMkY5VjIzRWVMSHp6TGtwL05nMEFWT08zUFRZWDlEQ1lYZ0hDSThj?= =?utf-8?B?VGxVN3UrSGRZRktSeGhOelQydFVIbWZPT0NscTBxamcxMllmdzJGei91QjNI?= =?utf-8?B?S0FhMXV6a1pZMThkVGNZdDVuN2REUk4vckQ0U001MUFTeElFZ2xyRFA5eWhn?= =?utf-8?B?cGpmZmJQU3l3Q296UEo1R0JCMXNBaUFqcmlOZnJ1SEd1MjBkT2J2RUNoK1I3?= =?utf-8?B?RVUyOTFwTkNoMUZSYWp4a2NIRkVKRlF1b0VtakNHVHRDVVhEb0VRbFFoWVlS?= =?utf-8?B?cVRzU1hRSTNlZGZTTW9zOWlJV0ZBZG9nbEJUR2JnQ3BmTWE1bTZhaTJxOTNY?= =?utf-8?B?OUMzTHhOMTh3c282Q1dHWDJpWElLVlhQdGdBazlRSlRsRXdBMDNSdVpqcGpm?= =?utf-8?B?dEIzL3hDRExuQzdOdXk5UDQ0dlV1QWNOeVZvZnFBVmpoWEVmZnpXbVFSWTg1?= =?utf-8?B?enBWbnpxNUswM251M0JEazZRWkhzb3oyR29GNzhPaGxFdlhaWUtRbzBxdnJh?= =?utf-8?B?VElVQjM1bTNPaE1zVEtvNExyaHpPbVBiSjZxQXpEclZxZERsd21pY0l6TWpX?= =?utf-8?B?ckJ2dk85UCtsRitxeXZnZU5uM21oRC9qeEZ6OTlkaU5zSnlxWFhDTFRXNDVp?= =?utf-8?Q?xl4c=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <713B977A2F7CC345B43D1DEDCE64028E@namprd12.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SA1PR12MB6870.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 710cc3dc-c724-469c-cbf0-08dcebb4b3d7 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Oct 2024 18:27:32.3347 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: K8ZUxnANy1RyqbB+RxrU3Efc85MQFvqcgOA3FYp172pUGfdS9fgEyiuNmVhGVOFK X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6599 X-BeenThere: nouveau@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Nouveau development list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces@lists.freedesktop.org Sender: "Nouveau" T24gMDQvMTAvMjAyNCAyMC4xNiwgRGFuaWxvIEtydW1tcmljaCB3cm90ZToNCj4gRXh0ZXJuYWwg ZW1haWw6IFVzZSBjYXV0aW9uIG9wZW5pbmcgbGlua3Mgb3IgYXR0YWNobWVudHMNCj4gDQo+IA0K DQpIZXkgRGFuaWxvLiBJIGFtIGp1c3QgYmFjayBmcm9tIG15IHZhY2F0aW9uLiBTb3JyeSBmb3Ig dGhlIGRlbGF5LiBTZWUgbXkgDQpjb21tZW50cyBiZWxvdy4NCg0KPiBPbiBTdW4sIFNlcCAyMiwg MjAyNCBhdCAwNjowNzowOEFNIC0wNzAwLCBaaGkgV2FuZyB3cm90ZToNCj4+IHI1MzVfZ3NwX2Nt ZHFfcHVzaCgpIHdhaXRzIGZvciB0aGUgYXZhaWxhYmxlIHBhZ2UgaW4gdGhlIEdTUCBjbWRxDQo+ PiBidWZmZXIgd2hlbiBoYW5kbGluZyBhIGxhcmdlIFJQQyByZXF1ZXN0LiBXaGVuIGl0IHNlZXMg YXQgbGVhc3Qgb25lDQo+PiBhdmFpbGFibGUgcGFnZSBpbiB0aGUgY21kcSwgaXQgcXVpdHMgdGhl IHdhaXRpbmcgd2l0aCB0aGUgYW1vdW50IG9mDQo+PiBmcmVlIGJ1ZmZlciBwYWdlcyBpbiB0aGUg cXVldWUuDQo+Pg0KPj4gVW5mb3J0dW5hdGVseSwgaXQgYWx3YXlzIHRha2VzIHRoZSBbd3JpdGUg cG9pbnRlciwgYnVmX3NpemUpIGFzDQo+PiBhdmFpbGFibGUgYnVmZmVyIHBhZ2VzIGJlZm9yZSBy b2xsaW5nIGJhY2sgYW5kIHdyb25nbHkgY2FsY3VsYXRlcyB0aGUNCj4+IHNpemUgb2YgdGhlIGRh dGEgc2hvdWxkIGJlIGNvcGllZC4gVGh1cywgaXQgY2FuIG92ZXJ3cml0ZSB0aGUgUlBDDQo+PiBy ZXF1ZXN0IHRoYXQgR1NQIGlzIGN1cnJlbnRseSByZWFkaW5nLCB3aGljaCBjYXVzZXMgR1NQIGhh bmcgZHVlDQo+PiB0byBjb3JydXB0ZWQgUlBDIHJlcXVlc3Q6DQo+Pg0KPj4gWyAgNTQ5LjIwOTM4 OV0gLS0tLS0tLS0tLS0tWyBjdXQgaGVyZSBdLS0tLS0tLS0tLS0tDQo+PiBbICA1NDkuMjE0MDEw XSBXQVJOSU5HOiBDUFU6IDggUElEOiA2MzE0IGF0IGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252 a20vc3ViZGV2L2dzcC9yNTM1LmM6MTE2IHI1MzVfZ3NwX21zZ3Ffd2FpdCsweGQwLzB4MTkwIFtu dmttXQ0KPj4gWyAgNTQ5LjIyNTY3OF0gTW9kdWxlcyBsaW5rZWQgaW46IG52a20oRSspIGdzcF9s b2coRSkgc25kX3NlcV9kdW1teShFKSBzbmRfaHJ0aW1lcihFKSBzbmRfc2VxKEUpIHNuZF90aW1l cihFKSBzbmRfc2VxX2RldmljZShFKSBzbmQoRSkgc291bmRjb3JlKEUpIHJma2lsbChFKSBxcnRy KEUpIHZmYXQoRSkgZmF0KEUpIGlwbWlfc3NpZihFKSBhbWRfYXRsKEUpIGludGVsX3JhcGxfbXNy KEUpIGludGVsX3JhcGxfY29tbW9uKEUpIG1seDVfaWIoRSkgYW1kNjRfZWRhYyhFKSBlZGFjX21j ZV9hbWQoRSkga3ZtX2FtZChFKSBpYl91dmVyYnMoRSkga3ZtKEUpIGliX2NvcmUoRSkgYWNwaV9p cG1pKEUpIGlwbWlfc2koRSkgbXhtX3dtaShFKSBpcG1pX2RldmludGYoRSkgcmFwbChFKSBpMmNf cGlpeDQoRSkgd21pX2Jtb2YoRSkgam95ZGV2KEUpIHB0ZG1hKEUpIGFjcGlfY3B1ZnJlcShFKSBr MTB0ZW1wKEUpIHBjc3BrcihFKSBpcG1pX21zZ2hhbmRsZXIoRSkgeGZzKEUpIGxpYmNyYzMyYyhF KSBhc3QoRSkgaTJjX2FsZ29fYml0KEUpIGNyY3QxMGRpZl9wY2xtdWwoRSkgZHJtX3NobWVtX2hl bHBlcihFKSBudm1lX3RjcChFKSBjcmMzMl9wY2xtdWwoRSkgYWhjaShFKSBkcm1fa21zX2hlbHBl cihFKSBsaWJhaGNpKEUpIG52bWVfZmFicmljcyhFKSBjcmMzMmNfaW50ZWwoRSkgbnZtZShFKSBj ZGNfZXRoZXIoRSkgbWx4NV9jb3JlKEUpIG52bWVfY29yZShFKSB1c2JuZXQoRSkgZHJtKEUpIGxp YmF0YShFKSBjY3AoRSkgZ2hhc2hfY2xtdWxuaV9pbnRlbChFKSBtaWkoRSkgdDEwX3BpKEUpIG1s eGZ3KEUpIHNwNTEwMF90Y28oRSkgcHNhbXBsZShFKSBwY2lfaHlwZXJ2X2ludGYoRSkgd21pKEUp IGRtX211bHRpcGF0aChFKSBzdW5ycGMoRSkgZG1fbWlycm9yKEUpIGRtX3JlZ2lvbl9oYXNoKEUp IGRtX2xvZyhFKSBkbV9tb2QoRSkgYmUyaXNjc2koRSkgYm54MmkoRSkgY25pYyhFKSB1aW8oRSkg Y3hnYjRpKEUpIGN4Z2I0KEUpIHRscyhFKSBsaWJjeGdiaShFKSBsaWJjeGdiKEUpIHFsYTR4eHgo RSkNCj4+IFsgIDU0OS4yMjU3NTJdICBpc2NzaV9ib290X3N5c2ZzKEUpIGlzY3NpX3RjcChFKSBs aWJpc2NzaV90Y3AoRSkgbGliaXNjc2koRSkgc2NzaV90cmFuc3BvcnRfaXNjc2koRSkgZnVzZShF KSBbbGFzdCB1bmxvYWRlZDogZ3NwX2xvZyhFKV0NCj4+IFsgIDU0OS4zMjYyOTNdIENQVTogOCBQ SUQ6IDYzMTQgQ29tbTogaW5zbW9kIFRhaW50ZWQ6IEcgICAgICAgICAgICBFICAgICAgNi45LjAt cmM2KyAjMQ0KPj4gWyAgNTQ5LjMzNDAzOV0gSGFyZHdhcmUgbmFtZTogQVNSb2NrUmFjayAxVTFH LU1JTEFOL04vUk9NRUQ4LU5MLCBCSU9TIEwzLjEyRSAwOS8wNi8yMDIyDQo+PiBbICA1NDkuMzQx NzgxXSBSSVA6IDAwMTA6cjUzNV9nc3BfbXNncV93YWl0KzB4ZDAvMHgxOTAgW252a21dDQo+PiBb ICA1NDkuMzQ3MzQzXSBDb2RlOiAwOCAwMCAwMCA4OSBkYSBjMSBlMiAwYyA0OCA4ZCBhYyAxMSAw MCAxMCAwMCAwMCA0OCA4YiAwYyAyNCA0OCA4NSBjOSA3NCAxZiBjMSBlMCAwYyA0YyA4ZCA2ZCAz MCA4MyBlOCAzMCA4OSAwMSBlOSA2OCBmZiBmZiBmZiA8MGY+IDBiIDQ5IGM3IGM1IDkyIGZmIGZm IGZmIGU5IDVhIGZmIGZmIGZmIGJhIGZmIGZmIGZmIGZmIGJlIGMwIDBjDQo+PiBbICA1NDkuMzY2 MDkwXSBSU1A6IDAwMTg6ZmZmZmFjYmNjYWFlYjdkMCBFRkxBR1M6IDAwMDEwMjQ2DQo+PiBbICA1 NDkuMzcxMzE1XSBSQVg6IDAwMDAwMDAwMDAwMDAwMDAgUkJYOiAwMDAwMDAwMDAwMDAwMDEyIFJD WDogMDAwMDAwMDAwMDkyM2UyOA0KPj4gWyAgNTQ5LjM3ODQ1MV0gUkRYOiAwMDAwMDAwMDAwMDAw MDAwIFJTSTogMDAwMDAwMDA1NTU1NTU1NCBSREk6IGZmZmZhY2JjY2FhZWI3MzANCj4+IFsgIDU0 OS4zODU1OTBdIFJCUDogMDAwMDAwMDAwMDAwMDAwMSBSMDg6IGZmZmY4YmQxNGQyMzVmNzAgUjA5 OiBmZmZmOGJkMTRkMjM1ZjcwDQo+PiBbICA1NDkuMzkyNzIxXSBSMTA6IDAwMDAwMDAwMDAwMDAw MDIgUjExOiBmZmZmOGJkMTRkMjMzODY0IFIxMjogMDAwMDAwMDAwMDAwMDAyMA0KPj4gWyAgNTQ5 LjM5OTg1NF0gUjEzOiBmZmZmYWNiY2NhYWViODE4IFIxNDogMDAwMDAwMDAwMDAwMDAyMCBSMTU6 IGZmZmY4YmIyOThjNjcwMDANCj4+IFsgIDU0OS40MDY5ODhdIEZTOiAgMDAwMDdmNTE3OTI0NDc0 MCgwMDAwKSBHUzpmZmZmOGJkMTRkMjAwMDAwKDAwMDApIGtubEdTOjAwMDAwMDAwMDAwMDAwMDAN Cj4+IFsgIDU0OS40MTUwNzZdIENTOiAgMDAxMCBEUzogMDAwMCBFUzogMDAwMCBDUjA6IDAwMDAw MDAwODAwNTAwMzMNCj4+IFsgIDU0OS40MjA4MjldIENSMjogMDAwMDdmYTg0NDAwMDAxMCBDUjM6 IDAwMDAwMDAxNTY3ZGMwMDUgQ1I0OiAwMDAwMDAwMDAwNzcwZWYwDQo+PiBbICA1NDkuNDI3OTYz XSBQS1JVOiA1NTU1NTU1NA0KPj4gWyAgNTQ5LjQzMDY3Ml0gQ2FsbCBUcmFjZToNCj4+IFsgIDU0 OS40MzMxMjZdICA8VEFTSz4NCj4+IFsgIDU0OS40MzUyMzNdICA/IF9fd2FybisweDdmLzB4MTMw DQo+PiBbICA1NDkuNDM4NDczXSAgPyByNTM1X2dzcF9tc2dxX3dhaXQrMHhkMC8weDE5MCBbbnZr bV0NCj4+IFsgIDU0OS40NDM0MjZdICA/IHJlcG9ydF9idWcrMHgxOGEvMHgxYTANCj4+IFsgIDU0 OS40NDcwOThdICA/IGhhbmRsZV9idWcrMHgzYy8weDcwDQo+PiBbICA1NDkuNDUwNTg5XSAgPyBl eGNfaW52YWxpZF9vcCsweDE0LzB4NzANCj4+IFsgIDU0OS40NTQ0MzBdICA/IGFzbV9leGNfaW52 YWxpZF9vcCsweDE2LzB4MjANCj4+IFsgIDU0OS40NTg2MTldICA/IHI1MzVfZ3NwX21zZ3Ffd2Fp dCsweGQwLzB4MTkwIFtudmttXQ0KPj4gWyAgNTQ5LjQ2MzU2NV0gIHI1MzVfZ3NwX21zZ19yZWN2 KzB4NDYvMHgyMzAgW252a21dDQo+PiBbICA1NDkuNDY4MjU3XSAgcjUzNV9nc3BfcnBjX3B1c2gr MHgxMDYvMHgxNjAgW252a21dDQo+PiBbICA1NDkuNDczMDMzXSAgcjUzNV9nc3BfcnBjX3JtX2N0 cmxfcHVzaCsweDQwLzB4MTMwIFtudmttXQ0KPj4gWyAgNTQ5LjQ3ODQyMl0gIG52aWRpYV9ncmlk X2luaXRfdmdwdV90eXBlcysweGJjLzB4ZTAgW252a21dDQo+PiBbICA1NDkuNDgzODk5XSAgbnZp ZGlhX2dyaWRfaW5pdCsweGIxLzB4ZDAgW252a21dDQo+PiBbICA1NDkuNDg4NDIwXSAgPyBzcnNv X2FsaWFzX3JldHVybl90aHVuaysweDUvMHhmYmVmNQ0KPj4gWyAgNTQ5LjQ5MzIxM10gIG52a21f ZGV2aWNlX3BjaV9wcm9iZSsweDMwNS8weDQyMCBbbnZrbV0NCj4+IFsgIDU0OS40OTgzMzhdICBs b2NhbF9wY2lfcHJvYmUrMHg0Ni8weGEwDQo+PiBbICA1NDkuNTAyMDk2XSAgcGNpX2NhbGxfcHJv YmUrMHg1Ni8weDE3MA0KPj4gWyAgNTQ5LjUwNTg1MV0gIHBjaV9kZXZpY2VfcHJvYmUrMHg3OS8w eGYwDQo+PiBbICA1NDkuNTA5NjkwXSAgPyBkcml2ZXJfc3lzZnNfYWRkKzB4NTkvMHhjMA0KPj4g WyAgNTQ5LjUxMzcwMl0gIHJlYWxseV9wcm9iZSsweGQ5LzB4MzgwDQo+PiBbICA1NDkuNTE3Mjgy XSAgX19kcml2ZXJfcHJvYmVfZGV2aWNlKzB4NzgvMHgxNTANCj4+IFsgIDU0OS41MjE2NDBdICBk cml2ZXJfcHJvYmVfZGV2aWNlKzB4MWUvMHg5MA0KPj4gWyAgNTQ5LjUyNTc0Nl0gIF9fZHJpdmVy X2F0dGFjaCsweGQyLzB4MWMwDQo+PiBbICA1NDkuNTI5NTk0XSAgPyBfX3BmeF9fX2RyaXZlcl9h dHRhY2grMHgxMC8weDEwDQo+PiBbICA1NDkuNTM0MDQ1XSAgYnVzX2Zvcl9lYWNoX2RldisweDc4 LzB4ZDANCj4+IFsgIDU0OS41Mzc4OTNdICBidXNfYWRkX2RyaXZlcisweDExMi8weDIxMA0KPj4g WyAgNTQ5LjU0MTc1MF0gIGRyaXZlcl9yZWdpc3RlcisweDVjLzB4MTIwDQo+PiBbICA1NDkuNTQ1 NTk2XSAgPyBfX3BmeF9udmttX2luaXQrMHgxMC8weDEwIFtudmttXQ0KPj4gWyAgNTQ5LjU1MDIy NF0gIGRvX29uZV9pbml0Y2FsbCsweDQ0LzB4MzAwDQo+PiBbICA1NDkuNTU0MDYzXSAgPyBkb19p bml0X21vZHVsZSsweDIzLzB4MjQwDQo+PiBbICA1NDkuNTU3OTg5XSAgZG9faW5pdF9tb2R1bGUr MHg2NC8weDI0MA0KPj4NCj4+IENhbGN1bGF0ZSB0aGUgYXZhaWxhYmxlIGJ1ZmZlciBwYWdlIGJl Zm9yZSByb2xsaW5nIGJhY2sgYmFzZWQgb24NCj4+IHRoZSByZXN1bHQgZnJvbSB0aGUgd2FpdGlu Zy4NCj4gDQo+IEl0IGxvb2tzIGxpa2UgeW91IGhpdCB0aGlzIG9uZSB3aGlsZSB3b3JraW5nIG9u IHRoZSBWRklPIHN0dWZmIHRvby4gU28sIHNhbWUNCj4gcXVlc3Rpb24gaGVyZSwNCg0KWWVzLiBC dXQgdGhlc2VzIGJ1Z3MgYXJlIG5vdCBzcGVjaWZpYyB0byB2R1BVIGJlY2F1c2UgdHdvLXBhZ2Ug R1NQIFJQQyANCmFyZSBwYXJ0IG9mIHZhbGlkIFJQQyB2ZWhpY2xlIGZvcm1hdCBvZiBHU1AgUlBD IHByb3RvY29sIGZhbWlseS4gVGhlIA0KZml4ZXMgYXJlIGZvciBhIGJldHRlciBzb3BoaXN0aWNh dGVkIEdTUCBSUEMgaGFuZGxpbmcgaW4gTm91dmVhdS4gT3RoZXIgDQpHU1AgUlBDIGNhbiB1c2Ug dGhpcyB2ZWhpY2xlIGZvcm1hdCBhcyB3ZWxsLg0KDQpjYW4gd2UgaGl0IHRoaXMgY2FzZSB3aXRo ICJ2YW5pbGxhIG5vdXZlYXUiPw0KDQpOb3QgeWV0LiBCdXQgaW50cm9kdWNpbmcgbmV3IEdTUCBS UENzIHRoYXQgdXNpbmcgdGhpcyB2ZWhpY2xlIGZvcm1hdCANCihyZWxhdGVkIHRvIHZHUFUvbm90 LXJlbGF0ZWQgdG8gdkdQVSkgaW4gbm91dmVhdSBtaWdodCBoaXQgdGhpcyBidWcgbGF0ZXIuDQoN Ck91dCBvZiBjdXJpb3N0aXksIGRvIHdlIGhhdmUgYW55IHVuaXQtdGVzdCBwYWNrYWdlIG9yIGZs b3dzIHRvIHRlc3QgdGhlIA0KcGF0Y2hlcz8gTGlrZSBDSXMuIEkgYW0gdXNpbmcgdGhlIFBob3Jv bml4IHRlc3Qgc3VpdGUgaW4gdGhlIHVidW50dSB3aXRoIA0KYSBQUEEgcmVwbyB0aGF0IGhhcyBs YXRlc3QgbWVzYS9kcm0gdXNlcnNwYWNlIGxpYnJhcmllcy4NCg0KSXQgd291bGQgYmUgbmljZSB0 aGF0IEkgY2FuIGFsaWduIHdpdGggb3RoZXJzLiA6KQ0KDQpUaGFua3MsDQpaaGkuDQo+IA0KDQo+ Pg0KPj4gRml4ZXM6IDE3NmZkY2JkZGZkMjggKCJkcm0vbm91dmVhdS9nc3AvcjUzNTogYWRkIHN1 cHBvcnQgZm9yIGJvb3RpbmcgR1NQLVJNIikNCj4gDQo+IFNhbWUgYXMgaW4gcGF0Y2ggMS4NCj4g DQo+PiBDYzogQmVuIFNrZWdncyA8YnNrZWdnc0BudmlkaWEuY29tPg0KPj4gQ2M6IEthcm9sIEhl cmJzdCA8a2hlcmJzdEByZWRoYXQuY29tPg0KPj4gQ2M6IEx5dWRlIFBhdWwgPGx5dWRlQHJlZGhh dC5jb20+DQo+PiBDYzogRGFuaWxvIEtydW1tcmljaCA8ZGFrckByZWRoYXQuY29tPg0KPj4gQ2M6 IERhdmlkIEFpcmxpZSA8YWlybGllZEBnbWFpbC5jb20+DQo+PiBTaWduZWQtb2ZmLWJ5OiBaaGkg V2FuZyA8emhpd0BudmlkaWEuY29tPg0KPj4gLS0tDQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9ub3V2 ZWF1L252a20vc3ViZGV2L2dzcC9yNTM1LmMgfCA4ICsrKysrKy0tDQo+PiAgIDEgZmlsZSBjaGFu Z2VkLCA2IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pDQo+Pg0KPj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252a20vc3ViZGV2L2dzcC9yNTM1LmMgYi9kcml2ZXJz L2dwdS9kcm0vbm91dmVhdS9udmttL3N1YmRldi9nc3AvcjUzNS5jDQo+PiBpbmRleCA3MzZjZGUx OTg3ZDAuLjQ5NzIxOTM1MDEzYiAxMDA2NDQNCj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2 ZWF1L252a20vc3ViZGV2L2dzcC9yNTM1LmMNCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2 ZWF1L252a20vc3ViZGV2L2dzcC9yNTM1LmMNCj4+IEBAIC0xNjEsNyArMTYxLDcgQEAgcjUzNV9n c3BfY21kcV9wdXNoKHN0cnVjdCBudmttX2dzcCAqZ3NwLCB2b2lkICphcmd2KQ0KPj4gICAgICAg IHU2NCAqZW5kOw0KPj4gICAgICAgIHU2NCBjc3VtID0gMDsNCj4+ICAgICAgICBpbnQgZnJlZSwg dGltZSA9IDEwMDAwMDA7DQo+PiAtICAgICB1MzIgd3B0ciwgc2l6ZTsNCj4+ICsgICAgIHUzMiB3 cHRyLCBzaXplLCBzdGVwOw0KPj4gICAgICAgIHUzMiBvZmYgPSAwOw0KPj4NCj4+ICAgICAgICBh cmdjID0gQUxJR04oR1NQX01TR19IRFJfU0laRSArIGFyZ2MsIEdTUF9QQUdFX1NJWkUpOw0KPj4g QEAgLTE3OCwxMSArMTc4LDEzIEBAIHI1MzVfZ3NwX2NtZHFfcHVzaChzdHJ1Y3QgbnZrbV9nc3Ag KmdzcCwgdm9pZCAqYXJndikNCj4+ICAgICAgICBjbWQtPmNoZWNrc3VtID0gdXBwZXJfMzJfYml0 cyhjc3VtKSBeIGxvd2VyXzMyX2JpdHMoY3N1bSk7DQo+Pg0KPj4gICAgICAgIHdwdHIgPSAqZ3Nw LT5jbWRxLndwdHI7DQo+PiArDQo+IA0KPiBQbGVhc2UgcmVtb3ZlIHRoZSBhZGRpdGlvbiBvZiBl bXB0eSBsaW5lcyBoZXJlLi4uDQo+IA0KPj4gICAgICAgIGRvIHsNCj4+ICAgICAgICAgICAgICAg IGRvIHsNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgZnJlZSA9ICpnc3AtPmNtZHEucnB0ciAr IGdzcC0+Y21kcS5jbnQgLSB3cHRyIC0gMTsNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgaWYg KGZyZWUgPj0gZ3NwLT5jbWRxLmNudCkNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBmcmVlIC09IGdzcC0+Y21kcS5jbnQ7DQo+PiArDQo+IA0KPiBhbmQgaGVyZS4NCj4gDQo+PiAg ICAgICAgICAgICAgICAgICAgICAgIGlmIChmcmVlID49IDEpDQo+PiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYnJlYWs7DQo+Pg0KPj4gQEAgLTE5NSw3ICsxOTcsOSBAQCByNTM1X2dz cF9jbWRxX3B1c2goc3RydWN0IG52a21fZ3NwICpnc3AsIHZvaWQgKmFyZ3YpDQo+PiAgICAgICAg ICAgICAgICB9DQo+Pg0KPj4gICAgICAgICAgICAgICAgY3FlID0gKHZvaWQgKikoKHU4ICopZ3Nw LT5zaG0uY21kcS5wdHIgKyAweDEwMDAgKyB3cHRyICogMHgxMDAwKTsNCj4+IC0gICAgICAgICAg ICAgc2l6ZSA9IG1pbl90KHUzMiwgYXJnYywgKGdzcC0+Y21kcS5jbnQgLSB3cHRyKSAqIEdTUF9Q QUdFX1NJWkUpOw0KPj4gKyAgICAgICAgICAgICBzdGVwID0gbWluX3QodTMyLCBmcmVlLCAoZ3Nw LT5jbWRxLmNudCAtIHdwdHIpKTsNCj4+ICsgICAgICAgICAgICAgc2l6ZSA9IG1pbl90KHUzMiwg YXJnYywgc3RlcCAqIEdTUF9QQUdFX1NJWkUpOw0KPj4gKw0KPj4gICAgICAgICAgICAgICAgbWVt Y3B5KGNxZSwgKHU4ICopY21kICsgb2ZmLCBzaXplKTsNCj4+DQo+PiAgICAgICAgICAgICAgICB3 cHRyICs9IERJVl9ST1VORF9VUChzaXplLCAweDEwMDApOw0KPj4gLS0NCj4+IDIuMzQuMQ0KPj4N Cg0K