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 X-Spam-Level: X-Spam-Status: No, score=-13.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5C45FC433B4 for ; Wed, 7 Apr 2021 06:51:12 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 28AD8613AF for ; Wed, 7 Apr 2021 06:51:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242586AbhDGGvU (ORCPT ); Wed, 7 Apr 2021 02:51:20 -0400 Received: from mga01.intel.com ([192.55.52.88]:62954 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230495AbhDGGvT (ORCPT ); Wed, 7 Apr 2021 02:51:19 -0400 IronPort-SDR: xAAw5Me9JKmlcVJKvdGya4P4yJBfH3GNpsx7ETkoBUg21Ad85iI/Zpu4ZHG59CvsFO0gGbLqWS EfEmrbxqHtqg== X-IronPort-AV: E=McAfee;i="6000,8403,9946"; a="213626841" X-IronPort-AV: E=Sophos;i="5.82,201,1613462400"; d="scan'208";a="213626841" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Apr 2021 23:51:10 -0700 IronPort-SDR: UZYcvmioHZPrFovuVJ+m/SaKDcXALuNOAXrYgUBj5KOIr3/pKCXzPTUoOPqGTL0LYZXbZt8Vea /QCH8EPOi9UA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,201,1613462400"; d="scan'208";a="612819763" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by fmsmga005.fm.intel.com with ESMTP; 06 Apr 2021 23:51:10 -0700 Received: from hasmsx601.ger.corp.intel.com (10.184.107.141) 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.2106.2; Tue, 6 Apr 2021 23:51:09 -0700 Received: from hasmsx602.ger.corp.intel.com (10.184.107.142) by HASMSX601.ger.corp.intel.com (10.184.107.141) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Wed, 7 Apr 2021 09:51:07 +0300 Received: from hasmsx602.ger.corp.intel.com ([10.184.107.142]) by HASMSX602.ger.corp.intel.com ([10.184.107.142]) with mapi id 15.01.2106.013; Wed, 7 Apr 2021 09:51:07 +0300 From: "Winkler, Tomas" To: Hans de Goede , Rajneesh Bhardwaj , "Box, David E" , "Mark Gross" CC: "platform-driver-x86@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "Mashiah, Tamar" , Andy Shevchenko Subject: RE: [PATCH v4] platform/x86: intel_pmc_core: export platform global_reset via sysfs. Thread-Topic: [PATCH v4] platform/x86: intel_pmc_core: export platform global_reset via sysfs. Thread-Index: AQHXJ9PZ+jJnr8eNskSUjjgqVIycYKqnStuAgAFVCLA= Date: Wed, 7 Apr 2021 06:51:07 +0000 Message-ID: <3387dd6987634bffb7a5082d70bdecfc@intel.com> References: <20210402152113.1191796-1-tomas.winkler@intel.com> In-Reply-To: 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.5.1.3 x-originating-ip: [10.184.70.1] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: platform-driver-x86@vger.kernel.org PiA+DQo+ID4gRHVyaW5nIFBDSCAocGxhdGZvcm0vYm9hcmQpIG1hbnVmYWN0dXJpbmcgcHJvY2Vz cyBhIGdsb2JhbCByZXNldCBoYXMNCj4gPiB0byBiZSBpbmR1Y2VkIGluIG9yZGVyIGZvciBjb25m aWd1cmF0aW9uIGNoYW5nZXMgdGFrZSB0aGUgZWZmZWN0IHVwb24NCj4gPiBmb2xsb3dpbmcgcGxh dGZvcm0gcmVzZXQuDQo+ID4gVGhpcyBzZXR0aW5nIHdhcyBjb21tb25seSBkb25lIGJ5IGFjY2Vz c2luZyBQTUMgcmVnaXN0ZXJzIHZpYSAvZGV2L21lbQ0KPiA+IGJ1dCBkdWUgdG8gc2VjdXJpdHkg Y29uY2VybiAvZGV2L21lbSBhY2Nlc3MgaXMgbXVjaCByZXN0cmljdGVkLCBoZW5jZQ0KPiA+IHRo ZSByZWFzb24gZm9yIGV4cG9zaW5nIHRoaXMgc2V0dGluZyB2aWEgZGVkaWNhdGVkIHN5c2ZzIGlu dGVyZmFjZS4NCj4gPiBUbyBwcmV2ZW50IHBvc3QgbWFudWZhY3R1cmluZyBhYnVzZSB0aGUgcmVn aXN0ZXIgaXMgcHJvdGVjdGVkIGJ5DQo+ID4gaGFyZHdhcmUgbG9ja2luZy4NCj4gDQo+IFRoZSBw dXJwb3NlIG9mIHRoaXMgcmVzZXQgZnVuY3Rpb25hbGl0eSBpcyBub3QgZW50aXJlbHkgY2xlYXIg dG8gbWUuDQo+IA0KPiBJcyB0aGlzIG9ubHkgdXNlZCBkdXJpbmcgcHJvZHVjdGlvbiBvZiBhIGJv YXJkPyBPciBpcyB0aGlzIGFsc28gc29tZXRoaW5nDQo+IHdoaWNoIGEgdXNlci9yZXNlbGxlciBt YXkgdXNlIGFzIHBhcnQgb2YgYSBmYWN0b3J5LXJlc2V0IHByb2NlZHVyZT8NCg0KQm9hcmQgcHJv ZHVjdGlvbiBhbmQgcmVmdXJiaXNoaW5nIG9mIHRoZSBib2FyZC4gSSBjYW4gdHJ5IHRvIHJlcGhy YXNlIGJ1dCBJIHRob3VnaHQgYWxsIHRoZSBpbmZvIGlzIGluIHRoZSBjb21taXQgbWVzc2FnZS4g DQpBcyBhIHJ1bnRpbWUgZmVhdHVyZSBhIHVzZXIgY2FuIGNoZWNrIHRoYXQgaGVyL2hpcyBwbGF0 Zm9ybSBpcyBjb3JyZWN0bHkgc2VhbGVkLiANCj4gDQo+IElmIHRoaXMgaXMgb25seSB1c2VkIG9u Y2UgZHVyaW5nIHByb2R1Y3Rpb24sIHRoZW4gSSdtIG5vdCBzdXJlIGlmIGludHJvZHVjaW5nIGEN Cj4gc3lzZnMgZmlsZSBmb3IgdGhpcyBpcyBkZXNpcmFibGUuDQoNCldoYXQgZG8geW91IHN1Z2dl c3QsIHRoYW4/ICBJJ20ganVzdCBndWVzc2luZyBpcyB3aGVyZSBhcmUgeW91IGhlYWRpbmcgc28g dGhlIGFuc3dlciBpcyB0aGF0IHRoZSBtYW51ZmFjdHVyaW5nDQppcyBvZnRlbiBhbHJlYWR5IHJ1 biBvbiB0aGUgcHJvZHVjdGlvbiBPUyBpbnN0YWxsYXRpb24sICB3L28gZ29pbmcgaW50byBkZXRh aWxzIHN3YXBwaW5nIG9yIHJlY29uZmlndXJpbmcgdGhlIE9TIGlzIG5vdCBhbHdheXMgYW4gb3B0 aW9uLg0KVGhlIG1hbnVmYWN0dXJlciBpcyBhbHNvIGEgdXNlciBvZiBvdXJzLg0KDQo+IA0KPiBD YW4geW91IHBsZWFzZSBwcm92aWRlIGEgbmV3IHZlcnNpb24gd2hlcmUgdGhlIHB1cnBzb2Ugb2Yg dGhlIG5ld2x5DQo+IGludHJvZHVjZWQgc3lzZnMgZmlsZSBpcyBtYWRlIG1vcmUgY2xlYXIsIGJv dGggaW4gdGhlIGNvbW1pdC1tc2cgYXMgd2VsbCBhcyBpbg0KPiB0aGU6DQpPa2F5IEkgY2FuIGRv IHRoYXQuDQo+IA0KPiBEb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLXBsYXRmb3JtLWlu dGVsLXBtYw0KPiANCj4gRmlsZSA/DQo+IA0KPiBSZWdhcmRzLA0KPiANCj4gSGFucw0KPiANCj4g DQo+IA0KPiA+DQo+ID4gVGhlIHJlZ2lzdGVyIGluIE1NSU8gc3BhY2UgaXMgZGVmaW5lZCBmb3Ig Q2Fubm9uIExha2UgYW5kIG5ld2VyIFBDSHMuDQo+ID4NCj4gPiBDYzogRGF2aWQgRSBCb3ggPGRh dmlkLmUuYm94QGludGVsLmNvbT4NCj4gPiBSZXZpZXdlZC1ieTogQW5keSBTaGV2Y2hlbmtvIDxh bmRyaXkuc2hldmNoZW5rb0BsaW51eC5pbnRlbC5jb20+DQo+ID4gU2lnbmVkLW9mZi1ieTogVGFt YXIgTWFzaGlhaCA8dGFtYXIubWFzaGlhaEBpbnRlbC5jb20+DQo+ID4gU2lnbmVkLW9mZi1ieTog VG9tYXMgV2lua2xlciA8dG9tYXMud2lua2xlckBpbnRlbC5jb20+DQo+ID4gLS0tDQo+ID4gMjoN Cj4gPiAxLiBBZGQgbG9ja2luZyBmb3IgcmVhZGluZyB0aGUgRVQzIHJlZ2lzdGVyICAoQW5keSkg Mi4gRml4IGZldyBzdHlsZQ0KPiA+IGlzc3VlcyAoQW5keSkNCj4gPiBWMzoNCj4gPiAxLiBSZXNl bmQNCj4gPiB2NDoNCj4gPiAxLiBGaXggcmV0dXJuIHN0YXRlbWVudCAoQW5keSkNCj4gPiAyLiBT cGVjaWZ5IG1hbnVmYWN0dXJpbmcgcHJvY2VzcyAoRW5yaWNvKQ0KPiA+DQo+ID4gIC4uLi9BQkkv dGVzdGluZy9zeXNmcy1wbGF0Zm9ybS1pbnRlbC1wbWMgICAgICB8IDExICsrKw0KPiA+ICBNQUlO VEFJTkVSUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMSArDQo+ID4gIGRy aXZlcnMvcGxhdGZvcm0veDg2L2ludGVsX3BtY19jb3JlLmMgICAgICAgICB8IDk3ICsrKysrKysr KysrKysrKysrKysNCj4gPiAgZHJpdmVycy9wbGF0Zm9ybS94ODYvaW50ZWxfcG1jX2NvcmUuaCAg ICAgICAgIHwgIDYgKysNCj4gPiAgNCBmaWxlcyBjaGFuZ2VkLCAxMTUgaW5zZXJ0aW9ucygrKQ0K PiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgRG9jdW1lbnRhdGlvbi9BQkkvdGVzdGluZy9zeXNmcy1w bGF0Zm9ybS1pbnRlbC1wbWMNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL0FC SS90ZXN0aW5nL3N5c2ZzLXBsYXRmb3JtLWludGVsLXBtYw0KPiA+IGIvRG9jdW1lbnRhdGlvbi9B QkkvdGVzdGluZy9zeXNmcy1wbGF0Zm9ybS1pbnRlbC1wbWMNCj4gPiBuZXcgZmlsZSBtb2RlIDEw MDY0NA0KPiA+IGluZGV4IDAwMDAwMDAwMDAwMC4uN2NlMDBlNzdmYmNkDQo+ID4gLS0tIC9kZXYv bnVsbA0KPiA+ICsrKyBiL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtcGxhdGZvcm0t aW50ZWwtcG1jDQo+ID4gQEAgLTAsMCArMSwxMSBAQA0KPiA+ICtXaGF0OgkJL3N5cy9kZXZpY2Vz L3BsYXRmb3JtLzxwbGF0Zm9ybT4vZ2xvYmFsX3Jlc2V0DQo+ID4gK0RhdGU6CQlBcHIgMjAyMQ0K PiA+ICtLZXJuZWxWZXJzaW9uOgk1LjEzDQo+ID4gK0NvbnRhY3Q6CSJUb21hcyBXaW5rbGVyIiA8 dG9tYXMud2lua2xlckBpbnRlbC5jb20+DQo+ID4gK0Rlc2NyaXB0aW9uOg0KPiA+ICsJCURpc3Bs YXkgZ2xvYmFsIHJlc2V0IHNldHRpbmcgYml0cyBmb3IgUE1DLg0KPiA+ICsJCQkqIGJpdCAzMSAt IGdsb2JhbCByZXNldCBpcyBsb2NrZWQNCj4gPiArCQkJKiBiaXQgMjAgLSBnbG9iYWwgcmVzZXQg aXMgc2V0DQo+ID4gKwkJV3JpdGluZyBiaXQgMjAgdmFsdWUgdG8gdGhlIGdsb2JhbF9yZXNldCB3 aWxsIGluZHVjZQ0KPiA+ICsJCWEgcGxhdGZvcm0gZ2xvYmFsIHJlc2V0IHVwb24gY29uc2VxdWVu dCBwbGF0Zm9ybSByZXNldC4NCj4gPiArCQlpbiBjYXNlIHRoZSByZWdpc3RlciBpcyBub3QgbG9j a2VkLg0KPiA+IGRpZmYgLS1naXQgYS9NQUlOVEFJTkVSUyBiL01BSU5UQUlORVJTIGluZGV4DQo+ ID4gMDRmNjhlMGNkYTY0Li42MTg2NzZlYmE4YzggMTAwNjQ0DQo+ID4gLS0tIGEvTUFJTlRBSU5F UlMNCj4gPiArKysgYi9NQUlOVEFJTkVSUw0KPiA+IEBAIC05MTY2LDYgKzkxNjYsNyBAQCBNOglS YWpuZWVzaCBCaGFyZHdhag0KPiA8aXJlbmljLnJham5lZXNoQGdtYWlsLmNvbT4NCj4gPiAgTToJ RGF2aWQgRSBCb3ggPGRhdmlkLmUuYm94QGludGVsLmNvbT4NCj4gPiAgTDoJcGxhdGZvcm0tZHJp dmVyLXg4NkB2Z2VyLmtlcm5lbC5vcmcNCj4gPiAgUzoJTWFpbnRhaW5lZA0KPiA+ICtGOglEb2N1 bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLXBsYXRmb3JtLWludGVsLXBtYw0KPiA+ICBGOglk cml2ZXJzL3BsYXRmb3JtL3g4Ni9pbnRlbF9wbWNfY29yZSoNCj4gPg0KPiA+ICBJTlRFTCBQTUlD IEdQSU8gRFJJVkVSUw0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BsYXRmb3JtL3g4Ni9pbnRl bF9wbWNfY29yZS5jDQo+ID4gYi9kcml2ZXJzL3BsYXRmb3JtL3g4Ni9pbnRlbF9wbWNfY29yZS5j DQo+ID4gaW5kZXggZWUyZjc1NzUxNWIwLi44YWZjMTk4NTUwYTQgMTAwNjQ0DQo+ID4gLS0tIGEv ZHJpdmVycy9wbGF0Zm9ybS94ODYvaW50ZWxfcG1jX2NvcmUuYw0KPiA+ICsrKyBiL2RyaXZlcnMv cGxhdGZvcm0veDg2L2ludGVsX3BtY19jb3JlLmMNCj4gPiBAQCAtNDAxLDYgKzQwMSw3IEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgcG1jX3JlZ19tYXAgY25wX3JlZ19tYXAgPSB7DQo+ID4gIAkucG1f Y2ZnX29mZnNldCA9IENOUF9QTUNfUE1fQ0ZHX09GRlNFVCwNCj4gPiAgCS5wbV9yZWFkX2Rpc2Fi bGVfYml0ID0gQ05QX1BNQ19SRUFEX0RJU0FCTEVfQklULA0KPiA+ICAJLmx0cl9pZ25vcmVfbWF4 ID0gQ05QX05VTV9JUF9JR05fQUxMT1dFRCwNCj4gPiArCS5ldHIzX29mZnNldCA9IEVUUjNfT0ZG U0VULA0KPiA+ICB9Ow0KPiA+DQo+ID4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcG1jX3JlZ19tYXAg aWNsX3JlZ19tYXAgPSB7IEBAIC00MTgsNiArNDE5LDcgQEANCj4gPiBzdGF0aWMgY29uc3Qgc3Ry dWN0IHBtY19yZWdfbWFwIGljbF9yZWdfbWFwID0gew0KPiA+ICAJLnBtX2NmZ19vZmZzZXQgPSBD TlBfUE1DX1BNX0NGR19PRkZTRVQsDQo+ID4gIAkucG1fcmVhZF9kaXNhYmxlX2JpdCA9IENOUF9Q TUNfUkVBRF9ESVNBQkxFX0JJVCwNCj4gPiAgCS5sdHJfaWdub3JlX21heCA9IElDTF9OVU1fSVBf SUdOX0FMTE9XRUQsDQo+ID4gKwkuZXRyM19vZmZzZXQgPSBFVFIzX09GRlNFVCwNCj4gPiAgfTsN Cj4gPg0KPiA+ICBzdGF0aWMgY29uc3Qgc3RydWN0IHBtY19iaXRfbWFwIHRnbF9jbG9ja3NvdXJj ZV9zdGF0dXNfbWFwW10gPSB7IEBADQo+ID4gLTU4NSw2ICs1ODcsNyBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IHBtY19yZWdfbWFwIHRnbF9yZWdfbWFwID0gew0KPiA+ICAJLmxwbV9zdHMgPSB0Z2xf bHBtX21hcHMsDQo+ID4gIAkubHBtX3N0YXR1c19vZmZzZXQgPSBUR0xfTFBNX1NUQVRVU19PRkZT RVQsDQo+ID4gIAkubHBtX2xpdmVfc3RhdHVzX29mZnNldCA9IFRHTF9MUE1fTElWRV9TVEFUVVNf T0ZGU0VULA0KPiA+ICsJLmV0cjNfb2Zmc2V0ID0gRVRSM19PRkZTRVQsDQo+ID4gIH07DQo+ID4N Cj4gPiAgc3RhdGljIGlubGluZSB1MzIgcG1jX2NvcmVfcmVnX3JlYWQoc3RydWN0IHBtY19kZXYg KnBtY2RldiwgaW50DQo+ID4gcmVnX29mZnNldCkgQEAgLTYwMyw2ICs2MDYsOTkgQEAgc3RhdGlj IGlubGluZSB1NjQNCj4gcG1jX2NvcmVfYWRqdXN0X3NscF9zMF9zdGVwKHN0cnVjdCBwbWNfZGV2 ICpwbWNkZXYsIHUzMiB2YWx1ZSkNCj4gPiAgCXJldHVybiAodTY0KXZhbHVlICogcG1jZGV2LT5t YXAtPnNscF9zMF9yZXNfY291bnRlcl9zdGVwOw0KPiA+ICB9DQo+ID4NCj4gPiArc3RhdGljIGlu dCBzZXRfZ2xvYmFsX3Jlc2V0KHN0cnVjdCBwbWNfZGV2ICpwbWNkZXYpIHsNCj4gPiArCWNvbnN0 IHN0cnVjdCBwbWNfcmVnX21hcCAqbWFwID0gcG1jZGV2LT5tYXA7DQo+ID4gKwl1MzIgcmVnOw0K PiA+ICsJaW50IGVycjsNCj4gPiArDQo+ID4gKwlpZiAoIW1hcC0+ZXRyM19vZmZzZXQpDQo+ID4g KwkJcmV0dXJuIC1FT1BOT1RTVVBQOw0KPiA+ICsNCj4gPiArCW11dGV4X2xvY2soJnBtY2Rldi0+ bG9jayk7DQo+ID4gKw0KPiA+ICsJLyogY2hlY2sgaWYgQ0Y5IGlzIGxvY2tlZCAqLw0KPiA+ICsJ cmVnID0gcG1jX2NvcmVfcmVnX3JlYWQocG1jZGV2LCBtYXAtPmV0cjNfb2Zmc2V0KTsNCj4gPiAr CWlmIChyZWcgJiBFVFIzX0NGOUxPQ0spIHsNCj4gPiArCQllcnIgPSAtRUFDQ0VTOw0KPiA+ICsJ CWdvdG8gb3V0X3VubG9jazsNCj4gPiArCX0NCj4gPiArDQo+ID4gKwkvKiB3cml0ZSBDRjkgZ2xv YmFsIHJlc2V0IGJpdCAqLw0KPiA+ICsJcmVnIHw9IEVUUjNfQ0Y5R1I7DQo+ID4gKwlwbWNfY29y ZV9yZWdfd3JpdGUocG1jZGV2LCBtYXAtPmV0cjNfb2Zmc2V0LCByZWcpOw0KPiA+ICsNCj4gPiAr CXJlZyA9IHBtY19jb3JlX3JlZ19yZWFkKHBtY2RldiwgbWFwLT5ldHIzX29mZnNldCk7DQo+ID4g KwlpZiAoIShyZWcgJiBFVFIzX0NGOUdSKSkgew0KPiA+ICsJCWVyciA9IC1FSU87DQo+ID4gKwkJ Z290byBvdXRfdW5sb2NrOw0KPiA+ICsJfQ0KPiA+ICsNCj4gPiArCWVyciA9IDA7DQo+ID4gKw0K PiA+ICtvdXRfdW5sb2NrOg0KPiA+ICsJbXV0ZXhfdW5sb2NrKCZwbWNkZXYtPmxvY2spOw0KPiA+ ICsJcmV0dXJuIGVycjsNCj4gPiArfQ0KPiA+ICsNCj4gPiArc3RhdGljIHNzaXplX3QgZ2xvYmFs X3Jlc2V0X3Nob3coc3RydWN0IGRldmljZSAqZGV2LA0KPiA+ICsJCQkJIHN0cnVjdCBkZXZpY2Vf YXR0cmlidXRlICphdHRyLCBjaGFyICpidWYpIHsNCj4gPiArCXN0cnVjdCBwbWNfZGV2ICpwbWNk ZXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsNCj4gPiArCWNvbnN0IHN0cnVjdCBwbWNfcmVnX21h cCAqbWFwID0gcG1jZGV2LT5tYXA7DQo+ID4gKwl1MzIgcmVnOw0KPiA+ICsNCj4gPiArCWlmICgh bWFwLT5ldHIzX29mZnNldCkNCj4gPiArCQlyZXR1cm4gLUVPUE5PVFNVUFA7DQo+ID4gKw0KPiA+ ICsJbXV0ZXhfbG9jaygmcG1jZGV2LT5sb2NrKTsNCj4gPiArDQo+ID4gKwlyZWcgPSBwbWNfY29y ZV9yZWdfcmVhZChwbWNkZXYsIG1hcC0+ZXRyM19vZmZzZXQpOw0KPiA+ICsJcmVnICY9IEVUUjNf Q0Y5R1IgfCBFVFIzX0NGOUxPQ0s7DQo+ID4gKw0KPiA+ICsJbXV0ZXhfdW5sb2NrKCZwbWNkZXYt PmxvY2spOw0KPiA+ICsNCj4gPiArCXJldHVybiBzeXNmc19lbWl0KGJ1ZiwgIjB4JTA4eCIsIHJl Zyk7IH0NCj4gPiArDQo+ID4gK3N0YXRpYyBzc2l6ZV90IGdsb2JhbF9yZXNldF9zdG9yZShzdHJ1 Y3QgZGV2aWNlICpkZXYsDQo+ID4gKwkJCQkgIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRy LA0KPiA+ICsJCQkJICBjb25zdCBjaGFyICpidWYsIHNpemVfdCBsZW4pDQo+ID4gK3sNCj4gPiAr CXN0cnVjdCBwbWNfZGV2ICpwbWNkZXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsNCj4gPiArCWlu dCBlcnI7DQo+ID4gKwl1MzIgcmVnOw0KPiA+ICsNCj4gPiArCWVyciA9IGtzdHJ0b3VpbnQoYnVm LCAxNiwgJnJlZyk7DQo+ID4gKwlpZiAoZXJyKQ0KPiA+ICsJCXJldHVybiBlcnI7DQo+ID4gKw0K PiA+ICsJLyogYWxsb3cgb25seSBDRjkgd3JpdGVzICovDQo+ID4gKwlpZiAocmVnICE9IEVUUjNf Q0Y5R1IpDQo+ID4gKwkJcmV0dXJuIC1FSU5WQUw7DQo+ID4gKw0KPiA+ICsJZXJyID0gc2V0X2ds b2JhbF9yZXNldChwbWNkZXYpOw0KPiA+ICsJaWYgKGVycikNCj4gPiArCQlyZXR1cm4gZXJyOw0K PiA+ICsNCj4gPiArCXJldHVybiBsZW47DQo+ID4gK30NCj4gPiArc3RhdGljIERFVklDRV9BVFRS X1JXKGdsb2JhbF9yZXNldCk7DQo+ID4gKw0KPiA+ICtzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAq cG1jX2F0dHJzW10gPSB7DQo+ID4gKwkmZGV2X2F0dHJfZ2xvYmFsX3Jlc2V0LmF0dHIsDQo+ID4g KwlOVUxMDQo+ID4gK307DQo+ID4gKw0KPiA+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGF0dHJpYnV0 ZV9ncm91cCBwbWNfYXR0cl9ncm91cCA9IHsNCj4gPiArCS5hdHRycyA9IHBtY19hdHRycywNCj4g PiArfTsNCj4gPiArDQo+ID4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwICpw bWNfZGV2X2dyb3Vwc1tdID0gew0KPiA+ICsJJnBtY19hdHRyX2dyb3VwLA0KPiA+ICsJTlVMTA0K PiA+ICt9Ow0KPiA+ICsNCj4gPiAgc3RhdGljIGludCBwbWNfY29yZV9kZXZfc3RhdGVfZ2V0KHZv aWQgKmRhdGEsIHU2NCAqdmFsKSAgew0KPiA+ICAJc3RydWN0IHBtY19kZXYgKnBtY2RldiA9IGRh dGE7DQo+ID4gQEAgLTEzNjQsNiArMTQ2MCw3IEBAIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJp dmVyIHBtY19jb3JlX2RyaXZlciA9IHsNCj4gPiAgCQkubmFtZSA9ICJpbnRlbF9wbWNfY29yZSIs DQo+ID4gIAkJLmFjcGlfbWF0Y2hfdGFibGUgPSBBQ1BJX1BUUihwbWNfY29yZV9hY3BpX2lkcyks DQo+ID4gIAkJLnBtID0gJnBtY19jb3JlX3BtX29wcywNCj4gPiArCQkuZGV2X2dyb3VwcyA9IHBt Y19kZXZfZ3JvdXBzLA0KPiA+ICAJfSwNCj4gPiAgCS5wcm9iZSA9IHBtY19jb3JlX3Byb2JlLA0K PiA+ICAJLnJlbW92ZSA9IHBtY19jb3JlX3JlbW92ZSwNCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9wbGF0Zm9ybS94ODYvaW50ZWxfcG1jX2NvcmUuaA0KPiA+IGIvZHJpdmVycy9wbGF0Zm9ybS94 ODYvaW50ZWxfcG1jX2NvcmUuaA0KPiA+IGluZGV4IGYzM2NkMmMzNDgzNS4uOThlYmRmZTU3MTM4 IDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvcGxhdGZvcm0veDg2L2ludGVsX3BtY19jb3JlLmgN Cj4gPiArKysgYi9kcml2ZXJzL3BsYXRmb3JtL3g4Ni9pbnRlbF9wbWNfY29yZS5oDQo+ID4gQEAg LTIwMCw2ICsyMDAsMTEgQEAgZW51bSBwcGZlYXJfcmVncyB7DQo+ID4gICNkZWZpbmUgVEdMX0xQ TV9TVEFUVVNfT0ZGU0VUCQkJMHgxQzNDDQo+ID4gICNkZWZpbmUgVEdMX0xQTV9MSVZFX1NUQVRV U19PRkZTRVQJCTB4MUM1Qw0KPiA+DQo+ID4gKy8qIEV4dGVuZGVkIFRlc3QgTW9kZSBSZWdpc3Rl ciAzIChDTkwgYW5kIGxhdGVyKSAqLw0KPiA+ICsjZGVmaW5lIEVUUjNfT0ZGU0VUCQkJCTB4MTA0 OA0KPiA+ICsjZGVmaW5lIEVUUjNfQ0Y5R1IJCQkJQklUKDIwKQ0KPiA+ICsjZGVmaW5lIEVUUjNf Q0Y5TE9DSwkJCQlCSVQoMzEpDQo+ID4gKw0KPiA+ICBjb25zdCBjaGFyICp0Z2xfbHBtX21vZGVz W10gPSB7DQo+ID4gIAkiUzBpMi4wIiwNCj4gPiAgCSJTMGkyLjEiLA0KPiA+IEBAIC0yNjMsNiAr MjY4LDcgQEAgc3RydWN0IHBtY19yZWdfbWFwIHsNCj4gPiAgCWNvbnN0IHUzMiBscG1fcmVzaWRl bmN5X29mZnNldDsNCj4gPiAgCWNvbnN0IHUzMiBscG1fc3RhdHVzX29mZnNldDsNCj4gPiAgCWNv bnN0IHUzMiBscG1fbGl2ZV9zdGF0dXNfb2Zmc2V0Ow0KPiA+ICsJY29uc3QgdTMyIGV0cjNfb2Zm c2V0Ow0KPiA+ICB9Ow0KPiA+DQo+ID4gIC8qKg0KPiA+DQoNCg==