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 D9206C47258 for ; Fri, 12 Jan 2024 17:20:41 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 94F6010E0CD; Fri, 12 Jan 2024 17:20:41 +0000 (UTC) Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6B6C510E0CD for ; Fri, 12 Jan 2024 17:20:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1705080040; x=1736616040; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=tZBYMizTRB8cDXEJyKQdNNEDOtrvCF0iW0aVT63h9NM=; b=kLW2g5omazzGfJP3B7dbVE/zwIY08BgFxBKzuTlWrWQIsGpBORyClbsa kLW9HSAds6aCegBv/bgxDzYcRQQksO0pPuz/XMZZtgyiN3FmjpSQwmD4u ioYIU4i7hWKXRudHdY4Tol+G3lV5lmbulrgmAGG2Ic4MKEVWYOcaY+Hl9 P53DZRZidJHpvTZBh/HFsHAs0mBexpBgpIBWto+GjL7HbRXkxkyXyL817 Y67Eeeg5SLxNOhP3g0i06YkUc8cdkAqhp+nPZoHosKOO0r5rMp75O3SqL I0UdiZclVoZsm7Qvy/qd8UIXuyw2Wnb/dCsvzR9DxbPjmQlFZZYX1fVWH A==; X-IronPort-AV: E=McAfee;i="6600,9927,10951"; a="389672313" X-IronPort-AV: E=Sophos;i="6.04,190,1695711600"; d="scan'208";a="389672313" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jan 2024 09:20:39 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10951"; a="1029991530" X-IronPort-AV: E=Sophos;i="6.04,190,1695711600"; d="scan'208";a="1029991530" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmsmga006.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 12 Jan 2024 09:20:37 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 12 Jan 2024 09:20:36 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 12 Jan 2024 09:20:36 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Fri, 12 Jan 2024 09:20:36 -0800 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.168) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Fri, 12 Jan 2024 09:20:36 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=N6uiEBLVqt1mar300StzfkNcdCOGqBjFVSLMHCzrzYTP+U6tpu1IXxCT4LtrVYg3CIzaH4NuMGbjruuY2mipPfYdvAuQGdXBnHVfBKz5+nG9FTw2Ar1Qd1aKGtcrpAiGk3jWG0w/muDnT2U5I6fNf081Wj8rbHxMokaYVScqRtZJwGaClgqCZZLf4LIg3lbd7BZzROLqgbxkobfpOhLhPCzMmsOyShgYfYsi8YdNTIaTJArL9EyrT+h4ynUQiPfH3HJUqw1CBjbUlgUgfblmx83V7NzyDicPsdjz1lyKfn0HISWB9XSx7JPSthOPslmK6JF2LYPfhdWL0eprM7PJOQ== 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=tZBYMizTRB8cDXEJyKQdNNEDOtrvCF0iW0aVT63h9NM=; b=nUzULIpreDhyJlDLxtB9b+RUyVH5O6pss5BVumlnKrCmFj/VoE3fjwTJt4jSzRe/FDEP0LydEwzYN4cnqwrISNPvS0itDVt50u2jRIyDQ1vxj75OZrhflzdnRceThgbCL5J0V0bplznJx4KXXFn7urYn2vcwRxkpnc9327jv8A30Rs1B99FJ8LHk+6hGrBgds4cWiFbVFj7rrofAbc+ZItlIKf+GI9kLyzYuquXQ9xDIS+uoRor68rDjT70bu3ShbfJ+U/LGCjTmvwg5TUtm4Ev3zdNqjbvR4XzpC52VF5P1IoI5bU8fTk2Bww0HX3Txh2bmjUW9nDUpyG9/NimZqg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from DM4PR11MB8179.namprd11.prod.outlook.com (2603:10b6:8:18e::22) by MN0PR11MB5964.namprd11.prod.outlook.com (2603:10b6:208:373::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.19; Fri, 12 Jan 2024 17:20:28 +0000 Received: from DM4PR11MB8179.namprd11.prod.outlook.com ([fe80::8076:c5fe:e0fc:cfaf]) by DM4PR11MB8179.namprd11.prod.outlook.com ([fe80::8076:c5fe:e0fc:cfaf%7]) with mapi id 15.20.7159.026; Fri, 12 Jan 2024 17:20:28 +0000 From: "Souza, Jose" To: "intel-xe@lists.freedesktop.org" , "maarten.lankhorst@linux.intel.com" Subject: Re: [PATCH 4/4] drm/xe: Implement VM snapshot support for BO's and userptr Thread-Topic: [PATCH 4/4] drm/xe: Implement VM snapshot support for BO's and userptr Thread-Index: AQHaRVTFH2NZoIv8gEGP4XhSljp7bLDWbJcA Date: Fri, 12 Jan 2024 17:20:27 +0000 Message-ID: References: <20240112124148.166954-1-maarten.lankhorst@linux.intel.com> <20240112124148.166954-4-maarten.lankhorst@linux.intel.com> In-Reply-To: <20240112124148.166954-4-maarten.lankhorst@linux.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM4PR11MB8179:EE_|MN0PR11MB5964:EE_ x-ms-office365-filtering-correlation-id: e20b4f50-1846-40bd-ef1a-08dc1392c581 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: bm3gA1SQ6Q6ERTWspb8dkvBppA0u51n+65+4FxQbvh/9J+G+3RHt3HHequ9DKDnxLx1WpvjL2jQflcFClUgdL+t7photJ9g6mliAa7vYVvlFw2b8wLLzUyA7YRWgpTwIcisEOFEGK7kG8oK+6V4Sm75V7YavbzPsBMkD3rTKskQ4y6BOZUxFn9fmK+wXB7WvndjxWPODPd1zc/gDuuwwbi8DDyynIJI4QQ0rjACQLhZHRgfFHLkfvqd+Zz7E6FTDSX8vBReC8eCr8t4XZo4DuiPn8jrAMXcX2WrYw8sLqtzU1Bd15Dno/AV+eMKAm9MkmZMd8fZp5bbP8xS5yzLpxJA54xB2//lEhnHRKu8A3SnpeUO/eifDXxA3KsvUbsVJrDfUprSkoQ7PcorJpDWKYh6h015ZI26soqzObv6h4a4YvcNOlwxhOP+AqJ5+tbMoPkYqVlihOM5G0pOG/rQ8aAek9sdU91FjAI7DmEb3sqMmg1xlTbXaXpbo9FnCQnOHhmQU9OPAJT+7E8sfhB0po7JggiTgTLJC7zJbZ7/GA1Wl5RZVBkeOSLuj/0g5nIo/h3w16qhubQZwNsFqjJDcOCfyI0I6oBfZvC3K6a7kujTIiTew40m1Hj2Yl1y6CagY x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR11MB8179.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(346002)(39860400002)(376002)(396003)(366004)(136003)(230922051799003)(451199024)(1800799012)(186009)(64100799003)(71200400001)(82960400001)(6506007)(45080400002)(478600001)(6512007)(26005)(122000001)(38070700009)(38100700002)(2616005)(86362001)(36756003)(41300700001)(2906002)(6486002)(76116006)(91956017)(8936002)(30864003)(5660300002)(83380400001)(64756008)(66946007)(66556008)(316002)(66476007)(8676002)(66446008)(110136005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UGRHMDhiR3lhSUhZMTYzZ3p0ZkNYWUZ4cENTVEZKSERLeThsMGxwb043TGJO?= =?utf-8?B?V0dMUkp0azVxNWM1L0l6cFhtTndzNUhBNXlteTNmZW4vUjhSWllSUXhxVFRn?= =?utf-8?B?MTBWOGRuQU1yWHN6dnlSWUJMWkhldUpaZWp5ZWpRRVBwL0I3OUN2V0NOZ2tV?= =?utf-8?B?WklSLzBweklqcVBUVkwra09TcG40cHFWNVlreUZTWlVIaTh6b3UvZ0VwV0Vw?= =?utf-8?B?L0JRUEZrd2FxTEZ6L1ZubzRsanlPQVdWakJLY0RFY0RpWXFid2lDd0c1N3NN?= =?utf-8?B?TUM2V01yUGxMQVhzWmxMNG40SkZlRTZiMkpGbHQ5RDNjZjVncXFwRitid1NQ?= =?utf-8?B?a1hzK3NwcWt1aHNmU2czYlc1aHVSVjZwQUZnU2svTXMrREc2SVFDZDVWUEo2?= =?utf-8?B?MTZad2xFanIwM0wrRHczUms0ODJUTGJFU09MZnFqOUllbUYzUDkvMnJMZ3Rv?= =?utf-8?B?NTVqdEtiV0dtMkxRVWo4ekV6amt1TVA0cDJSeUFmL0NHbWg0RUprNUNwSi9m?= =?utf-8?B?ZFF1VXMzL25hZFZpYmFLSHEyY2pwV0YrcnZwanFsMXdMODV3U3RINXdBUUxK?= =?utf-8?B?dHFxVGIvaWNRTXFLRkRCOTJHZjRPek14enk4cEc2Z09rZG9ab0owbEdpWGx2?= =?utf-8?B?cy9ZZmVPUG5uQjdBQU5ucnF4MjcxNHJoQkJaNGhDVklrODFJTFE4Tlp2Z3pu?= =?utf-8?B?K3p4YUhWM1Jtcm9pMTZyTEt4SjNRYlY0TG0vU1c4d1NYcmpuZTRXKzJYdjFV?= =?utf-8?B?QUdndFNQMHpUYkd0VHJSOWRvUDFuTGhOWnExYXp2d2d5amJIa0pPRWRNV3Jh?= =?utf-8?B?UGhtTjFGSnc4Z1llMkU3V2QxdGplaTdmM284eDN2Wno1S0FCRGJlSk5XZW1q?= =?utf-8?B?TTl1ZGNiV2I4M085MUNlczR3YzFlSG94RkZtLzE1WHRHUHpZVWxZMy9UMDBi?= =?utf-8?B?U1YwOEM2R2RtMlh1eTFNbnhkb1Uvc0pRTXNVU1FNdWZqQjZaWkFMSEt4T000?= =?utf-8?B?NnNEMFhOUFNia2M4T0d2OHE2Wk9LMmpBbFJsQVZQaEZFRzV2OFBNb2Q0ZUUy?= =?utf-8?B?R012VnNqZTlQdElNVmpGN2xSSndBbjdvTmhoUmh0UjNGRjE0L1RMMWxCakZ4?= =?utf-8?B?WUMySG0vVHlmeEVyK3FjU2hhT2dxaFJWdXBMSDFzdHl4VVUrbnBzZU5ETTkx?= =?utf-8?B?RUtuSzhtbzVSYkxnZC9PanJ5MGZTdUdHZ29QYVlhcUFCM2toNVFPU3UyUUox?= =?utf-8?B?N0dUeklPK2JaZFgwTTEySFE5VDgwQzVSNUlaTWk2bmFwQUs5dlVMckErQlA4?= =?utf-8?B?aEl4aFcrUWZzMXJpNkg3TElaZytmLzJyMDJiNzAvbXpNNmUxakZENnh2c3B2?= =?utf-8?B?MThhT0pCRWRRM0hjNk9hc3NsSldYN0xmWkllb2t1aFRZNmJlejRBY3NDcGxD?= =?utf-8?B?dUZjZWd2WFI0aGJ1TjNKRXdaTzdsTGZoc2dGNkxEMUpFZ3hIM3FxZ29STFFi?= =?utf-8?B?cHBJdXF0cjBzUk50SnJPYUtYSDZlZVBzMnJodG5wSEViQkRKSzQ2cmc2djJP?= =?utf-8?B?d2J4elpwSCtRWExiRjRhSDVlV1Qzb1pMTGxiQ2pDcXdwZGFwWTRKeVhSY1JL?= =?utf-8?B?U3BETDdiUlNVYmhxcG15Q3lha2NXaVlsS200WW5RTldQcnovL0VrNGpIbzVG?= =?utf-8?B?YUE1VjdEa1ZnOThqZzh0dWFPY210WGM0S3A3akhXaG1aYmdjKzlNQWVGTWRC?= =?utf-8?B?Z0RBUm5wK0VyeTV4WnAwN3NUWUlKcG53cUw3MWt1ejZRbHRBUGZ1Y2hjRGRv?= =?utf-8?B?SkZnYnlXRW1XUUVpQUlWQmtiTmMvcHRzMHdLWEtvbGVyS3JrM0dobkw2aDd4?= =?utf-8?B?MUl5L0kzRHVSUll4cGV6dExab0MyYXZ4WVVjNklxMyt4TldzcFp6aUwxcnhx?= =?utf-8?B?SmN2eEpRYTQ3UVM4S0tudS9IcjFVak9JMDJIa1dEQkRXMlJuU2ljckYvbUM4?= =?utf-8?B?TTlxMjVjdFIyWjhtN1dSK0h0OS8zR1BBWXh2QjV0TW1IUjErM1c0QWg2bG9E?= =?utf-8?B?ZE5Md3JpTDVWWGUvSkt2TnI4NmtFMVg4UjVERG9RUCtFV01SbUVocnJBNWFm?= =?utf-8?B?WFNTN1pLZFNqdStkdlJra1Y5bmdWd0RPNzdjK3lmODIrUWczTTFlL1hZeVFW?= =?utf-8?B?cVE9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB8179.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e20b4f50-1846-40bd-ef1a-08dc1392c581 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Jan 2024 17:20:27.9518 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 059RYTjvTcJ7d1MiUjlS5ZDGWWBXqmhB8BInYmJrcm3RcerZpgzkNsinPpAJUV0g1m9E+73qSdub2/lj2j++Dw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR11MB5964 X-OriginatorOrg: intel.com X-BeenThere: intel-xe@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel Xe graphics driver List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-xe-bounces@lists.freedesktop.org Sender: "Intel-xe" T24gRnJpLCAyMDI0LTAxLTEyIGF0IDEzOjQxICswMTAwLCBNYWFydGVuIExhbmtob3JzdCB3cm90 ZToNCj4gU2luY2Ugd2UgY2Fubm90IGltbWVkaWF0ZWx5IGNhcHR1cmUgdGhlIEJPJ3MgYW5kIHVz ZXJwdHIsIHBlcmZvcm0gaXQgaW4NCj4gMiBzdGFnZXMuIFRoZSBpbW1lZGlhdGUgc3RhZ2UgdGFr ZXMgYSByZWZlcmVuY2UgdG8gZWFjaCBCTyBhbmQgdXNlcnB0ciwNCj4gd2hpbGUgYSBkZWxheWVk IHdvcmtlciBjYXB0dXJlcyB0aGUgY29udGVudHMgYW5kIHRoZW4gZnJlZXMgdGhlDQo+IHJlZmVy ZW5jZS4NCj4gDQo+IFRoaXMgaXMgcmVxdWlyZWQgYmVjYXVzZSBpbiBzaWduYWxpbmcgY29udGV4 dCwgbm8gbG9ja3MgY2FuIGJlIHRha2VuLCBubw0KPiBtZW1vcnkgY2FuIGJlIGFsbG9jYXRlZCwg YW5kIG5vIHdhaXRzIG9uIHVzZXJzcGFjZSBjYW4gYmUgcGVyZm9ybWVkLg0KPiANCj4gV2l0aCB0 aGUgZGVsYXllZCB3b3JrZXIsIGFsbCBvZiB0aGlzIGNhbiBiZSBwZXJmb3JtZWQgdmVyeSBlYXNp bHksDQo+IHdpdGhvdXQgaGF2aW5nIHRvIHJlc29ydCB0byBoYWNrcy4NCg0KWyAgNzAzLjk4Njgz OV0geGUgMDAwMDowMDowMi4wOiBbZHJtOmd1Y19leGVjX3F1ZXVlX3RpbWVkb3V0X2pvYiBbeGVd XSBNdWx0aXBsZSBoYW5ncyBhcmUgb2NjdXJyaW5nLCBidXQgb25seSB0aGUgZmlyc3Qgc25hcHNo b3Qgd2FzIHRha2VuDQpbICA5MDUuMjQ5NzEwXSBsb29wMDogZGV0ZWN0ZWQgY2FwYWNpdHkgY2hh bmdlIGZyb20gMCB0byA4DQpbICA5NTUuNTg1Njg0XSBCVUc6IGtlcm5lbCBOVUxMIHBvaW50ZXIg ZGVyZWZlcmVuY2UsIGFkZHJlc3M6IDAwMDAwMDAwMDAwMDAwMDANClsgIDk1NS41ODU2ODldICNQ Rjogc3VwZXJ2aXNvciByZWFkIGFjY2VzcyBpbiBrZXJuZWwgbW9kZQ0KWyAgOTU1LjU4NTY5MV0g I1BGOiBlcnJvcl9jb2RlKDB4MDAwMCkgLSBub3QtcHJlc2VudCBwYWdlDQpbICA5NTUuNTg1Njky XSBQR0QgMCBQNEQgMA0KWyAgOTU1LjU4NTY5NF0gT29wczogMDAwMCBbIzFdIFBSRUVNUFQgU01Q DQpbICA5NTUuNTg1Njk2XSBDUFU6IDIgUElEOiAxOTk3IENvbW06IGt3b3JrZXIvMjowIE5vdCB0 YWludGVkIDYuNy4wLXJjNS16ZWgteGUrICMxMTc5DQpbICA5NTUuNTg1Njk5XSBIYXJkd2FyZSBu YW1lOiBEZWxsIEluYy4gTGF0aXR1ZGUgNTQyMC8wMU0zTTQsIEJJT1MgMS4yNy4wIDAzLzE3LzIw MjMNClsgIDk1NS41ODU3MDBdIFdvcmtxdWV1ZTogZXZlbnRzIGRldmNkX2RlbA0KWyAgOTU1LjU4 NTcwNF0gUklQOiAwMDEwOnhlX3ZtX3NuYXBzaG90X2ZyZWUrMHg5LzB4OTAgW3hlXQ0KWyAgOTU1 LjU4NTc2Nl0gQ29kZTogZTggN2MgNTggNTUgZTEgNGQgM2IgNjUgMDAgMGYgODIgMzEgZmYgZmYg ZmYgZWIgYzYgYzMgNjYgNjYgMmUgMGYgMWYgODQgMDAgMDAgMDAgMDAgMDAgMGYgMWYgNDAgMDAg NDEgNTUgNDEgNTQgNDkgODkgZmMgNTUgNTMNCjw0OD4gODMgM2YgMDAgNzQgNWIgNDggOGQgNWYg MjAgMzEgZWQgNDEgYmQgZmYgZmYgZmYgZmYgZWIgMjAgODUgYzANClsgIDk1NS41ODU3NjddIFJT UDogMDAxODpmZmZmYzkwMDAyMWVmZGI4IEVGTEFHUzogMDAwMTAyNDYNClsgIDk1NS41ODU3Njld IFJBWDogMDAwMDAwMDA4MDAwMDAwMCBSQlg6IGZmZmY4ODgxMTQyMzBlNzggUkNYOiAwMDAwMDAw MDAwMDAwMDAwDQpbICA5NTUuNTg1NzcwXSBSRFg6IDAwMDAwMDAwMDAwMDAwMDEgUlNJOiBmZmZm ZmZmZjgyM2VkOGJmIFJESTogMDAwMDAwMDAwMDAwMDAwMA0KWyAgOTU1LjU4NTc3MV0gUkJQOiBm ZmZmODg4MTE0MjMwZTc4IFIwODogMDAwMDAwMDAwMDAwMDAwMSBSMDk6IDAwMDAwMDAwMDAwMDAw MDENClsgIDk1NS41ODU3NzJdIFIxMDogMDAwMDAwMDAwMDAwMDAwMSBSMTE6IDAwMDAwMDAwMDAw MDAwMDIgUjEyOiAwMDAwMDAwMDAwMDAwMDAwDQpbICA5NTUuNTg1NzczXSBSMTM6IGZmZmY4ODgx ZThlMjVmNTggUjE0OiBmZmZmZmZmZjgyMTA5NWUwIFIxNTogZmZmZmZmZmY4MTE1MGJlZA0KWyAg OTU1LjU4NTc3NF0gRlM6ICAwMDAwMDAwMDAwMDAwMDAwKDAwMDApIEdTOmZmZmY4ODgyODc5MDAw MDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMA0KWyAgOTU1LjU4NTc3NV0gQ1M6ICAwMDEw IERTOiAwMDAwIEVTOiAwMDAwIENSMDogMDAwMDAwMDA4MDA1MDAzMw0KWyAgOTU1LjU4NTc3Nl0g Q1IyOiAwMDAwMDAwMDAwMDAwMDAwIENSMzogMDAwMDAwMDAwNTY0OTAwNCBDUjQ6IDAwMDAwMDAw MDA3NzBlZjANClsgIDk1NS41ODU3NzddIFBLUlU6IDU1NTU1NTU0DQpbICA5NTUuNTg1Nzc4XSBD YWxsIFRyYWNlOg0KWyAgOTU1LjU4NTc4MF0gIDxUQVNLPg0KWyAgOTU1LjU4NTc4MV0gID8gX19k aWUrMHgxYS8weDYwDQpbICA5NTUuNTg1Nzg0XSAgPyBwYWdlX2ZhdWx0X29vcHMrMHgxNTgvMHg0 NTANClsgIDk1NS41ODU3ODZdICA/IHJldF9mcm9tX2ZvcmtfYXNtKzB4MTEvMHgyMA0KWyAgOTU1 LjU4NTc4OF0gID8gZG9fdXNlcl9hZGRyX2ZhdWx0KzB4NjEvMHg3YjANClsgIDk1NS41ODU3OTBd ICA/IGV4Y19wYWdlX2ZhdWx0KzB4NmEvMHgxYjANClsgIDk1NS41ODU3OThdICA/IGFzbV9leGNf cGFnZV9mYXVsdCsweDIyLzB4MzANClsgIDk1NS41ODU4MDBdICA/IHByb2Nlc3Nfb25lX3dvcmsr MHgxOGQvMHg0ZDANClsgIDk1NS41ODU4MDRdICA/IHhlX3ZtX3NuYXBzaG90X2ZyZWUrMHg5LzB4 OTAgW3hlXQ0KWyAgOTU1LjU4NTg0MF0gIHhlX2RldmNvcmVkdW1wX2ZyZWUrMHg2ZC8weGQwIFt4 ZV0NClsgIDk1NS41ODU4NjVdICBkZXZjZF9kZXZfcmVsZWFzZSsweDExLzB4NTANClsgIDk1NS41 ODU4NjddICBkZXZpY2VfcmVsZWFzZSsweDJiLzB4ODANClsgIDk1NS41ODU4NzBdICBrb2JqZWN0 X3B1dCsweDZjLzB4MTcwDQpbICA5NTUuNTg1ODczXSAgcHJvY2Vzc19vbmVfd29yaysweDFmNC8w eDRkMA0KWyAgOTU1LjU4NTg3Nl0gIHdvcmtlcl90aHJlYWQrMHgxZDgvMHgzYzANClsgIDk1NS41 ODU4NzhdICA/IHJlc2N1ZXJfdGhyZWFkKzB4MzkwLzB4MzkwDQpbICA5NTUuNTg1ODgwXSAga3Ro cmVhZCsweGZiLzB4MTMwDQpbICA5NTUuNTg1ODgyXSAgPyBrdGhyZWFkX2NvbXBsZXRlX2FuZF9l eGl0KzB4MjAvMHgyMA0KWyAgOTU1LjU4NTg4M10gIHJldF9mcm9tX2ZvcmsrMHgyOC8weDQwDQpb ICA5NTUuNTg1ODg1XSAgPyBrdGhyZWFkX2NvbXBsZXRlX2FuZF9leGl0KzB4MjAvMHgyMA0KWyAg OTU1LjU4NTg4N10gIHJldF9mcm9tX2ZvcmtfYXNtKzB4MTEvMHgyMA0KWyAgOTU1LjU4NTg4OV0g IDwvVEFTSz4NClsgIDk1NS41ODU4OTBdIE1vZHVsZXMgbGlua2VkIGluOiBjaWZzIGFzbjFfZGVj b2RlciBjaWZzX2FyYzQgZG5zX3Jlc29sdmVyIG5ldGZzIG5sc191Y3MyX3V0aWxzIG9pZF9yZWdp c3RyeSBmc2NhY2hlIGNpZnNfbWQ0IHNuZF9oZGFfY29kZWNfaGRtaQ0Kc25kX2N0bF9sZWQgc25k X2hkYV9jb2RlY19yZWFsdGVrIHNuZF9oZGFfY29kZWNfZ2VuZXJpYyBsZWR0cmlnX2F1ZGlvIHhl IGRybV90dG1faGVscGVyIGRybV9zdWJhbGxvY19oZWxwZXIgZ3B1X3NjaGVkIGRybV9ncHV2bSBk cm1fZXhlYyBpMmNfYWxnb19iaXQNCmRybV9idWRkeSBkcm1fZGlzcGxheV9oZWxwZXIgdHRtIHg4 Nl9wa2dfdGVtcF90aGVybWFsIG1laV9weHAgbWVpX2hkY3AgY29yZXRlbXAgY3JjdDEwZGlmX3Bj bG11bCB3bWlfYm1vZiBjcmMzMl9wY2xtdWwgc25kX2hkYV9pbnRlbCB2aWRlbw0Kc25kX2ludGVs X2RzcGNmZyBnaGFzaF9jbG11bG5pX2ludGVsIGt2bV9pbnRlbCBlMTAwMGUgc25kX2hkYV9jb2Rl YyBzbmRfaHdkZXAgc25kX2hkYV9jb3JlIGkyY19pODAxIHB0cCBzbmRfcGNtIHBwc19jb3JlIGky Y19zbWJ1cyBtZWlfbWUgbWVpIHdtaSBmdXNlDQpbICA5NTUuNTg1OTE1XSBDUjI6IDAwMDAwMDAw MDAwMDAwMDANClsgIDk1NS41ODU5MTddIC0tLVsgZW5kIHRyYWNlIDAwMDAwMDAwMDAwMDAwMDAg XS0tLQ0KWyAgOTU1LjkwMTYwNV0gUklQOiAwMDEwOnhlX3ZtX3NuYXBzaG90X2ZyZWUrMHg5LzB4 OTAgW3hlXQ0KWyAgOTU1LjkwMTcyOV0gQ29kZTogZTggN2MgNTggNTUgZTEgNGQgM2IgNjUgMDAg MGYgODIgMzEgZmYgZmYgZmYgZWIgYzYgYzMgNjYgNjYgMmUgMGYgMWYgODQgMDAgMDAgMDAgMDAg MDAgMGYgMWYgNDAgMDAgNDEgNTUgNDEgNTQgNDkgODkgZmMgNTUgNTMNCjw0OD4gODMgM2YgMDAg NzQgNWIgNDggOGQgNWYgMjAgMzEgZWQgNDEgYmQgZmYgZmYgZmYgZmYgZWIgMjAgODUgYzANClsg IDk1NS45MDE3MzFdIFJTUDogMDAxODpmZmZmYzkwMDAyMWVmZGI4IEVGTEFHUzogMDAwMTAyNDYN ClsgIDk1NS45MDE3MzNdIFJBWDogMDAwMDAwMDA4MDAwMDAwMCBSQlg6IGZmZmY4ODgxMTQyMzBl NzggUkNYOiAwMDAwMDAwMDAwMDAwMDAwDQpbICA5NTUuOTAxNzM1XSBSRFg6IDAwMDAwMDAwMDAw MDAwMDEgUlNJOiBmZmZmZmZmZjgyM2VkOGJmIFJESTogMDAwMDAwMDAwMDAwMDAwMA0KWyAgOTU1 LjkwMTczNl0gUkJQOiBmZmZmODg4MTE0MjMwZTc4IFIwODogMDAwMDAwMDAwMDAwMDAwMSBSMDk6 IDAwMDAwMDAwMDAwMDAwMDENClsgIDk1NS45MDE3MzddIFIxMDogMDAwMDAwMDAwMDAwMDAwMSBS MTE6IDAwMDAwMDAwMDAwMDAwMDIgUjEyOiAwMDAwMDAwMDAwMDAwMDAwDQpbICA5NTUuOTAxNzM4 XSBSMTM6IGZmZmY4ODgxZThlMjVmNTggUjE0OiBmZmZmZmZmZjgyMTA5NWUwIFIxNTogZmZmZmZm ZmY4MTE1MGJlZA0KWyAgOTU1LjkwMTczOV0gRlM6ICAwMDAwMDAwMDAwMDAwMDAwKDAwMDApIEdT OmZmZmY4ODgyODc5MDAwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMA0KWyAgOTU1Ljkw MTc0MF0gQ1M6ICAwMDEwIERTOiAwMDAwIEVTOiAwMDAwIENSMDogMDAwMDAwMDA4MDA1MDAzMw0K WyAgOTU1LjkwMTc0MV0gQ1IyOiAwMDAwMDAwMDAwMDAwMDAwIENSMzogMDAwMDAwMDEzNzYyMTAw MSBDUjQ6IDAwMDAwMDAwMDA3NzBlZjANClsgIDk1NS45MDE3NDJdIFBLUlU6IDU1NTU1NTU0DQoN Cg0KDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5r aG9yc3RAbGludXguaW50ZWwuY29tPg0KPiAtLS0NCj4gIGRyaXZlcnMvZ3B1L2RybS94ZS94ZV9k ZXZjb3JlZHVtcC5jICAgICAgIHwgIDM0ICsrKystDQo+ICBkcml2ZXJzL2dwdS9kcm0veGUveGVf ZGV2Y29yZWR1bXBfdHlwZXMuaCB8ICAgOCArKw0KPiAgZHJpdmVycy9ncHUvZHJtL3hlL3hlX3Zt LmMgICAgICAgICAgICAgICAgfCAxNDkgKysrKysrKysrKysrKysrKysrKysrKw0KPiAgZHJpdmVy cy9ncHUvZHJtL3hlL3hlX3ZtLmggICAgICAgICAgICAgICAgfCAgIDUgKw0KPiAgNCBmaWxlcyBj aGFuZ2VkLCAxOTQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZGV2Y29yZWR1bXAuYyBiL2RyaXZlcnMvZ3B1L2Ry bS94ZS94ZV9kZXZjb3JlZHVtcC5jDQo+IGluZGV4IDY4YWJjMGIxOTViZS4uMWZmYWU2NzBmNzM5 IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZGV2Y29yZWR1bXAuYw0KPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZGV2Y29yZWR1bXAuYw0KPiBAQCAtMTYsNiArMTYs NyBAQA0KPiAgI2luY2x1ZGUgInhlX2d1Y19jdC5oIg0KPiAgI2luY2x1ZGUgInhlX2d1Y19zdWJt aXQuaCINCj4gICNpbmNsdWRlICJ4ZV9od19lbmdpbmUuaCINCj4gKyNpbmNsdWRlICJ4ZV92bS5o Ig0KPiAgDQo+ICAvKioNCj4gICAqIERPQzogWGUgZGV2aWNlIGNvcmVkdW1wDQo+IEBAIC01OCwx MSArNTksMjEgQEAgc3RhdGljIHN0cnVjdCB4ZV9ndWMgKmV4ZWNfcXVldWVfdG9fZ3VjKHN0cnVj dCB4ZV9leGVjX3F1ZXVlICpxKQ0KPiAgCXJldHVybiAmcS0+Z3QtPnVjLmd1YzsNCj4gIH0NCj4g IA0KPiArc3RhdGljIHZvaWQgeGVfZGV2Y29yZWR1bXBfZGVmZXJyZWRfc25hcF93b3JrKHN0cnVj dCB3b3JrX3N0cnVjdCAqd29yaykNCj4gK3sNCj4gKwlzdHJ1Y3QgeGVfZGV2Y29yZWR1bXBfc25h cHNob3QgKnNzID0gY29udGFpbmVyX29mKHdvcmssIHR5cGVvZigqc3MpLCB3b3JrKTsNCj4gKw0K PiArCXhlX2ZvcmNlX3dha2VfZ2V0KGd0X3RvX2Z3KHNzLT5ndCksIFhFX0ZPUkNFV0FLRV9BTEwp Ow0KPiArCWlmIChzcy0+dm0pDQo+ICsJCXhlX3ZtX3NuYXBzaG90X2NhcHR1cmVfZGVsYXllZChz cy0+dm0pOw0KPiArCXhlX2ZvcmNlX3dha2VfcHV0KGd0X3RvX2Z3KHNzLT5ndCksIFhFX0ZPUkNF V0FLRV9BTEwpOw0KPiArfQ0KPiArDQo+ICBzdGF0aWMgc3NpemVfdCB4ZV9kZXZjb3JlZHVtcF9y ZWFkKGNoYXIgKmJ1ZmZlciwgbG9mZl90IG9mZnNldCwNCj4gIAkJCQkgICBzaXplX3QgY291bnQs IHZvaWQgKmRhdGEsIHNpemVfdCBkYXRhbGVuKQ0KPiAgew0KPiAgCXN0cnVjdCB4ZV9kZXZjb3Jl ZHVtcCAqY29yZWR1bXAgPSBkYXRhOw0KPiAtCXN0cnVjdCB4ZV9kZXZjb3JlZHVtcF9zbmFwc2hv dCAqc3M7DQo+ICsJc3RydWN0IHhlX2RldmNvcmVkdW1wX3NuYXBzaG90ICpzcyA9ICZjb3JlZHVt cC0+c25hcHNob3Q7DQo+ICAJc3RydWN0IGRybV9wcmludGVyIHA7DQo+ICAJc3RydWN0IGRybV9w cmludF9pdGVyYXRvciBpdGVyOw0KPiAgCXN0cnVjdCB0aW1lc3BlYzY0IHRzOw0KPiBAQCAtNzIs MTIgKzgzLDE0IEBAIHN0YXRpYyBzc2l6ZV90IHhlX2RldmNvcmVkdW1wX3JlYWQoY2hhciAqYnVm ZmVyLCBsb2ZmX3Qgb2Zmc2V0LA0KPiAgCWlmICghZGF0YSB8fCAhY29yZWR1bXBfdG9feGUoY29y ZWR1bXApKQ0KPiAgCQlyZXR1cm4gLUVOT0RFVjsNCj4gIA0KPiArCS8qIEVuc3VyZSBkZWxheWVk IHdvcmsgaXMgY2FwdHVyZWQgYmVmb3JlIGNvbnRpbnVpbmcgKi8NCj4gKwlmbHVzaF93b3JrKCZz cy0+d29yayk7DQo+ICsNCj4gIAlpdGVyLmRhdGEgPSBidWZmZXI7DQo+ICAJaXRlci5vZmZzZXQg PSAwOw0KPiAgCWl0ZXIuc3RhcnQgPSBvZmZzZXQ7DQo+ICAJaXRlci5yZW1haW4gPSBjb3VudDsN Cj4gIA0KPiAtCXNzID0gJmNvcmVkdW1wLT5zbmFwc2hvdDsNCj4gIAlwID0gZHJtX2NvcmVkdW1w X3ByaW50ZXIoJml0ZXIpOw0KPiAgDQo+ICAJZHJtX3ByaW50ZigmcCwgIioqKiogWGUgRGV2aWNl IENvcmVkdW1wICoqKipcbiIpOw0KPiBAQCAtOTgsNiArMTExLDEwIEBAIHN0YXRpYyBzc2l6ZV90 IHhlX2RldmNvcmVkdW1wX3JlYWQoY2hhciAqYnVmZmVyLCBsb2ZmX3Qgb2Zmc2V0LA0KPiAgCQlp ZiAoY29yZWR1bXAtPnNuYXBzaG90Lmh3ZVtpXSkNCj4gIAkJCXhlX2h3X2VuZ2luZV9zbmFwc2hv dF9wcmludChjb3JlZHVtcC0+c25hcHNob3QuaHdlW2ldLA0KPiAgCQkJCQkJICAgICZwKTsNCj4g KwlpZiAoY29yZWR1bXAtPnNuYXBzaG90LnZtKSB7DQo+ICsJCWRybV9wcmludGYoJnAsICJcbioq KiogVk0gc3RhdGUgKioqKlxuIik7DQo+ICsJCXhlX3ZtX3NuYXBzaG90X3ByaW50KGNvcmVkdW1w LT5zbmFwc2hvdC52bSwgJnApOw0KPiArCX0NCj4gIA0KPiAgCXJldHVybiBjb3VudCAtIGl0ZXIu cmVtYWluOw0KPiAgfQ0KPiBAQCAtMTExLDExICsxMjgsMTUgQEAgc3RhdGljIHZvaWQgeGVfZGV2 Y29yZWR1bXBfZnJlZSh2b2lkICpkYXRhKQ0KPiAgCWlmICghZGF0YSB8fCAhY29yZWR1bXBfdG9f eGUoY29yZWR1bXApKQ0KPiAgCQlyZXR1cm47DQo+ICANCj4gKwljYW5jZWxfd29ya19zeW5jKCZj b3JlZHVtcC0+c25hcHNob3Qud29yayk7DQo+ICsNCj4gIAl4ZV9ndWNfY3Rfc25hcHNob3RfZnJl ZShjb3JlZHVtcC0+c25hcHNob3QuY3QpOw0KPiAgCXhlX2d1Y19leGVjX3F1ZXVlX3NuYXBzaG90 X2ZyZWUoY29yZWR1bXAtPnNuYXBzaG90LmdlKTsNCj4gIAlmb3IgKGkgPSAwOyBpIDwgWEVfTlVN X0hXX0VOR0lORVM7IGkrKykNCj4gIAkJaWYgKGNvcmVkdW1wLT5zbmFwc2hvdC5od2VbaV0pDQo+ ICAJCQl4ZV9od19lbmdpbmVfc25hcHNob3RfZnJlZShjb3JlZHVtcC0+c25hcHNob3QuaHdlW2ld KTsNCj4gKwl4ZV92bV9zbmFwc2hvdF9mcmVlKGNvcmVkdW1wLT5zbmFwc2hvdC52bSk7DQo+ICsJ bWVtc2V0KCZjb3JlZHVtcC0+c25hcHNob3QsIDAsIHNpemVvZihjb3JlZHVtcC0+c25hcHNob3Qp KTsNCj4gIA0KPiAgCWNvcmVkdW1wLT5jYXB0dXJlZCA9IGZhbHNlOw0KPiAgCWRybV9pbmZvKCZj b3JlZHVtcF90b194ZShjb3JlZHVtcCktPmRybSwNCj4gQEAgLTEzNyw2ICsxNTgsOSBAQCBzdGF0 aWMgdm9pZCBkZXZjb3JlZHVtcF9zbmFwc2hvdChzdHJ1Y3QgeGVfZGV2Y29yZWR1bXAgKmNvcmVk dW1wLA0KPiAgCXNzLT5zbmFwc2hvdF90aW1lID0ga3RpbWVfZ2V0X3JlYWwoKTsNCj4gIAlzcy0+ Ym9vdF90aW1lID0ga3RpbWVfZ2V0X2Jvb3R0aW1lKCk7DQo+ICANCj4gKwlzcy0+Z3QgPSBxLT5n dDsNCj4gKwlJTklUX1dPUksoJnNzLT53b3JrLCB4ZV9kZXZjb3JlZHVtcF9kZWZlcnJlZF9zbmFw X3dvcmspOw0KPiArDQo+ICAJY29va2llID0gZG1hX2ZlbmNlX2JlZ2luX3NpZ25hbGxpbmcoKTsN Cj4gIAlmb3IgKGkgPSAwOyBxLT53aWR0aCA+IDEgJiYgaSA8IFhFX0hXX0VOR0lORV9NQVhfSU5T VEFOQ0U7KSB7DQo+ICAJCWlmIChhZGpfbG9naWNhbF9tYXNrICYgQklUKGkpKSB7DQo+IEBAIC0x NTEsNiArMTc1LDggQEAgc3RhdGljIHZvaWQgZGV2Y29yZWR1bXBfc25hcHNob3Qoc3RydWN0IHhl X2RldmNvcmVkdW1wICpjb3JlZHVtcCwNCj4gIA0KPiAgCWNvcmVkdW1wLT5zbmFwc2hvdC5jdCA9 IHhlX2d1Y19jdF9zbmFwc2hvdF9jYXB0dXJlKCZndWMtPmN0LCB0cnVlKTsNCj4gIAljb3JlZHVt cC0+c25hcHNob3QuZ2UgPSB4ZV9ndWNfZXhlY19xdWV1ZV9zbmFwc2hvdF9jYXB0dXJlKHEpOw0K PiArCWlmIChxLT52bSkNCj4gKwkJY29yZWR1bXAtPnNuYXBzaG90LnZtID0geGVfdm1fc25hcHNo b3RfY2FwdHVyZShxLT52bSk7DQo+ICANCj4gIAlmb3JfZWFjaF9od19lbmdpbmUoaHdlLCBxLT5n dCwgaWQpIHsNCj4gIAkJaWYgKGh3ZS0+Y2xhc3MgIT0gcS0+aHdlLT5jbGFzcyB8fA0KPiBAQCAt MTYxLDYgKzE4Nyw5IEBAIHN0YXRpYyB2b2lkIGRldmNvcmVkdW1wX3NuYXBzaG90KHN0cnVjdCB4 ZV9kZXZjb3JlZHVtcCAqY29yZWR1bXAsDQo+ICAJCWNvcmVkdW1wLT5zbmFwc2hvdC5od2VbaWRd ID0geGVfaHdfZW5naW5lX3NuYXBzaG90X2NhcHR1cmUoaHdlKTsNCj4gIAl9DQo+ICANCj4gKwlp ZiAoc3MtPnZtKQ0KPiArCQlxdWV1ZV93b3JrKHN5c3RlbV91bmJvdW5kX3dxLCAmc3MtPndvcmsp Ow0KPiArDQo+ICAJeGVfZm9yY2Vfd2FrZV9wdXQoZ3RfdG9fZncocS0+Z3QpLCBYRV9GT1JDRVdB S0VfQUxMKTsNCj4gIAlkbWFfZmVuY2VfZW5kX3NpZ25hbGxpbmcoY29va2llKTsNCj4gIH0NCj4g QEAgLTE5NCwzICsyMjMsNCBAQCB2b2lkIHhlX2RldmNvcmVkdW1wKHN0cnVjdCB4ZV9leGVjX3F1 ZXVlICpxKQ0KPiAgCQkgICAgICB4ZV9kZXZjb3JlZHVtcF9yZWFkLCB4ZV9kZXZjb3JlZHVtcF9m cmVlKTsNCj4gIH0NCj4gICNlbmRpZg0KPiArDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0veGUveGVfZGV2Y29yZWR1bXBfdHlwZXMuaCBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9kZXZj b3JlZHVtcF90eXBlcy5oDQo+IGluZGV4IDdmZGFkOWMzZDNkZC4uMTdhZTNlMzU5N2IwIDEwMDY0 NA0KPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZGV2Y29yZWR1bXBfdHlwZXMuaA0KPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZGV2Y29yZWR1bXBfdHlwZXMuaA0KPiBAQCAtMTIs NiArMTIsNyBAQA0KPiAgI2luY2x1ZGUgInhlX2h3X2VuZ2luZV90eXBlcy5oIg0KPiAgDQo+ICBz dHJ1Y3QgeGVfZGV2aWNlOw0KPiArc3RydWN0IHhlX2d0Ow0KPiAgDQo+ICAvKioNCj4gICAqIHN0 cnVjdCB4ZV9kZXZjb3JlZHVtcF9zbmFwc2hvdCAtIENyYXNoIHNuYXBzaG90DQo+IEBAIC0yNiw2 ICsyNywxMSBAQCBzdHJ1Y3QgeGVfZGV2Y29yZWR1bXBfc25hcHNob3Qgew0KPiAgCS8qKiBAYm9v dF90aW1lOiAgUmVsYXRpdmUgYm9vdCB0aW1lIHNvIHRoZSB1cHRpbWUgY2FuIGJlIGNhbGN1bGF0 ZWQuICovDQo+ICAJa3RpbWVfdCBib290X3RpbWU7DQo+ICANCj4gKwkvKiogQGd0OiBBZmZlY3Rl ZCBHVCwgdXNlZCBieSBmb3JjZXdha2UgZm9yIGRlbGF5ZWQgY2FwdHVyZSAqLw0KPiArCXN0cnVj dCB4ZV9ndCAqZ3Q7DQo+ICsJLyoqIEB3b3JrOiBXb3JrcXVldWUgZm9yIGRlZmZlcmVkIGNhcHR1 cmUgb3V0c2lkZSBvZiBzaWduYWxpbmcgY29udGV4dCAqLw0KPiArCXN0cnVjdCB3b3JrX3N0cnVj dCB3b3JrOw0KPiArDQo+ICAJLyogR3VDIHNuYXBzaG90cyAqLw0KPiAgCS8qKiBAY3Q6IEd1QyBD VCBzbmFwc2hvdCAqLw0KPiAgCXN0cnVjdCB4ZV9ndWNfY3Rfc25hcHNob3QgKmN0Ow0KPiBAQCAt MzMsNiArMzksOCBAQCBzdHJ1Y3QgeGVfZGV2Y29yZWR1bXBfc25hcHNob3Qgew0KPiAgCXN0cnVj dCB4ZV9ndWNfc3VibWl0X2V4ZWNfcXVldWVfc25hcHNob3QgKmdlOw0KPiAgCS8qKiBAaHdlOiBI VyBFbmdpbmUgc25hcHNob3QgYXJyYXkgKi8NCj4gIAlzdHJ1Y3QgeGVfaHdfZW5naW5lX3NuYXBz aG90ICpod2VbWEVfTlVNX0hXX0VOR0lORVNdOw0KPiArCS8qKiBAdm06IFNuYXBzaG90IG9mIFZN IHN0YXRlICovDQo+ICsJc3RydWN0IHhlX3ZtX3NuYXBzaG90ICp2bTsNCj4gIH07DQo+ICANCj4g IC8qKg0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3ZtLmMgYi9kcml2ZXJz L2dwdS9kcm0veGUveGVfdm0uYw0KPiBpbmRleCBlMWMwN2M2ZWNiYWYuLmMxNmQwZmQ4OTQxMSAx MDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3ZtLmMNCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL3hlL3hlX3ZtLmMNCj4gQEAgLTMyMjksMyArMzIyOSwxNTIgQEAgaW50IHhlX2Fu YWx5emVfdm0oc3RydWN0IGRybV9wcmludGVyICpwLCBzdHJ1Y3QgeGVfdm0gKnZtLCBpbnQgZ3Rf aWQpDQo+ICANCj4gIAlyZXR1cm4gMDsNCj4gIH0NCj4gKw0KPiArc3RydWN0IHhlX3ZtX3NuYXBz aG90IHsNCj4gKwl1bnNpZ25lZCBsb25nIG51bV9zbmFwczsNCj4gKwlzdHJ1Y3Qgew0KPiArCQl1 aW50NjRfdCBvZnMsIGJvX29mczsNCj4gKwkJdW5zaWduZWQgbG9uZyBsZW47DQo+ICsJCXN0cnVj dCB4ZV9ibyAqYm87DQo+ICsJCXZvaWQgKmRhdGE7DQo+ICsJCXN0cnVjdCBtbV9zdHJ1Y3QgKm1t Ow0KPiArCX0gc25hcFtdOw0KPiArfTsNCj4gKw0KPiArc3RydWN0IHhlX3ZtX3NuYXBzaG90ICp4 ZV92bV9zbmFwc2hvdF9jYXB0dXJlKHN0cnVjdCB4ZV92bSAqdm0pDQo+ICt7DQo+ICsJdW5zaWdu ZWQgbG9uZyBudW1fc25hcHMgPSAwLCBpOw0KPiArCXN0cnVjdCB4ZV92bV9zbmFwc2hvdCAqc25h cCA9IE5VTEw7DQo+ICsJc3RydWN0IGRybV9ncHV2YSAqZ3B1dmE7DQo+ICsNCj4gKwltdXRleF9s b2NrKCZ2bS0+c25hcF9tdXRleCk7DQo+ICsJZHJtX2dwdXZtX2Zvcl9lYWNoX3ZhKGdwdXZhLCAm dm0tPmdwdXZtKSB7DQo+ICsJCWlmIChncHV2YS0+ZmxhZ3MgJiBYRV9WTUFfRFVNUEFCTEUpDQo+ ICsJCQludW1fc25hcHMrKzsNCj4gKwl9DQo+ICsNCj4gKwlpZiAobnVtX3NuYXBzKQ0KPiArCQlz bmFwID0ga3Z6YWxsb2Mob2Zmc2V0b2Yoc3RydWN0IHhlX3ZtX3NuYXBzaG90LCBzbmFwW251bV9z bmFwc10pLCBHRlBfTk9XQUlUKTsNCj4gKwlpZiAoIXNuYXApDQo+ICsJCWdvdG8gb3V0X3VubG9j azsNCj4gKw0KPiArCXNuYXAtPm51bV9zbmFwcyA9IG51bV9zbmFwczsNCj4gKwlpID0gMDsNCj4g Kwlkcm1fZ3B1dm1fZm9yX2VhY2hfdmEoZ3B1dmEsICZ2bS0+Z3B1dm0pIHsNCj4gKwkJc3RydWN0 IHhlX3ZtYSAqdm1hID0gZ3B1dmFfdG9fdm1hKGdwdXZhKTsNCj4gKwkJc3RydWN0IHhlX2JvICpi byA9IHZtYS0+Z3B1dmEuZ2VtLm9iaiA/DQo+ICsJCQlnZW1fdG9feGVfYm8odm1hLT5ncHV2YS5n ZW0ub2JqKSA6IE5VTEw7DQo+ICsNCj4gKwkJaWYgKCEoZ3B1dmEtPmZsYWdzICYgWEVfVk1BX0RV TVBBQkxFKSkNCj4gKwkJCWNvbnRpbnVlOw0KPiArDQo+ICsJCXNuYXAtPnNuYXBbaV0ub2ZzID0g eGVfdm1hX3N0YXJ0KHZtYSk7DQo+ICsJCXNuYXAtPnNuYXBbaV0ubGVuID0geGVfdm1hX3NpemUo dm1hKTsNCj4gKwkJaWYgKGJvKSB7DQo+ICsJCQlzbmFwLT5zbmFwW2ldLmJvID0geGVfYm9fZ2V0 KGJvKTsNCj4gKwkJCXNuYXAtPnNuYXBbaV0uYm9fb2ZzID0geGVfdm1hX2JvX29mZnNldCh2bWEp Ow0KPiArCQl9IGVsc2UgaWYgKHhlX3ZtYV9pc191c2VycHRyKHZtYSkpIHsNCj4gKwkJCWlmICht bWdldF9ub3RfemVybyh2bWEtPnVzZXJwdHIubm90aWZpZXIubW0pKQ0KPiArCQkJCXNuYXAtPnNu YXBbaV0ubW0gPSB2bWEtPnVzZXJwdHIubm90aWZpZXIubW07DQo+ICsJCQllbHNlDQo+ICsJCQkJ c25hcC0+c25hcFtpXS5kYXRhID0gRVJSX1BUUigtRUZBVUxUKTsNCj4gKwkJCXNuYXAtPnNuYXBb aV0uYm9fb2ZzID0geGVfdm1hX3VzZXJwdHIodm1hKTsNCj4gKwkJfSBlbHNlIHsNCj4gKwkJCXNu YXAtPnNuYXBbaV0uZGF0YSA9IEVSUl9QVFIoLUVOT0VOVCk7DQo+ICsJCX0NCj4gKwkJaSsrOw0K PiArCX0NCj4gKw0KPiArb3V0X3VubG9jazoNCj4gKwltdXRleF91bmxvY2soJnZtLT5zbmFwX211 dGV4KTsNCj4gKwlyZXR1cm4gc25hcDsNCj4gK30NCj4gKw0KPiArdm9pZCB4ZV92bV9zbmFwc2hv dF9jYXB0dXJlX2RlbGF5ZWQoc3RydWN0IHhlX3ZtX3NuYXBzaG90ICpzbmFwKQ0KPiArew0KPiAr CWZvciAoaW50IGkgPSAwOyBpIDwgc25hcC0+bnVtX3NuYXBzOyBpKyspIHsNCj4gKwkJc3RydWN0 IHhlX2JvICpibyA9IHNuYXAtPnNuYXBbaV0uYm87DQo+ICsJCXN0cnVjdCBpb3N5c19tYXAgc3Jj Ow0KPiArCQlpbnQgZXJyOw0KPiArDQo+ICsJCWlmIChJU19FUlIoc25hcC0+c25hcFtpXS5kYXRh KSkNCj4gKwkJCWNvbnRpbnVlOw0KPiArDQo+ICsJCXNuYXAtPnNuYXBbaV0uZGF0YSA9IGt2bWFs bG9jKHNuYXAtPnNuYXBbaV0ubGVuLCBHRlBfVVNFUik7DQo+ICsJCWlmICghc25hcC0+c25hcFtp XS5kYXRhKSB7DQo+ICsJCQlzbmFwLT5zbmFwW2ldLmRhdGEgPSBFUlJfUFRSKC1FTk9NRU0pOw0K PiArCQkJZ290byBjbGVhbnVwX2JvOw0KPiArCQl9DQo+ICsNCj4gKwkJaWYgKGJvKSB7DQo+ICsJ CQlkbWFfcmVzdl9sb2NrKGJvLT50dG0uYmFzZS5yZXN2LCBOVUxMKTsNCj4gKwkJCWVyciA9IHR0 bV9ib192bWFwKCZiby0+dHRtLCAmc3JjKTsNCj4gKwkJCWlmICghZXJyKSB7DQo+ICsJCQkJeGVf bWFwX21lbWNweV9mcm9tKHhlX2JvX2RldmljZShibyksDQo+ICsJCQkJCQkgICBzbmFwLT5zbmFw W2ldLmRhdGEsDQo+ICsJCQkJCQkgICAmc3JjLCBzbmFwLT5zbmFwW2ldLmJvX29mcywNCj4gKwkJ CQkJCSAgIHNuYXAtPnNuYXBbaV0ubGVuKTsNCj4gKwkJCQl0dG1fYm9fdnVubWFwKCZiby0+dHRt LCAmc3JjKTsNCj4gKwkJCX0NCj4gKwkJCWRtYV9yZXN2X3VubG9jayhiby0+dHRtLmJhc2UucmVz dik7DQo+ICsJCX0gZWxzZSB7DQo+ICsJCQl2b2lkIF9fdXNlciAqdXNlcnB0ciA9ICh2b2lkIF9f dXNlciAqKShzaXplX3Qpc25hcC0+c25hcFtpXS5ib19vZnM7DQo+ICsJCQlrdGhyZWFkX3VzZV9t bShzbmFwLT5zbmFwW2ldLm1tKTsNCj4gKw0KPiArCQkJaWYgKCFjb3B5X2Zyb21fdXNlcihzbmFw LT5zbmFwW2ldLmRhdGEsIHVzZXJwdHIsIHNuYXAtPnNuYXBbaV0ubGVuKSkNCj4gKwkJCQllcnIg PSAwOw0KPiArCQkJZWxzZQ0KPiArCQkJCWVyciA9IC1FRkFVTFQ7DQo+ICsJCQlrdGhyZWFkX3Vu dXNlX21tKHNuYXAtPnNuYXBbaV0ubW0pOw0KPiArCQkJbW1wdXQoc25hcC0+c25hcFtpXS5tbSk7 DQo+ICsJCQlzbmFwLT5zbmFwW2ldLm1tID0gTlVMTDsNCj4gKwkJfQ0KPiArDQo+ICsJCWlmIChl cnIpIHsNCj4gKwkJCWt2ZnJlZShzbmFwLT5zbmFwW2ldLmRhdGEpOw0KPiArCQkJc25hcC0+c25h cFtpXS5kYXRhID0gRVJSX1BUUihlcnIpOw0KPiArCQl9DQo+ICsNCj4gK2NsZWFudXBfYm86DQo+ ICsJCXhlX2JvX3B1dChibyk7DQo+ICsJCXNuYXAtPnNuYXBbaV0uYm8gPSBOVUxMOw0KPiArCX0N Cj4gK30NCj4gKw0KPiArdm9pZCB4ZV92bV9zbmFwc2hvdF9wcmludChzdHJ1Y3QgeGVfdm1fc25h cHNob3QgKnNuYXAsIHN0cnVjdCBkcm1fcHJpbnRlciAqcCkNCj4gK3sNCj4gKwl1bnNpZ25lZCBs b25nIGksIGo7DQo+ICsNCj4gKwlmb3IgKGkgPSAwOyBpIDwgc25hcC0+bnVtX3NuYXBzOyBpKysp IHsNCj4gKwkJaWYgKElTX0VSUihzbmFwLT5zbmFwW2ldLmRhdGEpKQ0KPiArCQkJZ290byB1bmNh cHR1cmVkOw0KPiArDQo+ICsJCWZvciAoaiA9IDA7IGogPCBzbmFwLT5zbmFwW2ldLmxlbjsgaiAr PSA2NCkgew0KPiArCQkJdWludDMyX3QgKnggPSBzbmFwLT5zbmFwW2ldLmRhdGEgKyBqOw0KPiAr DQo+ICsJCQlkcm1fcHJpbnRmKHAsICJbJWxseF0gPSB7ICV4LCAleCwgJXgsICV4LCAleCwgJXgs ICV4LCAleCwgJXgsICV4LCAleCwgJXgsICV4LCAleCwgJXgsICV4IH1cbiIsDQo+ICsJCQkJICAg c25hcC0+c25hcFtpXS5vZnMgKyBqLCB4WzBdLCB4WzFdLCB4WzJdLCB4WzNdLCB4WzRdLCB4WzVd LCB4WzZdLCB4WzddLA0KPiArCQkJCSAgIHhbOF0sIHhbOV0sIHhbMTBdLCB4WzExXSwgeFsxMl0s IHhbMTNdLCB4WzE0XSwgeFsxNV0pOw0KPiArCQl9DQo+ICsJCWNvbnRpbnVlOw0KPiArDQo+ICt1 bmNhcHR1cmVkOg0KPiArCQlkcm1fcHJpbnRmKHAsICJVbmFibGUgdG8gY2FwdHVyZSByYW5nZSBb JWxseC0lbGx4XTogJWxpXG4iLA0KPiArCQkJICAgc25hcC0+c25hcFtpXS5vZnMsIHNuYXAtPnNu YXBbaV0ub2ZzICsgc25hcC0+c25hcFtpXS5sZW4gLSAxLA0KPiArCQkJICAgUFRSX0VSUihzbmFw LT5zbmFwW2ldLmRhdGEpKTsNCj4gKwl9DQo+ICt9DQo+ICsNCj4gK3ZvaWQgeGVfdm1fc25hcHNo b3RfZnJlZShzdHJ1Y3QgeGVfdm1fc25hcHNob3QgKnNuYXApDQo+ICt7DQo+ICsJdW5zaWduZWQg bG9uZyBpOw0KPiArDQo+ICsJZm9yIChpID0gMDsgaSA8IHNuYXAtPm51bV9zbmFwczsgaSsrKSB7 DQo+ICsJCWlmICghSVNfRVJSKHNuYXAtPnNuYXBbaV0uZGF0YSkpDQo+ICsJCQlrdmZyZWUoc25h cC0+c25hcFtpXS5kYXRhKTsNCj4gKwkJeGVfYm9fcHV0KHNuYXAtPnNuYXBbaV0uYm8pOw0KPiAr CQlpZiAoc25hcC0+c25hcFtpXS5tbSkNCj4gKwkJCW1tcHV0KHNuYXAtPnNuYXBbaV0ubW0pOw0K PiArCX0NCj4gKwlrdmZyZWUoc25hcCk7DQo+ICt9DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0veGUveGVfdm0uaCBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV92bS5oDQo+IGluZGV4IGNm MmY5NmU4YzFhYi4uOWE3NTEzZDMxYjJiIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v eGUveGVfdm0uaA0KPiArKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfdm0uaA0KPiBAQCAtMjYx LDMgKzI2MSw4IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCB2bV9kYmcoY29uc3Qgc3RydWN0IGRybV9k ZXZpY2UgKmRldiwNCj4gIHsgLyogbm9vcCAqLyB9DQo+ICAjZW5kaWYNCj4gICNlbmRpZg0KPiAr DQo+ICtzdHJ1Y3QgeGVfdm1fc25hcHNob3QgKnhlX3ZtX3NuYXBzaG90X2NhcHR1cmUoc3RydWN0 IHhlX3ZtICp2bSk7DQo+ICt2b2lkIHhlX3ZtX3NuYXBzaG90X2NhcHR1cmVfZGVsYXllZChzdHJ1 Y3QgeGVfdm1fc25hcHNob3QgKnNuYXApOw0KPiArdm9pZCB4ZV92bV9zbmFwc2hvdF9wcmludChz dHJ1Y3QgeGVfdm1fc25hcHNob3QgKnNuYXAsIHN0cnVjdCBkcm1fcHJpbnRlciAqcCk7DQo+ICt2 b2lkIHhlX3ZtX3NuYXBzaG90X2ZyZWUoc3RydWN0IHhlX3ZtX3NuYXBzaG90ICpzbmFwKTsNCg0K