Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp1647457pxv; Fri, 16 Jul 2021 14:21:29 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxB5NkSt8DTs7oIE95ZpAJZndkRnPBu5miWImmq0y42zwYau6pxXD+2wA2Fn+sAYpGflMoL X-Received: by 2002:a05:6602:1808:: with SMTP id t8mr8968022ioh.165.1626470489088; Fri, 16 Jul 2021 14:21:29 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1626470489; cv=pass; d=google.com; s=arc-20160816; b=rxC9y0Jdagkrx8YU2gjiQjJGPoo/UYmlAT/OHoHw3bQB+2UZpnv0KA4f1xo2Jm3VyR rcGPAkV2b6smfB3jnspvod7PQvGqJj8hPU9SHhm5Q4BZkURu2RsDvq0+5kAygoUdNkSp iuSTqh4AbPYi5qvXhGkm+fKZkVrDOXjoP0Q47EwzhTUG0DB3L346c8nT1EaSn7A2JEiM vaxYnG7gBrYVnoup/N6UeOwvMv+52i86Zcxy/hQ5J3/nlQulKgdtOqMr7wDt1u78WUJT voBEiRhqyv7JvrVlzs4ZK3XxNDuDxPI2E1yZgBUF1yivLX0c90kDDUNin1cn4om3NmVU uj6Q== 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 :content-id:user-agent:content-language:accept-language:in-reply-to :references:message-id:date:thread-index:thread-topic:subject:cc:to :from:dkim-signature; bh=ZNS9+vLVDSuXGDJERpewptLNKIq97oDdTIAAH/KqBB4=; b=IQFlmP9I7DIK6QTlU4wMRSIkBiT+i2Vqvp7KzP1q4z3SaQzteYEv35NU7ODpVzR9+S zWkNEQOmKIg8NubTRJEv3IdAkZPxx9Q0yI49Byqf8goQeEogpSMBI0hfUjgnh4OcYYIK 05Ln3BkeSF1hOkgAB3b9dbvBgE4wPqxeXSXx9xV2H9whSevuztN6RnkRjaL7FXWTRvQe 3RCwc8NCiyL6yO2FKtuFVb3liOLkJMzXx/P95Wne6yYeL4d3r/pO1CFXs+l5rMXMQ70O Nvacyk3gbLnVEApCs1DcYI09jc1cI072nALKm2ejfOgjA8liGrKJFSxUU+ULAlHw0fD5 Zbgw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=d5O9F3eE; 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 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id o22si8265594jat.98.2021.07.16.14.21.16; Fri, 16 Jul 2021 14:21:29 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=d5O9F3eE; 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 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235678AbhGPVXN (ORCPT + 99 others); Fri, 16 Jul 2021 17:23:13 -0400 Received: from mga09.intel.com ([134.134.136.24]:24547 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235677AbhGPVXK (ORCPT ); Fri, 16 Jul 2021 17:23:10 -0400 X-IronPort-AV: E=McAfee;i="6200,9189,10047"; a="210782140" X-IronPort-AV: E=Sophos;i="5.84,246,1620716400"; d="scan'208";a="210782140" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Jul 2021 14:20:14 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,246,1620716400"; d="scan'208";a="507331979" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by fmsmga002.fm.intel.com with ESMTP; 16 Jul 2021 14:20:14 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Fri, 16 Jul 2021 14:20:13 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Fri, 16 Jul 2021 14:20:13 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10 via Frontend Transport; Fri, 16 Jul 2021 14:20:12 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.168) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.10; Fri, 16 Jul 2021 14:20:12 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CLlG/OA3E4g4ghjEo33o2E9vXxSwfvoAHWDrchxayBjIkKrz1zbe1ez4D2WFPXG3/r0GT+CM3o+4yvGzvPwzWVoxIJcBNt7mXfnmJCvmn0qv1vZItBXsr8dClR0pFqLDKD7oHf2zCYPRbyyZNnNpU8ao32BfibXf3wgqjLxDilgQwxkCCLgNzsGliZCOwjJOmomboaGLfWyn+p3O4mFx0AswKxwZubisU2MVJ9J5S7TGtXlXq1y+vxAEKex+do/NUue38elL6tfGi9aZviNeqm7PvIs89OUaerCGjeRNFQsbTTe7PV9NrPaV/JvXCtAUcLUs6jZ3Coji4yNATnV1nQ== 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-SenderADCheck; bh=ZNS9+vLVDSuXGDJERpewptLNKIq97oDdTIAAH/KqBB4=; b=brTxW6c4XUl/idvwBhF1pZPZotv5MP6uitTxAdHvIXhcBQhQZMKweDtC3b0J+uq8KTG7KRQxBobkV56+i4XwLrFGUmYXUSCSjqjJCR9eTMC3WGuHP9t/ZKT8RgDRETfUoxCFgumoxLoMwml1d2lbIy/yFqReUNi2hpm0QzJArWHz8SWBAGiFPBs12lvCM+lqI3jtN5/Eujh92HCF7JCizKKYABELhWik7/iC5WlMgALugy93WzmDyqP8FGTSJjackGSAQxZsuP8cOGzIPSqRziJsYJKRsPPA8VaGJaD8INUInaOXhcam2D+B99hK9iBDIGML4ozErnyY6AXLmA6F/Q== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZNS9+vLVDSuXGDJERpewptLNKIq97oDdTIAAH/KqBB4=; b=d5O9F3eE7yEkBlH4wBAudTexCf6vLysXaPKik/swzljpQddDqAxI4MoIe0PWrqnUcex6KOoRxEaX+iKa4PLR+qsNh0trrfrjLWxRqgjg/5AApMGdixgojcfS45AC8I+lBTTPx+4364M96/SKa4p12dpgeRMPIMhTcWpjtzGaw5A= Received: from SN6PR11MB2589.namprd11.prod.outlook.com (2603:10b6:805:53::12) by SN6PR11MB2974.namprd11.prod.outlook.com (2603:10b6:805:d7::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.24; Fri, 16 Jul 2021 21:20:08 +0000 Received: from SN6PR11MB2589.namprd11.prod.outlook.com ([fe80::357a:ba5:ee4f:d5f1]) by SN6PR11MB2589.namprd11.prod.outlook.com ([fe80::357a:ba5:ee4f:d5f1%7]) with mapi id 15.20.4331.026; Fri, 16 Jul 2021 21:20:08 +0000 From: "Winiarska, Iwona" To: "Williams, Dan J" , "linux-kernel@vger.kernel.org" , "openbmc@lists.ozlabs.org" CC: "corbet@lwn.net" , "jae.hyun.yoo@linux.intel.com" , "Lutomirski, Andy" , "linux-hwmon@vger.kernel.org" , "Luck, Tony" , "andrew@aj.id.au" , "mchehab@kernel.org" , "jdelvare@suse.com" , "mingo@redhat.com" , "bp@alien8.de" , "devicetree@vger.kernel.org" , "tglx@linutronix.de" , "linux@roeck-us.net" , "linux-doc@vger.kernel.org" , "linux-aspeed@lists.ozlabs.org" , "robh+dt@kernel.org" , "yazen.ghannam@amd.com" , "gregkh@linuxfoundation.org" , "joel@jms.id.au" , "linux-arm-kernel@lists.infradead.org" , "andriy.shevchenko@linux.intel.com" , "x86@kernel.org" , "pierre-louis.bossart@linux.intel.com" Subject: Re: [PATCH 08/14] peci: Add device detection Thread-Topic: [PATCH 08/14] peci: Add device detection Thread-Index: AQHXd2qtFXm2JAdbHEufB6KAlx+zw6tC+QkAgAMo1YA= Date: Fri, 16 Jul 2021 21:20:08 +0000 Message-ID: <8b452cd32f297083228804f843bfea8ddb124dc0.camel@intel.com> References: <20210712220447.957418-1-iwona.winiarska@intel.com> <20210712220447.957418-9-iwona.winiarska@intel.com> In-Reply-To: Accept-Language: en-US, pl-PL Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.38.4 (3.38.4-1.fc33) authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: fbf491e7-1a12-4346-f3f3-08d9489f7ce1 x-ms-traffictypediagnostic: SN6PR11MB2974: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr,ExtFwd x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: EsivhFAFRMd8b9HZNYDEfWoKc6yFzjsilYLn+VKb0G6bgvxf4Ya1sDgHf8g6I2YXePVnwdR+HFavPdIyLg2GLp1MHlHvA2Z3G241DbmRGxDlfTwtx+1wcKKfoV47PrMBndzl85woINnQ0Jdd7V+6hGE4xW/vJpq0gcO4q/5ta3NbexvXtwjcKcIpQhU/gDDNmQAwmTL1hm2sxVtLskjtDeQSULbVFUzSkWdUmcYWPB68iC6v9bV5l9kCWIntuTlKYqEa+2M//6cXtp7K6k6bPRRcb7Or5iRipwkOzOBOsOAf2bYsN94jv5YOvCr45TqqoQ5wVxjVNQL3H8sV4KmGH24J1qD8mQS3p2wvWIV/4xdGSd5pMfmGcjs3W/hBQ1p9wECAGQIWv53PpFOvFD3RyF91kIwRuhSG27+SLSriTIYkreh3lm6oZitbbP7rDWy/hjEg10pktNyTiNkiByu85WGJ7VUcbYu70RbRvvTnC8o5eShwdiznx7cTb1eyZahsrvAMUdpuawO4JO3Hv6Ja13vuLqpxLw2X3lBAis2b5UoedwTfwYk02OOSF2Lnc7gXwHkjL/5aCOl+xF7Fv8ZqHHwhYdxm0DU9RD++UotuP23/QxPQn5F2ycTjr+Jftw/VQ6P0oIpMApoiZQvpaVGCvDalKijFIJR+H+DT09AMOkcoJpZCmXhlCyKaKEYihoAvZPtjE+NA8j0HaV5SvP99B2QAzrtOGB35EoAumqMNXrGIjjVs7J9Wt+DfBPfWAKAGZ9p07E9GqlmTqk2s5n/rpYZmahnjQnKnwSSNlI8e/wA= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR11MB2589.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(136003)(396003)(346002)(39860400002)(376002)(366004)(4326008)(966005)(8936002)(36756003)(26005)(8676002)(186003)(30864003)(2906002)(5660300002)(6506007)(110136005)(478600001)(86362001)(6512007)(7416002)(66446008)(54906003)(6486002)(2616005)(64756008)(66556008)(316002)(66476007)(76116006)(83380400001)(91956017)(66946007)(122000001)(71200400001)(38100700002)(38070700004);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cXY3elIrTFhwSkFpSVI5Y3oyY3I3RkVLNnQ3VVNDaGE3QmNhbWV4WFBLcEE5?= =?utf-8?B?Qy93SXBqNWs0TlVRaE1qdzZQNzRFRzNBTXhhYXVvMkhjRVFvczFPTzFOa2d1?= =?utf-8?B?NXJ0T2tjZ3VXUi83YmM1Wm5lZjhQOHNyZENDQitwbnNOVjh5NGV0SkhHOXdX?= =?utf-8?B?VHFvblNWK0w1cC9jM2tZZklJMitWMHdObHFxYXhUenJZbjJqUHpEa1dNMFI4?= =?utf-8?B?SG5HemdwMGRWU1hzekM4VVZCYTMvU2tUMDY2UzVpaUp5UCs3RThQMy8zbkxE?= =?utf-8?B?dERvTE9EMW9MZFk0UkhUT2xieG15dEVTVEZQQUpGbk9uNVJ2di9iNzJnRjBs?= =?utf-8?B?MFk3a2I2Q0NWN1kzV0FYV2Z1SnF4VXFiZlA1cEV4SlE1eW9na0U2eS8vaWhh?= =?utf-8?B?OGlac3pubVRFN1Y3NnJqTkZkVkhXQmlybjhIT3JxbkhOMlhGS3BNdm5lanZM?= =?utf-8?B?RzRxZzZ6cTZydzFrVUFaNWY0K25CQWlmd09tR01adGdFY0hIUXlqNGQ1MG1N?= =?utf-8?B?VkJreU5ZS0xqbzRRK1gxQk85ZHU4ZTVscjY4LzZZTTZVekdjNVBUYmZyV1I0?= =?utf-8?B?bjcrcWplUjEyVklHNHhGTzAxc0gzM0E4Qkg4WkFZTnFtL292MVBoNmdJR3VR?= =?utf-8?B?ZDZvRWVwMEErdlNWUHhrV1U2dTdlM1pHdGdiaFpucUR1dkxRWEtKNmp2Ly9q?= =?utf-8?B?TVNMTWxINXNZc0gxbzJPNWhxa2pPQU85bHZuNk4xOGgyN1ZETnk4cThlbC9Z?= =?utf-8?B?Z0YwRU1HTlJoL3ZDZklSS1dGK1lJd0JiWngxQ2dRb05yNkRKTkI1aW9yWGRk?= =?utf-8?B?ZVUwUEg4a2RRR2VqbW80NnpKdEhHbGhKU3FHcnM0eGplVEtrdm82K0JZSXgz?= =?utf-8?B?azZyRy9pL2RRb1FrajZtVjYvNjZSK2ZDdE5rRW8rU2pjOGRMSDlob09WZnEr?= =?utf-8?B?bWxORUxIUTFYU3VYTS9IdC9uYVV3VDF4bkRGRmV1Wm9BK0U4bm1pUFRoNnpE?= =?utf-8?B?a2RVN0FDb21USTcvSGg3dGRVSC92cmZjdC9PbnFMRjUzWnVIODR0K29hSnIr?= =?utf-8?B?MWtaZzh4emZDVWxuR0hjWHdSODNRL0FsNGVRUURrak4yQ1UwUWVQS3hBOHVZ?= =?utf-8?B?Z0sycmhIK3Y4azNHZmhBK1U0aitFdWhzbWs0OFlMN0JtUFFwTmpGTTZYYnRK?= =?utf-8?B?eTFJMml6V0w5ZEZVeVFoWWtiMkxwdlRiU3lZbzVCU2o3Sjg4eitOZmNHL1Az?= =?utf-8?B?WU9rMjFpL3NweFA4Z2YvWlZvZmJaNDliQWN0NlZ2OENTRVBQWUszZXprT1do?= =?utf-8?B?RGs2UVNueE9jOUJVUTdaVjNkMzl1Z0xtMzBWRlRuZ2hXZWlNSWpSOFVkWGow?= =?utf-8?B?Y0FObmpyOW9CUkNKbXZ5NndnNER1TklPak9vVzFadlcrNWRWQUlPUTY0ZjJJ?= =?utf-8?B?cStoaWhRVkhkMmhrdVNoenZ0VmpSVEQxeUpqYmIwUVVxYnczdFlCSEdxUzZ3?= =?utf-8?B?ZFNidlRnZXpPQ3kzNW5VUXRKU3Znb05wZ3lEOUlOdzllYXVpQnU4ZXFKR3FS?= =?utf-8?B?bEtGaTVFUUpua0NMTGpOUjRkZUtkMUgyTVJsNUFpMWRBa3djdGVsazNpbDh2?= =?utf-8?B?TmpqeDBkRzhjVm82aVUzclRwT2JCUXNFNDluSDZVWDlFdTg1MlJ5STFhREdI?= =?utf-8?B?ZXJkaTRPMHM4TDdoUnA0Y2UrUXVLTzVUV3RsVnhuUlUzWllKendJOTV0SzhY?= =?utf-8?B?T3hKaG03M2UwMk5HOHF6SGRMVkxrMW41RDB2RFh6SG9Yajc1WjJHNVgyNk1p?= =?utf-8?B?UmIvZXlQZ2Q0OFkwVUd4dz09?= 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: SN6PR11MB2589.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: fbf491e7-1a12-4346-f3f3-08d9489f7ce1 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Jul 2021 21:20:08.0789 (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: 3mb0t2T3HlTbKU/u2ejt6Sq9TDSDFHYherH6pAwygsDe/s47euwsFSnqIRwUk07TAWbn1L5DkpbMu2mJI3jOw9hDo0gbUo6yVREW5QX0qS4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR11MB2974 X-OriginatorOrg: intel.com Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org T24gV2VkLCAyMDIxLTA3LTE0IGF0IDIxOjA1ICswMDAwLCBXaWxsaWFtcywgRGFuIEogd3JvdGU6 DQo+IE9uIFR1ZSwgMjAyMS0wNy0xMyBhdCAwMDowNCArMDIwMCwgSXdvbmEgV2luaWFyc2thIHdy b3RlOg0KPiA+IFNpbmNlIFBFQ0kgZGV2aWNlcyBhcmUgZGlzY292ZXJhYmxlLCB3ZSBjYW4gZHlu YW1pY2FsbHkgZGV0ZWN0IGRldmljZXMNCj4gPiB0aGF0IGFyZSBhY3R1YWxseSBhdmFpbGFibGUg aW4gdGhlIHN5c3RlbS4NCj4gPiANCj4gPiBUaGlzIGNoYW5nZSBjb21wbGVtZW50cyB0aGUgZWFy bGllciBpbXBsZW1lbnRhdGlvbiBieSByZXNjYW5uaW5nIFBFQ0kNCj4gPiBidXMgdG8gZGV0ZWN0 IGF2YWlsYWJsZSBkZXZpY2VzLiBGb3IgdGhpcyBwdXJwb3NlLCBpdCBhbHNvIGludHJvZHVjZXMg dGhlDQo+ID4gbWluaW1hbCBBUEkgZm9yIFBFQ0kgcmVxdWVzdHMuDQo+ID4gDQo+ID4gU2lnbmVk LW9mZi1ieTogSXdvbmEgV2luaWFyc2thIDxpd29uYS53aW5pYXJza2FAaW50ZWwuY29tPg0KPiA+ IFJldmlld2VkLWJ5OiBQaWVycmUtTG91aXMgQm9zc2FydCA8cGllcnJlLWxvdWlzLmJvc3NhcnRA bGludXguaW50ZWwuY29tPg0KPiA+IC0tLQ0KPiA+IMKgZHJpdmVycy9wZWNpL01ha2VmaWxlwqDC oCB8wqDCoCAyICstDQo+ID4gwqBkcml2ZXJzL3BlY2kvY29yZS5jwqDCoMKgwqAgfMKgIDEzICsr KystDQo+ID4gwqBkcml2ZXJzL3BlY2kvZGV2aWNlLmPCoMKgIHwgMTExICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gPiDCoGRyaXZlcnMvcGVjaS9pbnRlcm5hbC5o IHzCoCAxNSArKysrKysNCj4gPiDCoGRyaXZlcnMvcGVjaS9yZXF1ZXN0LmPCoCB8wqAgNzQgKysr KysrKysrKysrKysrKysrKysrKysrKysrDQo+ID4gwqBkcml2ZXJzL3BlY2kvc3lzZnMuY8KgwqDC oCB8wqAgMzQgKysrKysrKysrKysrDQo+ID4gwqA2IGZpbGVzIGNoYW5nZWQsIDI0NiBpbnNlcnRp b25zKCspLCAzIGRlbGV0aW9ucygtKQ0KPiA+IMKgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMv cGVjaS9kZXZpY2UuYw0KPiA+IMKgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvcGVjaS9yZXF1 ZXN0LmMNCj4gPiANCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9wZWNpL01ha2VmaWxlIGIvZHJp dmVycy9wZWNpL01ha2VmaWxlDQo+ID4gaW5kZXggNjIxYTk5M2UzMDZhLi45MTdmNjg5ZTE0N2Eg MTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9wZWNpL01ha2VmaWxlDQo+ID4gKysrIGIvZHJpdmVy cy9wZWNpL01ha2VmaWxlDQo+ID4gQEAgLTEsNyArMSw3IEBADQo+ID4gwqAjIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkNCj4gPiDCoA0KPiA+IMKgIyBDb3JlIGZ1bmN0aW9u YWxpdHkNCj4gPiAtcGVjaS15IDo9IGNvcmUubyBzeXNmcy5vDQo+ID4gK3BlY2kteSA6PSBjb3Jl Lm8gcmVxdWVzdC5vIGRldmljZS5vIHN5c2ZzLm8NCj4gPiDCoG9iai0kKENPTkZJR19QRUNJKSAr PSBwZWNpLm8NCj4gPiDCoA0KPiA+IMKgIyBIYXJkd2FyZSBzcGVjaWZpYyBidXMgZHJpdmVycw0K PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BlY2kvY29yZS5jIGIvZHJpdmVycy9wZWNpL2NvcmUu Yw0KPiA+IGluZGV4IDBhZDAwMTEwNDU5ZC4uYWU3YTk1NzJjZGYzIDEwMDY0NA0KPiA+IC0tLSBh L2RyaXZlcnMvcGVjaS9jb3JlLmMNCj4gPiArKysgYi9kcml2ZXJzL3BlY2kvY29yZS5jDQo+ID4g QEAgLTMxLDcgKzMxLDE1IEBAIHN0cnVjdCBkZXZpY2VfdHlwZSBwZWNpX2NvbnRyb2xsZXJfdHlw ZSA9IHsNCj4gPiDCoA0KPiA+IMKgaW50IHBlY2lfY29udHJvbGxlcl9zY2FuX2RldmljZXMoc3Ry dWN0IHBlY2lfY29udHJvbGxlciAqY29udHJvbGxlcikNCj4gPiDCoHsNCj4gPiAtwqDCoMKgwqDC oMKgwqAvKiBKdXN0IGEgc3R1Yiwgbm8gc3VwcG9ydCBmb3IgYWN0dWFsIGRldmljZXMgeWV0ICov DQo+ID4gK8KgwqDCoMKgwqDCoMKgaW50IHJldDsNCj4gPiArwqDCoMKgwqDCoMKgwqB1OCBhZGRy Ow0KPiA+ICsNCj4gPiArwqDCoMKgwqDCoMKgwqBmb3IgKGFkZHIgPSBQRUNJX0JBU0VfQUREUjsg YWRkciA8IFBFQ0lfQkFTRV9BRERSICsgUEVDSV9ERVZJQ0VfTlVNX01BWDsgYWRkcisrKSB7DQo+ ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJldCA9IHBlY2lfZGV2aWNlX2NyZWF0 ZShjb250cm9sbGVyLCBhZGRyKTsNCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg aWYgKHJldCkNCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoHJldHVybiByZXQ7DQo+ID4gK8KgwqDCoMKgwqDCoMKgfQ0KPiA+ICsNCj4gDQo+IFRoaXMg c2VlbXMgdG8gYmUgYSBiZWhhdmlvciB0cmlnZ2VyZWQgYXQgcGVjaV9jb250cm9sbGVyX2FkZCBh bmQgYXQgdGhlDQo+IHJlcXVlc3Qgb2YgdXNlcnNwYWNlIHdoZW4gdG91Y2hpbmcgdGhlIHJlc2Nh biBhdHRyaWJ1dGU/IEEgbmF0dXJhbCB3YXkNCj4gdG8gaGFuZGxlIHRoaXMgd291bGQgYmUgdG8g aGF2ZSBhIGRyaXZlciBmb3IgdGhlIHBlY2lfY29udHJvbGxlciBkZXZpY2UNCj4gYW5kIGhhdmUg dGhhdCBkcml2ZXIgaXNzdWUgc2NhbiBhdCBwcm9iZSB0aW1lLiBPdGhlcndpc2UsIGhvdyBkb2Vz DQo+IHVzZXJzcGFjZSBrbm93IHdoZW4gaXQgaXMgdGltZSB0byByZXNjYW4gdGhlIGJ1cz8NCj4g DQoNCnBlY2lfY29udHJvbGxlcl9hZGQoKSBpcyBleHBlY3RlZCB0byBiZSBjYWxsZWQgZHVyaW5n IHByb2JlKCkgb2YNCmNvbnRyb2xsZXIgZHJpdmVyIChvdGhlcndpc2UgdGhlIGRyaXZlciBpc24n dCByZWFsbHkgYSBjb250cm9sbGVyDQpkcml2ZXIpLg0KDQoNCj4gPiDCoMKgwqDCoMKgwqDCoMKg cmV0dXJuIDA7DQo+ID4gwqB9DQo+ID4gwqANCj4gPiBAQCAtMTA2LDcgKzExNCw4IEBAIEVYUE9S VF9TWU1CT0xfTlNfR1BMKHBlY2lfY29udHJvbGxlcl9hZGQsIFBFQ0kpOw0KPiA+IMKgDQo+ID4g wqBzdGF0aWMgaW50IF91bnJlZ2lzdGVyKHN0cnVjdCBkZXZpY2UgKmRldiwgdm9pZCAqZHVtbXkp DQo+ID4gwqB7DQo+ID4gLcKgwqDCoMKgwqDCoMKgLyogSnVzdCBhIHN0dWIsIG5vIHN1cHBvcnQg Zm9yIGFjdHVhbCBkZXZpY2VzIHlldCAqLw0KPiA+ICvCoMKgwqDCoMKgwqDCoHBlY2lfZGV2aWNl X2Rlc3Ryb3kodG9fcGVjaV9kZXZpY2UoZGV2KSk7DQo+IA0KPiBBcyBtZW50aW9uZWQgcHJldmlv dXNseSwgdGhpcyBjb3VsZCBiZSBkZWxlZ2F0ZWQgdG8gZGV2bSB0byB1bnJlZ2lzdGVyDQo+IHdo ZW4gdGhlIG9yaWdpbmFsIGRyaXZlciB0aGF0IGFkZGVkIHRoZSBjb250cm9sbGVyIGdvZXMgdGhy b3VnaCAtDQo+ID4gcmVtb3ZlKCkuDQo+IA0KDQpBY2suDQoNCj4gPiArDQo+ID4gwqDCoMKgwqDC oMKgwqDCoHJldHVybiAwOw0KPiA+IMKgfQ0KPiA+IMKgDQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvcGVjaS9kZXZpY2UuYyBiL2RyaXZlcnMvcGVjaS9kZXZpY2UuYw0KPiA+IG5ldyBmaWxlIG1v ZGUgMTAwNjQ0DQo+ID4gaW5kZXggMDAwMDAwMDAwMDAwLi4xMTI0ODYyMjExZTINCj4gPiAtLS0g L2Rldi9udWxsDQo+ID4gKysrIGIvZHJpdmVycy9wZWNpL2RldmljZS5jDQo+ID4gQEAgLTAsMCAr MSwxMTEgQEANCj4gPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQ0K PiA+ICsvLyBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMSBJbnRlbCBDb3Jwb3JhdGlvbg0KPiA+ICsN Cj4gPiArI2luY2x1ZGUgPGxpbnV4L3BlY2kuaD4NCj4gPiArI2luY2x1ZGUgPGxpbnV4L3NsYWIu aD4NCj4gPiArDQo+ID4gKyNpbmNsdWRlICJpbnRlcm5hbC5oIg0KPiA+ICsNCj4gPiArc3RhdGlj IGludCBwZWNpX2RldGVjdChzdHJ1Y3QgcGVjaV9jb250cm9sbGVyICpjb250cm9sbGVyLCB1OCBh ZGRyKQ0KPiA+ICt7DQo+ID4gK8KgwqDCoMKgwqDCoMKgc3RydWN0IHBlY2lfcmVxdWVzdCAqcmVx Ow0KPiA+ICvCoMKgwqDCoMKgwqDCoGludCByZXQ7DQo+ID4gKw0KPiA+ICvCoMKgwqDCoMKgwqDC oHJlcSA9IHBlY2lfcmVxdWVzdF9hbGxvYyhOVUxMLCAwLCAwKTsNCj4gPiArwqDCoMKgwqDCoMKg wqBpZiAoIXJlcSkNCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIC1F Tk9NRU07DQo+ID4gKw0KPiA+ICvCoMKgwqDCoMKgwqDCoG11dGV4X2xvY2soJmNvbnRyb2xsZXIt PmJ1c19sb2NrKTsNCj4gDQo+IFdoYXQgaXMgdGhlIHVuZGVybHlpbmcgcmVxdWlyZW1lbnQgdG8g cHJldmVudCAyIHNpbXVsdGFuZW91cyAtPnhmZXIoKQ0KPiBpbnZvY2F0aW9ucz8NCj4gDQoNCkl0 J3MgUEVDSSB3aXJlIChwaHlzaWNhbCBsYXllcikgaW50ZXJmYWNlIGxpbWl0YXRpb24uDQoNCj4g PiArwqDCoMKgwqDCoMKgwqByZXQgPSBjb250cm9sbGVyLT54ZmVyKGNvbnRyb2xsZXIsIGFkZHIs IHJlcSk7DQo+ID4gK8KgwqDCoMKgwqDCoMKgbXV0ZXhfdW5sb2NrKCZjb250cm9sbGVyLT5idXNf bG9jayk7DQo+ID4gKw0KPiA+ICvCoMKgwqDCoMKgwqDCoHBlY2lfcmVxdWVzdF9mcmVlKHJlcSk7 DQo+ID4gKw0KPiA+ICvCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7DQo+ID4gK30NCj4gPiArDQo+ ID4gK3N0YXRpYyBib29sIHBlY2lfYWRkcl92YWxpZCh1OCBhZGRyKQ0KPiA+ICt7DQo+ID4gK8Kg wqDCoMKgwqDCoMKgcmV0dXJuIGFkZHIgPj0gUEVDSV9CQVNFX0FERFIgJiYgYWRkciA8IFBFQ0lf QkFTRV9BRERSICsgUEVDSV9ERVZJQ0VfTlVNX01BWDsNCj4gPiArfQ0KPiA+ICsNCj4gPiArc3Rh dGljIGludCBwZWNpX2Rldl9leGlzdHMoc3RydWN0IGRldmljZSAqZGV2LCB2b2lkICpkYXRhKQ0K PiA+ICt7DQo+ID4gK8KgwqDCoMKgwqDCoMKgc3RydWN0IHBlY2lfZGV2aWNlICpkZXZpY2UgPSB0 b19wZWNpX2RldmljZShkZXYpOw0KPiA+ICvCoMKgwqDCoMKgwqDCoHU4ICphZGRyID0gZGF0YTsN Cj4gPiArDQo+ID4gK8KgwqDCoMKgwqDCoMKgaWYgKGRldmljZS0+YWRkciA9PSAqYWRkcikNCj4g PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIC1FQlVTWTsNCj4gPiArDQo+ ID4gK8KgwqDCoMKgwqDCoMKgcmV0dXJuIDA7DQo+ID4gK30NCj4gPiArDQo+ID4gK2ludCBwZWNp X2RldmljZV9jcmVhdGUoc3RydWN0IHBlY2lfY29udHJvbGxlciAqY29udHJvbGxlciwgdTggYWRk cikNCj4gPiArew0KPiA+ICvCoMKgwqDCoMKgwqDCoHN0cnVjdCBwZWNpX2RldmljZSAqZGV2aWNl Ow0KPiA+ICvCoMKgwqDCoMKgwqDCoGludCByZXQ7DQo+ID4gKw0KPiA+ICvCoMKgwqDCoMKgwqDC oGlmIChXQVJOX09OKCFwZWNpX2FkZHJfdmFsaWQoYWRkcikpKQ0KPiA+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gLUVJTlZBTDsNCj4gPiArDQo+ID4gK8KgwqDCoMKgwqDC oMKgLyogQ2hlY2sgaWYgd2UgaGF2ZSBhbHJlYWR5IGRldGVjdGVkIHRoaXMgZGV2aWNlIGJlZm9y ZS4gKi8NCj4gPiArwqDCoMKgwqDCoMKgwqByZXQgPSBkZXZpY2VfZm9yX2VhY2hfY2hpbGQoJmNv bnRyb2xsZXItPmRldiwgJmFkZHIsIHBlY2lfZGV2X2V4aXN0cyk7DQo+ID4gK8KgwqDCoMKgwqDC oMKgaWYgKHJldCkNCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7 DQo+ID4gKw0KPiA+ICvCoMKgwqDCoMKgwqDCoHJldCA9IHBlY2lfZGV0ZWN0KGNvbnRyb2xsZXIs IGFkZHIpOw0KPiA+ICvCoMKgwqDCoMKgwqDCoGlmIChyZXQpIHsNCj4gPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgLyoNCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg ICogRGV2aWNlIG5vdCBwcmVzZW50IG9yIGhvc3Qgc3RhdGUgZG9lc24ndCBhbGxvdyBzdWNjZXNz ZnVsDQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqIGRldGVjdGlvbiBhdCB0 aGlzIHRpbWUuDQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqLw0KPiA+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZiAocmV0ID09IC1FSU8gfHwgcmV0ID09IC1F VElNRURPVVQpDQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqByZXR1cm4gMDsNCj4gPiArDQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oHJldHVybiByZXQ7DQo+ID4gK8KgwqDCoMKgwqDCoMKgfQ0KPiA+ICsNCj4gPiArwqDCoMKgwqDC oMKgwqBkZXZpY2UgPSBremFsbG9jKHNpemVvZigqZGV2aWNlKSwgR0ZQX0tFUk5FTCk7DQo+ID4g K8KgwqDCoMKgwqDCoMKgaWYgKCFkZXZpY2UpDQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoHJldHVybiAtRU5PTUVNOw0KPiA+ICsNCj4gPiArwqDCoMKgwqDCoMKgwqBkZXZpY2Ut PmNvbnRyb2xsZXIgPSBjb250cm9sbGVyOw0KPiA+ICvCoMKgwqDCoMKgwqDCoGRldmljZS0+YWRk ciA9IGFkZHI7DQo+ID4gK8KgwqDCoMKgwqDCoMKgZGV2aWNlLT5kZXYucGFyZW50ID0gJmRldmlj ZS0+Y29udHJvbGxlci0+ZGV2Ow0KPiA+ICvCoMKgwqDCoMKgwqDCoGRldmljZS0+ZGV2LmJ1cyA9 ICZwZWNpX2J1c190eXBlOw0KPiA+ICvCoMKgwqDCoMKgwqDCoGRldmljZS0+ZGV2LnR5cGUgPSAm cGVjaV9kZXZpY2VfdHlwZTsNCj4gPiArDQo+ID4gK8KgwqDCoMKgwqDCoMKgcmV0ID0gZGV2X3Nl dF9uYW1lKCZkZXZpY2UtPmRldiwgIiVkLSUwMngiLCBjb250cm9sbGVyLT5pZCwgZGV2aWNlLT5h ZGRyKTsNCj4gPiArwqDCoMKgwqDCoMKgwqBpZiAocmV0KQ0KPiA+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqBnb3RvIGVycl9mcmVlOw0KPiA+ICsNCj4gPiArwqDCoMKgwqDCoMKgwqBy ZXQgPSBkZXZpY2VfcmVnaXN0ZXIoJmRldmljZS0+ZGV2KTsNCj4gDQo+IFRoZXJlIGlzIGEgcmVj ZW50IG1vdmVtZW50IGF3YXkgZnJvbSBkZXZpY2VfcmVnaXN0ZXIoKSB0byBhbiBhbGxvYythZGQN Cj4gcGF0dGVybiBbMV0uIEkuZS4gaGF2ZSBkZXZpY2VfaW5pdGlhbGl6ZSgpIGFuZCBkZXZpY2Vf YWRkKCkgc3RlcHMuIFdpdGgNCj4gdGhhdCB5b3UgY2FuIHVuaWZ5IHRoZSBlcnJvciBleGl0IHRv IGJlIHB1dF9kZXZpY2UoKS4NCj4gDQo+IFsxXTogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvci8y MDIxMDcxMjEzNDIzMy5HQTE0MTEzN0B6aWVwZS5jYQ0KPiANCg0KSXQncyBqdXN0IGtmcmVlIGlu IHRoaXMgY2FzZSwgYnV0IEkgYWdyZWUuIEknbGwgbW9kaWZ5IHRoaXMuDQoNCj4gPiArwqDCoMKg wqDCoMKgwqBpZiAocmV0KQ0KPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBnb3Rv IGVycl9wdXQ7DQo+ID4gKw0KPiA+ICvCoMKgwqDCoMKgwqDCoHJldHVybiAwOw0KPiA+ICsNCj4g PiArZXJyX3B1dDoNCj4gPiArwqDCoMKgwqDCoMKgwqBwdXRfZGV2aWNlKCZkZXZpY2UtPmRldik7 DQo+ID4gK2Vycl9mcmVlOg0KPiA+ICvCoMKgwqDCoMKgwqDCoGtmcmVlKGRldmljZSk7DQo+ID4g Kw0KPiA+ICvCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7DQo+ID4gK30NCj4gPiArDQo+ID4gK3Zv aWQgcGVjaV9kZXZpY2VfZGVzdHJveShzdHJ1Y3QgcGVjaV9kZXZpY2UgKmRldmljZSkNCj4gPiAr ew0KPiA+ICvCoMKgwqDCoMKgwqDCoGRldmljZV91bnJlZ2lzdGVyKCZkZXZpY2UtPmRldik7DQo+ ID4gK30NCj4gPiArDQo+ID4gK3N0YXRpYyB2b2lkIHBlY2lfZGV2aWNlX3JlbGVhc2Uoc3RydWN0 IGRldmljZSAqZGV2KQ0KPiA+ICt7DQo+ID4gK8KgwqDCoMKgwqDCoMKgc3RydWN0IHBlY2lfZGV2 aWNlICpkZXZpY2UgPSB0b19wZWNpX2RldmljZShkZXYpOw0KPiA+ICsNCj4gPiArwqDCoMKgwqDC oMKgwqBrZnJlZShkZXZpY2UpOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICtzdHJ1Y3QgZGV2aWNlX3R5 cGUgcGVjaV9kZXZpY2VfdHlwZSA9IHsNCj4gPiArwqDCoMKgwqDCoMKgwqAuZ3JvdXBzwqDCoMKg wqDCoMKgwqDCoMKgPSBwZWNpX2RldmljZV9ncm91cHMsDQo+ID4gK8KgwqDCoMKgwqDCoMKgLnJl bGVhc2XCoMKgwqDCoMKgwqDCoMKgPSBwZWNpX2RldmljZV9yZWxlYXNlLA0KPiA+ICt9Ow0KPiA+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BlY2kvaW50ZXJuYWwuaCBiL2RyaXZlcnMvcGVjaS9pbnRl cm5hbC5oDQo+ID4gaW5kZXggODBjNjFiY2RmYzZiLi42YjEzOWFkYWY2YjggMTAwNjQ0DQo+ID4g LS0tIGEvZHJpdmVycy9wZWNpL2ludGVybmFsLmgNCj4gPiArKysgYi9kcml2ZXJzL3BlY2kvaW50 ZXJuYWwuaA0KPiA+IEBAIC05LDYgKzksMjEgQEANCj4gPiDCoA0KPiA+IMKgc3RydWN0IHBlY2lf Y29udHJvbGxlcjsNCj4gPiDCoHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXA7DQo+ID4gK3N0cnVjdCBw ZWNpX2RldmljZTsNCj4gPiArc3RydWN0IHBlY2lfcmVxdWVzdDsNCj4gPiArDQo+ID4gKy8qIFBF Q0kgQ1BVIGFkZHJlc3MgcmFuZ2UgMHgzMC0weDM3ICovDQo+ID4gKyNkZWZpbmUgUEVDSV9CQVNF X0FERFLCoMKgwqDCoMKgwqDCoMKgwqAweDMwDQo+ID4gKyNkZWZpbmUgUEVDSV9ERVZJQ0VfTlVN X01BWMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoDgNCj4gPiArDQo+ID4gK3N0cnVjdCBwZWNpX3Jl cXVlc3QgKnBlY2lfcmVxdWVzdF9hbGxvYyhzdHJ1Y3QgcGVjaV9kZXZpY2UgKmRldmljZSwgdTgg dHhfbGVuLCB1OCByeF9sZW4pOw0KPiA+ICt2b2lkIHBlY2lfcmVxdWVzdF9mcmVlKHN0cnVjdCBw ZWNpX3JlcXVlc3QgKnJlcSk7DQo+ID4gKw0KPiA+ICtleHRlcm4gc3RydWN0IGRldmljZV90eXBl IHBlY2lfZGV2aWNlX3R5cGU7DQo+ID4gK2V4dGVybiBjb25zdCBzdHJ1Y3QgYXR0cmlidXRlX2dy b3VwICpwZWNpX2RldmljZV9ncm91cHNbXTsNCj4gPiArDQo+ID4gK2ludCBwZWNpX2RldmljZV9j cmVhdGUoc3RydWN0IHBlY2lfY29udHJvbGxlciAqY29udHJvbGxlciwgdTggYWRkcik7DQo+ID4g K3ZvaWQgcGVjaV9kZXZpY2VfZGVzdHJveShzdHJ1Y3QgcGVjaV9kZXZpY2UgKmRldmljZSk7DQo+ ID4gwqANCj4gPiDCoGV4dGVybiBzdHJ1Y3QgYnVzX3R5cGUgcGVjaV9idXNfdHlwZTsNCj4gPiDC oGV4dGVybiBjb25zdCBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwICpwZWNpX2J1c19ncm91cHNbXTsN Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9wZWNpL3JlcXVlc3QuYyBiL2RyaXZlcnMvcGVjaS9y ZXF1ZXN0LmMNCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+IGluZGV4IDAwMDAwMDAwMDAw MC4uNzhjZWU1MWRmYWUxDQo+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ICsrKyBiL2RyaXZlcnMvcGVj aS9yZXF1ZXN0LmMNCj4gPiBAQCAtMCwwICsxLDc0IEBADQo+ID4gKy8vIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkNCj4gPiArLy8gQ29weXJpZ2h0IChjKSAyMDIxIEludGVs IENvcnBvcmF0aW9uDQo+ID4gKw0KPiA+ICsjaW5jbHVkZSA8bGludXgvZXhwb3J0Lmg+DQo+ID4g KyNpbmNsdWRlIDxsaW51eC9wZWNpLmg+DQo+ID4gKyNpbmNsdWRlIDxsaW51eC9zbGFiLmg+DQo+ ID4gKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPg0KPiA+ICsNCj4gPiArI2luY2x1ZGUgImludGVy bmFsLmgiDQo+ID4gKw0KPiA+ICsvKioNCj4gPiArICogcGVjaV9yZXF1ZXN0X2FsbG9jKCkgLSBh bGxvY2F0ZSAmc3RydWN0IHBlY2lfcmVxdWVzdCB3aXRoIGJ1ZmZlcnMgd2l0aCBnaXZlbiBsZW5n dGhzDQo+ID4gKyAqIEBkZXZpY2U6IFBFQ0kgZGV2aWNlIHRvIHdoaWNoIHJlcXVlc3QgaXMgZ29p bmcgdG8gYmUgc2VudA0KPiA+ICsgKiBAdHhfbGVuOiByZXF1ZXN0ZWQgVFggYnVmZmVyIGxlbmd0 aA0KPiA+ICsgKiBAcnhfbGVuOiByZXF1ZXN0ZWQgUlggYnVmZmVyIGxlbmd0aA0KPiA+ICsgKg0K PiA+ICsgKiBSZXR1cm46IEEgcG9pbnRlciB0byBhIG5ld2x5IGFsbG9jYXRlZCAmc3RydWN0IHBl Y2lfcmVxdWVzdCBvbiBzdWNjZXNzIG9yIE5VTEwgb3RoZXJ3aXNlLg0KPiA+ICsgKi8NCj4gPiAr c3RydWN0IHBlY2lfcmVxdWVzdCAqcGVjaV9yZXF1ZXN0X2FsbG9jKHN0cnVjdCBwZWNpX2Rldmlj ZSAqZGV2aWNlLCB1OCB0eF9sZW4sIHU4IHJ4X2xlbikNCj4gPiArew0KPiANCj4gSG93IGJpZyBj YW4gdGhlc2UgbGVuZ3RocyBiZT8NCg0KUEVDSSBzcGVjaWZpY2F0aW9uIGRlZmluZXMgdHhfbGVu IGFzIGEgc2luZ2xlIGJ5dGUsIHNhbWUgdGhpbmcgZm9yDQpyeF9sZW4uDQpDdXJyZW50bHkgdGhl IGxhcmdlc3Qgd2UncmUgdXNpbmcgaXMgMjQgSUlSQy4NCg0KPiANCj4gPiArwqDCoMKgwqDCoMKg wqBzdHJ1Y3QgcGVjaV9yZXF1ZXN0ICpyZXE7DQo+ID4gK8KgwqDCoMKgwqDCoMKgdTggKnR4X2J1 ZiwgKnJ4X2J1ZjsNCj4gPiArDQo+ID4gK8KgwqDCoMKgwqDCoMKgcmVxID0ga3phbGxvYyhzaXpl b2YoKnJlcSksIEdGUF9LRVJORUwpOw0KPiA+ICvCoMKgwqDCoMKgwqDCoGlmICghcmVxKQ0KPiA+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gTlVMTDsNCj4gPiArDQo+ID4g K8KgwqDCoMKgwqDCoMKgcmVxLT5kZXZpY2UgPSBkZXZpY2U7DQo+ID4gKw0KPiA+ICvCoMKgwqDC oMKgwqDCoC8qDQo+ID4gK8KgwqDCoMKgwqDCoMKgICogUEVDSSBjb250cm9sbGVycyB0aGF0IHdl IGFyZSB1c2luZyBub3cgZG9uJ3Qgc3VwcG9ydCBETUEsIHRoaXMNCj4gPiArwqDCoMKgwqDCoMKg wqAgKiBzaG91bGQgYmUgY29udmVydGVkIHRvIERNQSBBUEkgb25jZSBzdXBwb3J0IGZvciBjb250 cm9sbGVycyB0aGF0IGRvDQo+ID4gK8KgwqDCoMKgwqDCoMKgICogYWxsb3cgaXQgaXMgYWRkZWQg dG8gYXZvaWQgYW4gZXh0cmEgY29weS4NCj4gPiArwqDCoMKgwqDCoMKgwqAgKi8NCj4gPiArwqDC oMKgwqDCoMKgwqBpZiAodHhfbGVuKSB7DQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoHR4X2J1ZiA9IGt6YWxsb2ModHhfbGVuLCBHRlBfS0VSTkVMKTsNCj4gPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYgKCF0eF9idWYpDQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBnb3RvIGVycl9mcmVlX3JlcTsNCj4gPiArDQo+ ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJlcS0+dHguYnVmID0gdHhfYnVmOw0K PiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZXEtPnR4LmxlbiA9IHR4X2xlbjsN Cj4gPiArwqDCoMKgwqDCoMKgwqB9DQo+ID4gKw0KPiA+ICvCoMKgwqDCoMKgwqDCoGlmIChyeF9s ZW4pIHsNCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcnhfYnVmID0ga3phbGxv YyhyeF9sZW4sIEdGUF9LRVJORUwpOw0KPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqBpZiAoIXJ4X2J1ZikNCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoGdvdG8gZXJyX2ZyZWVfdHg7DQo+ID4gKw0KPiA+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqByZXEtPnJ4LmJ1ZiA9IHJ4X2J1ZjsNCj4gPiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgcmVxLT5yeC5sZW4gPSByeF9sZW47DQo+ID4gK8KgwqDCoMKgwqDCoMKg fQ0KPiA+ICsNCj4gPiArwqDCoMKgwqDCoMKgwqByZXR1cm4gcmVxOw0KPiA+ICsNCj4gPiArZXJy X2ZyZWVfdHg6DQo+ID4gK8KgwqDCoMKgwqDCoMKga2ZyZWUocmVxLT50eC5idWYpOw0KPiA+ICtl cnJfZnJlZV9yZXE6DQo+ID4gK8KgwqDCoMKgwqDCoMKga2ZyZWUocmVxKTsNCj4gPiArDQo+ID4g K8KgwqDCoMKgwqDCoMKgcmV0dXJuIE5VTEw7DQo+ID4gK30NCj4gPiArRVhQT1JUX1NZTUJPTF9O U19HUEwocGVjaV9yZXF1ZXN0X2FsbG9jLCBQRUNJKTsNCj4gPiArDQo+ID4gKy8qKg0KPiA+ICsg KiBwZWNpX3JlcXVlc3RfZnJlZSgpIC0gZnJlZSBwZWNpX3JlcXVlc3QNCj4gPiArICogQHJlcTog dGhlIFBFQ0kgcmVxdWVzdCB0byBiZSBmcmVlZA0KPiA+ICsgKi8NCj4gPiArdm9pZCBwZWNpX3Jl cXVlc3RfZnJlZShzdHJ1Y3QgcGVjaV9yZXF1ZXN0ICpyZXEpDQo+ID4gK3sNCj4gPiArwqDCoMKg wqDCoMKgwqBrZnJlZShyZXEtPnJ4LmJ1Zik7DQo+ID4gK8KgwqDCoMKgwqDCoMKga2ZyZWUocmVx LT50eC5idWYpOw0KPiA+ICvCoMKgwqDCoMKgwqDCoGtmcmVlKHJlcSk7DQo+ID4gK30NCj4gPiAr RVhQT1JUX1NZTUJPTF9OU19HUEwocGVjaV9yZXF1ZXN0X2ZyZWUsIFBFQ0kpOw0KPiA+IGRpZmYg LS1naXQgYS9kcml2ZXJzL3BlY2kvc3lzZnMuYyBiL2RyaXZlcnMvcGVjaS9zeXNmcy5jDQo+ID4g aW5kZXggMzZjNWUyYTE4YTkyLi5kYjllZjA1Nzc2ZTMgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVy cy9wZWNpL3N5c2ZzLmMNCj4gPiArKysgYi9kcml2ZXJzL3BlY2kvc3lzZnMuYw0KPiA+IEBAIC0x LDYgKzEsOCBAQA0KPiA+IMKgLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25s eQ0KPiA+IMKgLy8gQ29weXJpZ2h0IChjKSAyMDIxIEludGVsIENvcnBvcmF0aW9uDQo+ID4gwqAN Cj4gPiArI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPg0KPiA+ICsjaW5jbHVkZSA8bGludXgva2Vy bmVsLmg+DQo+ID4gwqAjaW5jbHVkZSA8bGludXgvcGVjaS5oPg0KPiA+IMKgDQo+ID4gwqAjaW5j bHVkZSAiaW50ZXJuYWwuaCINCj4gPiBAQCAtNDYsMyArNDgsMzUgQEAgY29uc3Qgc3RydWN0IGF0 dHJpYnV0ZV9ncm91cCAqcGVjaV9idXNfZ3JvdXBzW10gPSB7DQo+ID4gwqDCoMKgwqDCoMKgwqDC oCZwZWNpX2J1c19ncm91cCwNCj4gPiDCoMKgwqDCoMKgwqDCoMKgTlVMTA0KPiA+IMKgfTsNCj4g PiArDQo+ID4gK3N0YXRpYyBzc2l6ZV90IHJlbW92ZV9zdG9yZShzdHJ1Y3QgZGV2aWNlICpkZXYs IHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLA0KPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90 IGNvdW50KQ0KPiA+ICt7DQo+ID4gK8KgwqDCoMKgwqDCoMKgc3RydWN0IHBlY2lfZGV2aWNlICpk ZXZpY2UgPSB0b19wZWNpX2RldmljZShkZXYpOw0KPiA+ICvCoMKgwqDCoMKgwqDCoGJvb2wgcmVz Ow0KPiA+ICvCoMKgwqDCoMKgwqDCoGludCByZXQ7DQo+ID4gKw0KPiA+ICvCoMKgwqDCoMKgwqDC oHJldCA9IGtzdHJ0b2Jvb2woYnVmLCAmcmVzKTsNCj4gPiArwqDCoMKgwqDCoMKgwqBpZiAocmV0 KQ0KPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Ow0KPiA+ICsN Cj4gPiArwqDCoMKgwqDCoMKgwqBpZiAocmVzICYmIGRldmljZV9yZW1vdmVfZmlsZV9zZWxmKGRl diwgYXR0cikpDQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHBlY2lfZGV2aWNl X2Rlc3Ryb3koZGV2aWNlKTsNCj4gPiArDQo+ID4gK8KgwqDCoMKgwqDCoMKgcmV0dXJuIGNvdW50 Ow0KPiA+ICt9DQo+ID4gK3N0YXRpYyBERVZJQ0VfQVRUUl9JR05PUkVfTE9DS0RFUChyZW1vdmUs IDAyMDAsIE5VTEwsIHJlbW92ZV9zdG9yZSk7DQo+IA0KPiBXaHkgZG9lcyB1c2Vyc3BhY2UgbmVl ZCB0aGUgYWJpbGl0eSB0byBraWNrIGRldmljZXMgb2ZmIHRoZSBidXM/DQo+IA0KPiBEbyB5b3Ug aGF2ZSBhbiBleGFtcGxlIHVzZXJzcGFjZSB0b29sIHRoYXQgaXMgdXNpbmcgdGhlc2Ugc3lzZnMg QVBJcz8NCg0KU3ltbWV0cnkgd2l0aCBhZGRpbmcgZGV2aWNlcyAoaW4gdGhpcyBjYXNlIHJlc2Nh bikgLSBpdCdzIGFsc28gdXNlZnVsDQpmb3IgZGV2ZWxvcG1lbnQgYW5kIHRlc3RpbmcgKGUuZy4g a2ljayBvZmYgZXh0cmEgZGV2aWNlcyB0byBsZWF2ZSBhDQpzaW5nbGUgb25lKS4NCk1vcmVvdmVy LCBpdCBsb29rcyBsaWtlIGNvbW1vbiBwYXR0ZXJuIGluIG90aGVyIHN1YnN5c3RlbXMuDQoNClRo YW5rIHlvdQ0KLUl3b25hDQoNCj4gDQo+ID4gKw0KPiA+ICtzdGF0aWMgc3RydWN0IGF0dHJpYnV0 ZSAqcGVjaV9kZXZpY2VfYXR0cnNbXSA9IHsNCj4gPiArwqDCoMKgwqDCoMKgwqAmZGV2X2F0dHJf cmVtb3ZlLmF0dHIsDQo+ID4gK8KgwqDCoMKgwqDCoMKgTlVMTA0KPiA+ICt9Ow0KPiA+ICsNCj4g PiArc3RhdGljIGNvbnN0IHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgcGVjaV9kZXZpY2VfZ3JvdXAg PSB7DQo+ID4gK8KgwqDCoMKgwqDCoMKgLmF0dHJzID0gcGVjaV9kZXZpY2VfYXR0cnMsDQo+ID4g K307DQo+ID4gKw0KPiA+ICtjb25zdCBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwICpwZWNpX2Rldmlj ZV9ncm91cHNbXSA9IHsNCj4gPiArwqDCoMKgwqDCoMKgwqAmcGVjaV9kZXZpY2VfZ3JvdXAsDQo+ ID4gK8KgwqDCoMKgwqDCoMKgTlVMTA0KPiA+ICt9Ow0KPiANCg0K