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 EB006C761A6 for ; Thu, 30 Mar 2023 16:26:54 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id A5B4710E339; Thu, 30 Mar 2023 16:26:54 +0000 (UTC) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 92C8E10E339 for ; Thu, 30 Mar 2023 16:26:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1680193612; x=1711729612; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=fcqDFLcr564PZyHfa834ajYatCkRuYRP/14NkZIKuPE=; b=QpKLMhcVLbJ2x777StQzKWFFdTcBJKFNS+Fj1rBTWOdRTO2YONsjqj67 pHN4ikx2g/TYawcoEk/VkzjM8FYBSHEz+i7yDzUUbKXlooXdXMEap2fn6 2VC50OgvswOzT3aHwEfFp2JqI58dPDJ5F/G28pesdz2Re1n/jFNEizGcp Dewjfn/jnXoGpmcpQSm4oBb2N6S8YWYnPKX2yKinn2mO65VAGfqj3/VxI N+/xSfH9sMPlzyQMtOUJmSRGZ7b4wiMBJw0l82HSYhcz6isbyPA6qW+EU DORhxndMQbWsxydFyGy13bI6LVPUj9ev4CRum/48kCV6WGphtDLfWgeuY g==; X-IronPort-AV: E=McAfee;i="6600,9927,10665"; a="342858513" X-IronPort-AV: E=Sophos;i="5.98,305,1673942400"; d="scan'208";a="342858513" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Mar 2023 09:26:52 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10665"; a="678260606" X-IronPort-AV: E=Sophos;i="5.98,305,1673942400"; d="scan'208";a="678260606" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orsmga007.jf.intel.com with ESMTP; 30 Mar 2023 09:26:51 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21; Thu, 30 Mar 2023 09:26:51 -0700 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21; Thu, 30 Mar 2023 09:26:51 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21 via Frontend Transport; Thu, 30 Mar 2023 09:26:51 -0700 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.57.45) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.21; Thu, 30 Mar 2023 09:26:50 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LUZbnhhsXcjPSAij0WHCLZp/EvCt0B9MujtjW1FDLGPH57XKUuCodippK0G96+caSUMs3ar38zOkwpNLjlDidQmKjTCVLWULV1eNNcBc4j8I6WtPLEkksrfUlM8vKUjh5oDb4rRR26cl/m1WKU/qrvqxoMIiqM1AZrD4LAR4u41wxvTlu7Nv8oCKTHAOmtNy3WcQMwSQ813+sDutl18gSUXm+3wjbyysDE3oesdL+jVJ4Emx+iH+NkP48e15YA1ursrDQkyKEbSBWgq0WaY5wlz7IoSE4//b00c02Jp8DxxR3nH0XzD6ulZheKLp/uzJ6ZkpVNRNecb2sOuvIF468Q== 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=fcqDFLcr564PZyHfa834ajYatCkRuYRP/14NkZIKuPE=; b=kW4qJFKTSBlLc7nBEnExozbP5nsD+SW90q5/mHMDNl5qFYaUZCPbL7lLku550WJwUwu6iXDVY+JepL9fknENj62KMaGqARsgg64qlAgAYw6DbDF9pSqjVrwZRhGX1L5apLVAGR3l+CeTHnzNIatzZ8u4clMhf5z88n+D3dswJCTJwfwMZ1yhk2Yhx6t+FgtIc+k2SondbCrpeEFPZDyh8pnVNQBdApSm0ei1Vzz+4pbbTnir5SrU7j0QwJOOr6MLMimQllXnaeWSbOnqCQ4xXs15O2jPymmMEvDx6ec+4l263wXi0PqvLwRyA2EDkQMfMK3sW8zDPYBTnaXi6+QiXw== 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 MN2PR11MB4758.namprd11.prod.outlook.com (2603:10b6:208:260::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.32; Thu, 30 Mar 2023 16:26:48 +0000 Received: from DM4PR11MB8179.namprd11.prod.outlook.com ([fe80::7ad:5a7f:9d62:e51f]) by DM4PR11MB8179.namprd11.prod.outlook.com ([fe80::7ad:5a7f:9d62:e51f%5]) with mapi id 15.20.6222.035; Thu, 30 Mar 2023 16:26:48 +0000 From: "Souza, Jose" To: "intel-xe@lists.freedesktop.org" , "maarten.lankhorst@linux.intel.com" Thread-Topic: [Intel-xe] [PATCH] drm/xe: Reshuffle and validate all of the UAPI structs Thread-Index: AQHZYWLrvqkNmkNZn02XIVx5VblPea8TgoIAgAADjoA= Date: Thu, 30 Mar 2023 16:26:48 +0000 Message-ID: References: <20230328104836.251873-1-maarten.lankhorst@linux.intel.com> <11fa43ce032bdd5aee088b50e30cb568ef02b9ce.camel@intel.com> In-Reply-To: <11fa43ce032bdd5aee088b50e30cb568ef02b9ce.camel@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_|MN2PR11MB4758:EE_ x-ms-office365-filtering-correlation-id: 8c0e29ce-dbde-4676-9fab-08db313b8f83 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: eZ3t/geXDSt/DqA+Uyc6jHPLK3Shi7qWDVMMAAgT472A5eAGwpHG9hIrdabLdJ30pOTTg51V8/G/5ZTraY9ijPMeiOC3kMfYqo9ATXR55Nom1bAUuVitAGdijepGP7piqUeV4YOhTRYH0ydLoLjk29Zgg5OyQl9G3B1QN3Z6UNvE3FY7FfNJHqqdqTe4RjiIDON16uZapJrlCvX+XBHP7lkVLVC9WJhdcutxfalZeRMGhDpsTr4jyUVLTbe7RF8NPZ2Gd58fK3RLYKG1pp2C9JWHhR4Z2p6UeIWWo3TZjXtBYcvZHQxwikeISh4WEqRCpWJ/SGQ9uycf0dW8GC4gfS0Opb56jgwq7AFQm88iVevvil1faxH2nZ9sG+2jKestT6Rq6N/bXkztjGi91/bs1XX85vldgDcx+Q1Fkl22C3klSO/0T57q5SLePnp2GJPdQc4KG3U7PzeBc1kQ6ySGQkkHoICBYzG4VcyYAoZQ4sT+zSicPLFZ1Fl+cuVl3ILr671KTBUJo9tmdGmHuVRhUc/oYCe0iLnRXfI679SUF93abDX0yHI4jfN3A4FJDUi92k1kYddBFkAHJDUiCVDAELsa8V0QnI7+iWRQSa7MPQsqiwMJRrDdnUHBV21+IfIu 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:(13230028)(376002)(366004)(346002)(136003)(39860400002)(396003)(451199021)(66946007)(76116006)(4326008)(316002)(122000001)(6506007)(66446008)(66556008)(64756008)(66476007)(8676002)(41300700001)(30864003)(186003)(82960400001)(8936002)(26005)(110136005)(5660300002)(91956017)(83380400001)(2616005)(71200400001)(38100700002)(6512007)(478600001)(38070700005)(2906002)(86362001)(6486002)(15650500001)(36756003)(579004); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?V3dQR2dWeTYyK3YzY2paWEpTaFRPaHlnSUtyQkNFdUp1K2Z6SkhaVHZyUGk5?= =?utf-8?B?a1BreE50ckJBVzYwbnA5MGczK2xRSVBvaG1oNVZDbWh3YWZJK2NaVUNXY09u?= =?utf-8?B?NEFrdUFNRWUvK29WZURYbjVZTzViWnBRRGYyamFNa1ZRTEx6bmNtakZ2S2d0?= =?utf-8?B?a3hHOVlUaHozWmNmWU1kRkg3Vkw0NXRvWXgya3EyZ0FmUUhxR2hrdzllL0Jj?= =?utf-8?B?ZUZXMzVGeHFRWVQ4bTdYdzFXZjdFc2xLUjl2ZzIvZENBMmhCd2N1Skh5dlFI?= =?utf-8?B?blB4emVIOHlmSVJ3T3VvSWFzVDkyNE5oRk95NlE0OU1hT2RIK20yNGRMOUV3?= =?utf-8?B?eXhsOTlVYm1lWlRBZlZBVExvK2VneHRWRFJ6eVNHKzVzWlBYRU82KzJjOTE4?= =?utf-8?B?dEwrNm03ZHM3WFROQVRrYzcvb3p2c1VTeHdYalFlcXVESHNrWWZPbkd3eS8z?= =?utf-8?B?WG1mTUJnNmNrQjY0VHphRDlIZWIrUlRnTEhBVGdNZ0ZUVnJBQVc4V3h6clNJ?= =?utf-8?B?UVhRc0lvKzdidzA1N1FaTXFkdkFMZG1CZHRzdkNQTUoyVkkvNVZleWpqYU5H?= =?utf-8?B?YmthNmV4NWRJdXo0M05sa3NNYmsvbnZRV3Z3VyttVkRHbWRaMHA2WGpoZEFP?= =?utf-8?B?MUcvOUg5cVZpQStpdnY4QkZ3UERYZ1krckZZdURBd2RoaEEvZEFIZmpDellG?= =?utf-8?B?T2M0clh4dHhKallQV3g3TkZERm1KbVNib2tjVDYvQ0dKd3NJZlZJQlBxdmlw?= =?utf-8?B?VEVCM3ZIdXArMkFJZnVqMTJKVkRZQU4zcVlaTnM1TnVjYSt4TzEzL3hCdmty?= =?utf-8?B?SUo0YjlvNzNYMFhkcm95WW12clFOb1NJWURMc0tBMFBkWGlMK1dkakMvRHNx?= =?utf-8?B?N25ybnd5UW1zU0xMeXJEV2MzRlJycXZMajdJTGxCemNNNlNMWU9lNlhNKyti?= =?utf-8?B?ZWlYUk5PcFFReDFmZGFTU0V1N0tCUFNTWEpSRldJMHQ0aURUdUlHNDhVUmhh?= =?utf-8?B?K2p0OTVqdThaNFZhTkZ2eXp6NlM4K1ViNE1hTXJCem5aY1hVbCtSWER5QmZX?= =?utf-8?B?R0ZoUHFNZzdkeXVTUm5yWmpPS0dPUGs1djBnc2FieERYWmVodWc1S0w3eEZD?= =?utf-8?B?S3c3bkJhZkNnMzYrd1pTOFQ1Z01CS0lRUnJzcjdPVnpLdDViRjZXQUY1Tlpu?= =?utf-8?B?YWdHMGJEZ0RpcE1GZ3FVZjF5Vy9QOTlEb2pvSTRCYjdEK2Y3a3p5OGlLcWlE?= =?utf-8?B?WHhpNS9xRDh6di9qK3lteHdleUlSek5VcDQ0NHFNNm9ocVdmN0JGc1RtdVRo?= =?utf-8?B?Y3lRSmZzWFVmRnFvRWsyOEFDTlNUd2FnSGtHTTRYT3VoSlpoaHEyOStSVFR3?= =?utf-8?B?S1BHdnIyWHM2bnpSZW1sMXNJUEg5MkkwUjVXYVJSb3ptSU9DZm9TQ251Zmo4?= =?utf-8?B?eTROc1VVUkRBUmp2cXdKTjh2VlV2U3RnWGt3b3JhSWNPeWt4MEZlVWprYVM2?= =?utf-8?B?RWRGazdIQnJrdmRYRVdGQ2dpaGRtR3VzVWxhY3FKaklPZUhjYlB5K3BXbWhG?= =?utf-8?B?MmpHc2o5ZllCN2VuZndheUJLbjJvNndEMmlYWjVOdlBqbHZaN1BNYXBtRjVn?= =?utf-8?B?WVliY25Td20yV3dqelBQV3hJajlpOWwwR01WaHVOTjllU29hZlkrYW5uWTJj?= =?utf-8?B?djFYbmtqYVUya0RCTlpCVXV1QzExc0hpRzJqSmtIV0Q0QkJHNnVCR2hFbTY0?= =?utf-8?B?Q0VsR3BqaWh1enc1Nk8zM1hZSHJiNWhLZEFMOFJaRDQ1RWtKblJCWXg0aXZJ?= =?utf-8?B?R0I3a3JwTVplTTZqcHFhRDhwOVFtSUFuNGV2NTRkZXRCSDJGMzNNUWNQRnBQ?= =?utf-8?B?NFNvSUtUeXgxNktOdlJuMHV5V0tXdXgxOTZTQ1psY1FHZVM2clkxdWs0MUQ4?= =?utf-8?B?RGk1K1QxVm9JMDhpa0NiRllVQ0lEOEJKV3FlS3lXTEVVZnkvaktRa3piTFJR?= =?utf-8?B?ZXJvL05jaXo3QVhpOWpOQmY2bVhxT2tXemVsdnBXSHFMYnFoa0NIdE92KzE2?= =?utf-8?B?a3hzTkRFbmRzeFNpdk0vS3drci9LbVpzaytTVGs0cnJJK1FMQk53R2dOVm9i?= =?utf-8?Q?+CfwBgSHOVp3hgecLYMqdwdey?= Content-Type: text/plain; charset="utf-8" Content-ID: <4BACC1E139616144ABC4792381BE0E39@namprd11.prod.outlook.com> 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: 8c0e29ce-dbde-4676-9fab-08db313b8f83 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Mar 2023 16:26:48.3068 (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: kpuAGSkqp0XmzHK2B4jkOyEvLRGDrAfJt3mtBW5fkhykypUOEfuLwxyh0QOCwD6lAfK6evx9PN4lenMOLc/YQw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4758 X-OriginatorOrg: intel.com Subject: Re: [Intel-xe] [PATCH] drm/xe: Reshuffle and validate all of the UAPI structs 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: , Cc: "sonicadvance1@gmail.com" Errors-To: intel-xe-bounces@lists.freedesktop.org Sender: "Intel-xe" T24gVGh1LCAyMDIzLTAzLTMwIGF0IDA5OjE0IC0wNzAwLCBKb3PDqSBSb2JlcnRvIGRlIFNvdXph IHdyb3RlOg0KPiBPbiBUdWUsIDIwMjMtMDMtMjggYXQgMTI6NDggKzAyMDAsIE1hYXJ0ZW4gTGFu a2hvcnN0IHdyb3RlOg0KPiA+IFZlcmlmaWVkIHRocm91Z2ggcGFob2xlOg0KPiA+IEkndmUgY3Jl YXRlZCBhIGhkcnRlc3QuYyB3aXRoIHRoZXNlIGNvbnRlbnRzOg0KPiA+IA0KPiA+IHN0cnVjdCB4 ZV91c2VyX2V4dGVuc2lvbiAgICAgICAgICAgICAgIF9fUEFTVEUoZHVtbXksIF9fTElORV9fKTsN Cj4gPiBzdHJ1Y3QgZHJtX3hlX2VuZ2luZV9jbGFzc19pbnN0YW5jZSAgICBfX1BBU1RFKGR1bW15 LCBfX0xJTkVfXyk7DQo+ID4gc3RydWN0IGRybV94ZV9xdWVyeV9tZW1fdXNhZ2UgICAgICAgICAg X19QQVNURShkdW1teSwgX19MSU5FX18pOw0KPiA+IHN0cnVjdCBkcm1feGVfcXVlcnlfY29uZmln ICAgICAgICAgICAgIF9fUEFTVEUoZHVtbXksIF9fTElORV9fKTsNCj4gPiBzdHJ1Y3QgZHJtX3hl X3F1ZXJ5X2d0cyAgICAgICAgICAgICAgICBfX1BBU1RFKGR1bW15LCBfX0xJTkVfXyk7DQo+ID4g c3RydWN0IGRybV94ZV9xdWVyeV90b3BvbG9neV9tYXNrICAgICAgX19QQVNURShkdW1teSwgX19M SU5FX18pOw0KPiA+IHN0cnVjdCBkcm1feGVfZGV2aWNlX3F1ZXJ5ICAgICAgICAgICAgIF9fUEFT VEUoZHVtbXksIF9fTElORV9fKTsNCj4gPiBzdHJ1Y3QgZHJtX3hlX2dlbV9jcmVhdGUgICAgICAg ICAgICAgICBfX1BBU1RFKGR1bW15LCBfX0xJTkVfXyk7DQo+ID4gc3RydWN0IGRybV94ZV9nZW1f bW1hcF9vZmZzZXQgICAgICAgICAgX19QQVNURShkdW1teSwgX19MSU5FX18pOw0KPiA+IHN0cnVj dCBkcm1feGVfdm1fYmluZF9vcF9lcnJvcl9jYXB0dXJlIF9fUEFTVEUoZHVtbXksIF9fTElORV9f KTsNCj4gPiBzdHJ1Y3QgZHJtX3hlX2V4dF92bV9zZXRfcHJvcGVydHkgICAgICBfX1BBU1RFKGR1 bW15LCBfX0xJTkVfXyk7DQo+ID4gc3RydWN0IGRybV94ZV92bV9jcmVhdGUgICAgICAgICAgICAg ICAgX19QQVNURShkdW1teSwgX19MSU5FX18pOw0KPiA+IHN0cnVjdCBkcm1feGVfdm1fZGVzdHJv eSAgICAgICAgICAgICAgIF9fUEFTVEUoZHVtbXksIF9fTElORV9fKTsNCj4gPiBzdHJ1Y3QgZHJt X3hlX3ZtX2JpbmRfb3AgICAgICAgICAgICAgICBfX1BBU1RFKGR1bW15LCBfX0xJTkVfXyk7DQo+ ID4gc3RydWN0IGRybV94ZV92bV9iaW5kICAgICAgICAgICAgICAgICAgX19QQVNURShkdW1teSwg X19MSU5FX18pOw0KPiA+IHN0cnVjdCBkcm1feGVfZXh0X2VuZ2luZV9zZXRfcHJvcGVydHkgIF9f UEFTVEUoZHVtbXksIF9fTElORV9fKTsNCj4gPiBzdHJ1Y3QgZHJtX3hlX2VuZ2luZV9zZXRfcHJv cGVydHkgICAgICBfX1BBU1RFKGR1bW15LCBfX0xJTkVfXyk7DQo+ID4gc3RydWN0IGRybV94ZV9l bmdpbmVfY3JlYXRlICAgICAgICAgICAgX19QQVNURShkdW1teSwgX19MSU5FX18pOw0KPiA+IHN0 cnVjdCBkcm1feGVfZW5naW5lX2dldF9wcm9wZXJ0eSAgICAgIF9fUEFTVEUoZHVtbXksIF9fTElO RV9fKTsNCj4gPiBzdHJ1Y3QgZHJtX3hlX2VuZ2luZV9kZXN0cm95ICAgICAgICAgICBfX1BBU1RF KGR1bW15LCBfX0xJTkVfXyk7DQo+ID4gc3RydWN0IGRybV94ZV9zeW5jICAgICAgICAgICAgICAg ICAgICAgX19QQVNURShkdW1teSwgX19MSU5FX18pOw0KPiA+IHN0cnVjdCBkcm1feGVfZXhlYyAg ICAgICAgICAgICAgICAgICAgIF9fUEFTVEUoZHVtbXksIF9fTElORV9fKTsNCj4gPiBzdHJ1Y3Qg ZHJtX3hlX21taW8gICAgICAgICAgICAgICAgICAgICBfX1BBU1RFKGR1bW15LCBfX0xJTkVfXyk7 DQo+ID4gc3RydWN0IGRybV94ZV93YWl0X3VzZXJfZmVuY2UgICAgICAgICAgX19QQVNURShkdW1t eSwgX19MSU5FX18pOw0KPiA+IHN0cnVjdCBkcm1feGVfdm1fbWFkdmlzZSAgICAgICAgICAgICAg IF9fUEFTVEUoZHVtbXksIF9fTElORV9fKTsNCj4gPiANCj4gPiBhbmQgdGhlbiByYW4gdGhlIHJl c3VsdGluZyAubyBmaWxlIHRocm91Z2ggcGFob2xlLg0KPiA+IA0KPiA+IEFsbCBwYWRkaW5nIGhv bGVzIGFyZSBnb25lIG9uIDY0LWJpdHMsIHNvbWUgdGhyb3VnaCBleHRlbmRpbmcgdGhlIHdpZHRo DQo+ID4gb2Ygc29tZSBtZW1iZXJzLCBvdGhlcnMgYnkgcmVvcmdhbml6aW5nLCBhbmQgZXZlbiBt b3JlIGJ5IGV4cGxpY2l0bHkNCj4gPiBhZGRpbmcgcGFkZGluZy4NCj4gPiANCj4gPiBJJ20gYWxz byBlbnN1cmluZyB4ZSB2ZXJpZmllcyB0aGF0IGFsbCBwYWQgYW5kIHJlc2VydmVkIG1lbWJlcnMg YXJlDQo+ID4gemVybyBpbiBlYWNoIGlvY3RsIGltcGxlbWVudGF0aW9uLg0KPiANCj4gTWF5YmUg c3BsaXQgdGhpcyBwYWQgY2hlY2tpbmcgdG8gb3RoZXIgcGF0Y2g/DQo+IA0KPiA+IA0KPiA+IFN1 Z2dlc3RlZC1ieTogUnlhbiBIb3VkZWsgPHNvbmljYWR2YW5jZTFAZ21haWwuY29tPg0KPiA+IFNp Z25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5p bnRlbC5jb20+DQo+ID4gLS0tDQo+ID4gIGRyaXZlcnMvZ3B1L2RybS94ZS94ZV9iby5jICAgICAg ICAgICAgICB8ICA2ICsrLQ0KPiA+ICBkcml2ZXJzL2dwdS9kcm0veGUveGVfZW5naW5lLmMgICAg ICAgICAgfCAxOSArKysrKy0tDQo+ID4gIGRyaXZlcnMvZ3B1L2RybS94ZS94ZV9leGVjLmMgICAg ICAgICAgICB8ICA0ICstDQo+ID4gIGRyaXZlcnMvZ3B1L2RybS94ZS94ZV9tbWlvLmMgICAgICAg ICAgICB8ICAzICstDQo+ID4gIGRyaXZlcnMvZ3B1L2RybS94ZS94ZV9xdWVyeS5jICAgICAgICAg ICB8ICAzICstDQo+ID4gIGRyaXZlcnMvZ3B1L2RybS94ZS94ZV9zeW5jLmMgICAgICAgICAgICB8 ICA0ICstDQo+ID4gIGRyaXZlcnMvZ3B1L2RybS94ZS94ZV92bS5jICAgICAgICAgICAgICB8IDIx ICsrKysrKy0tDQo+ID4gIGRyaXZlcnMvZ3B1L2RybS94ZS94ZV92bV9tYWR2aXNlLmMgICAgICB8 ICAzICstDQo+ID4gIGRyaXZlcnMvZ3B1L2RybS94ZS94ZV93YWl0X3VzZXJfZmVuY2UuYyB8ICAz ICstDQo+ID4gIGluY2x1ZGUvdWFwaS9kcm0veGVfZHJtLmggICAgICAgICAgICAgICB8IDY4ICsr KysrKysrKysrKysrKysrLS0tLS0tLS0NCj4gPiAgMTAgZmlsZXMgY2hhbmdlZCwgOTggaW5zZXJ0 aW9ucygrKSwgMzYgZGVsZXRpb25zKC0pDQo+ID4gDQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS94ZS94ZV9iby5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2JvLmMNCj4gPiBpbmRl eCBlNGQwNzliNjFkNTIuLmI3OGY5ZDExZDg5NSAxMDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0veGUveGVfYm8uYw0KPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9iby5jDQo+ ID4gQEAgLTE1MDUsNyArMTUwNSw4IEBAIGludCB4ZV9nZW1fY3JlYXRlX2lvY3RsKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsDQo+ID4gIAl1MzIgaGFuZGxlOw0KPiA+ICAJaW50 IGVycjsNCj4gPiAgDQo+ID4gLQlpZiAoWEVfSU9DVExfRVJSKHhlLCBhcmdzLT5leHRlbnNpb25z KSkNCj4gPiArCWlmIChYRV9JT0NUTF9FUlIoeGUsIGFyZ3MtPmV4dGVuc2lvbnMpIHx8IFhFX0lP Q1RMX0VSUih4ZSwgYXJncy0+cGFkKSB8fA0KPiA+ICsJICAgIFhFX0lPQ1RMX0VSUih4ZSwgYXJn cy0+cmVzZXJ2ZWRbMF0gfHwgYXJncy0+cmVzZXJ2ZWRbMV0pKQ0KPiA+ICAJCXJldHVybiAtRUlO VkFMOw0KPiA+ICANCj4gPiAgCWlmIChYRV9JT0NUTF9FUlIoeGUsIGFyZ3MtPmZsYWdzICYNCj4g PiBAQCAtMTU3NSw3ICsxNTc2LDggQEAgaW50IHhlX2dlbV9tbWFwX29mZnNldF9pb2N0bChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLA0KPiA+ICAJc3RydWN0IGRybV94ZV9nZW1f bW1hcF9vZmZzZXQgKmFyZ3MgPSBkYXRhOw0KPiA+ICAJc3RydWN0IGRybV9nZW1fb2JqZWN0ICpn ZW1fb2JqOw0KPiA+ICANCj4gPiAtCWlmIChYRV9JT0NUTF9FUlIoeGUsIGFyZ3MtPmV4dGVuc2lv bnMpKQ0KPiA+ICsJaWYgKFhFX0lPQ1RMX0VSUih4ZSwgYXJncy0+ZXh0ZW5zaW9ucykgfHwNCj4g PiArCSAgICBYRV9JT0NUTF9FUlIoeGUsIGFyZ3MtPnJlc2VydmVkWzBdIHx8IGFyZ3MtPnJlc2Vy dmVkWzFdKSkNCj4gPiAgCQlyZXR1cm4gLUVJTlZBTDsNCj4gPiAgDQo+ID4gIAlpZiAoWEVfSU9D VExfRVJSKHhlLCBhcmdzLT5mbGFncykpDQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS94ZS94ZV9lbmdpbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9lbmdpbmUuYw0KPiA+IGlu ZGV4IDM3MjA5YjEzYmNkNi4uZDU3NmYzYzlkODQzIDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS94ZS94ZV9lbmdpbmUuYw0KPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9l bmdpbmUuYw0KPiA+IEBAIC0zNDgsNyArMzQ4LDggQEAgc3RhdGljIGludCBlbmdpbmVfdXNlcl9l eHRfc2V0X3Byb3BlcnR5KHN0cnVjdCB4ZV9kZXZpY2UgKnhlLA0KPiA+ICAJCXJldHVybiAtRUZB VUxUOw0KPiA+ICANCj4gPiAgCWlmIChYRV9JT0NUTF9FUlIoeGUsIGV4dC5wcm9wZXJ0eSA+PQ0K PiA+IC0JCQkgQVJSQVlfU0laRShlbmdpbmVfc2V0X3Byb3BlcnR5X2Z1bmNzKSkpDQo+ID4gKwkJ CSBBUlJBWV9TSVpFKGVuZ2luZV9zZXRfcHJvcGVydHlfZnVuY3MpKSB8fA0KPiA+ICsJICAgIFhF X0lPQ1RMX0VSUih4ZSwgZXh0LnBhZCkpDQo+ID4gIAkJcmV0dXJuIC1FSU5WQUw7DQo+ID4gIA0K PiA+ICAJaWR4ID0gYXJyYXlfaW5kZXhfbm9zcGVjKGV4dC5wcm9wZXJ0eSwgQVJSQVlfU0laRShl bmdpbmVfc2V0X3Byb3BlcnR5X2Z1bmNzKSk7DQo+ID4gQEAgLTM4MCw3ICszODEsOCBAQCBzdGF0 aWMgaW50IGVuZ2luZV91c2VyX2V4dGVuc2lvbnMoc3RydWN0IHhlX2RldmljZSAqeGUsIHN0cnVj dCB4ZV9lbmdpbmUgKmUsDQo+ID4gIAlpZiAoWEVfSU9DVExfRVJSKHhlLCBlcnIpKQ0KPiA+ICAJ CXJldHVybiAtRUZBVUxUOw0KPiA+ICANCj4gPiAtCWlmIChYRV9JT0NUTF9FUlIoeGUsIGV4dC5u YW1lID49DQo+ID4gKwlpZiAoWEVfSU9DVExfRVJSKHhlLCBleHQucGFkKSB8fA0KPiA+ICsJICAg IFhFX0lPQ1RMX0VSUih4ZSwgZXh0Lm5hbWUgPj0NCj4gPiAgCQkJIEFSUkFZX1NJWkUoZW5naW5l X3VzZXJfZXh0ZW5zaW9uX2Z1bmNzKSkpDQo+ID4gIAkJcmV0dXJuIC1FSU5WQUw7DQo+ID4gIA0K PiA+IEBAIC01MjMsNyArNTI1LDggQEAgaW50IHhlX2VuZ2luZV9jcmVhdGVfaW9jdGwoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwNCj4gPiAgCWludCBsZW47DQo+ID4gIAlpbnQg ZXJyOw0KPiA+ICANCj4gPiAtCWlmIChYRV9JT0NUTF9FUlIoeGUsIGFyZ3MtPmZsYWdzKSkNCj4g PiArCWlmIChYRV9JT0NUTF9FUlIoeGUsIGFyZ3MtPmZsYWdzKSB8fA0KPiA+ICsJICAgIFhFX0lP Q1RMX0VSUih4ZSwgYXJncy0+cmVzZXJ2ZWRbMF0gfHwgYXJncy0+cmVzZXJ2ZWRbMV0pKQ0KPiA+ ICAJCXJldHVybiAtRUlOVkFMOw0KPiA+ICANCj4gPiAgCWxlbiA9IGFyZ3MtPndpZHRoICogYXJn cy0+bnVtX3BsYWNlbWVudHM7DQo+ID4gQEAgLTY1NSw2ICs2NTgsMTAgQEAgaW50IHhlX2VuZ2lu ZV9nZXRfcHJvcGVydHlfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwN Cj4gPiAgCXN0cnVjdCBkcm1feGVfZW5naW5lX2dldF9wcm9wZXJ0eSAqYXJncyA9IGRhdGE7DQo+ ID4gIAlzdHJ1Y3QgeGVfZW5naW5lICplOw0KPiA+ICANCj4gPiArCWlmIChYRV9JT0NUTF9FUlIo eGUsIGFyZ3MtPmV4dGVuc2lvbnMpIHx8DQo+ID4gKwkgICAgWEVfSU9DVExfRVJSKHhlLCBhcmdz LT5yZXNlcnZlZFswXSB8fCBhcmdzLT5yZXNlcnZlZFsxXSkpDQo+ID4gKwkJcmV0dXJuIC1FSU5W QUw7DQo+ID4gKw0KPiA+ICAJbXV0ZXhfbG9jaygmeGVmLT5lbmdpbmUubG9jayk7DQo+ID4gIAll ID0geGFfbG9hZCgmeGVmLT5lbmdpbmUueGEsIGFyZ3MtPmVuZ2luZV9pZCk7DQo+ID4gIAltdXRl eF91bmxvY2soJnhlZi0+ZW5naW5lLmxvY2spOw0KPiA+IEBAIC03MzQsNyArNzQxLDggQEAgaW50 IHhlX2VuZ2luZV9kZXN0cm95X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRh dGEsDQo+ID4gIAlzdHJ1Y3QgZHJtX3hlX2VuZ2luZV9kZXN0cm95ICphcmdzID0gZGF0YTsNCj4g PiAgCXN0cnVjdCB4ZV9lbmdpbmUgKmU7DQo+ID4gIA0KPiA+IC0JaWYgKFhFX0lPQ1RMX0VSUih4 ZSwgYXJncy0+cGFkKSkNCj4gPiArCWlmIChYRV9JT0NUTF9FUlIoeGUsIGFyZ3MtPnBhZCkgfHwN Cj4gPiArCSAgICBYRV9JT0NUTF9FUlIoeGUsIGFyZ3MtPnJlc2VydmVkWzBdIHx8IGFyZ3MtPnJl c2VydmVkWzFdKSkNCj4gPiAgCQlyZXR1cm4gLUVJTlZBTDsNCj4gPiAgDQo+ID4gIAltdXRleF9s b2NrKCZ4ZWYtPmVuZ2luZS5sb2NrKTsNCj4gPiBAQCAtNzY1LDYgKzc3Myw5IEBAIGludCB4ZV9l bmdpbmVfc2V0X3Byb3BlcnR5X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRh dGEsDQo+ID4gIAlpbnQgcmV0Ow0KPiA+ICAJdTMyIGlkeDsNCj4gPiAgDQo+ID4gKwlpZiAoWEVf SU9DVExfRVJSKHhlLCBhcmdzLT5yZXNlcnZlZFswXSB8fCBhcmdzLT5yZXNlcnZlZFsxXSkpDQo+ ID4gKwkJcmV0dXJuIC1FSU5WQUw7DQo+ID4gKw0KPiA+ICAJZSA9IHhlX2VuZ2luZV9sb29rdXAo eGVmLCBhcmdzLT5lbmdpbmVfaWQpOw0KPiA+ICAJaWYgKFhFX0lPQ1RMX0VSUih4ZSwgIWUpKQ0K PiA+ICAJCXJldHVybiAtRU5PRU5UOw0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v eGUveGVfZXhlYy5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2V4ZWMuYw0KPiA+IGluZGV4IGVh ODY5ZjI0NTJlZi4uMGZmYmI4ZjhmNGRmIDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS94ZS94ZV9leGVjLmMNCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZXhlYy5jDQo+ ID4gQEAgLTE2MCw3ICsxNjAsOSBAQCBpbnQgeGVfZXhlY19pb2N0bChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpDQo+ID4gIAlib29sIHdy aXRlX2xvY2tlZDsNCj4gPiAgCWludCBlcnIgPSAwOw0KPiA+ICANCj4gPiAtCWlmIChYRV9JT0NU TF9FUlIoeGUsIGFyZ3MtPmV4dGVuc2lvbnMpKQ0KPiA+ICsJaWYgKFhFX0lPQ1RMX0VSUih4ZSwg YXJncy0+ZXh0ZW5zaW9ucykgfHwNCj4gPiArCSAgICBYRV9JT0NUTF9FUlIoeGUsIGFyZ3MtPnBh ZCkgfHwNCj4gPiArCSAgICBYRV9JT0NUTF9FUlIoeGUsIGFyZ3MtPnJlc2VydmVkWzBdIHx8IGFy Z3MtPnJlc2VydmVkWzFdKSkNCj4gPiAgCQlyZXR1cm4gLUVJTlZBTDsNCj4gPiAgDQo+ID4gIAll bmdpbmUgPSB4ZV9lbmdpbmVfbG9va3VwKHhlZiwgYXJncy0+ZW5naW5lX2lkKTsNCj4gPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX21taW8uYyBiL2RyaXZlcnMvZ3B1L2RybS94 ZS94ZV9tbWlvLmMNCj4gPiBpbmRleCA1Y2FjYWEwNTc1OWEuLmRjOGRhOWMxYTA0MCAxMDA2NDQN Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfbW1pby5jDQo+ID4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL3hlL3hlX21taW8uYw0KPiA+IEBAIC00MDksNyArNDA5LDggQEAgaW50IHhlX21t aW9faW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwNCj4gPiAgCWJvb2wg YWxsb3dlZDsNCj4gPiAgCWludCByZXQgPSAwOw0KPiA+ICANCj4gPiAtCWlmIChYRV9JT0NUTF9F UlIoeGUsIGFyZ3MtPmV4dGVuc2lvbnMpKQ0KPiA+ICsJaWYgKFhFX0lPQ1RMX0VSUih4ZSwgYXJn cy0+ZXh0ZW5zaW9ucykgfHwNCj4gPiArCSAgICBYRV9JT0NUTF9FUlIoeGUsIGFyZ3MtPnJlc2Vy dmVkWzBdIHx8IGFyZ3MtPnJlc2VydmVkWzFdKSkNCj4gPiAgCQlyZXR1cm4gLUVJTlZBTDsNCj4g PiAgDQo+ID4gIAlpZiAoWEVfSU9DVExfRVJSKHhlLCBhcmdzLT5mbGFncyAmIH5WQUxJRF9NTUlP X0ZMQUdTKSkNCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3F1ZXJ5LmMg Yi9kcml2ZXJzL2dwdS9kcm0veGUveGVfcXVlcnkuYw0KPiA+IGluZGV4IGRkNjRmZjBkMmE1Ny4u OTc3NDJkMDAzYzhhIDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9xdWVy eS5jDQo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3F1ZXJ5LmMNCj4gPiBAQCAtMzc0 LDcgKzM3NCw4IEBAIGludCB4ZV9xdWVyeV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2 b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpDQo+ID4gIAlzdHJ1Y3QgZHJtX3hlX2Rl dmljZV9xdWVyeSAqcXVlcnkgPSBkYXRhOw0KPiA+ICAJdTMyIGlkeDsNCj4gPiAgDQo+ID4gLQlp ZiAoWEVfSU9DVExfRVJSKHhlLCBxdWVyeS0+ZXh0ZW5zaW9ucyAhPSAwKSkNCj4gPiArCWlmIChY RV9JT0NUTF9FUlIoeGUsIHF1ZXJ5LT5leHRlbnNpb25zIHx8DQo+ID4gKwkgICAgWEVfSU9DVExf RVJSKHhlLCBxdWVyeS0+cmVzZXJ2ZWRbMF0gfHwgcXVlcnktPnJlc2VydmVkWzFdKSkpDQo+ID4g IAkJcmV0dXJuIC1FSU5WQUw7DQo+ID4gIA0KPiA+ICAJaWYgKFhFX0lPQ1RMX0VSUih4ZSwgcXVl cnktPnF1ZXJ5ID4gQVJSQVlfU0laRSh4ZV9xdWVyeV9mdW5jcykpKQ0KPiA+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0veGUveGVfc3luYy5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3N5 bmMuYw0KPiA+IGluZGV4IDk5ZjFlZDg3MTk2ZC4uM2M5YWM3NDk3MGM1IDEwMDY0NA0KPiA+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9zeW5jLmMNCj4gPiArKysgYi9kcml2ZXJzL2dwdS9k cm0veGUveGVfc3luYy5jDQo+ID4gQEAgLTExMCw3ICsxMTAsOSBAQCBpbnQgeGVfc3luY19lbnRy eV9wYXJzZShzdHJ1Y3QgeGVfZGV2aWNlICp4ZSwgc3RydWN0IHhlX2ZpbGUgKnhlZiwNCj4gPiAg CQlyZXR1cm4gLUVGQVVMVDsNCj4gPiAgDQo+ID4gIAlpZiAoWEVfSU9DVExfRVJSKHhlLCBzeW5j X2luLmZsYWdzICYNCj4gPiAtCQkJIH4oU1lOQ19GTEFHU19UWVBFX01BU0sgfCBEUk1fWEVfU1lO Q19TSUdOQUwpKSkNCj4gPiArCQkJIH4oU1lOQ19GTEFHU19UWVBFX01BU0sgfCBEUk1fWEVfU1lO Q19TSUdOQUwpKSB8fA0KPiA+ICsJICAgIFhFX0lPQ1RMX0VSUih4ZSwgc3luY19pbi5wYWQpIHx8 DQo+ID4gKwkgICAgWEVfSU9DVExfRVJSKHhlLCBzeW5jX2luLnJlc2VydmVkWzBdIHx8IHN5bmNf aW4ucmVzZXJ2ZWRbMV0pKQ0KPiA+ICAJCXJldHVybiAtRUlOVkFMOw0KPiA+ICANCj4gPiAgCXN3 aXRjaCAoc3luY19pbi5mbGFncyAmIFNZTkNfRkxBR1NfVFlQRV9NQVNLKSB7DQo+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV92bS5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hl X3ZtLmMNCj4gPiBpbmRleCBiZGY4MmQzNGViNjYuLjNkNzBjYTIzNWJhMyAxMDA2NDQNCj4gPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfdm0uYw0KPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS94ZS94ZV92bS5jDQo+ID4gQEAgLTE3NzQsNyArMTc3NCw5IEBAIHN0YXRpYyBpbnQgdm1fdXNl cl9leHRfc2V0X3Byb3BlcnR5KHN0cnVjdCB4ZV9kZXZpY2UgKnhlLCBzdHJ1Y3QgeGVfdm0gKnZt LA0KPiA+ICAJCXJldHVybiAtRUZBVUxUOw0KPiA+ICANCj4gPiAgCWlmIChYRV9JT0NUTF9FUlIo eGUsIGV4dC5wcm9wZXJ0eSA+PQ0KPiA+IC0JCQkgQVJSQVlfU0laRSh2bV9zZXRfcHJvcGVydHlf ZnVuY3MpKSkNCj4gPiArCQkJIEFSUkFZX1NJWkUodm1fc2V0X3Byb3BlcnR5X2Z1bmNzKSkgfHwN Cj4gPiArCSAgICBYRV9JT0NUTF9FUlIoeGUsIGV4dC5wYWQpIHx8DQo+ID4gKwkgICAgWEVfSU9D VExfRVJSKHhlLCBleHQucmVzZXJ2ZWRbMF0gfHwgZXh0LnJlc2VydmVkWzFdKSkNCj4gPiAgCQly ZXR1cm4gLUVJTlZBTDsNCj4gPiAgDQo+ID4gIAlyZXR1cm4gdm1fc2V0X3Byb3BlcnR5X2Z1bmNz W2V4dC5wcm9wZXJ0eV0oeGUsIHZtLCBleHQudmFsdWUpOw0KPiA+IEBAIC0xODAyLDcgKzE4MDQs OCBAQCBzdGF0aWMgaW50IHZtX3VzZXJfZXh0ZW5zaW9ucyhzdHJ1Y3QgeGVfZGV2aWNlICp4ZSwg c3RydWN0IHhlX3ZtICp2bSwNCj4gPiAgCWlmIChYRV9JT0NUTF9FUlIoeGUsIGVycikpDQo+ID4g IAkJcmV0dXJuIC1FRkFVTFQ7DQo+ID4gIA0KPiA+IC0JaWYgKFhFX0lPQ1RMX0VSUih4ZSwgZXh0 Lm5hbWUgPj0NCj4gPiArCWlmIChYRV9JT0NUTF9FUlIoeGUsIGV4dC5wYWQpIHx8DQo+ID4gKwkg ICAgWEVfSU9DVExfRVJSKHhlLCBleHQubmFtZSA+PQ0KPiA+ICAJCQkgQVJSQVlfU0laRSh2bV91 c2VyX2V4dGVuc2lvbl9mdW5jcykpKQ0KPiA+ICAJCXJldHVybiAtRUlOVkFMOw0KPiA+ICANCj4g PiBAQCAtMTgzMyw2ICsxODM2LDkgQEAgaW50IHhlX3ZtX2NyZWF0ZV9pb2N0bChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCB2b2lkICpkYXRhLA0KPiA+ICAJaW50IGVycjsNCj4gPiAgCXUzMiBmbGFn cyA9IDA7DQo+ID4gIA0KPiA+ICsJaWYgKFhFX0lPQ1RMX0VSUih4ZSwgYXJncy0+cmVzZXJ2ZWRb MF0gfHwgYXJncy0+cmVzZXJ2ZWRbMV0pKQ0KPiA+ICsJCXJldHVybiAtRUlOVkFMOw0KPiA+ICsN Cj4gPiAgCWlmIChYRV9JT0NUTF9FUlIoeGUsIGFyZ3MtPmZsYWdzICYgfkFMTF9EUk1fWEVfVk1f Q1JFQVRFX0ZMQUdTKSkNCj4gPiAgCQlyZXR1cm4gLUVJTlZBTDsNCj4gPiAgDQo+ID4gQEAgLTE5 MTYsNyArMTkyMiw4IEBAIGludCB4ZV92bV9kZXN0cm95X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIHZvaWQgKmRhdGEsDQo+ID4gIAlzdHJ1Y3QgZHJtX3hlX3ZtX2Rlc3Ryb3kgKmFyZ3Mg PSBkYXRhOw0KPiA+ICAJc3RydWN0IHhlX3ZtICp2bTsNCj4gPiAgDQo+ID4gLQlpZiAoWEVfSU9D VExfRVJSKHhlLCBhcmdzLT5wYWQpKQ0KPiA+ICsJaWYgKFhFX0lPQ1RMX0VSUih4ZSwgYXJncy0+ cGFkKSB8fA0KPiA+ICsJICAgIFhFX0lPQ1RMX0VSUih4ZSwgYXJncy0+cmVzZXJ2ZWRbMF0gfHwg YXJncy0+cmVzZXJ2ZWRbMV0pKQ0KPiA+ICAJCXJldHVybiAtRUlOVkFMOw0KPiA+ICANCj4gPiAg CXZtID0geGVfdm1fbG9va3VwKHhlZiwgYXJncy0+dm1faWQpOw0KPiA+IEBAIC0yODY2LDYgKzI4 NzMsNyBAQCBzdGF0aWMgaW50IHZtX2JpbmRfaW9jdGxfY2hlY2tfYXJncyhzdHJ1Y3QgeGVfZGV2 aWNlICp4ZSwNCj4gPiAgCWludCBpOw0KPiA+ICANCj4gPiAgCWlmIChYRV9JT0NUTF9FUlIoeGUs IGFyZ3MtPmV4dGVuc2lvbnMpIHx8DQo+ID4gKwkgICAgWEVfSU9DVExfRVJSKHhlLCBhcmdzLT5y ZXNlcnZlZFswXSB8fCBhcmdzLT5yZXNlcnZlZFsxXSkgfHwNCj4gPiAgCSAgICBYRV9JT0NUTF9F UlIoeGUsICFhcmdzLT5udW1fYmluZHMpIHx8DQo+ID4gIAkgICAgWEVfSU9DVExfRVJSKHhlLCBh cmdzLT5udW1fYmluZHMgPiBNQVhfQklORFMpKQ0KPiA+ICAJCXJldHVybiAtRUlOVkFMOw0KPiA+ IEBAIC0yODk4LDYgKzI5MDYsMTMgQEAgc3RhdGljIGludCB2bV9iaW5kX2lvY3RsX2NoZWNrX2Fy Z3Moc3RydWN0IHhlX2RldmljZSAqeGUsDQo+ID4gIAkJdTY0IG9ial9vZmZzZXQgPSAoKmJpbmRf b3BzKVtpXS5vYmpfb2Zmc2V0Ow0KPiA+ICAJCXUzMiByZWdpb24gPSAoKmJpbmRfb3BzKVtpXS5y ZWdpb247DQo+ID4gIA0KPiA+ICsJCWlmIChYRV9JT0NUTF9FUlIoeGUsICgqYmluZF9vcHMpW2ld LnBhZCkgfHwNCj4gPiArCQkgICAgWEVfSU9DVExfRVJSKHhlLCAoKmJpbmRfb3BzKVtpXS5yZXNl cnZlZFswXSB8fA0KPiA+ICsJCQkJICAgICAoKmJpbmRfb3BzKVtpXS5yZXNlcnZlZFsxXSkpIHsN Cj4gPiArCQkJZXJyID0gLUVJTlZBTDsNCj4gPiArCQkJZ290byBmcmVlX2JpbmRfb3BzOw0KPiA+ ICsJCX0NCj4gPiArDQo+ID4gIAkJaWYgKGkgPT0gMCkgew0KPiA+ICAJCQkqYXN5bmMgPSAhIShv cCAmIFhFX1ZNX0JJTkRfRkxBR19BU1lOQyk7DQo+ID4gIAkJfSBlbHNlIGlmIChYRV9JT0NUTF9F UlIoeGUsICEqYXN5bmMpIHx8DQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94 ZV92bV9tYWR2aXNlLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfdm1fbWFkdmlzZS5jDQo+ID4g aW5kZXggMjk4MTU4NTI5ODVhLi5jN2UzYWU3MjAzZDcgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL3hlL3hlX3ZtX21hZHZpc2UuYw0KPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS94 ZS94ZV92bV9tYWR2aXNlLmMNCj4gPiBAQCAtMzAxLDcgKzMwMSw4IEBAIGludCB4ZV92bV9tYWR2 aXNlX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsDQo+ID4gIAlzdHJ1 Y3QgeGVfdm1hICoqdm1hcyA9IE5VTEw7DQo+ID4gIAlpbnQgbnVtX3ZtYXMgPSAwLCBlcnIgPSAw LCBpZHg7DQo+ID4gIA0KPiA+IC0JaWYgKFhFX0lPQ1RMX0VSUih4ZSwgYXJncy0+ZXh0ZW5zaW9u cykpDQo+ID4gKwlpZiAoWEVfSU9DVExfRVJSKHhlLCBhcmdzLT5leHRlbnNpb25zKSB8fA0KPiA+ ICsJICAgIFhFX0lPQ1RMX0VSUih4ZSwgYXJncy0+cmVzZXJ2ZWRbMF0gfHwgYXJncy0+cmVzZXJ2 ZWRbMV0pKQ0KPiA+ICAJCXJldHVybiAtRUlOVkFMOw0KPiA+ICANCj4gPiAgCWlmIChYRV9JT0NU TF9FUlIoeGUsIGFyZ3MtPnByb3BlcnR5ID4gQVJSQVlfU0laRShtYWR2aXNlX2Z1bmNzKSkpDQo+ ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV93YWl0X3VzZXJfZmVuY2UuYyBi L2RyaXZlcnMvZ3B1L2RybS94ZS94ZV93YWl0X3VzZXJfZmVuY2UuYw0KPiA+IGluZGV4IDE1YzJl NWFhMDhkMi4uZWVmOTg5NjQ3YmIwIDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS94 ZS94ZV93YWl0X3VzZXJfZmVuY2UuYw0KPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV93 YWl0X3VzZXJfZmVuY2UuYw0KPiA+IEBAIC0xMDAsNyArMTAwLDggQEAgaW50IHhlX3dhaXRfdXNl cl9mZW5jZV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLA0KPiA+ICAJ CWFyZ3MtPmZsYWdzICYgRFJNX1hFX1VGRU5DRV9XQUlUX1ZNX0VSUk9SOw0KPiA+ICAJdW5zaWdu ZWQgbG9uZyB0aW1lb3V0ID0gYXJncy0+dGltZW91dDsNCj4gPiAgDQo+ID4gLQlpZiAoWEVfSU9D VExfRVJSKHhlLCBhcmdzLT5leHRlbnNpb25zKSkNCj4gPiArCWlmIChYRV9JT0NUTF9FUlIoeGUs IGFyZ3MtPmV4dGVuc2lvbnMpIHx8DQo+ID4gKwkgICAgWEVfSU9DVExfRVJSKHhlLCBhcmdzLT5y ZXNlcnZlZFswXSB8fCBhcmdzLT5yZXNlcnZlZFsxXSkpDQo+ID4gIAkJcmV0dXJuIC1FSU5WQUw7 DQo+ID4gIA0KPiA+ICAJaWYgKFhFX0lPQ1RMX0VSUih4ZSwgYXJncy0+ZmxhZ3MgJiB+VkFMSURf RkxBR1MpKQ0KPiA+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL3hlX2RybS5oIGIvaW5j bHVkZS91YXBpL2RybS94ZV9kcm0uaA0KPiA+IGluZGV4IGIwYjgwYWFlM2VlOC4uMTNiNTAxOThi YTA0IDEwMDY0NA0KPiA+IC0tLSBhL2luY2x1ZGUvdWFwaS9kcm0veGVfZHJtLmgNCj4gPiArKysg Yi9pbmNsdWRlL3VhcGkvZHJtL3hlX2RybS5oDQo+ID4gQEAgLTkxLDcgKzkxLDcgQEAgc3RydWN0 IHhlX3VzZXJfZXh0ZW5zaW9uIHsNCj4gPiAgCSAqLw0KPiA+ICAJX191MzIgbmFtZTsNCj4gPiAg CS8qKg0KPiA+IC0JICogQGZsYWdzOiBNQloNCj4gPiArCSAqIEBwYWQ6IE1CWg0KPiA+ICAJICoN Cj4gPiAgCSAqIEFsbCB1bmRlZmluZWQgYml0cyBtdXN0IGJlIHplcm8uDQo+ID4gIAkgKi8NCj4g PiBAQCAtMTM3LDcgKzEzNyw3IEBAIHN0cnVjdCB4ZV91c2VyX2V4dGVuc2lvbiB7DQo+ID4gICNk ZWZpbmUgRFJNX0lPQ1RMX1hFX1ZNX01BRFZJU0UJCQlEUk1fSU9XKCBEUk1fQ09NTUFORF9CQVNF ICsgRFJNX1hFX1ZNX01BRFZJU0UsIHN0cnVjdCBkcm1feGVfdm1fbWFkdmlzZSkNCj4gPiAgDQo+ ID4gIHN0cnVjdCBkcm1feGVfZW5naW5lX2NsYXNzX2luc3RhbmNlIHsNCj4gPiAtCV9fdTE2IGVu Z2luZV9jbGFzczsNCj4gPiArCV9fdTMyIGVuZ2luZV9jbGFzczsNCj4gDQo+IE1ha2VzIG1vcmUg c2Vuc2UgdG8gaGF2ZSBlbmdpbmVfaW5zdGFuY2UgYXMgdTMyIHRoYW4gZW5naW5lX2NsYXNzLg0K PiANCj4gPiAgDQo+ID4gICNkZWZpbmUgRFJNX1hFX0VOR0lORV9DTEFTU19SRU5ERVIJCTANCj4g PiAgI2RlZmluZSBEUk1fWEVfRU5HSU5FX0NMQVNTX0NPUFkJCTENCj4gPiBAQCAtMjkxLDYgKzI5 MSwxMyBAQCBzdHJ1Y3QgZHJtX3hlX2dlbV9jcmVhdGUgew0KPiA+ICAJICovDQo+ID4gIAlfX3Uz MiBoYW5kbGU7DQo+ID4gIA0KPiA+ICsJLyoqDQo+ID4gKwkgKiBAcGFkOiBNQloNCj4gPiArCSAq DQo+ID4gKwkgKiBBbGwgdW5kZWZpbmVkIGJpdHMgbXVzdCBiZSB6ZXJvLg0KPiA+ICsJICovDQo+ ID4gKwlfX3UzMiBwYWQ7DQo+ID4gKw0KPiA+ICAJLyoqIEByZXNlcnZlZDogUmVzZXJ2ZWQgKi8N Cj4gPiAgCV9fdTY0IHJlc2VydmVkWzJdOw0KPiA+ICB9Ow0KPiA+IEBAIC0zMzUsNiArMzQyLDkg QEAgc3RydWN0IGRybV94ZV9leHRfdm1fc2V0X3Byb3BlcnR5IHsNCj4gPiAgI2RlZmluZSBYRV9W TV9QUk9QRVJUWV9CSU5EX09QX0VSUk9SX0NBUFRVUkVfQUREUkVTUwkJMA0KPiA+ICAJX191MzIg cHJvcGVydHk7DQo+ID4gIA0KPiA+ICsJLyoqIEBwYWQ6IE1CWiAqLw0KPiA+ICsJX191MzIgcGFk Ow0KPiA+ICsNCj4gPiAgCS8qKiBAdmFsdWU6IHByb3BlcnR5IHZhbHVlICovDQo+ID4gIAlfX3U2 NCB2YWx1ZTsNCj4gPiAgDQo+ID4gQEAgLTM3OSw2ICszODksOSBAQCBzdHJ1Y3QgZHJtX3hlX3Zt X2JpbmRfb3Agew0KPiA+ICAJICovDQo+ID4gIAlfX3UzMiBvYmo7DQo+ID4gIA0KPiA+ICsJLyoq IEBwYWQ6IE1CWiAqLw0KPiA+ICsJX191MzIgcGFkOw0KPiA+ICsNCj4gPiAgCXVuaW9uIHsNCj4g PiAgCQkvKioNCj4gPiAgCQkgKiBAb2JqX29mZnNldDogT2Zmc2V0IGludG8gdGhlIG9iamVjdCwg TUJaIGZvciBDTEVBUl9SQU5HRSwNCj4gPiBAQCAtNDY5LDYgKzQ4MiwxMiBAQCBzdHJ1Y3QgZHJt X3hlX3ZtX2JpbmQgew0KPiA+ICAJLyoqIEBudW1fYmluZHM6IG51bWJlciBvZiBiaW5kcyBpbiB0 aGlzIElPQ1RMICovDQo+ID4gIAlfX3UzMiBudW1fYmluZHM7DQo+ID4gIA0KPiA+ICsJLyoqIEBu dW1fc3luY3M6IGFtb3VudCBvZiBzeW5jcyB0byB3YWl0IG9uICovDQo+ID4gKwlfX3UzMiBudW1f c3luY3M7DQo+ID4gKw0KPiA+ICsJLyoqIEBzeW5jczogcG9pbnRlciB0byBzdHJ1Y3QgZHJtX3hl X3N5bmMgYXJyYXkgKi8NCj4gPiArCV9fdTY0IHN5bmNzOw0KPiA+ICsNCj4gPiAgCXVuaW9uIHsN Cj4gPiAgCQkvKiogQGJpbmQ6IHVzZWQgaWYgbnVtX2JpbmRzID09IDEgKi8NCj4gPiAgCQlzdHJ1 Y3QgZHJtX3hlX3ZtX2JpbmRfb3AgYmluZDsNCj4gPiBAQCAtNDc5LDEyICs0OTgsNiBAQCBzdHJ1 Y3QgZHJtX3hlX3ZtX2JpbmQgew0KPiA+ICAJCV9fdTY0IHZlY3Rvcl9vZl9iaW5kczsNCj4gPiAg CX07DQo+ID4gIA0KPiA+IC0JLyoqIEBudW1fc3luY3M6IGFtb3VudCBvZiBzeW5jcyB0byB3YWl0 IG9uICovDQo+ID4gLQlfX3UzMiBudW1fc3luY3M7DQo+ID4gLQ0KPiA+IC0JLyoqIEBzeW5jczog cG9pbnRlciB0byBzdHJ1Y3QgZHJtX3hlX3N5bmMgYXJyYXkgKi8NCj4gPiAtCV9fdTY0IHN5bmNz Ow0KPiA+IC0NCj4gPiAgCS8qKiBAcmVzZXJ2ZWQ6IFJlc2VydmVkICovDQo+ID4gIAlfX3U2NCBy ZXNlcnZlZFsyXTsNCj4gPiAgfTsNCj4gPiBAQCAtNDk3LDYgKzUxMCw5IEBAIHN0cnVjdCBkcm1f eGVfZXh0X2VuZ2luZV9zZXRfcHJvcGVydHkgew0KPiA+ICAJLyoqIEBwcm9wZXJ0eTogcHJvcGVy dHkgdG8gc2V0ICovDQo+ID4gIAlfX3UzMiBwcm9wZXJ0eTsNCj4gPiAgDQo+ID4gKwkvKiogQHBh ZDogTUJaICovDQo+ID4gKwlfX3UzMiBwYWQ7DQo+ID4gKw0KPiA+ICAJLyoqIEB2YWx1ZTogcHJv cGVydHkgdmFsdWUgKi8NCj4gPiAgCV9fdTY0IHZhbHVlOw0KPiA+ICB9Ow0KPiA+IEBAIC02MDQs OCArNjIwLDEyIEBAIHN0cnVjdCBkcm1feGVfc3luYyB7DQo+ID4gIAkvKiogQGV4dGVuc2lvbnM6 IFBvaW50ZXIgdG8gdGhlIGZpcnN0IGV4dGVuc2lvbiBzdHJ1Y3QsIGlmIGFueSAqLw0KPiA+ICAJ X191NjQgZXh0ZW5zaW9uczsNCj4gPiAgDQo+ID4gKwkvKiogQGZsYWdzOiBPbmUgb2YgRFJNX1hF X1NZTkNfKiBmbGFncyAqLw0KPiA+ICAJX191MzIgZmxhZ3M7DQo+ID4gIA0KPiA+ICsJLyoqIEBw YWQ6IE1CWiAqLw0KPiA+ICsJX191MzIgcGFkOw0KPiA+ICsNCj4gPiAgI2RlZmluZSBEUk1fWEVf U1lOQ19TWU5DT0JKCQkweDANCj4gPiAgI2RlZmluZSBEUk1fWEVfU1lOQ19USU1FTElORV9TWU5D T0JKCTB4MQ0KPiA+ICAjZGVmaW5lIERSTV9YRV9TWU5DX0RNQV9CVUYJCTB4Mg0KPiA+IEBAIC02 MTMsNyArNjMzLDcgQEAgc3RydWN0IGRybV94ZV9zeW5jIHsNCj4gPiAgI2RlZmluZSBEUk1fWEVf U1lOQ19TSUdOQUwJCTB4MTANCj4gPiAgDQo+ID4gIAl1bmlvbiB7DQo+ID4gLQkJX191MzIgaGFu ZGxlOw0KPiA+ICsJCV9fdTY0IGhhbmRsZTsNCj4gDQo+IHN0cnVjdCBkcm1fc3luY29ial9jcmVh dGUgew0KPiAJX191MzIgaGFuZGxlOw0KPiAjZGVmaW5lIERSTV9TWU5DT0JKX0NSRUFURV9TSUdO QUxFRCAoMSA8PCAwKQ0KPiAJX191MzIgZmxhZ3M7DQo+IH07DQo+IA0KPiBTbyB0aGlzIGhhbmRs ZSB3aWxsIGFsd2F5cyBiZSBhIF9fdTMyLCBiZXR0ZXIgYWRkIGEgcGFkIGhlcmUuDQoNCk90aGVy IHF1ZXN0aW9uLCBhcmUgeW91IHBsYW5uaW5nIHRvIGFkanVzdCBYZSBjb2RlIHRvIHRha2UgYWNj b3VudCB0aGUgbmV3IGRhdGEgdHlwZXM/DQoNCkkgc2VlIGEgbG90IG9mIG1pc21hdGNoZXMobGlr ZSAnaWYgKFhFX0lPQ1RMX0VSUih4ZSwgZW5naW5lLT53aWR0aCAhPSBhcmdzLT5udW1fYmF0Y2hf YnVmZmVyKSknKSB0aGF0IGluIG15IG9waW5pb24gc2hvdWxkIGJlIHBhcnQgb2YgdGhpcyBwYXRj aA0Kc2VyaWVzIG9yIGZvbGxvdyB1cCByaWdodCBhZnRlciB0aGlzIGdldHMgbWVyZ2VkLg0KDQo+ IA0KPiA+ICAJCS8qKg0KPiA+ICAJCSAqIEBhZGRyOiBBZGRyZXNzIG9mIHVzZXIgZmVuY2UuIFdo ZW4gc3luYyBwYXNzZWQgaW4gdmlhIGV4ZWMNCj4gPiAgCQkgKiBJT0NUTCB0aGlzIGEgR1BVIGFk ZHJlc3MgaW4gdGhlIFZNLiBXaGVuIHN5bmMgcGFzc2VkIGluIHZpYQ0KPiA+IEBAIC02NTQsNyAr Njc0LDEwIEBAIHN0cnVjdCBkcm1feGVfZXhlYyB7DQo+ID4gIAkgKiBAbnVtX2JhdGNoX2J1ZmZl cjogbnVtYmVyIG9mIGJhdGNoIGJ1ZmZlciBpbiB0aGlzIGV4ZWMsIG11c3QgbWF0Y2gNCj4gPiAg CSAqIHRoZSB3aWR0aCBvZiB0aGUgZW5naW5lDQo+ID4gIAkgKi8NCj4gPiAtCV9fdTE2IG51bV9i YXRjaF9idWZmZXI7DQo+ID4gKwlfX3UzMiBudW1fYmF0Y2hfYnVmZmVyOw0KPiA+ICsNCj4gPiAr CS8qKiBAcGFkOiBNQlogKi8NCj4gPiArCV9fdTMyIHBhZDsNCj4gPiAgDQo+ID4gIAkvKiogQHJl c2VydmVkOiBSZXNlcnZlZCAqLw0KPiA+ICAJX191NjQgcmVzZXJ2ZWRbMl07DQo+ID4gQEAgLTY2 NCw4ICs2ODcsMTAgQEAgc3RydWN0IGRybV94ZV9tbWlvIHsNCj4gPiAgCS8qKiBAZXh0ZW5zaW9u czogUG9pbnRlciB0byB0aGUgZmlyc3QgZXh0ZW5zaW9uIHN0cnVjdCwgaWYgYW55ICovDQo+ID4g IAlfX3U2NCBleHRlbnNpb25zOw0KPiA+ICANCj4gPiArCS8qKiBAYWRkcjogQWRkcmVzcyBpbiBt bWlvIHNwYWNlIHRvIGRvIGFuIG9wIG9uICovDQo+ID4gIAlfX3UzMiBhZGRyOw0KPiA+ICANCj4g PiArCS8qKiBAZmxhZ3M6IENvbWJpbmF0aW9uIG9mIERSTV9YRV9NTUlPXyogZmxhZ3MgKi8NCj4g PiAgCV9fdTMyIGZsYWdzOw0KPiA+ICANCj4gPiAgI2RlZmluZSBEUk1fWEVfTU1JT184QklUCTB4 MA0KPiA+IEBAIC03MTIsMTIgKzczNywxMyBAQCBzdHJ1Y3QgZHJtX3hlX3dhaXRfdXNlcl9mZW5j ZSB7DQo+ID4gICNkZWZpbmUgRFJNX1hFX1VGRU5DRV9XQUlUX0dURQkzDQo+ID4gICNkZWZpbmUg RFJNX1hFX1VGRU5DRV9XQUlUX0xUCTQNCj4gPiAgI2RlZmluZSBEUk1fWEVfVUZFTkNFX1dBSVRf TFRFCTUNCj4gPiAtCV9fdTE2IG9wOw0KPiA+ICsJX191MzIgb3A7DQo+ID4gIAkvKiogQGZsYWdz OiB3YWl0IGZsYWdzICovDQo+ID4gICNkZWZpbmUgRFJNX1hFX1VGRU5DRV9XQUlUX1NPRlRfT1AJ KDEgPDwgMCkJLyogZS5nLiBXYWl0IG9uIFZNIGJpbmQgKi8NCj4gPiAgI2RlZmluZSBEUk1fWEVf VUZFTkNFX1dBSVRfQUJTVElNRQkoMSA8PCAxKQ0KPiA+ICAjZGVmaW5lIERSTV9YRV9VRkVOQ0Vf V0FJVF9WTV9FUlJPUgkoMSA8PCAyKQ0KPiA+IC0JX191MTYgZmxhZ3M7DQo+ID4gKwlfX3UzMiBm bGFnczsNCj4gPiArDQo+ID4gIAkvKiogQHZhbHVlOiBjb21wYXJlIHZhbHVlICovDQo+ID4gIAlf X3U2NCB2YWx1ZTsNCj4gPiAgCS8qKiBAbWFzazogY29tcGFyaXNvbiBtYXNrICovDQo+ID4gQEAg LTc0NywxNSArNzczLDIxIEBAIHN0cnVjdCBkcm1feGVfdm1fbWFkdmlzZSB7DQo+ID4gIAkvKiog QGV4dGVuc2lvbnM6IFBvaW50ZXIgdG8gdGhlIGZpcnN0IGV4dGVuc2lvbiBzdHJ1Y3QsIGlmIGFu eSAqLw0KPiA+ICAJX191NjQgZXh0ZW5zaW9uczsNCj4gPiAgDQo+ID4gLQkvKiogQHZtX2lkOiBU aGUgSUQgVk0gaW4gd2hpY2ggdGhlIFZNQSBleGlzdHMgKi8NCj4gPiAtCV9fdTMyIHZtX2lkOw0K PiA+IC0NCj4gPiAgCS8qKiBAcmFuZ2U6IE51bWJlciBvZiBieXRlcyBpbiB0aGUgVk1BICovDQo+ ID4gIAlfX3U2NCByYW5nZTsNCj4gPiAgDQo+ID4gIAkvKiogQGFkZHI6IEFkZHJlc3Mgb2YgdGhl IFZNQSB0byBvcGVyYXRpb24gb24gKi8NCj4gPiAgCV9fdTY0IGFkZHI7DQo+ID4gIA0KPiA+ICsJ LyoqIEB2bV9pZDogVGhlIElEIFZNIGluIHdoaWNoIHRoZSBWTUEgZXhpc3RzICovDQo+ID4gKwlf X3UzMiB2bV9pZDsNCj4gPiArDQo+ID4gKwkvKiogQHByb3BlcnR5OiBwcm9wZXJ0eSB0byBzZXQg KERSTV9YRV9WTV9NQURWSVNFXyopICovDQo+ID4gKwlfX3UzMiBwcm9wZXJ0eTsNCj4gPiArDQo+ ID4gKwkvKiogQHZhbHVlOiBwcm9wZXJ0eSB2YWx1ZSAqLw0KPiA+ICsJX191NjQgdmFsdWU7DQo+ ID4gKw0KPiA+ICAJLyoNCj4gPiAgCSAqIFNldHRpbmcgdGhlIHByZWZlcnJlZCBsb2NhdGlvbiB3 aWxsIHRyaWdnZXIgYSBtaWdyYXRlIG9mIHRoZSBWTUENCj4gPiAgCSAqIGJhY2tpbmcgc3RvcmUg dG8gbmV3IGxvY2F0aW9uIGlmIHRoZSBiYWNraW5nIHN0b3JlIGlzIGFscmVhZHkNCj4gPiBAQCAt NzkxLDEyICs4MjMsNiBAQCBzdHJ1Y3QgZHJtX3hlX3ZtX21hZHZpc2Ugew0KPiA+ICAJLyogUGlu IHRoZSBWTUEgaW4gbWVtb3J5LCBtdXN0IGJlIGVsZXZhdGVkIHVzZXIgKi8NCj4gPiAgI2RlZmlu ZSBEUk1fWEVfVk1fTUFEVklTRV9QSU4JCQk2DQo+ID4gIA0KPiA+IC0JLyoqIEBwcm9wZXJ0eTog cHJvcGVydHkgdG8gc2V0ICovDQo+ID4gLQlfX3UzMiBwcm9wZXJ0eTsNCj4gPiAtDQo+ID4gLQkv KiogQHZhbHVlOiBwcm9wZXJ0eSB2YWx1ZSAqLw0KPiA+IC0JX191NjQgdmFsdWU7DQo+ID4gLQ0K PiA+ICAJLyoqIEByZXNlcnZlZDogUmVzZXJ2ZWQgKi8NCj4gPiAgCV9fdTY0IHJlc2VydmVkWzJd Ow0KPiA+ICB9Ow0KPiANCg0K