Received: by 10.192.165.156 with SMTP id m28csp370982imm; Tue, 17 Apr 2018 11:32:32 -0700 (PDT) X-Google-Smtp-Source: AIpwx485uhqxaA1YFjYZ7epMon8WdzYxBtmsZMNJMFTVJK1AM+whuKx+B1XjGcuaHFKIszFTaxTU X-Received: by 2002:a17:902:9042:: with SMTP id w2-v6mr3036608plz.34.1523989952472; Tue, 17 Apr 2018 11:32:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1523989952; cv=none; d=google.com; s=arc-20160816; b=ziSQRUY/gOb1snYsfN3irUtyL392BObITgBorSmkA2DkpM8oQar71L9CwXe69h/Eqe tYLsqraLHCFPYW+OZkKWL7JUK57n2842nT46i5atExVfS/C8y4s6/CQlb7w7WRAEdUCY Osp+xhMIFwpazhSKTomI7271V5B2FcGgR84+Wnc0B2hLJHxKynhv0ZFtgUBLa80FIRGL YQ9TKll2kIs3/PMNt5FUfCyKWUorXClq1fyWD1lOtyFB0h2HdxxXwxGcH1Je+F7/x0Cy oIxxuAacIRa/gGDiPvofV1If0zHX8iyFd6vHmQVwafW2ZYAmFJd67FCArFKwNFY1dkAn gGnQ== 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 :spamdiagnosticmetadata:spamdiagnosticoutput:content-language :accept-language:in-reply-to:references:message-id:date:thread-index :thread-topic:subject:cc:to:from:dkim-signature :arc-authentication-results; bh=48oyZOaeWaAc7HMu7SAfzfmaY25qLDgyqEZqzQA6f2k=; b=XPfe47a1f1/uN8IUi93l3N50lKgUybSiSU4NrjYSgmHfJxg2d+97ymEbAHy+klR/jB TIheiwkf1aZ++knPE2HV4wGgjmBm589RLxCNezrUjbmnuQmabocHCIv5CszdZ8jJaMUF LPPgsJavXf/KeF0IvP3YU2oJIobn0t+33LPjb9TSeE6brUYnA+Pdmyrre8791jwqFJK9 VZWnkBvYYD44qLvhMs0sncVJFe5IdxZvCzqWSehZGIQmEEgVMaY1zBlReTA1yfTXQUFJ o2CLEaNKOP8zhB6sBNGr1VeCqbgffALGee4EpPW1zHMMJaMsUB0yafRMnv0LGVsUF16u 6QMQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amdcloud.onmicrosoft.com header.s=selector1-amd-com header.b=IIWixEVq; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d21-v6si15078116plr.352.2018.04.17.11.32.18; Tue, 17 Apr 2018 11:32:32 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@amdcloud.onmicrosoft.com header.s=selector1-amd-com header.b=IIWixEVq; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752717AbeDQSai (ORCPT + 99 others); Tue, 17 Apr 2018 14:30:38 -0400 Received: from mail-by2nam03on0085.outbound.protection.outlook.com ([104.47.42.85]:56320 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751230AbeDQSag (ORCPT ); Tue, 17 Apr 2018 14:30:36 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=48oyZOaeWaAc7HMu7SAfzfmaY25qLDgyqEZqzQA6f2k=; b=IIWixEVqFlMykHRQuqkdpftnuUJ4XgxfG/ckftaNoQS1vW59DkJMJjvRMkhV5fn2uE12o6v3n5BzbZDla5ldlTsdWFSJZT67F4ThEsLzFAr5cbsUaZPvwufwO75enNcX2W7MrrdZno4hkWLyERq4Ud7XZwudDn506BHb5acxRcM= Received: from CY4PR12MB1557.namprd12.prod.outlook.com (10.172.69.23) by CY4PR12MB1816.namprd12.prod.outlook.com (10.175.63.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.675.14; Tue, 17 Apr 2018 18:30:34 +0000 Received: from CY4PR12MB1557.namprd12.prod.outlook.com ([fe80::88e0:bac3:32ae:c6fd]) by CY4PR12MB1557.namprd12.prod.outlook.com ([fe80::88e0:bac3:32ae:c6fd%16]) with mapi id 15.20.0675.015; Tue, 17 Apr 2018 18:30:34 +0000 From: "Ghannam, Yazen" To: Borislav Petkov CC: "linux-edac@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "tony.luck@intel.com" , "x86@kernel.org" Subject: RE: [PATCH] x86/MCE, EDAC/mce_amd: Save all aux registers on SMCA systems Thread-Topic: [PATCH] x86/MCE, EDAC/mce_amd: Save all aux registers on SMCA systems Thread-Index: AQHTyrzRqCN7fg42eUKg23bN8kMvXKQFS3EAgAAGZOA= Date: Tue, 17 Apr 2018 18:30:34 +0000 Message-ID: References: <20180402195707.42875-1-Yazen.Ghannam@amd.com> <20180417172102.GA3633@pd.tnic> In-Reply-To: <20180417172102.GA3633@pd.tnic> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Yazen.Ghannam@amd.com; x-originating-ip: [165.204.84.17] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;CY4PR12MB1816;7:CbhKAuZxkv4eqbSlrjZOkjOadYL9KOzeHtJoNXYAaejbadw7M02u3828IvdxC9BJ8ufHfr6NMgxNTnVI0ZeAyC0dXbLWZxB/U6mpPaxK1O1HHtSZnix5/BQdecTE+B9YW02keYGLF5MRbfVeRRwO6Q/lBkKFDdI4ushKFq+kZrhnH9wfK6abn6KD8m+kd2zgdZWPxEhZQ1Fxs/+Ei1Yb+jdSOghTClQAw8sVBnFtL8BELQ9ce/SZeniibYiYOiSf;20:yHfiFCLIqandmbgMcAcDGJGI/btjVepOt313xWrEO79YoChq7o9Ma+afVAQNaAXQ+wiQEZm/bOqCXSZekjY7MauXQlI1MlX7d4az1JkjseB094Dw79fhIFyxDE8fJ7kGxjSVce5FhEQF2gPzGl3rjxBD/ZHdOYF01IkyYa1Gdl2xBwC/Fp4rIUCR1y7MSedXA6nFKmsttE8phcBpuhIiUPQz6IvQ+xFnzHQ33c7+BO2exf8bCJj2Sm8OkULK6k8n x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(48565401081)(2017052603328)(7153060)(7193020);SRVR:CY4PR12MB1816; x-ms-traffictypediagnostic: CY4PR12MB1816: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(9452136761055)(767451399110)(228905959029699); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3002001)(93006095)(93001095)(3231232)(944501327)(52105095)(10201501046)(6055026)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123560045)(20161123564045)(20161123558120)(6072148)(201708071742011);SRVR:CY4PR12MB1816;BCL:0;PCL:0;RULEID:;SRVR:CY4PR12MB1816; x-forefront-prvs: 0645BEB7AA x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(39860400002)(366004)(376002)(346002)(39380400002)(396003)(189003)(199004)(13464003)(86362001)(106356001)(7696005)(14454004)(4326008)(6916009)(26005)(74316002)(305945005)(102836004)(8676002)(478600001)(59450400001)(2906002)(6506007)(53546011)(76176011)(54906003)(55016002)(6436002)(5250100002)(229853002)(68736007)(186003)(6246003)(9686003)(53936002)(11346002)(486006)(476003)(105586002)(2900100001)(3280700002)(446003)(316002)(33656002)(97736004)(25786009)(6116002)(3660700001)(3846002)(7736002)(8936002)(99286004)(81156014)(72206003)(81166006)(5660300001)(66066001);DIR:OUT;SFP:1101;SCL:1;SRVR:CY4PR12MB1816;H:CY4PR12MB1557.namprd12.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: amd.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: 2fp3HblizvYacRbVEz/4akPuh0jmXAZjUxEWfnGA45PxRbzFWYWKjA8O9VZtk01gmCiEgOFTVhgTCYElqy1K8ghdVQF/IHrZz8u81Fwsm0WmG3QHqyS+l5E3PBbqg/nPi4geDOiWhdoujPfi0SgNMkue5pSefDlUNB+qGN8w/e/VuxJ6NIC5dcCa24rnKb1J spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: a783a959-22b7-4b76-7413-08d5a4914ef2 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: a783a959-22b7-4b76-7413-08d5a4914ef2 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Apr 2018 18:30:34.2956 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR12MB1816 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBCb3Jpc2xhdiBQZXRrb3YgPGJw QGFsaWVuOC5kZT4NCj4gU2VudDogVHVlc2RheSwgQXByaWwgMTcsIDIwMTggMToyMSBQTQ0KPiBU bzogR2hhbm5hbSwgWWF6ZW4gPFlhemVuLkdoYW5uYW1AYW1kLmNvbT4NCj4gQ2M6IGxpbnV4LWVk YWNAdmdlci5rZXJuZWwub3JnOyBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnOw0KPiB0b255 Lmx1Y2tAaW50ZWwuY29tOyB4ODZAa2VybmVsLm9yZw0KPiBTdWJqZWN0OiBSZTogW1BBVENIXSB4 ODYvTUNFLCBFREFDL21jZV9hbWQ6IFNhdmUgYWxsIGF1eCByZWdpc3RlcnMgb24NCj4gU01DQSBz eXN0ZW1zDQo+IA0KPiBPbiBNb24sIEFwciAwMiwgMjAxOCBhdCAwMjo1NzowN1BNIC0wNTAwLCBZ YXplbiBHaGFubmFtIHdyb3RlOg0KPiA+IEZyb206IFlhemVuIEdoYW5uYW0gPHlhemVuLmdoYW5u YW1AYW1kLmNvbT4NCj4gPg0KPiA+IFRoZSBJbnRlbCBTRE0gYW5kIEFNRCBBUE0gYm90aCBzdGF0 ZSB0aGF0IHRoZSBhdXhpbGlhcnkgTUNBIHJlZ2lzdGVycw0KPiA+IHNob3VsZCBiZSByZWFkIGlm IHRoZWlyIHJlc3BlY3RpdmUgdmFsaWQgYml0cyBhcmUgc2V0IGluIE1DQV9TVEFUVVMuDQo+ID4N Cj4gPiBUaGUgUHJvY2Vzc29yIFByb2dyYW1taW5nIFJlZmVyZW5jZSBmb3IgQU1EIEZhbTE3aCBz eXN0ZW1zIGhhcyBhIG5ldw0KPiA+IHJlY29tbWVuZGF0aW9uIHRoYXQgdGhlIGF1eGlsaWFyeSBy ZWdpc3RlcnMgc2hvdWxkIGJlIHNhdmVkDQo+ID4gdW5jb25kaXRpb25hbGx5LiBUaGlzIHJlY29t bWVuZGF0aW9uIGNhbiBiZSByZXRyb2FjdGl2ZWx5IGFwcGxpZWQgdG8NCj4gPiBvbGRlciBBTUQg c3lzdGVtcy4gSG93ZXZlciwgd2Ugb25seSBuZWVkIHRvIGFwcGx5IHRoaXMgdG8gU01DQSBzeXN0 ZW1zDQo+ID4gdG8gYXZvaWQgbW9kaWZ5aW5nIGJlaGF2aW9yIG9uIG9sZGVyIHN5c3RlbXMuDQo+ IA0KPiBBcHBseWluZyB0aGUgbG9naWMgb2YgdGhhdCByZWNvbW1lbmRhdGlvbiBvbiBvbGRlciBz eXN0ZW1zOiB3b3VsZG4ndCBpdA0KPiBiZSBwcnVkZW50IHRvIHNhdmUgdGhlbSB0aGVyZSB0b28s IGlmIGl0IGhlbHBzIGRlYnVnZ2luZyBhbiBNQ0U/DQo+IA0KDQpXZSBjb3VsZCBidXQgaXQncyBh biBpc3N1ZSBvZiBkb2N1bWVudGF0aW9uIGFuZCB0ZXN0aW5nIHRoZSBvbGRlciBzeXN0ZW1zLg0K DQpNeSBmaXJzdCBwYXNzIGF0IHRoaXMgd2FzIHRvIHVuY29uZGl0aW9uYWxseSByZWFkIHRoZSBy ZWdpc3RlcnMgYmVjYXVzZSBteQ0KdW5kZXJzdGFuZGluZyB3YXMgdGhhdCByZWdpc3RlcnMgdGhh dCBhcmVuJ3QgYWNjZXNzaWJsZSB3b3VsZCBiZSByZWFkLWFzLXplcm8uDQpJIHRob3VnaHQgdGhp cyB3YXMgYSBjb21tb24gTUNBIGltcGxlbWVudGF0aW9uLiBCdXQgVG9ueSBwb2ludGVkIG91dCB0 aGF0DQp0aGlzIGlzbid0IHRoZSBjYXNlIG9uIEludGVsIHN5c3RlbXMuIFRoaXMgaXMgdGhlIGNh c2Ugb24gcmVjZW50IEFNRCBzeXN0ZW1zLiBCdXQNCkkgZG9uJ3Qga25vdyBpZiBpdCdzIHRoZSBj YXNlIG9uIG9sZGVyIHN5c3RlbXMgd2hpY2ggbWF5IG9yIG1heSBub3QgaGF2ZQ0KZm9sbG93ZWQg dGhlIEludGVsIGltcGxlbWVudGF0aW9uIG1vcmUgY2xvc2VseS4NCg0KU28gdG8gYmUgc2FmZSwg SFcgZm9sa3Mgc2FpZCB3ZSBjYW4gcmVzdHJpY3QgdGhpcyB0byBvbmx5IFNNQ0Egc3lzdGVtcyBi ZWNhdXNlDQoxKSBUaGUgcmVjb21tZW5kYXRpb24gZmlyc3Qgc2hvd3MgdXAgaW4gdGhlIEZhbTE3 aCBQUFIuDQoyKSBXZSBrbm93IGl0J3Mgc2FmZSBmcm9tIEZhbTE3aCBvbndhcmRzLg0KDQo+ID4g RGVmaW5lIGEgc2VwYXJhdGUgZnVuY3Rpb24gdG8gc2F2ZSBhbGwgYXV4aWxpYXJ5IHJlZ2lzdGVy cyBvbiBTTUNBDQo+ID4gc3lzdGVtcy4gQ2FsbCB0aGlzIGZ1bmN0aW9uIGZyb20gYm90aCB0aGUg TUNFIGhhbmRsZXJzIGFuZCB0aGUgQU1EIExWVA0KPiA+IGludGVycnVwdCBoYW5kbGVycyBzbyB0 aGF0IHdlIGRvbid0IGR1cGxpY2F0ZSBjb2RlLg0KPiA+DQo+ID4gUHJpbnQgYWxsIGF1eGlsaWFy eSByZWdpc3RlcnMgaW4gRURBQy9tY2VfYW1kLiBEb24ndCByZXN0cmljdCB0aGlzIHRvDQo+ID4g U01DQSBzeXN0ZW1zIGluIG9yZGVyIHRvIHNhdmUgYSBjb25kaXRpb25hbCBhbmQga2VlcCB0aGUg Zm9ybWF0IHNpbWlsYXINCj4gPiBiZXR3ZWVuIFNNQ0EgYW5kIG5vbi1TTUNBIHN5c3RlbXMuDQo+ ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBZYXplbiBHaGFubmFtIDx5YXplbi5naGFubmFtQGFtZC5j b20+DQo+IA0KPiAuLi4NCj4gDQo+ID4gZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUv bWNoZWNrL21jZV9hbWQuYw0KPiBiL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL21jZV9hbWQu Yw0KPiA+IGluZGV4IGY3NjY2ZWVmNGE4Ny4uYjAwZDVmZmYxODQ4IDEwMDY0NA0KPiA+IC0tLSBh L2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL21jZV9hbWQuYw0KPiA+ICsrKyBiL2FyY2gveDg2 L2tlcm5lbC9jcHUvbWNoZWNrL21jZV9hbWQuYw0KPiA+IEBAIC0yNDQsNiArMjQ0LDQ3IEBAIHN0 YXRpYyB2b2lkIHNtY2FfY29uZmlndXJlKHVuc2lnbmVkIGludCBiYW5rLA0KPiB1bnNpZ25lZCBp bnQgY3B1KQ0KPiA+ICAJfQ0KPiA+ICB9DQo+ID4NCj4gPiArDQo+ID4gK3N0YXRpYyBib29sIF9z bWNhX3JlYWRfYXV4KHN0cnVjdCBtY2UgKm0sIGludCBiYW5rLCBib29sIHJlYWRfYWRkcikNCj4g PiArew0KPiA+ICsJaWYgKCFtY2VfZmxhZ3Muc21jYSkNCj4gPiArCQlyZXR1cm4gZmFsc2U7DQo+ ID4gKw0KPiA+ICsJcmRtc3JsKE1TUl9BTUQ2NF9TTUNBX01DeF9JUElEKGJhbmspLCBtLT5pcGlk KTsNCj4gPiArCXJkbXNybChNU1JfQU1ENjRfU01DQV9NQ3hfU1lORChiYW5rKSwgbS0+c3luZCk7 DQo+ID4gKw0KPiA+ICsJLyoNCj4gPiArCSAqIFdlIHNob3VsZCBhbHJlYWR5IGhhdmUgYSB2YWx1 ZSBpZiB3ZSdyZSBjb21pbmcgZnJvbSB0aGUNCj4gVGhyZXNob2xkIExWVA0KPiA+ICsJICogaW50 ZXJydXB0IGhhbmRsZXIuIE90aGVyd2lzZSwgcmVhZCBpdCBub3cuDQo+ID4gKwkgKi8NCj4gPiAr CWlmICghbS0+bWlzYykNCj4gPiArCQlyZG1zcmwobXNyX29wcy5taXNjKGJhbmspLCBtLT5taXNj KTsNCj4gPiArDQo+ID4gKwkvKg0KPiA+ICsJICogUmVhZCBNQ0FfQUREUiBpZiB3ZSBkb24ndCBo YXZlIGl0IGFscmVhZHkuIFdlIHNob3VsZCBhbHJlYWR5DQo+IGhhdmUgaXQNCj4gPiArCSAqIGlm IHdlJ3JlIGNvbWluZyBmcm9tIHRoZSBpbnRlcnJ1cHQgaGFuZGxlcnMuDQo+ID4gKwkgKi8NCj4g PiArCWlmIChyZWFkX2FkZHIpDQo+IA0KPiBXaHkgbm90DQo+IA0KPiAJaWYgKCFtLT5hZGRyKQ0K PiANCj4gPw0KPiANCj4gQW5kIHllYWgsIGlmIGl0IGhhcyBiZWVuIHJlYWQgdG8gMCBhbHJlYWR5 LCByZWFkaW5nIGl0IGFnYWluIHdvbid0DQo+IGNoYW5nZSBhbnl0aGluZy4NCj4gDQo+IEFuZCB0 aGlua2luZyBhYm91dCBpdCBtb3JlLCB5b3UgZG9uJ3QgcmVhbGx5IG5lZWQgdGhvc2UgaWYtdGVz dHMsIEknZA0KPiBzYXkuIFNvIHdoYXQsIHlvdSdsbCByZWFkIG9uZSBvciB0d28gTVNScyBvbmNl IG1vcmUuIEl0IGlzIG5vdCBzdWNoIGENCj4gaG90IHBhdGggdGhhdCB3ZSBjYW4ndCBzdG9tYWNo IHRoZSBwZXJmIHBlbmFsdHkgb2YgcmVhZGluZyB0aGUgTVNScy4NCj4gDQoNClRoZSBpc3N1ZSBo ZXJlIGlzIGJlY2F1c2Ugd2Ugc2hhcmUgdGhpcyBwYXRoIHdpdGggdGhlIGludGVycnVwdCBoYW5k bGVycywNCnNwZWNpZmljYWxseSB0aGUgRGVmZXJyZWQgZXJyb3IgaW50ZXJydXB0IGhhbmRsZXIu IFRoZSBERlIgaGFuZGxlciB3aWxsDQpyZWFkIGZyb20gTUNBX0FERFIgb3IgTUNBX0RFQUREUiBz byB3ZSBzaG91bGQganVzdCB1c2Ugd2hhdCBpdA0KZ290LiBPdGhlcndpc2UsIHdlIG1heSByZWFk IE1DQV9BRERSIGFuZCBhc3N1bWUgaXQncyBjb3JyZWN0IGZvcg0KdGhlIGVycm9yLg0KDQpGb3Ig ZXhhbXBsZSwNCg0KRGVmZXJyZWQgZXJyb3Igb2NjdXJzOg0KLSBNQ0Ffe1NUQVRVUyxBRERSLERF U1RBVCxERUFERFJ9IGFsbCBoYXZlIHZhbGlkIGRhdGEuDQoNCk1DRSBvY2N1cnMNCi0gTUNBX3tT VEFUVVMsQUREUn0gYXJlIG92ZXJ3cml0dGVuIHdpdGggbm9uLXplcm8gZGF0YS4NCi0gTUNFIGhh bmRsZXIgY2xlYXJzIE1DQV9TVEFUVVMuIE1DQV9BRERSIGlzIG5vbi16ZXJvLg0KDQpERlIgaGFu ZGxlciBmaW5kcyBNQ0FfU1RBVFVTW0RlZmVycmVkXSBpcyBjbGVhciwgc28gaXQgc2F2ZXMNCk1D QV9ERVNUQVQgYW5kIE1DQV9ERUFERFIgd2hpY2ggaXMgMC4NCg0KSWYgIW0tPmFkZHIgKHdoaWNo IGhhcyBNQ0FfREVBRERSKSwgdGhlbiB3ZSByZWFkIE1DQV9TVEFUVVMNCndoaWNoIGhhcyB0aGUg YWRkcmVzcyBmcm9tIHRoZSBNQ0UuDQoNCg0KPiA+ICsJCXJkbXNybChtc3Jfb3BzLmFkZHIoYmFu ayksIG0tPmFkZHIpOw0KPiA+ICsNCj4gPiArCS8qDQo+ID4gKwkgKiBFeHRyYWN0IFs1NTo8bHNi Pl0gd2hlcmUgbHNiIGlzIHRoZSBsZWFzdCBzaWduaWZpY2FudA0KPiA+ICsJICogKnZhbGlkKiBi aXQgb2YgdGhlIGFkZHJlc3MgYml0cy4NCj4gPiArCSAqLw0KPiA+ICsJaWYgKG0tPmFkZHIpIHsN Cj4gDQo+IEFuZCB0aGF0IHRlc3QgaXMgcHJvYmFibHkgbm90IG5lZWRlZCBlaXRoZXI6IGlmIG0t PmFkZHIgaXMgMCwgdGhlDQo+IGJlbG93IHdvdWxkIGJlIDAgYW55d2F5Lg0KPiANCj4gPiArCQl1 OCBsc2IgPSAobS0+YWRkciA+PiA1NikgJiAweDNmOw0KPiA+ICsNCj4gPiArCQltLT5hZGRyICY9 IEdFTk1BU0tfVUxMKDU1LCBsc2IpOw0KPiA+ICsJfQ0KPiA+ICsNCj4gPiArCXJldHVybiB0cnVl Ow0KPiA+ICt9DQo+IA0KPiBJT1csIHRob3NlIHRlc3RzIGFyZSBwcm9iYWJseSBvayBidXQgZ2V0 dGluZyByaWQgb2YgdGhlbSB3b3VsZCBtYWtlIHRoZQ0KPiBjb2RlIG1vcmUgcmVhZGFibGUgYW5k IEkgdGhpbmsgd2UgY2FuIGFmZm9yZCB0aGF0IGhlcmUuDQo+IA0KDQpPa2F5LCBJJ2xsIGdldCBy aWQgdGhlIGxhc3QgdGVzdC4gQnV0IHRoZSBmaXJzdCBvbmUgaXMgbmVjZXNzYXJ5IHdpdGggb3Vy IGN1cnJlbnQNCmNvZGUgZmxvdy4NCg0KVGhhbmtzLA0KWWF6ZW4NCg==