Received: by 2002:a05:6a10:7420:0:0:0:0 with SMTP id hk32csp797725pxb; Thu, 17 Feb 2022 15:11:28 -0800 (PST) X-Google-Smtp-Source: ABdhPJyAghd8LI7zLojSApUAVj7GDFSnR+uI2syTjj32h0NnUg+722cHU07/w9J+ZlrNF06XaaM4 X-Received: by 2002:a63:db47:0:b0:36c:8064:8c13 with SMTP id x7-20020a63db47000000b0036c80648c13mr4114634pgi.570.1645139488246; Thu, 17 Feb 2022 15:11:28 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1645139488; cv=pass; d=google.com; s=arc-20160816; b=bSlfwcBwsXBWnSEvXBkexbCbhwV9EbOgmMe9ZOR7u4ksAgE2MtM1dXhXGV7voF+FF/ bgRq8evoLgHTvY2slpCzAE7v9znsm5kuHkjFWcwTqIOCwdDWBz41lLCFUihlu1LjDyG1 EEXhIGruhnsO2EOy+vG5BrqLdTfReTvUx8AqB1Iuxjf1XSOk/89btzgq/4B83kcGD/Hx zHPup0NcyTnKqUGQEX9trTx+tdB64oTcPetjEEPnZul3L3c6ZG78KH7O/5CAwOK9hr93 WSfjnf2y3HtxJ5sl4KvtNkXIsJFx/en6ZDn5F/b8fyO11NSPu2d0YV8HWcRj0mNKkEMi N/dA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :dlp-version:dlp-reaction:dlp-product:content-language :accept-language:in-reply-to:references:message-id:date:thread-index :thread-topic:subject:cc:to:from:dkim-signature; bh=r5b5gEfXuoMkhP+irthgEhUniTl+LE93i8Q2d+IBHss=; b=DL0feCWuiywV5Qw8014cpTlo/Iq8H6KYBEW7KDT9dr1DC5ysjkuyeCEOktfX9bUeZk NEIsiecH7312+BKZfkxyKB1EaRp0AN/sRRO7Q921esQjX10j0f3fPqadlP7ug+OXUv0l 8CHFWWfE6SCjT5nakvAanMU+ZX9AN6YHkUVICZ/eJzTyoQTMnRsa9zR89BwFI/r2a9MT l14ELUTNQWzo7XSeqWgQIe0EzHsi2+XuJlxsiUrsq8n3jBnhosPNMIUxLXUH/Cw7iES5 dkigtu6/yge6Z4C4uqwQlm0V7iCgO1FdN8BEFLcKq3aH3b96yi1TUSFcR8ouF5hhd6XD bNpg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=UwN0PjA3; arc=pass (i=1 spf=pass spfdomain=intel.com dkim=pass dkdomain=intel.com dmarc=pass fromdomain=intel.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id x12si21571375plv.336.2022.02.17.15.11.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Feb 2022 15:11:28 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=UwN0PjA3; arc=pass (i=1 spf=pass spfdomain=intel.com dkim=pass dkdomain=intel.com dmarc=pass fromdomain=intel.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id D2ECC14EF59; Thu, 17 Feb 2022 15:02:33 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241897AbiBQOfA (ORCPT + 99 others); Thu, 17 Feb 2022 09:35:00 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:41598 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235817AbiBQOe6 (ORCPT ); Thu, 17 Feb 2022 09:34:58 -0500 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8AFFAB0D3B for ; Thu, 17 Feb 2022 06:34:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1645108482; x=1676644482; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=r5b5gEfXuoMkhP+irthgEhUniTl+LE93i8Q2d+IBHss=; b=UwN0PjA3X+gRa4veX9o3Y1Q8HDXLP8FlnYxw7seEVlUMlArHmG8ExbmD sCyyD+KZJFvPKpz0h/2xd8qViVYqb63/xDVEHXPElj6uR8umsd8OcIEMp rMWUdykLze1KpBcF01ihS9WH6tv8MGEZlxy2ZWfO30D9yQ14rcCFIsuEU 25MA1auHoTKitMROPoPF/DMJJ10RF/gIHCXDVn73dCSnr80jucuyg3BuN hQzMG3N7qoE/BUlf4FdBC4r91gZB1KqX2p5zVcjvQ1csXl5hTrypTs1XV RYrwPl42pTD+bIjzSFX0T/uELwk90DLAwjFGVThrYEkQmr/kfhOO5KCi3 Q==; X-IronPort-AV: E=McAfee;i="6200,9189,10260"; a="337329795" X-IronPort-AV: E=Sophos;i="5.88,376,1635231600"; d="scan'208";a="337329795" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Feb 2022 06:34:42 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,376,1635231600"; d="scan'208";a="503532324" Received: from fmsmsx606.amr.corp.intel.com ([10.18.126.86]) by orsmga002.jf.intel.com with ESMTP; 17 Feb 2022 06:34:41 -0800 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Thu, 17 Feb 2022 06:34:41 -0800 Received: from fmsmsx604.amr.corp.intel.com (10.18.126.84) by fmsmsx607.amr.corp.intel.com (10.18.126.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Thu, 17 Feb 2022 06:34:40 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20 via Frontend Transport; Thu, 17 Feb 2022 06:34:40 -0800 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.177) 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.2308.20; Thu, 17 Feb 2022 06:34:40 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XLeBiBFcsOpRqoN9ufAjtAxmsRkO9XaBDa6Buv4HX7ZTLAMbQMzcsKcb4WEY08652lA1ru9J/UHOjNOhIoUTgvon+H2LJdPpRafoDkWuvxXEUdZ8vSuquJlBxUN+HRhbz6P7LVOMLoBCRWYmjDrnAKRFYqnG/K3cbGcFKD4E7Dw30Mjk+mGXue4Bbpt0aMePdh8SGuUiWu3K5PDBMzZ45afdLUGgQpWbFIfKcllDhTGrMoPV1n0rtkFqV1gjeUQIHzozmsaS0Iv43MUJG/o2tYwvKwzdQH/yM6rX2v6eF74+sd0YOLKmnOGPv4ioxZBSWAvLO/DcwLn1cFKJiJL6wQ== 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=r5b5gEfXuoMkhP+irthgEhUniTl+LE93i8Q2d+IBHss=; b=CKyyOWZqu6ildwo8pGUEnBTRyoxB9x8GH83xmOJEkEA8sTYo7h7VJBXsNqic9G67Lc3HW7eWA0verfGOQ+k9HIOHrElvOu9L84fkhj+yEd+yQ8J9mbKwKvfSUVuG+Ohp8e8CvxqsLtj4IqubpEI4W0JoGvqDw5EwBLak6cpSVMGVWCOY6KyO8c081uwvgMuL2u4fu6HtJQLtfdblqcjL7XCq10mPmtwY4vkBKEm0H6CRJ6vRUriviPfsGsnnuhjTLvQUAffYv0erOniTrF5PJ0H7dtNvRJedrIr9mNldl+d7O3Mz+dZ0UTjZLkQUIgl5y+MJo9TiXZKkgAgJ67maeg== 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 MW3PR11MB4651.namprd11.prod.outlook.com (2603:10b6:303:2c::21) by BL0PR11MB3473.namprd11.prod.outlook.com (2603:10b6:208:6e::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4995.15; Thu, 17 Feb 2022 14:34:38 +0000 Received: from MW3PR11MB4651.namprd11.prod.outlook.com ([fe80::6498:650a:6a82:7644]) by MW3PR11MB4651.namprd11.prod.outlook.com ([fe80::6498:650a:6a82:7644%6]) with mapi id 15.20.4995.017; Thu, 17 Feb 2022 14:34:38 +0000 From: "Usyskin, Alexander" To: Tvrtko Ursulin , Greg Kroah-Hartman , Jani Nikula , Joonas Lahtinen , "Vivi, Rodrigo" , David Airlie , Daniel Vetter CC: "Winkler, Tomas" , "Lubart, Vitaly" , "intel-gfx@lists.freedesktop.org" , "linux-kernel@vger.kernel.org" Subject: RE: [PATCH v8 1/5] drm/i915/gsc: add gsc as a mei auxiliary device Thread-Topic: [PATCH v8 1/5] drm/i915/gsc: add gsc as a mei auxiliary device Thread-Index: AQHYI28rlYCDbD0Lw02hUB9n1n2uh6yXfSqAgABSmgA= Date: Thu, 17 Feb 2022 14:34:38 +0000 Message-ID: References: <20220216195459.3918414-1-alexander.usyskin@intel.com> <20220216195459.3918414-2-alexander.usyskin@intel.com> <7c381584-85bb-fb20-3bc4-2857d1dc24df@linux.intel.com> In-Reply-To: <7c381584-85bb-fb20-3bc4-2857d1dc24df@linux.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.200.16 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 4fbc5665-0b97-4fda-f58d-08d9f222a063 x-ms-traffictypediagnostic: BL0PR11MB3473:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Uo8Ddil/c34jBWHr5rqvAGuiixMXOeuKvTdqMD1FpLXYc2fD4EexeWyl1VwXav/GethSXLXDecn9jBrwvIlDRPuI9LGNAGl34ZF4oZ0GWWvCrwNoj3zVxLtP27D+2kk0dtRHNS86QGlp8EV5XrUlzXdWmPP/wAgFYPudWq63J8I2JAmPJkWrGemTUWnpq4/K7GIScZbga/3/5JLuU4aSxo+VgeOAtUK/SHfjibmh2t44sP8sPtmWARuotFvmEdqX1k1kcrHiSoymBB6ba8rHKWEGwGbkDlHPEIJ/wvBDYx8FzEPtJUA0+Dfs2jAgT3Va5QsRe4FtRPFWcBVypqzVOFCDcWGxze1l+0gP5kczcw6C7HlK+TFkWY4jx3DVHpb9KjsrP44FRgHLzqYAw5gKNiUnkcCX4myRiwaCW6sDioooXY4NfxvhHQ6krUfOUhpVJVHaLZ+hbI6YReYT7usJ8cjIBIiMxfa7/JMzfziKpvocxjEly+IzZd3lLe2enijGWrvjt+wui9LzZQeGc1dPymv+HgEQcxYmWXDsTCxhQyJjDhbXvrpQCo028Kj9uGMImDXKhnkXyMYvUe6T/LaBbfTApmBATaKfOq88en3mTO03u7hiblLxC7sVTW5tFenIpzklmtK+OfwQyZqH3fo35n80lh33YMR7lTonxr11KLIk7e2KGENoKC2BOibNNA8ejOEe49F2nq9qvxqgUYIlpw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR11MB4651.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(7696005)(86362001)(9686003)(38100700002)(82960400001)(53546011)(55016003)(8936002)(6506007)(8676002)(110136005)(54906003)(122000001)(2906002)(316002)(508600001)(64756008)(76116006)(66476007)(83380400001)(38070700005)(33656002)(66446008)(71200400001)(52536014)(66556008)(5660300002)(26005)(4326008)(30864003)(66946007)(186003)(579004);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?eG41YkJsdWhsY29RODZVVlFoTzRMQXFnMU1VQVp2MXhyVFRORVdUVWk3elV5?= =?utf-8?B?WEt3R1l3K1ptVm9VRGc4RHpCL1IzbEdEdUFmZ0xmbjVMdTVkQ0dZK2lvZkQx?= =?utf-8?B?VDgyY2pCdk9IdFZqamJZVjFxTTdtRXFFZEdRRlh1UjdRb3ZBRHlqL1YxZWxn?= =?utf-8?B?eE4vLytPblQxTnMvaWJEMDJJR3d4UFZkNFZzVjRHVXdnbVRvV3hGYStXSmlH?= =?utf-8?B?V21mSWJGb2gxRjJzT0NMUXk1aXhwWnFHVzJCS0hqTWs4MTlNOFhnK2NFOEN4?= =?utf-8?B?d0RqelhxSHpWeURBRUdWaWJwa0RqTEpuNmFUM00zTUZmTTA4SEFIaGM1bDBC?= =?utf-8?B?a0x5VW03MFlvNjFEbTFQYWJIamZ2MmhUK3Rxem5RdC9wU2pSanNxSjdqNHZ0?= =?utf-8?B?NGdlSnFKOSs0VDlRcmgzdXIzdUFJOXA2UWM2VVFxclV2Wk8weGtIOFV2ODRj?= =?utf-8?B?emhscXM1UmhCdEVDQzY0SHZFSnE4YW5NeWkrYllOak02VGZ2SWtyVVNiSGkw?= =?utf-8?B?THF2WEYxbDREaEF2SkVNbVRxM2I5OEZSenlYTnkzTnlsNy9LQTR3UDhCMGxJ?= =?utf-8?B?SnpsSDNFdTdoaWlCbDFHdjIzMnV5T3FrZ3RlL2o1dk50UFp2OU5RMER4ai9x?= =?utf-8?B?Q08wOVpEMDY0TDYvYmxVSDlNMVRQWTZKVG8rd0VMVW9peXZSUDRMVTNBNkFR?= =?utf-8?B?dU5WSE5yU0dqbktFVXdWczAvdmp1MEVuTzZ5ZDhtMk9PODVvMktXRG1jS2hq?= =?utf-8?B?bHNtVEkxdllTaVFzcGROb0prOHFYRlVxRG8xSnk0eHdJSEU3Tk0yYkJYNTFR?= =?utf-8?B?OUo3UkxiR1Q1VnR2MzJCWTNuS3cyS3lQQzQ5dDU3djQ3b2tzZCtNRmRmMGt6?= =?utf-8?B?ZzN0N1VJYVdSNW5VV1JwLzRQVW9PNnk0LzR6NlFQNS91MnhBT2J3VE9weWdz?= =?utf-8?B?TkxQaGRqVlpLdytKZG11SlNLVi9mazN3c2k3RWF4WXo0R3FWMzFFNWlUS0F1?= =?utf-8?B?UVUwTXE3d2YvcWhSMFVVYi9WMDErVzJrTnEwQlNualdtUEpFaXdKL0lCUzBJ?= =?utf-8?B?OTMzeHBORXRIRFBhM1crNm1SLzhPYUxUQ2Znb2NqUEJpTExUdithcnEzTmll?= =?utf-8?B?OFpSM2g1VWpIeklTVE50Mm95ZG5DQ2NxU0FFOEcvOVFwdWpraEt2ZndXMktE?= =?utf-8?B?M3FPSUs1cytOWFVXc0F3VkZGbmpXbDNtVUhIeDVidEFyUlFxZHRPN2p4WEZ2?= =?utf-8?B?Vm1od05rOW9KLy9hUHdFcFdtK21RVTlOcDY5dE95NnE4cHN1L3hYcVpjZzls?= =?utf-8?B?KzdvdWVUdUp6Q2JZbTFOYlRnRk9EdnJFMjdjcjQwaXhKQ0MvWTA1SHdCZmVu?= =?utf-8?B?M2tyUnhqL0QxOVRJbHEwNSt4RjRLV0E3OUhUcXRoZHQ4VW1iNUdtYUZheENJ?= =?utf-8?B?ZWZMejFiL1ZNbk5RQytURGhsYmxPMC9tVEdDRW5UNVdVdDh0eUVMU1NvUUdH?= =?utf-8?B?S0c2cWdOcjlLSmhKQUFjYzhzYTh4ZEZ0Vjg5MXo0WEJEMXNINnhtNVNwYTJ2?= =?utf-8?B?QnJyWC9Qakdpa2hkQ2M5cGYxZms3Q2REay9MWXFJMUNZT0RGZWxVRDVQSGVD?= =?utf-8?B?UjRXQkNSbjAwNTliYk9LbnlPcFViTnc3ZURxRXMraUJiWUdGMWhGQXlCS3I4?= =?utf-8?B?SXBPdE90U0xUSjRnbFAwcHkxeW8rVjVvRkwzcG9hTGhoSkY5ZTBEcmg4aVN4?= =?utf-8?B?cHdjT2lNTUoxMWwxT3crZG1LR09YZFVTblUyK0dHVHFTRFhWMnFVZmNQT0dj?= =?utf-8?B?WkhCS0svV3BRVkhMWXIvYTI1cEl0c0JpY0l0OEFHZ1lyRXpCcWNrbjlCSUFr?= =?utf-8?B?T3ROUU9mQ2E0TFVrWDkvSExqM0RwVHY1aWFDam9uR0xBRGhweS9Hdk5Zc0lI?= =?utf-8?B?c3ZTVUtBcnY2MUdYSnFUY0ZZWThHdWY5bEtXNXdsOERYV1diQVMwWjdxY3Ex?= =?utf-8?B?dnF0bVloTnd6Q1UwV3BpRm1oV0JJM0lRejdVSUU3VzVWb2dmem9QT0Q0aEsv?= =?utf-8?B?T3lVSWdPYVduSjh1VWFpMHdJcDBNSXNVWEw5NmNqN3BVUisxWDhOV0xScGxB?= =?utf-8?B?bGpPS3BEUlp1V2Q4OTBOT0FvSHRFZWxKRnVXTWJCSWJuVjdnNkdOdEF2OG1w?= =?utf-8?B?UldoaGx4K2IrVlh3N0hGL3NBRFVlZExJQ0o0VllFalVRRk0xTGZ5M1pPUS9z?= =?utf-8?B?QkJuSzk4YnpVZFRNeE5OZXIxZW53PT0=?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW3PR11MB4651.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4fbc5665-0b97-4fda-f58d-08d9f222a063 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Feb 2022 14:34:38.1945 (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: V+NTsbO2vqZsQLSf7ECU9hXzzVezi/pxOazcczCPDmc7k6m776bYLji2nCuZV/iua2HlQAjIunMfZqiB4k4X2FKGprSVFQdDozJV0yA9veY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR11MB3473 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogVHZydGtvIFVyc3VsaW4g PHR2cnRrby51cnN1bGluQGxpbnV4LmludGVsLmNvbT4NCj4gU2VudDogVGh1cnNkYXksIEZlYnJ1 YXJ5IDE3LCAyMDIyIDExOjM4DQo+IFRvOiBVc3lza2luLCBBbGV4YW5kZXIgPGFsZXhhbmRlci51 c3lza2luQGludGVsLmNvbT47IEdyZWcgS3JvYWgtDQo+IEhhcnRtYW4gPGdyZWdraEBsaW51eGZv dW5kYXRpb24ub3JnPjsgSmFuaSBOaWt1bGENCj4gPGphbmkubmlrdWxhQGxpbnV4LmludGVsLmNv bT47IEpvb25hcyBMYWh0aW5lbg0KPiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT47 IFZpdmksIFJvZHJpZ28gPHJvZHJpZ28udml2aUBpbnRlbC5jb20+Ow0KPiBEYXZpZCBBaXJsaWUg PGFpcmxpZWRAbGludXguaWU+OyBEYW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3bGwuY2g+DQo+IENj OiBXaW5rbGVyLCBUb21hcyA8dG9tYXMud2lua2xlckBpbnRlbC5jb20+OyBMdWJhcnQsIFZpdGFs eQ0KPiA8dml0YWx5Lmx1YmFydEBpbnRlbC5jb20+OyBpbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnOyBsaW51eC0NCj4ga2VybmVsQHZnZXIua2VybmVsLm9yZw0KPiBTdWJqZWN0OiBSZTog W1BBVENIIHY4IDEvNV0gZHJtL2k5MTUvZ3NjOiBhZGQgZ3NjIGFzIGEgbWVpIGF1eGlsaWFyeSBk ZXZpY2UNCj4gDQo+IA0KPiBPbiAxNi8wMi8yMDIyIDE5OjU0LCBBbGV4YW5kZXIgVXN5c2tpbiB3 cm90ZToNCj4gPiBGcm9tOiBUb21hcyBXaW5rbGVyIDx0b21hcy53aW5rbGVyQGludGVsLmNvbT4N Cj4gPg0KPiA+IEdTQyBpcyBhIGdyYXBoaWNzIHN5c3RlbSBjb250cm9sbGVyLCBpdCBwcm92aWRl cw0KPiA+IGEgY2hhc3NpcyBjb250cm9sbGVyIGZvciBncmFwaGljcyBkaXNjcmV0ZSBjYXJkcy4N Cj4gPg0KPiA+IFRoZXJlIGFyZSB0d28gTUVJIGludGVyZmFjZXMgaW4gR1NDOiBIRUNJMSBhbmQg SEVDSTIuDQo+ID4NCj4gPiBCb3RoIGludGVyZmFjZXMgYXJlIG9uIHRoZSBCQVIwIGF0IG9mZnNl dHMgMHgwMDI1ODAwMCBhbmQgMHgwMDI1OTAwMC4NCj4gPiBHU0MgaXMgYSBHVCBFbmdpbmUgKGNs YXNzIDQ6IGluc3RhbmNlIDYpLiBIRUNJMSBpbnRlcnJ1cHQgaXMgc2lnbmFsZWQNCj4gPiB2aWEg Yml0IDE1IGFuZCBIRUNJMiB2aWEgYml0IDE0IGluIHRoZSBpbnRlcnJ1cHQgcmVnaXN0ZXIuDQo+ ID4NCj4gPiBUaGlzIHBhdGNoIGV4cG9ydHMgR1NDIGFzIGF1eGlsaWFyeSBkZXZpY2UgZm9yIG1l aSBkcml2ZXIgdG8gYmluZCB0bw0KPiA+IGZvciBIRUNJMiBpbnRlcmZhY2UuDQo+ID4NCj4gPiBD QzogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPg0KPiA+IFNpZ25lZC1vZmYt Ynk6IFRvbWFzIFdpbmtsZXIgPHRvbWFzLndpbmtsZXJAaW50ZWwuY29tPg0KPiA+IFNpZ25lZC1v ZmYtYnk6IFZpdGFseSBMdWJhcnQgPHZpdGFseS5sdWJhcnRAaW50ZWwuY29tPg0KPiA+IFNpZ25l ZC1vZmYtYnk6IEFsZXhhbmRlciBVc3lza2luIDxhbGV4YW5kZXIudXN5c2tpbkBpbnRlbC5jb20+ DQo+ID4gLS0tDQo+ID4gVjQ6IGFkZCBoZWFkZXIgdG8gdGhlIE1BSU5UQUlORVJTIGZpbGUNCj4g PiAgICAgIGRyb3AgZW1wdHkgbGluZQ0KPiA+IFY1OiByZWJhc2UNCj4gPiBWNjogcmViYXNlLCBk cm9wIHJlZHVuZGFudCBhc3NpZ25tZW50cw0KPiA+IFY3OiBhZGQgR3JlZyBLSCBSZXZpZXdlZC1i eQ0KPiA+IFY4OiByZW5hbWUgZGV2X3ByaXYgdmFyaWFibGUgdG8gaTkxNSwNCj4gPiAgICAgIGRy b3AgZGF0YSBmcm9tIGlycV9zZXRfY2hpcF9kYXRhLA0KPiA+ICAgICAgc3dpdGNoIGludGVsX2dz Y19pcnFfaGFuZGxlciB3aXRoIGdzY19pcnFfaGFuZGxlciB0byBoYXZlIHNhbWUgcHJlZml4ZXMN Cj4gaW4gdGhlIGV4dGVybmFsIEFQSSwNCj4gPiAgICAgIGFkZCBlcnJvciBwcmludHMgYW5kIHVz ZSByaWdodCBkcm0gcHJpbnQgZnVuY3Rpb25zDQo+ID4gLS0tDQo+ID4gICBNQUlOVEFJTkVSUyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxICsNCj4gPiAgIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L0tjb25maWcgICAgICAgICAgICAgfCAgIDEgKw0KPiA+ICAgZHJpdmVycy9ncHUvZHJt L2k5MTUvTWFrZWZpbGUgICAgICAgICAgICB8ICAgMyArDQo+ID4gICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9ndC9pbnRlbF9nc2MuYyAgICAgIHwgMTk5DQo+ICsrKysrKysrKysrKysrKysrKysrKysr DQo+ID4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9nc2MuaCAgICAgIHwgIDM3ICsr KysrDQo+ID4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndC5jICAgICAgIHwgICAz ICsNCj4gPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0LmggICAgICAgfCAgIDUg Kw0KPiA+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3RfaXJxLmMgICB8ICAxMyAr Kw0KPiA+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3RfcmVncy5oICB8ICAgMSAr DQo+ID4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndF90eXBlcy5oIHwgICAyICsN Cj4gPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICAgfCAgIDggKw0K PiA+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYyAgICAgICAgICB8ICAgMyArLQ0K PiA+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgICAgICB8ICAgMiArDQo+ ID4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5oIHwgICAyICsNCj4g PiAgIGluY2x1ZGUvbGludXgvbWVpX2F1eC5oICAgICAgICAgICAgICAgICAgfCAgMTkgKysrDQo+ ID4gICAxNSBmaWxlcyBjaGFuZ2VkLCAyOTggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0K PiA+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2dz Yy5jDQo+ID4gICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50 ZWxfZ3NjLmgNCj4gPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL2xpbnV4L21laV9hdXgu aA0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL01BSU5UQUlORVJTIGIvTUFJTlRBSU5FUlMNCj4gPiBp bmRleCA3OGI4ZjIwMzhjZTguLmU5NWRhZDJiNjI4YyAxMDA2NDQNCj4gPiAtLS0gYS9NQUlOVEFJ TkVSUw0KPiA+ICsrKyBiL01BSU5UQUlORVJTDQo+ID4gQEAgLTk4MTAsNiArOTgxMCw3IEBAIFM6 CVN1cHBvcnRlZA0KPiA+ICAgRjoJRG9jdW1lbnRhdGlvbi9kcml2ZXItYXBpL21laS8qDQo+ID4g ICBGOglkcml2ZXJzL21pc2MvbWVpLw0KPiA+ICAgRjoJZHJpdmVycy93YXRjaGRvZy9tZWlfd2R0 LmMNCj4gPiArRjoJaW5jbHVkZS9saW51eC9tZWlfYXV4LmgNCj4gPiAgIEY6CWluY2x1ZGUvbGlu dXgvbWVpX2NsX2J1cy5oDQo+ID4gICBGOglpbmNsdWRlL3VhcGkvbGludXgvbWVpLmgNCj4gPiAg IEY6CXNhbXBsZXMvbWVpLyoNCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv S2NvbmZpZyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L0tjb25maWcNCj4gPiBpbmRleCA0MmI1NDAw ZjBmZWYuLmI1MWRiZTNjMDllZSAxMDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9LY29uZmlnDQo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvS2NvbmZpZw0KPiA+IEBA IC0yOSw2ICsyOSw3IEBAIGNvbmZpZyBEUk1fSTkxNQ0KPiA+ICAgCXNlbGVjdCBWTUFQX1BGTg0K PiA+ICAgCXNlbGVjdCBEUk1fVFRNDQo+ID4gICAJc2VsZWN0IERSTV9CVUREWQ0KPiA+ICsJc2Vs ZWN0IEFVWElMSUFSWV9CVVMNCj4gPiAgIAloZWxwDQo+ID4gICAJICBDaG9vc2UgdGhpcyBvcHRp b24gaWYgeW91IGhhdmUgYSBzeXN0ZW0gdGhhdCBoYXMgIkludGVsIEdyYXBoaWNzDQo+ID4gICAJ ICBNZWRpYSBBY2NlbGVyYXRvciIgb3IgIkhEIEdyYXBoaWNzIiBpbnRlZ3JhdGVkIGdyYXBoaWNz LA0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQ0KPiBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlDQo+ID4gaW5kZXggMjI2ZGJlZjVmNjRhLi5lNDBi YTcxYjNjZGQgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUN Cj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQ0KPiA+IEBAIC0xOTUsNiAr MTk1LDkgQEAgaTkxNS15ICs9IGd0L3VjL2ludGVsX3VjLm8gXA0KPiA+ICAgCSAgZ3QvdWMvaW50 ZWxfaHVjX2RlYnVnZnMubyBcDQo+ID4gICAJICBndC91Yy9pbnRlbF9odWNfZncubw0KPiA+DQo+ ID4gKyMgZ3JhcGhpY3Mgc3lzdGVtIGNvbnRyb2xsZXIgKEdTQykgc3VwcG9ydA0KPiA+ICtpOTE1 LXkgKz0gZ3QvaW50ZWxfZ3NjLm8NCj4gPiArDQo+ID4gICAjIG1vZGVzZXR0aW5nIGNvcmUgY29k ZQ0KPiA+ICAgaTkxNS15ICs9IFwNCj4gPiAgIAlkaXNwbGF5L2hzd19pcHMubyBcDQo+ID4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2dzYy5jDQo+IGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3NjLmMNCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0K PiA+IGluZGV4IDAwMDAwMDAwMDAwMC4uYTNhNzNjMjM0YmFkDQo+ID4gLS0tIC9kZXYvbnVsbA0K PiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2dzYy5jDQo+ID4gQEAgLTAs MCArMSwxOTkgQEANCj4gPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVA0KPiA+ICsv Kg0KPiA+ICsgKiBDb3B5cmlnaHQoYykgMjAxOS0yMDIyLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxs IHJpZ2h0cyByZXNlcnZlZC4NCj4gPiArICovDQo+ID4gKw0KPiA+ICsjaW5jbHVkZSA8bGludXgv aXJxLmg+DQo+ID4gKyNpbmNsdWRlIDxsaW51eC9tZWlfYXV4Lmg+DQo+ID4gKyNpbmNsdWRlICJp OTE1X3JlZy5oIg0KPiA+ICsjaW5jbHVkZSAiaTkxNV9kcnYuaCINCj4gPiArI2luY2x1ZGUgImd0 L2ludGVsX2d0LmgiDQo+ID4gKyNpbmNsdWRlICJpbnRlbF9nc2MuaCINCj4gPiArDQo+ID4gKyNk ZWZpbmUgR1NDX0JBUl9MRU5HVEggIDB4MDAwMDBGRkMNCj4gPiArDQo+ID4gK3N0YXRpYyB2b2lk IGdzY19pcnFfbWFzayhzdHJ1Y3QgaXJxX2RhdGEgKmQpDQo+ID4gK3sNCj4gPiArCS8qIGdlbmVy aWMgaXJxIGhhbmRsaW5nICovDQo+ID4gK30NCj4gPiArDQo+ID4gK3N0YXRpYyB2b2lkIGdzY19p cnFfdW5tYXNrKHN0cnVjdCBpcnFfZGF0YSAqZCkNCj4gPiArew0KPiA+ICsJLyogZ2VuZXJpYyBp cnEgaGFuZGxpbmcgKi8NCj4gPiArfQ0KPiA+ICsNCj4gPiArc3RhdGljIHN0cnVjdCBpcnFfY2hp cCBnc2NfaXJxX2NoaXAgPSB7DQo+ID4gKwkubmFtZSA9ICJnc2NfaXJxX2NoaXAiLA0KPiA+ICsJ LmlycV9tYXNrID0gZ3NjX2lycV9tYXNrLA0KPiA+ICsJLmlycV91bm1hc2sgPSBnc2NfaXJxX3Vu bWFzaywNCj4gPiArfTsNCj4gPiArDQo+ID4gK3N0YXRpYyBpbnQgZ3NjX2lycV9pbml0KGludCBp cnEpDQo+ID4gK3sNCj4gPiArCWlycV9zZXRfY2hpcF9hbmRfaGFuZGxlcl9uYW1lKGlycSwgJmdz Y19pcnFfY2hpcCwNCj4gPiArCQkJCSAgICAgIGhhbmRsZV9zaW1wbGVfaXJxLCAiZ3NjX2lycV9o YW5kbGVyIik7DQo+ID4gKw0KPiA+ICsJcmV0dXJuIGlycV9zZXRfY2hpcF9kYXRhKGlycSwgTlVM TCk7DQo+ID4gK30NCj4gPiArDQo+ID4gK3N0cnVjdCBpbnRlbF9nc2NfZGVmIHsNCj4gPiArCWNv bnN0IGNoYXIgKm5hbWU7DQo+ID4gKwl1bnNpZ25lZCBsb25nIGJhcjsNCj4gPiArCXNpemVfdCBi YXJfc2l6ZTsNCj4gPiArfTsNCj4gPiArDQo+ID4gKy8qIGdzY2ZpIChncmFwaGljcyBzeXN0ZW0g Y29udHJvbGxlciBmaXJtd2FyZSBpbnRlcmZhY2UpIHJlc291cmNlcyAqLw0KPiA+ICtzdGF0aWMg Y29uc3Qgc3RydWN0IGludGVsX2dzY19kZWYgaW50ZWxfZ3NjX2RlZl9kZzFbXSA9IHsNCj4gPiAr CXsNCj4gPiArCQkvKiBIRUNJMSBub3QgeWV0IGltcGxlbWVudGVkLiAqLw0KPiA+ICsJfSwNCj4g PiArCXsNCj4gPiArCQkubmFtZSA9ICJtZWktZ3NjZmkiLA0KPiA+ICsJCS5iYXIgPSBHU0NfREcx X0hFQ0kyX0JBU0UsDQo+ID4gKwkJLmJhcl9zaXplID0gR1NDX0JBUl9MRU5HVEgsDQo+ID4gKwl9 DQo+ID4gK307DQo+ID4gKw0KPiA+ICtzdGF0aWMgdm9pZCBpbnRlbF9nc2NfcmVsZWFzZV9kZXYo c3RydWN0IGRldmljZSAqZGV2KQ0KPiA+ICt7DQo+ID4gKwlzdHJ1Y3QgYXV4aWxpYXJ5X2Rldmlj ZSAqYXV4X2RldiA9IHRvX2F1eGlsaWFyeV9kZXYoZGV2KTsNCj4gPiArCXN0cnVjdCBtZWlfYXV4 X2RldmljZSAqYWRldiA9DQo+IGF1eGlsaWFyeV9kZXZfdG9fbWVpX2F1eF9kZXYoYXV4X2Rldik7 DQo+ID4gKw0KPiA+ICsJa2ZyZWUoYWRldik7DQo+ID4gK30NCj4gPiArDQo+ID4gK3N0YXRpYyB2 b2lkIGludGVsX2dzY19kZXN0cm95X29uZShzdHJ1Y3QgaW50ZWxfZ3NjX2ludGYgKmludGYpDQo+ ID4gK3sNCj4gPiArCWlmIChpbnRmLT5hZGV2KSB7DQo+ID4gKwkJYXV4aWxpYXJ5X2RldmljZV9k ZWxldGUoJmludGYtPmFkZXYtPmF1eF9kZXYpOw0KPiA+ICsJCWF1eGlsaWFyeV9kZXZpY2VfdW5p bml0KCZpbnRmLT5hZGV2LT5hdXhfZGV2KTsNCj4gPiArCQlpbnRmLT5hZGV2ID0gTlVMTDsNCj4g PiArCX0NCj4gPiArCWlmIChpbnRmLT5pcnEgPj0gMCkNCj4gPiArCQlpcnFfZnJlZV9kZXNjKGlu dGYtPmlycSk7DQo+ID4gKwlpbnRmLT5pcnEgPSAtMTsNCj4gPiArfQ0KPiA+ICsNCj4gPiArc3Rh dGljIHZvaWQgaW50ZWxfZ3NjX2luaXRfb25lKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 LA0KPiA+ICsJCQkgICAgICAgc3RydWN0IGludGVsX2dzY19pbnRmICppbnRmLA0KPiA+ICsJCQkg ICAgICAgdW5zaWduZWQgaW50IGludGZfaWQpDQo+ID4gK3sNCj4gPiArCXN0cnVjdCBwY2lfZGV2 ICpwZGV2ID0gdG9fcGNpX2RldihpOTE1LT5kcm0uZGV2KTsNCj4gPiArCXN0cnVjdCBtZWlfYXV4 X2RldmljZSAqYWRldjsNCj4gPiArCXN0cnVjdCBhdXhpbGlhcnlfZGV2aWNlICphdXhfZGV2Ow0K PiA+ICsJY29uc3Qgc3RydWN0IGludGVsX2dzY19kZWYgKmRlZjsNCj4gPiArCWludCByZXQ7DQo+ ID4gKw0KPiA+ICsJaW50Zi0+aXJxID0gLTE7DQo+ID4gKwlpbnRmLT5pZCA9IGludGZfaWQ7DQo+ ID4gKw0KPiA+ICsJaWYgKGludGZfaWQgPT0gMCAmJiAhSEFTX0hFQ0lfUFhQKGk5MTUpKQ0KPiA+ ICsJCXJldHVybjsNCj4gPiArDQo+ID4gKwlkZWYgPSAmaW50ZWxfZ3NjX2RlZl9kZzFbaW50Zl9p ZF07DQo+ID4gKw0KPiA+ICsJaW50Zi0+aXJxID0gaXJxX2FsbG9jX2Rlc2MoMCk7DQo+ID4gKwlp ZiAoaW50Zi0+aXJxIDwgMCkgew0KPiA+ICsJCWRldl9lcnIoJnBkZXYtPmRldiwgImdzYyBpcnEg ZXJyb3IgJWRcbiIsIGludGYtPmlycSk7DQo+ID4gKwkJcmV0dXJuOw0KPiA+ICsJfQ0KPiA+ICsN Cj4gPiArCXJldCA9IGdzY19pcnFfaW5pdChpbnRmLT5pcnEpOw0KPiA+ICsJaWYgKHJldCA8IDAp IHsNCj4gPiArCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJnc2MgaXJxIGluaXQgZmFpbGVkICVkXG4i LCByZXQpOw0KPiA+ICsJCWdvdG8gZmFpbDsNCj4gPiArCX0NCj4gPiArDQo+ID4gKwlhZGV2ID0g a3phbGxvYyhzaXplb2YoKmFkZXYpLCBHRlBfS0VSTkVMKTsNCj4gPiArCWlmICghYWRldikNCj4g PiArCQlnb3RvIGZhaWw7DQo+ID4gKw0KPiA+ICsJYWRldi0+aXJxID0gaW50Zi0+aXJxOw0KPiA+ ICsJYWRldi0+YmFyLnBhcmVudCA9ICZwZGV2LT5yZXNvdXJjZVswXTsNCj4gPiArCWFkZXYtPmJh ci5zdGFydCA9IGRlZi0+YmFyICsgcGRldi0+cmVzb3VyY2VbMF0uc3RhcnQ7DQo+ID4gKwlhZGV2 LT5iYXIuZW5kID0gYWRldi0+YmFyLnN0YXJ0ICsgZGVmLT5iYXJfc2l6ZSAtIDE7DQo+ID4gKwlh ZGV2LT5iYXIuZmxhZ3MgPSBJT1JFU09VUkNFX01FTTsNCj4gPiArCWFkZXYtPmJhci5kZXNjID0g SU9SRVNfREVTQ19OT05FOw0KPiA+ICsNCj4gPiArCWF1eF9kZXYgPSAmYWRldi0+YXV4X2RldjsN Cj4gPiArCWF1eF9kZXYtPm5hbWUgPSBkZWYtPm5hbWU7DQo+ID4gKwlhdXhfZGV2LT5pZCA9IChw Y2lfZG9tYWluX25yKHBkZXYtPmJ1cykgPDwgMTYpIHwNCj4gPiArCQkgICAgICBQQ0lfREVWSUQo cGRldi0+YnVzLT5udW1iZXIsIHBkZXYtPmRldmZuKTsNCj4gPiArCWF1eF9kZXYtPmRldi5wYXJl bnQgPSAmcGRldi0+ZGV2Ow0KPiA+ICsJYXV4X2Rldi0+ZGV2LnJlbGVhc2UgPSBpbnRlbF9nc2Nf cmVsZWFzZV9kZXY7DQo+ID4gKw0KPiA+ICsJcmV0ID0gYXV4aWxpYXJ5X2RldmljZV9pbml0KGF1 eF9kZXYpOw0KPiA+ICsJaWYgKHJldCA8IDApIHsNCj4gPiArCQlkZXZfZXJyKCZwZGV2LT5kZXYs ICJnc2MgYXV4IGluaXQgZmFpbGVkICVkXG4iLCByZXQpOw0KPiA+ICsJCWtmcmVlKGFkZXYpOw0K PiA+ICsJCWdvdG8gZmFpbDsNCj4gPiArCX0NCj4gPiArDQo+ID4gKwlyZXQgPSBhdXhpbGlhcnlf ZGV2aWNlX2FkZChhdXhfZGV2KTsNCj4gPiArCWlmIChyZXQgPCAwKSB7DQo+ID4gKwkJZGV2X2Vy cigmcGRldi0+ZGV2LCAiZ3NjIGF1eCBhZGQgZmFpbGVkICVkXG4iLCByZXQpOw0KPiA+ICsJCS8q IGFkZXYgd2lsbCBiZSBmcmVlZCB3aXRoIHRoZSBwdXRfZGV2aWNlKCkgYW5kIC5yZWxlYXNlDQo+ IHNlcXVlbmNlICovDQo+ID4gKwkJYXV4aWxpYXJ5X2RldmljZV91bmluaXQoYXV4X2Rldik7DQo+ ID4gKwkJZ290byBmYWlsOw0KPiA+ICsJfQ0KPiA+ICsJaW50Zi0+YWRldiA9IGFkZXY7DQo+ID4g Kw0KPiA+ICsJcmV0dXJuOw0KPiA+ICtmYWlsOg0KPiA+ICsJaW50ZWxfZ3NjX2Rlc3Ryb3lfb25l KGludGYpOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICtzdGF0aWMgdm9pZCBnc2NfaXJxX2hhbmRsZXIo c3RydWN0IGludGVsX2d0ICpndCwgdW5zaWduZWQgaW50IGludGZfaWQpDQo+ID4gK3sNCj4gPiAr CWludCByZXQ7DQo+ID4gKw0KPiA+ICsJaWYgKGludGZfaWQgPj0gSU5URUxfR1NDX05VTV9JTlRF UkZBQ0VTKSB7DQo+ID4gKwkJZHJtX3dhcm5fb25jZSgmZ3QtPmk5MTUtPmRybSwgIkdTQyBpcnE6 IGludGZfaWQgJWQgaXMgb3V0DQo+IG9mIHJhbmdlIiwgaW50Zl9pZCk7DQo+ID4gKwkJcmV0dXJu Ow0KPiA+ICsJfQ0KPiA+ICsNCj4gPiArCWlmICghSEFTX0hFQ0lfR1NDKGd0LT5pOTE1KSkgew0K PiA+ICsJCWRybV93YXJuX29uY2UoJmd0LT5pOTE1LT5kcm0sICJHU0MgaXJxOiBub3Qgc3VwcG9y dGVkIik7DQo+ID4gKwkJcmV0dXJuOw0KPiA+ICsJfQ0KPiA+ICsNCj4gPiArCWlmIChndC0+Z3Nj LmludGZbaW50Zl9pZF0uaXJxIDw9IDApIHsNCj4gPiArCQlkcm1fZXJyX3JhdGVsaW1pdGVkKCZn dC0+aTkxNS0+ZHJtLCAiR1NDIGlycTogaXJxIG5vdCBzZXQiKTsNCj4gPiArCQlyZXR1cm47DQo+ IA0KPiBJUlEgMCBpcyB2YWxpZCwgcmlnaHQ/DQo+DQoNCkNhbid0IGJlIG9uIHg4NiwgYnV0IGlu IGdlbmVyYWwgLSB5ZXMsIHdpbGwgcmVwbGFjZSB3aXRoICc8Jw0KIA0KPiBSZWdhcmRzLA0KPiAN Cj4gVHZydGtvDQo+IA0KPiA+ICsJfQ0KPiA+ICsNCj4gPiArCXJldCA9IGdlbmVyaWNfaGFuZGxl X2lycShndC0+Z3NjLmludGZbaW50Zl9pZF0uaXJxKTsNCj4gPiArCWlmIChyZXQpDQo+ID4gKwkJ ZHJtX2Vycl9yYXRlbGltaXRlZCgmZ3QtPmk5MTUtPmRybSwgImVycm9yIGhhbmRsaW5nIEdTQw0K PiBpcnE6ICVkXG4iLCByZXQpOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICt2b2lkIGludGVsX2dzY19p cnFfaGFuZGxlcihzdHJ1Y3QgaW50ZWxfZ3QgKmd0LCB1MzIgaWlyKQ0KPiA+ICt7DQo+ID4gKwlp ZiAoaWlyICYgR1NDX0lSUV9JTlRGKDApKQ0KPiA+ICsJCWdzY19pcnFfaGFuZGxlcihndCwgMCk7 DQo+ID4gKwlpZiAoaWlyICYgR1NDX0lSUV9JTlRGKDEpKQ0KPiA+ICsJCWdzY19pcnFfaGFuZGxl cihndCwgMSk7DQo+ID4gK30NCj4gPiArDQo+ID4gK3ZvaWQgaW50ZWxfZ3NjX2luaXQoc3RydWN0 IGludGVsX2dzYyAqZ3NjLCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkNCj4gPiArew0K PiA+ICsJdW5zaWduZWQgaW50IGk7DQo+ID4gKw0KPiA+ICsJaWYgKCFIQVNfSEVDSV9HU0MoaTkx NSkpDQo+ID4gKwkJcmV0dXJuOw0KPiA+ICsNCj4gPiArCWZvciAoaSA9IDA7IGkgPCBJTlRFTF9H U0NfTlVNX0lOVEVSRkFDRVM7IGkrKykNCj4gPiArCQlpbnRlbF9nc2NfaW5pdF9vbmUoaTkxNSwg JmdzYy0+aW50ZltpXSwgaSk7DQo+ID4gK30NCj4gPiArDQo+ID4gK3ZvaWQgaW50ZWxfZ3NjX2Zp bmkoc3RydWN0IGludGVsX2dzYyAqZ3NjKQ0KPiA+ICt7DQo+ID4gKwlzdHJ1Y3QgaW50ZWxfZ3Qg Kmd0ID0gZ3NjX3RvX2d0KGdzYyk7DQo+ID4gKwl1bnNpZ25lZCBpbnQgaTsNCj4gPiArDQo+ID4g KwlpZiAoIUhBU19IRUNJX0dTQyhndC0+aTkxNSkpDQo+ID4gKwkJcmV0dXJuOw0KPiA+ICsNCj4g PiArCWZvciAoaSA9IDA7IGkgPCBJTlRFTF9HU0NfTlVNX0lOVEVSRkFDRVM7IGkrKykNCj4gPiAr CQlpbnRlbF9nc2NfZGVzdHJveV9vbmUoJmdzYy0+aW50ZltpXSk7DQo+ID4gK30NCj4gPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3NjLmgNCj4gYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9nc2MuaA0KPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ ID4gaW5kZXggMDAwMDAwMDAwMDAwLi42ODU4MmY5MTJiMjENCj4gPiAtLS0gL2Rldi9udWxsDQo+ ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3NjLmgNCj4gPiBAQCAtMCww ICsxLDM3IEBADQo+ID4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQgKi8NCj4gPiAr LyoNCj4gPiArICogQ29weXJpZ2h0KGMpIDIwMTktMjAyMiwgSW50ZWwgQ29ycG9yYXRpb24uIEFs bCByaWdodHMgcmVzZXJ2ZWQuDQo+ID4gKyAqLw0KPiA+ICsjaWZuZGVmIF9fSU5URUxfR1NDX0RF Vl9IX18NCj4gPiArI2RlZmluZSBfX0lOVEVMX0dTQ19ERVZfSF9fDQo+ID4gKw0KPiA+ICsjaW5j bHVkZSA8bGludXgvdHlwZXMuaD4NCj4gPiArDQo+ID4gK3N0cnVjdCBkcm1faTkxNV9wcml2YXRl Ow0KPiA+ICtzdHJ1Y3QgaW50ZWxfZ3Q7DQo+ID4gK3N0cnVjdCBtZWlfYXV4X2RldmljZTsNCj4g PiArDQo+ID4gKyNkZWZpbmUgSU5URUxfR1NDX05VTV9JTlRFUkZBQ0VTIDINCj4gPiArLyoNCj4g PiArICogVGhlIEhFQ0kxIGJpdCBjb3JyZXNwb25kcyB0byBiaXQxNSBhbmQgSEVDSTIgdG8gYml0 MTQuDQo+ID4gKyAqIFRoZSByZWFzb24gZm9yIHRoaXMgaXMgdG8gYWxsb3cgZ3Jvd3RoIGZvciBt b3JlIGludGVyZmFjZXMgaW4gdGhlIGZ1dHVyZS4NCj4gPiArICovDQo+ID4gKyNkZWZpbmUgR1ND X0lSUV9JTlRGKF94KSAgQklUKDE1IC0gKF94KSkNCj4gPiArDQo+ID4gKy8qKg0KPiA+ICsgKiBz dHJ1Y3QgaW50ZWxfZ3NjIC0gZ3JhcGhpY3Mgc2VjdXJpdHkgY29udHJvbGxlcg0KPiA+ICsgKiBA aW50ZiA6IGdzYyBpbnRlcmZhY2UNCj4gPiArICovDQo+ID4gK3N0cnVjdCBpbnRlbF9nc2Mgew0K PiA+ICsJc3RydWN0IGludGVsX2dzY19pbnRmIHsNCj4gPiArCQlzdHJ1Y3QgbWVpX2F1eF9kZXZp Y2UgKmFkZXY7DQo+ID4gKwkJaW50IGlycTsNCj4gPiArCQl1bnNpZ25lZCBpbnQgaWQ7DQo+ID4g Kwl9IGludGZbSU5URUxfR1NDX05VTV9JTlRFUkZBQ0VTXTsNCj4gPiArfTsNCj4gPiArDQo+ID4g K3ZvaWQgaW50ZWxfZ3NjX2luaXQoc3RydWN0IGludGVsX2dzYyAqZ3NjLCBzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZQ0KPiAqZGV2X3ByaXYpOw0KPiA+ICt2b2lkIGludGVsX2dzY19maW5pKHN0cnVj dCBpbnRlbF9nc2MgKmdzYyk7DQo+ID4gK3ZvaWQgaW50ZWxfZ3NjX2lycV9oYW5kbGVyKHN0cnVj dCBpbnRlbF9ndCAqZ3QsIHUzMiBpaXIpOw0KPiA+ICsNCj4gPiArI2VuZGlmIC8qIF9fSU5URUxf R1NDX0RFVl9IX18gKi8NCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qv aW50ZWxfZ3QuYw0KPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0LmMNCj4gPiBp bmRleCBlODQwM2ZhNTM5MDkuLjE4OTYxZDE1NDk1NiAxMDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndC5jDQo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3QvaW50ZWxfZ3QuYw0KPiA+IEBAIC00NDYsNiArNDQ2LDggQEAgdm9pZCBpbnRlbF9ndF9j aGlwc2V0X2ZsdXNoKHN0cnVjdCBpbnRlbF9ndCAqZ3QpDQo+ID4NCj4gPiAgIHZvaWQgaW50ZWxf Z3RfZHJpdmVyX3JlZ2lzdGVyKHN0cnVjdCBpbnRlbF9ndCAqZ3QpDQo+ID4gICB7DQo+ID4gKwlp bnRlbF9nc2NfaW5pdCgmZ3QtPmdzYywgZ3QtPmk5MTUpOw0KPiA+ICsNCj4gPiAgIAlpbnRlbF9y cHNfZHJpdmVyX3JlZ2lzdGVyKCZndC0+cnBzKTsNCj4gPg0KPiA+ICAgCWludGVsX2d0X2RlYnVn ZnNfcmVnaXN0ZXIoZ3QpOw0KPiA+IEBAIC03NjYsNiArNzY4LDcgQEAgdm9pZCBpbnRlbF9ndF9k cml2ZXJfdW5yZWdpc3RlcihzdHJ1Y3QgaW50ZWxfZ3QgKmd0KQ0KPiA+ICAgCWludGVsX3dha2Vy ZWZfdCB3YWtlcmVmOw0KPiA+DQo+ID4gICAJaW50ZWxfcnBzX2RyaXZlcl91bnJlZ2lzdGVyKCZn dC0+cnBzKTsNCj4gPiArCWludGVsX2dzY19maW5pKCZndC0+Z3NjKTsNCj4gPg0KPiA+ICAgCWlu dGVsX3B4cF9maW5pKCZndC0+cHhwKTsNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9ndC9pbnRlbF9ndC5oDQo+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50 ZWxfZ3QuaA0KPiA+IGluZGV4IDJkYWQ0NmMzZWZmMi4uNmJhODE3YzAyYmFhIDEwMDY0NA0KPiA+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0LmgNCj4gPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndC5oDQo+ID4gQEAgLTM0LDYgKzM0LDExIEBAIHN0 YXRpYyBpbmxpbmUgc3RydWN0IGludGVsX2d0ICpodWNfdG9fZ3Qoc3RydWN0DQo+IGludGVsX2h1 YyAqaHVjKQ0KPiA+ICAgCXJldHVybiBjb250YWluZXJfb2YoaHVjLCBzdHJ1Y3QgaW50ZWxfZ3Qs IHVjLmh1Yyk7DQo+ID4gICB9DQo+ID4NCj4gPiArc3RhdGljIGlubGluZSBzdHJ1Y3QgaW50ZWxf Z3QgKmdzY190b19ndChzdHJ1Y3QgaW50ZWxfZ3NjICpnc2MpDQo+ID4gK3sNCj4gPiArCXJldHVy biBjb250YWluZXJfb2YoZ3NjLCBzdHJ1Y3QgaW50ZWxfZ3QsIGdzYyk7DQo+ID4gK30NCj4gPiAr DQo+ID4gICB2b2lkIGludGVsX2d0X2luaXRfZWFybHkoc3RydWN0IGludGVsX2d0ICpndCwgc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpOw0KPiA+ICAgdm9pZCBfX2ludGVsX2d0X2luaXRf ZWFybHkoc3RydWN0IGludGVsX2d0ICpndCwgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUNCj4gKmk5 MTUpOw0KPiA+ICAgaW50IGludGVsX2d0X2Fzc2lnbl9nZ3R0KHN0cnVjdCBpbnRlbF9ndCAqZ3Qp Ow0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndF9pcnEu Yw0KPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0X2lycS5jDQo+ID4gaW5kZXgg OTgzMjY0ZTEwZTBhLi4wOGJmMjc5NmMzYzEgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ3QvaW50ZWxfZ3RfaXJxLmMNCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndC9pbnRlbF9ndF9pcnEuYw0KPiA+IEBAIC02OCw2ICs2OCw5IEBAIGdlbjExX290aGVyX2ly cV9oYW5kbGVyKHN0cnVjdCBpbnRlbF9ndCAqZ3QsIGNvbnN0IHU4DQo+IGluc3RhbmNlLA0KPiA+ ICAgCWlmIChpbnN0YW5jZSA9PSBPVEhFUl9LQ1JfSU5TVEFOQ0UpDQo+ID4gICAJCXJldHVybiBp bnRlbF9weHBfaXJxX2hhbmRsZXIoJmd0LT5weHAsIGlpcik7DQo+ID4NCj4gPiArCWlmIChpbnN0 YW5jZSA9PSBPVEhFUl9HU0NfSU5TVEFOQ0UpDQo+ID4gKwkJcmV0dXJuIGludGVsX2dzY19pcnFf aGFuZGxlcihndCwgaWlyKTsNCj4gPiArDQo+ID4gICAJV0FSTl9PTkNFKDEsICJ1bmhhbmRsZWQg b3RoZXIgaW50ZXJydXB0IGluc3RhbmNlPTB4JXgsDQo+IGlpcj0weCV4XG4iLA0KPiA+ICAgCQkg IGluc3RhbmNlLCBpaXIpOw0KPiA+ICAgfQ0KPiA+IEBAIC0xODIsNiArMTg1LDggQEAgdm9pZCBn ZW4xMV9ndF9pcnFfcmVzZXQoc3RydWN0IGludGVsX2d0ICpndCkNCj4gPiAgIAkvKiBEaXNhYmxl IFJDUywgQkNTLCBWQ1MgYW5kIFZFQ1MgY2xhc3MgZW5naW5lcy4gKi8NCj4gPiAgIAlpbnRlbF91 bmNvcmVfd3JpdGUodW5jb3JlLCBHRU4xMV9SRU5ERVJfQ09QWV9JTlRSX0VOQUJMRSwNCj4gMCk7 DQo+ID4gICAJaW50ZWxfdW5jb3JlX3dyaXRlKHVuY29yZSwgR0VOMTFfVkNTX1ZFQ1NfSU5UUl9F TkFCTEUsCSAgMCk7DQo+ID4gKwlpZiAoSEFTX0hFQ0lfR1NDKGd0LT5pOTE1KSkNCj4gPiArCQlp bnRlbF91bmNvcmVfd3JpdGUodW5jb3JlLA0KPiBHRU4xMV9HVU5JVF9DU01FX0lOVFJfRU5BQkxF LCAwKTsNCj4gPg0KPiA+ICAgCS8qIFJlc3RvcmUgbWFza3MgaXJxcyBvbiBSQ1MsIEJDUywgVkNT IGFuZCBWRUNTIGVuZ2luZXMuICovDQo+ID4gICAJaW50ZWxfdW5jb3JlX3dyaXRlKHVuY29yZSwg R0VOMTFfUkNTMF9SU1ZEX0lOVFJfTUFTSywJfjApOw0KPiA+IEBAIC0xOTUsNiArMjAwLDggQEAg dm9pZCBnZW4xMV9ndF9pcnFfcmVzZXQoc3RydWN0IGludGVsX2d0ICpndCkNCj4gPiAgIAlpbnRl bF91bmNvcmVfd3JpdGUodW5jb3JlLCBHRU4xMV9WRUNTMF9WRUNTMV9JTlRSX01BU0ssDQo+IAl+ MCk7DQo+ID4gICAJaWYgKEhBU19FTkdJTkUoZ3QsIFZFQ1MyKSB8fCBIQVNfRU5HSU5FKGd0LCBW RUNTMykpDQo+ID4gICAJCWludGVsX3VuY29yZV93cml0ZSh1bmNvcmUsDQo+IEdFTjEyX1ZFQ1My X1ZFQ1MzX0lOVFJfTUFTSywgfjApOw0KPiA+ICsJaWYgKEhBU19IRUNJX0dTQyhndC0+aTkxNSkp DQo+ID4gKwkJaW50ZWxfdW5jb3JlX3dyaXRlKHVuY29yZSwNCj4gR0VOMTFfR1VOSVRfQ1NNRV9J TlRSX01BU0ssIH4wKTsNCj4gPg0KPiA+ICAgCWludGVsX3VuY29yZV93cml0ZSh1bmNvcmUsDQo+ IEdFTjExX0dQTV9XR0JPWFBFUkZfSU5UUl9FTkFCTEUsIDApOw0KPiA+ICAgCWludGVsX3VuY29y ZV93cml0ZSh1bmNvcmUsDQo+IEdFTjExX0dQTV9XR0JPWFBFUkZfSU5UUl9NQVNLLCAgfjApOw0K PiA+IEBAIC0yMDksNiArMjE2LDcgQEAgdm9pZCBnZW4xMV9ndF9pcnFfcG9zdGluc3RhbGwoc3Ry dWN0IGludGVsX2d0ICpndCkNCj4gPiAgIHsNCj4gPiAgIAlzdHJ1Y3QgaW50ZWxfdW5jb3JlICp1 bmNvcmUgPSBndC0+dW5jb3JlOw0KPiA+ICAgCXUzMiBpcnFzID0gR1RfUkVOREVSX1VTRVJfSU5U RVJSVVBUOw0KPiA+ICsJY29uc3QgdTMyIGdzY19tYXNrID0gR1NDX0lSUV9JTlRGKDApIHwgR1ND X0lSUV9JTlRGKDEpOw0KPiA+ICAgCXUzMiBkbWFzazsNCj4gPiAgIAl1MzIgc21hc2s7DQo+ID4N Cj4gPiBAQCAtMjI1LDYgKzIzMyw5IEBAIHZvaWQgZ2VuMTFfZ3RfaXJxX3Bvc3RpbnN0YWxsKHN0 cnVjdCBpbnRlbF9ndCAqZ3QpDQo+ID4gICAJLyogRW5hYmxlIFJDUywgQkNTLCBWQ1MgYW5kIFZF Q1MgY2xhc3MgaW50ZXJydXB0cy4gKi8NCj4gPiAgIAlpbnRlbF91bmNvcmVfd3JpdGUodW5jb3Jl LCBHRU4xMV9SRU5ERVJfQ09QWV9JTlRSX0VOQUJMRSwNCj4gZG1hc2spOw0KPiA+ICAgCWludGVs X3VuY29yZV93cml0ZSh1bmNvcmUsIEdFTjExX1ZDU19WRUNTX0lOVFJfRU5BQkxFLA0KPiBkbWFz ayk7DQo+ID4gKwlpZiAoSEFTX0hFQ0lfR1NDKGd0LT5pOTE1KSkNCj4gPiArCQlpbnRlbF91bmNv cmVfd3JpdGUodW5jb3JlLA0KPiBHRU4xMV9HVU5JVF9DU01FX0lOVFJfRU5BQkxFLA0KPiA+ICsJ CQkJICAgZ3NjX21hc2spOw0KPiA+DQo+ID4gICAJLyogVW5tYXNrIGlycXMgb24gUkNTLCBCQ1Ms IFZDUyBhbmQgVkVDUyBlbmdpbmVzLiAqLw0KPiA+ICAgCWludGVsX3VuY29yZV93cml0ZSh1bmNv cmUsIEdFTjExX1JDUzBfUlNWRF9JTlRSX01BU0ssDQo+IH5zbWFzayk7DQo+ID4gQEAgLTIzOCw2 ICsyNDksOCBAQCB2b2lkIGdlbjExX2d0X2lycV9wb3N0aW5zdGFsbChzdHJ1Y3QgaW50ZWxfZ3Qg Kmd0KQ0KPiA+ICAgCWludGVsX3VuY29yZV93cml0ZSh1bmNvcmUsIEdFTjExX1ZFQ1MwX1ZFQ1Mx X0lOVFJfTUFTSywNCj4gfmRtYXNrKTsNCj4gPiAgIAlpZiAoSEFTX0VOR0lORShndCwgVkVDUzIp IHx8IEhBU19FTkdJTkUoZ3QsIFZFQ1MzKSkNCj4gPiAgIAkJaW50ZWxfdW5jb3JlX3dyaXRlKHVu Y29yZSwNCj4gR0VOMTJfVkVDUzJfVkVDUzNfSU5UUl9NQVNLLCB+ZG1hc2spOw0KPiA+ICsJaWYg KEhBU19IRUNJX0dTQyhndC0+aTkxNSkpDQo+ID4gKwkJaW50ZWxfdW5jb3JlX3dyaXRlKHVuY29y ZSwNCj4gR0VOMTFfR1VOSVRfQ1NNRV9JTlRSX01BU0ssIDApOw0KPiA+ICAgCS8qDQo+ID4gICAJ ICogUlBTIGludGVycnVwdHMgd2lsbCBnZXQgZW5hYmxlZC9kaXNhYmxlZCBvbiBkZW1hbmQgd2hl biBSUFMNCj4gaXRzZWxmDQo+ID4gICAJICogaXMgZW5hYmxlZC9kaXNhYmxlZC4NCj4gPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3RfcmVncy5oDQo+IGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3RfcmVncy5oDQo+ID4gaW5kZXggYTZmMDIyMGMy ZTlmLi40MjdmOTE5MDBhZmMgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3QvaW50ZWxfZ3RfcmVncy5oDQo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50 ZWxfZ3RfcmVncy5oDQo+ID4gQEAgLTk0NCw2ICs5NDQsNyBAQCBlbnVtIHsNCj4gPiAgICNkZWZp bmUgT1RIRVJfR1VDX0lOU1RBTkNFCTANCj4gPiAgICNkZWZpbmUgT1RIRVJfR1RQTV9JTlNUQU5D RQkxDQo+ID4gICAjZGVmaW5lIE9USEVSX0tDUl9JTlNUQU5DRQk0DQo+ID4gKyNkZWZpbmUgT1RI RVJfR1NDX0lOU1RBTkNFCTYNCj4gPg0KPiA+ICAgI2RlZmluZSBHRU4xMV9JTlRSX0lERU5USVRZ X1JFRyh4KQlfTU1JTygweDE5MDA2MCArICgoeCkgKiA0KSkNCj4gPg0KPiA+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndF90eXBlcy5oDQo+IGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3RfdHlwZXMuaA0KPiA+IGluZGV4IGYyMDY4Nzc5NjQ5MC4u NTU1NmQ1NWY3NmVhIDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2lu dGVsX2d0X3R5cGVzLmgNCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9n dF90eXBlcy5oDQo+ID4gQEAgLTE2LDYgKzE2LDcgQEANCj4gPiAgICNpbmNsdWRlIDxsaW51eC93 b3JrcXVldWUuaD4NCj4gPg0KPiA+ICAgI2luY2x1ZGUgInVjL2ludGVsX3VjLmgiDQo+ID4gKyNp bmNsdWRlICJpbnRlbF9nc2MuaCINCj4gPg0KPiA+ICAgI2luY2x1ZGUgImk5MTVfdm1hLmgiDQo+ ID4gICAjaW5jbHVkZSAiaW50ZWxfZW5naW5lX3R5cGVzLmgiDQo+ID4gQEAgLTcyLDYgKzczLDcg QEAgc3RydWN0IGludGVsX2d0IHsNCj4gPiAgIAlzdHJ1Y3QgaTkxNV9nZ3R0ICpnZ3R0Ow0KPiA+ DQo+ID4gICAJc3RydWN0IGludGVsX3VjIHVjOw0KPiA+ICsJc3RydWN0IGludGVsX2dzYyBnc2M7 DQo+ID4NCj4gPiAgIAlzdHJ1Y3QgbXV0ZXggdGxiX2ludmFsaWRhdGVfbG9jazsNCj4gPg0KPiA+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oDQo+IGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaA0KPiA+IGluZGV4IDQxODA5MTQ4NGUwMi4uMTY4YmYz MmRlZWEwIDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgN Cj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oDQo+ID4gQEAgLTEzMjcs NiArMTMyNywxNCBAQCBJU19TVUJQTEFURk9STShjb25zdCBzdHJ1Y3QNCj4gZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSwNCj4gPg0KPiA+ICAgI2RlZmluZSBIQVNfRE1DKGRldl9wcml2KQkoSU5URUxf SU5GTyhkZXZfcHJpdiktDQo+ID5kaXNwbGF5Lmhhc19kbWMpDQo+ID4NCj4gPiArI2RlZmluZSBI QVNfSEVDSV9QWFAoZGV2X3ByaXYpIFwNCj4gPiArCShJTlRFTF9JTkZPKGRldl9wcml2KS0+aGFz X2hlY2lfcHhwKQ0KPiA+ICsNCj4gPiArI2RlZmluZSBIQVNfSEVDSV9HU0NGSShkZXZfcHJpdikg XA0KPiA+ICsJKElOVEVMX0lORk8oZGV2X3ByaXYpLT5oYXNfaGVjaV9nc2NmaSkNCj4gPiArDQo+ ID4gKyNkZWZpbmUgSEFTX0hFQ0lfR1NDKGRldl9wcml2KSAoSEFTX0hFQ0lfUFhQKGRldl9wcml2 KSB8fA0KPiBIQVNfSEVDSV9HU0NGSShkZXZfcHJpdikpDQo+ID4gKw0KPiA+ICAgI2RlZmluZSBI QVNfTVNPKGk5MTUpCQkoRElTUExBWV9WRVIoaTkxNSkgPj0gMTIpDQo+ID4NCj4gPiAgICNkZWZp bmUgSEFTX1JVTlRJTUVfUE0oZGV2X3ByaXYpIChJTlRFTF9JTkZPKGRldl9wcml2KS0NCj4gPmhh c19ydW50aW1lX3BtKQ0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3BjaS5jDQo+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYw0KPiA+IGluZGV4IDgy NDZjYmU5YjAxZC4uZWY1NDkxN2EwMDAwIDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcGNpLmMNCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Bj aS5jDQo+ID4gQEAgLTkwMSw3ICs5MDEsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2Rl dmljZV9pbmZvIHJrbF9pbmZvID0gew0KPiA+ICAgCS5oYXNfbGxjID0gMCwgXA0KPiA+ICAgCS5o YXNfcHhwID0gMCwgXA0KPiA+ICAgCS5oYXNfc25vb3AgPSAxLCBcDQo+ID4gLQkuaXNfZGdmeCA9 IDENCj4gPiArCS5pc19kZ2Z4ID0gMSwgXA0KPiA+ICsJLmhhc19oZWNpX2dzY2ZpID0gMQ0KPiA+ DQo+ID4gICBzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGRnMV9pbmZvID0g ew0KPiA+ICAgCUdFTjEyX0ZFQVRVUkVTLA0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlZy5oDQo+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaA0K PiA+IGluZGV4IDRlYTE3MTNlNmI2MC4uOGFmZTRhZjZjODQ0IDEwMDY0NA0KPiA+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgNCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3JlZy5oDQo+ID4gQEAgLTk3NCw2ICs5NzQsOCBAQA0KPiA+ICAgI2RlZmluZSBH RU4xMV9WRUJPWDJfUklOR19CQVNFCQkweDFkODAwMA0KPiA+ICAgI2RlZmluZSBYRUhQX1ZFQk9Y M19SSU5HX0JBU0UJCTB4MWU4MDAwDQo+ID4gICAjZGVmaW5lIFhFSFBfVkVCT1g0X1JJTkdfQkFT RQkJMHgxZjgwMDANCj4gPiArI2RlZmluZSBHU0NfREcxX0hFQ0kxX0JBU0UJMHgwMDI1ODAwMA0K PiA+ICsjZGVmaW5lIEdTQ19ERzFfSEVDSTJfQkFTRQkweDAwMjU5MDAwDQo+ID4gICAjZGVmaW5l IEJMVF9SSU5HX0JBU0UJCTB4MjIwMDANCj4gPg0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmgNCj4gYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kZXZpY2VfaW5mby5oDQo+ID4gaW5kZXggMjdkY2ZlNmYyNDI5Li5mYTc1ZjQ2 NGNiMDEgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNl X2luZm8uaA0KPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZv LmgNCj4gPiBAQCAtMTM1LDYgKzEzNSw4IEBAIGVudW0gaW50ZWxfcHBndHRfdHlwZSB7DQo+ID4g ICAJZnVuYyhoYXNfcmVzZXRfZW5naW5lKTsgXA0KPiA+ICAgCWZ1bmMoaGFzX2dsb2JhbF9tb2Nz KTsgXA0KPiA+ICAgCWZ1bmMoaGFzX2d0X3VjKTsgXA0KPiA+ICsJZnVuYyhoYXNfaGVjaV9weHAp OyBcDQo+ID4gKwlmdW5jKGhhc19oZWNpX2dzY2ZpKTsgXA0KPiA+ICAgCWZ1bmMoaGFzX2d1Y19k ZXByaXZpbGVnZSk7IFwNCj4gPiAgIAlmdW5jKGhhc19sM19kcGYpOyBcDQo+ID4gICAJZnVuYyho YXNfbGxjKTsgXA0KPiA+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L21laV9hdXguaCBiL2lu Y2x1ZGUvbGludXgvbWVpX2F1eC5oDQo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiBpbmRl eCAwMDAwMDAwMDAwMDAuLjU4N2YyNTEyODg0OA0KPiA+IC0tLSAvZGV2L251bGwNCj4gPiArKysg Yi9pbmNsdWRlL2xpbnV4L21laV9hdXguaA0KPiA+IEBAIC0wLDAgKzEsMTkgQEANCj4gPiArLyog U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAgKi8NCj4gPiArLyoNCj4gPiArICogQ29w eXJpZ2h0IChjKSAyMDIyLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4N Cj4gPiArICovDQo+ID4gKyNpZm5kZWYgX0xJTlVYX01FSV9BVVhfSA0KPiA+ICsjZGVmaW5lIF9M SU5VWF9NRUlfQVVYX0gNCj4gPiArDQo+ID4gKyNpbmNsdWRlIDxsaW51eC9hdXhpbGlhcnlfYnVz Lmg+DQo+ID4gKw0KPiA+ICtzdHJ1Y3QgbWVpX2F1eF9kZXZpY2Ugew0KPiA+ICsJc3RydWN0IGF1 eGlsaWFyeV9kZXZpY2UgYXV4X2RldjsNCj4gPiArCWludCBpcnE7DQo+ID4gKwlzdHJ1Y3QgcmVz b3VyY2UgYmFyOw0KPiA+ICt9Ow0KPiA+ICsNCj4gPiArI2RlZmluZSBhdXhpbGlhcnlfZGV2X3Rv X21laV9hdXhfZGV2KGF1eGlsaWFyeV9kZXYpIFwNCj4gPiArCWNvbnRhaW5lcl9vZihhdXhpbGlh cnlfZGV2LCBzdHJ1Y3QgbWVpX2F1eF9kZXZpY2UsIGF1eF9kZXYpDQo+ID4gKw0KPiA+ICsjZW5k aWYgLyogX0xJTlVYX01FSV9BVVhfSCAqLw0K