Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp4229864ybz; Tue, 28 Apr 2020 07:52:17 -0700 (PDT) X-Google-Smtp-Source: APiQypJcIE8pkQeaM/o/JeCfpXxBp/7GgISxNIE2t+Od/vKg5DNuMpUsaIBgR+7+JyyQBDG/pLmI X-Received: by 2002:a05:6402:712:: with SMTP id w18mr23337581edx.386.1588085537701; Tue, 28 Apr 2020 07:52:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588085537; cv=none; d=google.com; s=arc-20160816; b=W3YeP7eG9WrLZD4Jm6QEihOmBcj/UwNRFshBB3kyaY/h5I2ShAf57S8N9ZZSvrK1PZ v3c+szdSenA6JyHgBJaAtKK8fRx+qX54XHJbCunS92mBJxvXUpjjD6qgTcly+aRzVqYT X7+Rj4cN9pPVUPe+iCfcJJedfojSJgZJgSjnhLqNdRqj+elA/lD+09lYhp3i8rmfHa+0 cfmyr+qPA1dFX2OEJT29pcAXO32/CwR4NhCi+Hh5Y2xPBWoPi89zpTLq9F6w1e5AP6Mi uSUqYYyJTSuKjS7uFYF1BAkcApZjlbxRpIvDz/ddYcNdVfXdjiDSKBBn9ZE9hyuswgOl KqgA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-id:content-language:accept-language:in-reply-to:references :message-id:date:thread-index:thread-topic:subject:cc:to:from :ironport-sdr:ironport-sdr; bh=st598Q8KM03LYEaU6S+ail2qvnzk9ljATT/FZ7Okmj0=; b=J1a5SEEFF4dqifzfgH4aMz86IGB8le3vM6QDvMKfBV5NzHwmOafgDOrFWSrwTwocT9 o7m3PWG91UR/8UjO7Az2XW7rKc2BYK6GTLGyf97Z3NQBzLLPHka/A7w4ZF5SkOlhU+Ke x0ZZLpGFZL8j6oleJftuNlibr8F+F3YU+h2LEKZzCXwTxDob0wTaWJpFjYKpyhFoG86L DXZEYasj+o/sPP/+jzLn6eUm1ydE4j+VXBi1BQbpTPDfS349RixnL3A48+gDltGOCxhj Lc+m3Pg2Z4LaTJa376aLfJimsJGXl/gP4wRjWZT0p7rJvt7zUcyRnrxV9o9GLCAYgijP Q2/w== ARC-Authentication-Results: i=1; mx.google.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 ce16si2151229ejc.526.2020.04.28.07.51.54; Tue, 28 Apr 2020 07:52:17 -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; 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 S1728052AbgD1Otl (ORCPT + 99 others); Tue, 28 Apr 2020 10:49:41 -0400 Received: from mga12.intel.com ([192.55.52.136]:30897 "EHLO mga12.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727079AbgD1Otk (ORCPT ); Tue, 28 Apr 2020 10:49:40 -0400 IronPort-SDR: 116a6z/WmpGZ/hcQBSv5gj6oC6aNMQKtO3/6IdBYUjTMfvGZcLP0kWNrwGAKtVOb2QUe+q0eMl ctlFZo2Oxrbg== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Apr 2020 07:49:37 -0700 IronPort-SDR: nTiHZ+QKeXVh3/SB61c0U6V6btT6zfCikuVBAXyd3hAQO+IfBavYC6hZpRsmLfu54jVDW898tT FFT8wjNHZonA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,328,1583222400"; d="scan'208";a="432207306" Received: from orsmsx102.amr.corp.intel.com ([10.22.225.129]) by orsmga005.jf.intel.com with ESMTP; 28 Apr 2020 07:49:38 -0700 Received: from orsmsx124.amr.corp.intel.com (10.22.240.120) by ORSMSX102.amr.corp.intel.com (10.22.225.129) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 28 Apr 2020 07:49:38 -0700 Received: from orsmsx101.amr.corp.intel.com ([169.254.8.204]) by ORSMSX124.amr.corp.intel.com ([169.254.2.166]) with mapi id 14.03.0439.000; Tue, 28 Apr 2020 07:49:37 -0700 From: "Derrick, Jonathan" To: "sathyanarayanan.kuppuswamy@linux.intel.com" , "helgaas@kernel.org" CC: "linux-pci@vger.kernel.org" , "Raj, Ashok" , "linux-kernel@vger.kernel.org" , "mr.nuke.me@gmail.com" Subject: Re: [PATCH v1 1/1] PCI/AER: Use _OSC negotiation to determine AER ownership Thread-Topic: [PATCH v1 1/1] PCI/AER: Use _OSC negotiation to determine AER ownership Thread-Index: AQHWG/i80WXiBjxvV0GlmSmUDGqUuqiOHfGAgAD37gA= Date: Tue, 28 Apr 2020 14:49:36 +0000 Message-ID: References: <20200428000213.GA29631@google.com> In-Reply-To: <20200428000213.GA29631@google.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.255.3.48] Content-Type: text/plain; charset="utf-8" Content-ID: <1598CB4BFD7AD741A2C2349256703DD8@intel.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org U29ycnkgSSBkaWRuJ3Qgc2VlIHRoaXMgYmVmb3JlIG15IGNvbW1lbnRzIHllc3RlcmRheQ0KDQpG b3IgZWl0aGVyIGluZGl2aWR1YWwgb3Igc3BsaXQgc2V0LA0KUmV2aWV3ZWQtYnk6IEpvbiBEZXJy aWNrIDxqb25hdGhhbi5kZXJyaWNrQGludGVsLmNvbT4NCg0KVGhhbmtzIEt1cHB1c3dhbXkNCg0K T24gTW9uLCAyMDIwLTA0LTI3IGF0IDE5OjAyIC0wNTAwLCBCam9ybiBIZWxnYWFzIHdyb3RlOg0K PiBbK2NjIEpvbiwgQWxleGFuZHJ1XQ0KPiANCj4gT24gU3VuLCBBcHIgMjYsIDIwMjAgYXQgMTE6 MzA6MDZBTSAtMDcwMCwgc2F0aHlhbmFyYXlhbmFuLmt1cHB1c3dhbXlAbGludXguaW50ZWwuY29t IHdyb3RlOg0KPiA+IEZyb206IEt1cHB1c3dhbXkgU2F0aHlhbmFyYXlhbmFuIDxzYXRoeWFuYXJh eWFuYW4ua3VwcHVzd2FteUBsaW51eC5pbnRlbC5jb20+DQo+ID4gDQo+ID4gQ3VycmVudGx5IFBD SWUgQUVSIGRyaXZlciB1c2VzIEhFU1QgRklSTVdBUkVfRklSU1QgYml0IHRvDQo+ID4gZGV0ZXJt aW5lIHRoZSBQQ0llIEFFUiBDYXBhYmlsaXR5IG93bmVyc2hpcCBiZXR3ZWVuIE9TIGFuZA0KPiA+ IGZpcm13YXJlLiBUaGlzIHN1cHBvcnQgaXMgYWRkZWQgYmFzZWQgb24gZm9sbG93aW5nIHNwZWMN Cj4gPiByZWZlcmVuY2UuDQo+ID4gDQo+ID4gUGVyIEFDUEkgc3BlYyByNi4zLCB0YWJsZSAxOC0z ODcsIDE4LTM4OCwgMTgtMzg5LCBIRVNUIHRhYmxlDQo+ID4gZmxhZ3MgZmllbGQgQklULTAgYW5k IEJJVC0xIGNhbiBiZSB1c2VkIHRvIGV4cG9zZSB0aGUNCj4gPiBvd25lcnNoaXAgb2YgZXJyb3Ig c291cmNlIGJldHdlZW4gZmlybXdhcmUgYW5kIE9TUE0uDQo+ID4gDQo+ID4gQml0IFswXSAtIEZJ Uk1XQVJFX0ZJUlNUOiBJZiBzZXQsIGluZGljYXRlcyB0aGF0IHN5c3RlbQ0KPiA+ICAgICAgICAg ICBmaXJtd2FyZSB3aWxsIGhhbmRsZSBlcnJvcnMgZnJvbSB0aGlzIHNvdXJjZQ0KPiA+ICAgICAg ICAgICBmaXJzdC4NCj4gPiBCaXQgWzFdIOKAkyBHTE9CQUw6IElmIHNldCwgaW5kaWNhdGVzIHRo YXQgdGhlIHNldHRpbmdzDQo+ID4gICAgICAgICAgIGNvbnRhaW5lZCBpbiB0aGlzIHN0cnVjdHVy ZSBhcHBseSBnbG9iYWxseSB0byBhbGwNCj4gPiAgICAgICAgICAgUENJIEV4cHJlc3MgQnJpZGdl cy4NCj4gPiANCj4gPiBBbHRob3VnaCBhYm92ZSBzcGVjIHJlZmVyZW5jZSBzdGF0ZXMgdGhhdCBz ZXR0aW5nDQo+ID4gRklSTVdBUkVfRklSU1QgYml0IG1lYW5zIGZpcm13YXJlIHdpbGwgaGFuZGxl IHRoZSBlcnJvciBzb3VyY2UNCj4gPiBmaXJzdCwgaXQgZG9lcyBub3QgZXhwbGljaXRseSBzdGF0 ZSBhbnl0aGluZyBhYm91dCBBRVINCj4gPiBvd25lcnNoaXAuIFNvIHVzaW5nIEhFU1QgdG8gZGV0 ZXJtaW5lIEFFUiBvd25lcnNoaXAgaXMNCj4gPiBpbmNvcnJlY3QuDQo+ID4gDQo+ID4gQWxzbywg YXMgcGVyIGZvbGxvd2luZyBzcGVjaWZpY2F0aW9uIHJlZmVyZW5jZXMsIF9PU0MgY2FuIGJlDQo+ ID4gdXNlZCB0byBuZWdvdGlhdGUgdGhlIEFFUiBvd25lcnNoaXAgYmV0d2VlbiBmaXJtd2FyZSBh bmQgT1MuDQo+ID4gRGV0YWlscyBhcmUsDQo+ID4gDQo+ID4gUGVyIEFDUEkgc3BlYyByNi4zLCBz ZWMgNi4yLjExLjMsIHRhYmxlIHRpdGxlZCDigJxJbnRlcnByZXRhdGlvbg0KPiA+IG9mIF9PU0Mg Q29udHJvbCBGaWVsZOKAnSBhbmQgYXMgcGVyIFBDSSBmaXJtd2FyZSBzcGVjaWZpY2F0aW9uIHIz LjIsDQo+ID4gc2VjIDQuNS4xLCB0YWJsZSA0LTUsIE9TIGNhbiBzZXQgYml0IDMgb2YgX09TQyBj b250cm9sIGZpZWxkDQo+ID4gdG8gcmVxdWVzdCBjb250cm9sIG92ZXIgUENJIEV4cHJlc3MgQUVS LiBJZiB0aGUgT1Mgc3VjY2Vzc2Z1bGx5DQo+ID4gcmVjZWl2ZXMgY29udHJvbCBvZiB0aGlzIGZl YXR1cmUsIGl0IG11c3QgaGFuZGxlIGVycm9yIHJlcG9ydGluZw0KPiA+IHRocm91Z2ggdGhlIEFF UiBDYXBhYmlsaXR5IGFzIGRlc2NyaWJlZCBpbiB0aGUgUENJIEV4cHJlc3MgQmFzZQ0KPiA+IFNw ZWNpZmljYXRpb24uDQo+ID4gDQo+ID4gU2luY2UgYWJvdmUgc3BlYyByZWZlcmVuY2VzIGNsZWFy bHkgc3RhdGVzIF9PU0MgY2FuIGJlIHVzZWQgdG8NCj4gPiBkZXRlcm1pbmUgQUVSIG93bmVyc2hp cCwgZG9uJ3QgZGVwZW5kIG9uIEhFU1QgRklSTVdBUkVfRklSU1QgYml0Lg0KPiANCj4gSSBzcGxp dCB0aGlzIHVwIGEgYml0IGFuZCBhcHBsaWVkIHRoZSBmaXJzdCBwYXJ0IHRvIHBjaS9lcnJvciB0 byBnZXQNCj4gaXQgaW50byAtbmV4dCBzbyB3ZSBjYW4gc3RhcnQgc2VlaW5nIHdoYXQgYnJlYWtz LiAgSSB3b24ndCBiZSB0b28NCj4gc3VycHJpc2VkIGlmIHdlIHRyaXAgb3ZlciBzb21ldGhpbmcu DQo+IA0KPiBIZXJlJ3MgdGhlIGZpcnN0IHBhcnQgKGVudGlyZSBvcmlnaW5hbCBwYXRjaCBpcyBh dA0KPiBodHRwczovL2xvcmUua2VybmVsLm9yZy9yLzY3YWYyOTMxNzA1YmVkOWE1ODhiNWEzOWQz NjljYjcwYjk5NDIxOTAuMTU4NzkyNTYzNi5naXQuc2F0aHlhbmFyYXlhbmFuLmt1cHB1c3dhbXlA bGludXguaW50ZWwuY29tKS4NCj4gDQo+IGNvbW1pdCA4ZjhlNDJlN2MyZGQgKCJQQ0kvQUVSOiBV c2Ugb25seSBfT1NDIHRvIGRldGVybWluZSBBRVIgb3duZXJzaGlwIikNCj4gQXV0aG9yOiBLdXBw dXN3YW15IFNhdGh5YW5hcmF5YW5hbiA8c2F0aHlhbmFyYXlhbmFuLmt1cHB1c3dhbXlAbGludXgu aW50ZWwuY29tPg0KPiBEYXRlOiAgIE1vbiBBcHIgMjcgMTg6MjU6MTMgMjAyMCAtMDUwMA0KPiAN Cj4gICAgIFBDSS9BRVI6IFVzZSBvbmx5IF9PU0MgdG8gZGV0ZXJtaW5lIEFFUiBvd25lcnNoaXAN Cj4gICAgIA0KPiAgICAgUGVyIHRoZSBQQ0kgRmlybXdhcmUgc3BlYywgcjMuMiwgc2VjIDQuNS4x LCB0aGUgT1MgY2FuIHJlcXVlc3QgY29udHJvbCBvZg0KPiAgICAgQUVSIHZpYSBiaXQgMyBvZiB0 aGUgX09TQyBDb250cm9sIEZpZWxkLiAgSW4gdGhlIHJldHVybmVkIHZhbHVlIG9mIHRoZQ0KPiAg ICAgQ29udHJvbCBGaWVsZDoNCj4gICAgIA0KPiAgICAgICBUaGUgZmlybXdhcmUgc2V0cyBbYml0 IDNdIHRvIDEgdG8gZ3JhbnQgY29udHJvbCBvdmVyIFBDSSBFeHByZXNzIEFkdmFuY2VkDQo+ICAg ICAgIEVycm9yIFJlcG9ydGluZy4gIC4uLiAgYWZ0ZXIgY29udHJvbCBpcyB0cmFuc2ZlcnJlZCB0 byB0aGUgb3BlcmF0aW5nDQo+ICAgICAgIHN5c3RlbSwgZmlybXdhcmUgbXVzdCBub3QgbW9kaWZ5 IHRoZSBBZHZhbmNlZCBFcnJvciBSZXBvcnRpbmcgQ2FwYWJpbGl0eS4NCj4gICAgICAgSWYgY29u dHJvbCBvZiB0aGlzIGZlYXR1cmUgd2FzIHJlcXVlc3RlZCBhbmQgZGVuaWVkIG9yIHdhcyBub3Qg cmVxdWVzdGVkLA0KPiAgICAgICBmaXJtd2FyZSByZXR1cm5zIHRoaXMgYml0IHNldCB0byAwLg0K PiAgICAgDQo+ICAgICBQcmV2aW91c2x5IHRoZSBwY2lfcm9vdCBkcml2ZXIgbG9va2VkIGF0IHRo ZSBIRVNUIEZJUk1XQVJFX0ZJUlNUIGJpdCB0bw0KPiAgICAgZGV0ZXJtaW5lIHdoZXRoZXIgdG8g cmVxdWVzdCBvd25lcnNoaXAgb2YgdGhlIEFFUiBDYXBhYmlsaXR5LiAgVGhpcyB3YXMNCj4gICAg IGJhc2VkIG9uIEFDUEkgc3BlYyB2Ni4zLCBzZWMgMTguMy4yLjQsIGFuZCBzaW1pbGFyIHNlY3Rp b25zLCB3aGljaCBzYXkNCj4gICAgIHRoaW5ncyBsaWtlOg0KPiAgICAgDQo+ICAgICAgIEJpdCBb MF0gLSBGSVJNV0FSRV9GSVJTVDogSWYgc2V0LCBpbmRpY2F0ZXMgdGhhdCBzeXN0ZW0gZmlybXdh cmUgd2lsbA0KPiAgICAgICAgICAgICAgICAgaGFuZGxlIGVycm9ycyBmcm9tIHRoaXMgc291cmNl IGZpcnN0Lg0KPiAgICAgDQo+ICAgICAgIEJpdCBbMV0gLSBHTE9CQUw6IElmIHNldCwgaW5kaWNh dGVzIHRoYXQgdGhlIHNldHRpbmdzIGNvbnRhaW5lZCBpbiB0aGlzDQo+ICAgICAgICAgICAgICAg ICBzdHJ1Y3R1cmUgYXBwbHkgZ2xvYmFsbHkgdG8gYWxsIFBDSSBFeHByZXNzIERldmljZXMuDQo+ ICAgICANCj4gICAgIFRoZXNlIEFDUEkgcmVmZXJlbmNlcyBkb24ndCBzYXkgYW55dGhpbmcgYWJv dXQgb3duZXJzaGlwIG9mIHRoZSBBRVINCj4gICAgIENhcGFiaWxpdHkuDQo+ICAgICANCj4gICAg IFJlbW92ZSB1c2Ugb2YgdGhlIEZJUk1XQVJFX0ZJUlNUIGJpdCBhbmQgcmVseSBvbmx5IG9uIHRo ZSBfT1NDIGJpdCB0bw0KPiAgICAgZGV0ZXJtaW5lIHdoZXRoZXIgd2UgaGF2ZSBjb250cm9sIG9m IHRoZSBBRVIgQ2FwYWJpbGl0eS4NCj4gICAgIA0KPiAgICAgTGluazogaHR0cHM6Ly9sb3JlLmtl cm5lbC5vcmcvci82N2FmMjkzMTcwNWJlZDlhNTg4YjVhMzlkMzY5Y2I3MGI5OTQyMTkwLjE1ODc5 MjU2MzYuZ2l0LnNhdGh5YW5hcmF5YW5hbi5rdXBwdXN3YW15QGxpbnV4LmludGVsLmNvbQ0KPiAg ICAgW2JoZWxnYWFzOiBjb21taXQgbG9nLCBzcGxpdCBwYXRjaGVzXQ0KPiAgICAgU2lnbmVkLW9m Zi1ieTogS3VwcHVzd2FteSBTYXRoeWFuYXJheWFuYW4gPHNhdGh5YW5hcmF5YW5hbi5rdXBwdXN3 YW15QGxpbnV4LmludGVsLmNvbT4NCj4gICAgIFNpZ25lZC1vZmYtYnk6IEJqb3JuIEhlbGdhYXMg PGJoZWxnYWFzQGdvb2dsZS5jb20+DQo+IA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9hY3BpL3Bj aV9yb290LmMgYi9kcml2ZXJzL2FjcGkvcGNpX3Jvb3QuYw0KPiBpbmRleCBhYzhhZDZjYjgyYWEu LjllMjM1YzFhNzVmZiAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9hY3BpL3BjaV9yb290LmMNCj4g KysrIGIvZHJpdmVycy9hY3BpL3BjaV9yb290LmMNCj4gQEAgLTQ4MywxMyArNDgzLDggQEAgc3Rh dGljIHZvaWQgbmVnb3RpYXRlX29zX2NvbnRyb2woc3RydWN0IGFjcGlfcGNpX3Jvb3QgKnJvb3Qs IGludCAqbm9fYXNwbSwNCj4gIAlpZiAoSVNfRU5BQkxFRChDT05GSUdfSE9UUExVR19QQ0lfU0hQ QykpDQo+ICAJCWNvbnRyb2wgfD0gT1NDX1BDSV9TSFBDX05BVElWRV9IUF9DT05UUk9MOw0KPiAg DQo+IC0JaWYgKHBjaV9hZXJfYXZhaWxhYmxlKCkpIHsNCj4gLQkJaWYgKGFlcl9hY3BpX2Zpcm13 YXJlX2ZpcnN0KCkpDQo+IC0JCQlkZXZfaW5mbygmZGV2aWNlLT5kZXYsDQo+IC0JCQkJICJQQ0ll IEFFUiBoYW5kbGVkIGJ5IGZpcm13YXJlXG4iKTsNCj4gLQkJZWxzZQ0KPiAtCQkJY29udHJvbCB8 PSBPU0NfUENJX0VYUFJFU1NfQUVSX0NPTlRST0w7DQo+IC0JfQ0KPiArCWlmIChwY2lfYWVyX2F2 YWlsYWJsZSgpKQ0KPiArCQljb250cm9sIHw9IE9TQ19QQ0lfRVhQUkVTU19BRVJfQ09OVFJPTDsN Cj4gIA0KPiAgCS8qDQo+ICAJICogUGVyIHRoZSBEb3duc3RyZWFtIFBvcnQgQ29udGFpbm1lbnQg UmVsYXRlZCBFbmhhbmNlbWVudHMgRUNOIHRvDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BjaS9w Y2llL2Flci5jIGIvZHJpdmVycy9wY2kvcGNpZS9hZXIuYw0KPiBpbmRleCBmNDI3NGQzMDEyMzUu LmVmYzI2NzczY2M2ZCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9wY2kvcGNpZS9hZXIuYw0KPiAr KysgYi9kcml2ZXJzL3BjaS9wY2llL2Flci5jDQo+IEBAIC0zMTgsMzAgKzMxOCw2IEBAIGludCBw Y2llX2Flcl9nZXRfZmlybXdhcmVfZmlyc3Qoc3RydWN0IHBjaV9kZXYgKmRldikNCj4gIAkJYWVy X3NldF9maXJtd2FyZV9maXJzdChkZXYpOw0KPiAgCXJldHVybiBkZXYtPl9fYWVyX2Zpcm13YXJl X2ZpcnN0Ow0KPiAgfQ0KPiAtDQo+IC1zdGF0aWMgYm9vbCBhZXJfZmlybXdhcmVfZmlyc3Q7DQo+ IC0NCj4gLS8qKg0KPiAtICogYWVyX2FjcGlfZmlybXdhcmVfZmlyc3QgLSBDaGVjayBpZiBBUEVJ IHNob3VsZCBjb250cm9sIEFFUi4NCj4gLSAqLw0KPiAtYm9vbCBhZXJfYWNwaV9maXJtd2FyZV9m aXJzdCh2b2lkKQ0KPiAtew0KPiAtCXN0YXRpYyBib29sIHBhcnNlZCA9IGZhbHNlOw0KPiAtCXN0 cnVjdCBhZXJfaGVzdF9wYXJzZV9pbmZvIGluZm8gPSB7DQo+IC0JCS5wY2lfZGV2CT0gTlVMTCwJ LyogQ2hlY2sgYWxsIFBDSWUgZGV2aWNlcyAqLw0KPiAtCQkuZmlybXdhcmVfZmlyc3QJPSAwLA0K PiAtCX07DQo+IC0NCj4gLQlpZiAocGNpZV9wb3J0c19uYXRpdmUpDQo+IC0JCXJldHVybiBmYWxz ZTsNCj4gLQ0KPiAtCWlmICghcGFyc2VkKSB7DQo+IC0JCWFwZWlfaGVzdF9wYXJzZShhZXJfaGVz dF9wYXJzZSwgJmluZm8pOw0KPiAtCQlhZXJfZmlybXdhcmVfZmlyc3QgPSBpbmZvLmZpcm13YXJl X2ZpcnN0Ow0KPiAtCQlwYXJzZWQgPSB0cnVlOw0KPiAtCX0NCj4gLQlyZXR1cm4gYWVyX2Zpcm13 YXJlX2ZpcnN0Ow0KPiAtfQ0KPiAgI2VuZGlmDQo+ICANCj4gICNkZWZpbmUJUENJX0VYUF9BRVJf RkxBR1MJKFBDSV9FWFBfREVWQ1RMX0NFUkUgfCBQQ0lfRVhQX0RFVkNUTF9ORkVSRSB8IFwNCj4g QEAgLTE1MjMsNyArMTQ5OSw3IEBAIHN0YXRpYyBzdHJ1Y3QgcGNpZV9wb3J0X3NlcnZpY2VfZHJp dmVyIGFlcmRyaXZlciA9IHsNCj4gICAqLw0KPiAgaW50IF9faW5pdCBwY2llX2Flcl9pbml0KHZv aWQpDQo+ICB7DQo+IC0JaWYgKCFwY2lfYWVyX2F2YWlsYWJsZSgpIHx8IGFlcl9hY3BpX2Zpcm13 YXJlX2ZpcnN0KCkpDQo+ICsJaWYgKCFwY2lfYWVyX2F2YWlsYWJsZSgpKQ0KPiAgCQlyZXR1cm4g LUVOWElPOw0KPiAgCXJldHVybiBwY2llX3BvcnRfc2VydmljZV9yZWdpc3RlcigmYWVyZHJpdmVy KTsNCj4gIH0NCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcGNpLWFjcGkuaCBiL2luY2x1 ZGUvbGludXgvcGNpLWFjcGkuaA0KPiBpbmRleCAyZDE1NWJmYjhmYmYuLjExYzk4ODc1NTM4YSAx MDA2NDQNCj4gLS0tIGEvaW5jbHVkZS9saW51eC9wY2ktYWNwaS5oDQo+ICsrKyBiL2luY2x1ZGUv bGludXgvcGNpLWFjcGkuaA0KPiBAQCAtMTI1LDEwICsxMjUsNCBAQCBzdGF0aWMgaW5saW5lIHZv aWQgYWNwaV9wY2lfYWRkX2J1cyhzdHJ1Y3QgcGNpX2J1cyAqYnVzKSB7IH0NCj4gIHN0YXRpYyBp bmxpbmUgdm9pZCBhY3BpX3BjaV9yZW1vdmVfYnVzKHN0cnVjdCBwY2lfYnVzICpidXMpIHsgfQ0K PiAgI2VuZGlmCS8qIENPTkZJR19BQ1BJICovDQo+ICANCj4gLSNpZmRlZiBDT05GSUdfQUNQSV9B UEVJDQo+IC1leHRlcm4gYm9vbCBhZXJfYWNwaV9maXJtd2FyZV9maXJzdCh2b2lkKTsNCj4gLSNl bHNlDQo+IC1zdGF0aWMgaW5saW5lIGJvb2wgYWVyX2FjcGlfZmlybXdhcmVfZmlyc3Qodm9pZCkg eyByZXR1cm4gZmFsc2U7IH0NCj4gLSNlbmRpZg0KPiAtDQo+ICAjZW5kaWYJLyogX1BDSV9BQ1BJ X0hfICovDQo=