Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp1225081ybi; Fri, 14 Jun 2019 10:43:28 -0700 (PDT) X-Google-Smtp-Source: APXvYqxLy/ca7vJlj8vA0AGHGxROViCB74MU88h4f7kyRaHtD4n0AzzaB6NVg6lRJGLG6O3cx6pb X-Received: by 2002:a65:418d:: with SMTP id a13mr17715551pgq.332.1560534208184; Fri, 14 Jun 2019 10:43:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560534208; cv=none; d=google.com; s=arc-20160816; b=iPQBMEO5AW4/YpOSzJCPBek1xM12h7hWOcEkkHcaDt+q1/wFSK5nke4AfiazOtdeN/ 9TBKWTCFZ0GNdnXW3J/cD2XHLbTh8ApXyfIhcLfWw9veI2ZIC2y80h0KVkYz5i7Xvv2w srw9lzrUhLajJjVwLSNO9HHrUUyBpJldidAQVqrugcq2NT5FUqVsXHsXMeVOFFheaUpO hM9JfKJV5EqtmmD3PAVPcwyNjo4U0jRjW58OtBFYpSb5qDH8Xwd5IZpVXuS8h/UrZICH PdCtLtmlTW7M1GwzRUoBy1DecUKrBTq0aiQcLq7AH9YMIlBxw98G5KGNDYNrb4h02cXg e+yQ== 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-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=9Bow4uF3ux7/5g/zy1S41ZIS+3uOYbG2zkUtUMByuMU=; b=yINJc48zm/2t4eN/iOXJhO7yyNFctFzbvhLcf2vKey8uOe/PSf4acZsPIu/FDo3CCV Yv9zGaQmKpyCEHbkvta+9DjVwYMUtMIV88066jvz4ed4DNl2vWPoTu03zfHDHEwsQIB2 mNpacPdBnZOrLIRkFZTGdtGFHo4X7NXD2VLzYdZF/Cv9Fd7br5pMD6E2lewer/Mzc/pC hAqG1fL1vDumOIatTKmepVD8NvYbJWbvqTZJs+BCHsvksPdFQj2yynplClA+gKsrS47p gJWeGxIddMbRa+k1EVXCxnufI2c0n9n0q1MeERm7eJw7vgO9/sfgwNK/AY/3bs2IjfDj S4ag== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@marvell.com header.s=pfpt0818 header.b=rEY6WnRp; dkim=pass header.i=@marvell.onmicrosoft.com header.s=selector2-marvell-onmicrosoft-com header.b=YPxO4zmD; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=marvell.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b35si2707657plb.249.2019.06.14.10.43.12; Fri, 14 Jun 2019 10:43:28 -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=@marvell.com header.s=pfpt0818 header.b=rEY6WnRp; dkim=pass header.i=@marvell.onmicrosoft.com header.s=selector2-marvell-onmicrosoft-com header.b=YPxO4zmD; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=marvell.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726627AbfFNRnE (ORCPT + 99 others); Fri, 14 Jun 2019 13:43:04 -0400 Received: from mx0a-0016f401.pphosted.com ([67.231.148.174]:49392 "EHLO mx0b-0016f401.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726193AbfFNRnD (ORCPT ); Fri, 14 Jun 2019 13:43:03 -0400 Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x5EHeqHI007899; Fri, 14 Jun 2019 10:42:54 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pfpt0818; bh=9Bow4uF3ux7/5g/zy1S41ZIS+3uOYbG2zkUtUMByuMU=; b=rEY6WnRpSYNN9H1eLi42wpTfT6a38I8zk4CDwJ2aPfaB2Adqi/PpmPMfEFujyoeXL7C2 H4GTT9rlVrVRAU57Yyqz9Rub0PoH/wyzZ4L4M37yvDdtnSPWwyMA7e09tQkN4xtyL6m8 d6lckP0EeHwFavKJTzs0e2p2w6nAtcF854952w1N/oqUfQ9fz9eeePE4vn77Qh6WFHN2 lipSztoYTbrEMO/gPKiV7ijfbnOnegkfIzANfNRu/yeg61fnGKu7x+1H2e6EqGPuihiI 5mmup4Nsfw7enJR5DvrzjvBSySlRjWaJwbgz5hi/vkYX0NjzOhQ/RlW50VEzCym2IPo/ vQ== Received: from sc-exch04.marvell.com ([199.233.58.184]) by mx0a-0016f401.pphosted.com with ESMTP id 2t41j63g2n-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Fri, 14 Jun 2019 10:42:54 -0700 Received: from SC-EXCH01.marvell.com (10.93.176.81) by SC-EXCH04.marvell.com (10.93.176.84) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Fri, 14 Jun 2019 10:42:53 -0700 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.36.58) by SC-EXCH01.marvell.com (10.93.176.81) with Microsoft SMTP Server (TLS) id 15.0.1367.3 via Frontend Transport; Fri, 14 Jun 2019 10:42:53 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector2-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9Bow4uF3ux7/5g/zy1S41ZIS+3uOYbG2zkUtUMByuMU=; b=YPxO4zmD1M2XNIdvba/LrYaaRBf+0blLdZCuhhyb7qSOIkK/rlCuXwBJcJKcriksBtui86Cj8WrDAKR9kfd5Zb+mB0HcwyXo6rUbbnhoPmiv3bD/vXc0VXTndDXCTcmblmRlnMXuOHpPSiNnVQAhR9AVa+55geF066Ngg/DCeYE= Received: from MWHPR1801MB2030.namprd18.prod.outlook.com (10.164.205.31) by MWHPR1801MB1936.namprd18.prod.outlook.com (10.164.204.167) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1987.11; Fri, 14 Jun 2019 17:42:47 +0000 Received: from MWHPR1801MB2030.namprd18.prod.outlook.com ([fe80::7c5a:e2f5:64e0:5b70]) by MWHPR1801MB2030.namprd18.prod.outlook.com ([fe80::7c5a:e2f5:64e0:5b70%7]) with mapi id 15.20.1987.013; Fri, 14 Jun 2019 17:42:47 +0000 From: Ganapatrao Kulkarni To: "linux-doc@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" CC: "Will.Deacon@arm.com" , "mark.rutland@arm.com" , "corbet@lwn.net" , "jnair@caviumnetworks.com" , "Robert.Richter@cavium.com" , "Jan.Glauber@cavium.com" , "gklkml16@gmail.com" Subject: [PATCH 2/2] drivers/perf: Add CCPI2 PMU support in ThunderX2 UNCORE driver. Thread-Topic: [PATCH 2/2] drivers/perf: Add CCPI2 PMU support in ThunderX2 UNCORE driver. Thread-Index: AQHVItiTGPBTb6KSH0SsUcu0vn4B3A== Date: Fri, 14 Jun 2019 17:42:46 +0000 Message-ID: <1560534144-13896-3-git-send-email-gkulkarni@marvell.com> References: <1560534144-13896-1-git-send-email-gkulkarni@marvell.com> In-Reply-To: <1560534144-13896-1-git-send-email-gkulkarni@marvell.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: BYAPR07CA0058.namprd07.prod.outlook.com (2603:10b6:a03:60::35) To MWHPR1801MB2030.namprd18.prod.outlook.com (2603:10b6:301:69::31) x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 1.8.3.1 x-originating-ip: [199.233.59.128] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: e477d7ee-9650-40db-a8e1-08d6f0efb62d x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(7193020);SRVR:MWHPR1801MB1936; x-ms-traffictypediagnostic: MWHPR1801MB1936: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-forefront-prvs: 0068C7E410 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(136003)(346002)(39850400004)(396003)(376002)(366004)(199004)(189003)(66946007)(6116002)(71200400001)(76176011)(2501003)(102836004)(3846002)(7416002)(4720700003)(52116002)(66066001)(99286004)(6512007)(14454004)(6506007)(446003)(71190400001)(4326008)(386003)(478600001)(6436002)(2906002)(54906003)(110136005)(68736007)(5660300002)(256004)(8936002)(2616005)(305945005)(2201001)(476003)(36756003)(7736002)(53936002)(11346002)(81166006)(66556008)(66476007)(30864003)(26005)(50226002)(25786009)(186003)(64756008)(66446008)(73956011)(486006)(81156014)(316002)(86362001)(8676002)(6486002)(14444005);DIR:OUT;SFP:1101;SCL:1;SRVR:MWHPR1801MB1936;H:MWHPR1801MB2030.namprd18.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: marvell.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: IFdR+DoMqiIlN6xY8mwhp1oIfHST009HQoBr4We70DTcDR0hCkgw4WiVz/NDOCLPlIqS4ymr6TjPGdyCO6y7viUdrIOKdGoDBTXe2EMtdcN/gSL4yvuH5zQIvuKYEduk489Qrh6dfxi72RSWmF1WyyfXxcezF1J7zvVG2+EwN1jJNCx8T+ei7WCcA9Sf8zzBOUmiB6CnfmTUfbJ/YT4DbRV5GNGWhFz7XmkYDQu3psnZV9R4W+fPg5lHbUiyrBdXrneFp34AqWSjpNPwN2WWzWT0tLEhvAalj1TusNMhxAKbDldKNkErTWzg9XavVL08m0pf8uYlGGV4E5NYRu0mISRhZAWWZ3nyf8YyIiFrTqEpHjWLT7H4izrXE3CaxffQHcUPRgpQo5Q5kPen90hwuOdMQ3+xbyuEl9EOVsk8s6A= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: e477d7ee-9650-40db-a8e1-08d6f0efb62d X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Jun 2019 17:42:46.7927 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: gkulkarni@marvell.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR1801MB1936 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2019-06-14_07:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Q0NQSTIgaXMgYSBsb3ctbGF0ZW5jeSBoaWdoLWJhbmR3aWR0aCBzZXJpYWwgaW50ZXJmYWNlIGZv ciBjb25uZWN0aW5nDQpUaHVuZGVyWDIgcHJvY2Vzc29ycy4gVGhpcyBwYXRjaCBhZGRzIHN1cHBv cnQgdG8gY2FwdHVyZSBDQ1BJMiBwZXJmIGV2ZW50cy4NCg0KU2lnbmVkLW9mZi1ieTogR2FuYXBh dHJhbyBLdWxrYXJuaSA8Z2t1bGthcm5pQG1hcnZlbGwuY29tPg0KLS0tDQogZHJpdmVycy9wZXJm L3RodW5kZXJ4Ml9wbXUuYyB8IDE3OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0t LQ0KIDEgZmlsZSBjaGFuZ2VkLCAxNTcgaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pDQoN CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BlcmYvdGh1bmRlcngyX3BtdS5jIGIvZHJpdmVycy9wZXJm L3RodW5kZXJ4Ml9wbXUuYw0KaW5kZXggNDNkNzZjODVkYTU2Li4zNzkxYWM5Yjg5N2QgMTAwNjQ0 DQotLS0gYS9kcml2ZXJzL3BlcmYvdGh1bmRlcngyX3BtdS5jDQorKysgYi9kcml2ZXJzL3BlcmYv dGh1bmRlcngyX3BtdS5jDQpAQCAtMTYsNyArMTYsOSBAQA0KICAqIHRoZXkgbmVlZCB0byBiZSBz YW1wbGVkIGJlZm9yZSBvdmVyZmxvdyhpLmUsIGF0IGV2ZXJ5IDIgc2Vjb25kcykuDQogICovDQog DQotI2RlZmluZSBUWDJfUE1VX01BWF9DT1VOVEVSUwkJNA0KKyNkZWZpbmUgVFgyX1BNVV9ETUNf TDNDX01BWF9DT1VOVEVSUwk0DQorI2RlZmluZSBUWDJfUE1VX0NDUEkyX01BWF9DT1VOVEVSUwk4 DQorDQogI2RlZmluZSBUWDJfUE1VX0RNQ19DSEFOTkVMUwkJOA0KICNkZWZpbmUgVFgyX1BNVV9M M19USUxFUwkJMTYNCiANCkBAIC0yOCwxMSArMzAsMjIgQEANCiAgICovDQogI2RlZmluZSBETUNf RVZFTlRfQ0ZHKGlkeCwgdmFsKQkJKCh2YWwpIDw8ICgoKGlkeCkgKiA4KSArIDEpKQ0KIA0KKyNk ZWZpbmUgR0VUX0VWRU5USURfQ0NQSTIoZXYpCQkoKGV2LT5ody5jb25maWcpICYgMHgxZmYpDQor LyogYml0c1szOjBdIHRvIHNlbGVjdCBjb3VudGVycywgc3RhcnRzIGZyb20gOCwgYml0WzNdIHNl dCBhbHdheXMuICovDQorI2RlZmluZSBHRVRfQ09VTlRFUklEX0NDUEkyKGV2KQkJKChldi0+aHcu aWR4KSAmIDB4NykNCisjZGVmaW5lIENDUEkyX0NPVU5URVJfT0ZGU0VUCQk4DQorDQogI2RlZmlu ZSBMM0NfQ09VTlRFUl9DVEwJCQkweEE4DQogI2RlZmluZSBMM0NfQ09VTlRFUl9EQVRBCQkweEFD DQogI2RlZmluZSBETUNfQ09VTlRFUl9DVEwJCQkweDIzNA0KICNkZWZpbmUgRE1DX0NPVU5URVJf REFUQQkJMHgyNDANCiANCisjZGVmaW5lIENDUEkyX1BFUkZfQ1RMCQkJMHgxMDgNCisjZGVmaW5l IENDUEkyX0NPVU5URVJfQ1RMCQkweDEwQw0KKyNkZWZpbmUgQ0NQSTJfQ09VTlRFUl9TRUwJCTB4 MTJjDQorI2RlZmluZSBDQ1BJMl9DT1VOVEVSX0RBVEFfTAkJMHgxMzANCisjZGVmaW5lIENDUEky X0NPVU5URVJfREFUQV9ICQkweDEzNA0KKw0KIC8qIEwzQyBldmVudCBJRHMgKi8NCiAjZGVmaW5l IEwzX0VWRU5UX1JFQURfUkVRCQkweEQNCiAjZGVmaW5lIEwzX0VWRU5UX1dSSVRFQkFDS19SRVEJ CTB4RQ0KQEAgLTUxLDkgKzY0LDE2IEBADQogI2RlZmluZSBETUNfRVZFTlRfUkVBRF9UWE5TCQkw eEYNCiAjZGVmaW5lIERNQ19FVkVOVF9NQVgJCQkweDEwDQogDQorI2RlZmluZSBDQ1BJMl9FVkVO VF9SRVFfUEtUX1NFTlQJMHgzRA0KKyNkZWZpbmUgQ0NQSTJfRVZFTlRfU05PT1BfUEtUX1NFTlQJ MHg2NQ0KKyNkZWZpbmUgQ0NQSTJfRVZFTlRfREFUQV9QS1RfU0VOVAkweDEwNQ0KKyNkZWZpbmUg Q0NQSTJfRVZFTlRfR0lDX1BLVF9TRU5UCTB4MTJEDQorI2RlZmluZSBDQ1BJMl9FVkVOVF9NQVgJ CQkweDIwMA0KKw0KIGVudW0gdHgyX3VuY29yZV90eXBlIHsNCiAJUE1VX1RZUEVfTDNDLA0KIAlQ TVVfVFlQRV9ETUMsDQorCVBNVV9UWVBFX0NDUEkyLA0KIAlQTVVfVFlQRV9JTlZBTElELA0KIH07 DQogDQpAQCAtNzMsOCArOTMsOCBAQCBzdHJ1Y3QgdHgyX3VuY29yZV9wbXUgew0KIAl1MzIgbWF4 X2V2ZW50czsNCiAJdTY0IGhydGltZXJfaW50ZXJ2YWw7DQogCXZvaWQgX19pb21lbSAqYmFzZTsN Ci0JREVDTEFSRV9CSVRNQVAoYWN0aXZlX2NvdW50ZXJzLCBUWDJfUE1VX01BWF9DT1VOVEVSUyk7 DQotCXN0cnVjdCBwZXJmX2V2ZW50ICpldmVudHNbVFgyX1BNVV9NQVhfQ09VTlRFUlNdOw0KKwlE RUNMQVJFX0JJVE1BUChhY3RpdmVfY291bnRlcnMsIFRYMl9QTVVfQ0NQSTJfTUFYX0NPVU5URVJT KTsNCisJc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50c1tUWDJfUE1VX0RNQ19MM0NfTUFYX0NPVU5U RVJTXTsNCiAJc3RydWN0IGRldmljZSAqZGV2Ow0KIAlzdHJ1Y3QgaHJ0aW1lciBocnRpbWVyOw0K IAljb25zdCBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwICoqYXR0cl9ncm91cHM7DQpAQCAtOTIsNyAr MTEyLDIxIEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IHR4Ml91bmNvcmVfcG11ICpwbXVfdG9fdHgy X3BtdShzdHJ1Y3QgcG11ICpwbXUpDQogCXJldHVybiBjb250YWluZXJfb2YocG11LCBzdHJ1Y3Qg dHgyX3VuY29yZV9wbXUsIHBtdSk7DQogfQ0KIA0KLVBNVV9GT1JNQVRfQVRUUihldmVudCwJImNv bmZpZzowLTQiKTsNCisjZGVmaW5lIFRYMl9QTVVfRk9STUFUX0FUVFIoX3ZhciwgX25hbWUsIF9m b3JtYXQpCQkJXA0KK3N0YXRpYyBzc2l6ZV90CQkJCQkJCQlcDQorX190eDJfcG11XyMjX3ZhciMj X3Nob3coc3RydWN0IGRldmljZSAqZGV2LAkJCQlcDQorCQkJICAgICAgIHN0cnVjdCBkZXZpY2Vf YXR0cmlidXRlICphdHRyLAkJXA0KKwkJCSAgICAgICBjaGFyICpwYWdlKQkJCQlcDQorewkJCQkJ CQkJCVwNCisJQlVJTERfQlVHX09OKHNpemVvZihfZm9ybWF0KSA+PSBQQUdFX1NJWkUpOwkJCVwN CisJcmV0dXJuIHNwcmludGYocGFnZSwgX2Zvcm1hdCAiXG4iKTsJCQkJXA0KK30JCQkJCQkJCQlc DQorCQkJCQkJCQkJXA0KK3N0YXRpYyBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSBmb3JtYXRfYXR0 cl8jI192YXIgPQkJCVwNCisJX19BVFRSKF9uYW1lLCAwNDQ0LCBfX3R4Ml9wbXVfIyNfdmFyIyNf c2hvdywgTlVMTCkNCisNCitUWDJfUE1VX0ZPUk1BVF9BVFRSKGV2ZW50LCBldmVudCwgImNvbmZp ZzowLTQiKTsNCitUWDJfUE1VX0ZPUk1BVF9BVFRSKGV2ZW50X2NjcGkyLCBldmVudCwgImNvbmZp ZzowLTkiKTsNCiANCiBzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqbDNjX3BtdV9mb3JtYXRfYXR0 cnNbXSA9IHsNCiAJJmZvcm1hdF9hdHRyX2V2ZW50LmF0dHIsDQpAQCAtMTA0LDYgKzEzOCwxMSBA QCBzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqZG1jX3BtdV9mb3JtYXRfYXR0cnNbXSA9IHsNCiAJ TlVMTCwNCiB9Ow0KIA0KK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICpjY3BpMl9wbXVfZm9ybWF0 X2F0dHJzW10gPSB7DQorCSZmb3JtYXRfYXR0cl9ldmVudF9jY3BpMi5hdHRyLA0KKwlOVUxMLA0K K307DQorDQogc3RhdGljIGNvbnN0IHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgbDNjX3BtdV9mb3Jt YXRfYXR0cl9ncm91cCA9IHsNCiAJLm5hbWUgPSAiZm9ybWF0IiwNCiAJLmF0dHJzID0gbDNjX3Bt dV9mb3JtYXRfYXR0cnMsDQpAQCAtMTE0LDYgKzE1MywxMSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0 IGF0dHJpYnV0ZV9ncm91cCBkbWNfcG11X2Zvcm1hdF9hdHRyX2dyb3VwID0gew0KIAkuYXR0cnMg PSBkbWNfcG11X2Zvcm1hdF9hdHRycywNCiB9Ow0KIA0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYXR0 cmlidXRlX2dyb3VwIGNjcGkyX3BtdV9mb3JtYXRfYXR0cl9ncm91cCA9IHsNCisJLm5hbWUgPSAi Zm9ybWF0IiwNCisJLmF0dHJzID0gY2NwaTJfcG11X2Zvcm1hdF9hdHRycywNCit9Ow0KKw0KIC8q DQogICogc3lzZnMgZXZlbnQgYXR0cmlidXRlcw0KICAqLw0KQEAgLTE2NCw2ICsyMDgsMTkgQEAg c3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUgKmRtY19wbXVfZXZlbnRzX2F0dHJzW10gPSB7DQogCU5V TEwsDQogfTsNCiANCitUWDJfRVZFTlRfQVRUUihyZXFfcGt0c2VudCwgQ0NQSTJfRVZFTlRfUkVR X1BLVF9TRU5UKTsNCitUWDJfRVZFTlRfQVRUUihzbm9vcF9wa3RzZW50LCBDQ1BJMl9FVkVOVF9T Tk9PUF9QS1RfU0VOVCk7DQorVFgyX0VWRU5UX0FUVFIoZGF0YV9wa3RzZW50LCBDQ1BJMl9FVkVO VF9EQVRBX1BLVF9TRU5UKTsNCitUWDJfRVZFTlRfQVRUUihnaWNfcGt0c2VudCwgQ0NQSTJfRVZF TlRfR0lDX1BLVF9TRU5UKTsNCisNCitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqY2NwaTJfcG11 X2V2ZW50c19hdHRyc1tdID0gew0KKwkmdHgyX3BtdV9ldmVudF9hdHRyX3JlcV9wa3RzZW50LmF0 dHIuYXR0ciwNCisJJnR4Ml9wbXVfZXZlbnRfYXR0cl9zbm9vcF9wa3RzZW50LmF0dHIuYXR0ciwN CisJJnR4Ml9wbXVfZXZlbnRfYXR0cl9kYXRhX3BrdHNlbnQuYXR0ci5hdHRyLA0KKwkmdHgyX3Bt dV9ldmVudF9hdHRyX2dpY19wa3RzZW50LmF0dHIuYXR0ciwNCisJTlVMTCwNCit9Ow0KKw0KIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwIGwzY19wbXVfZXZlbnRzX2F0dHJfZ3Jv dXAgPSB7DQogCS5uYW1lID0gImV2ZW50cyIsDQogCS5hdHRycyA9IGwzY19wbXVfZXZlbnRzX2F0 dHJzLA0KQEAgLTE3NCw2ICsyMzEsMTEgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBhdHRyaWJ1dGVf Z3JvdXAgZG1jX3BtdV9ldmVudHNfYXR0cl9ncm91cCA9IHsNCiAJLmF0dHJzID0gZG1jX3BtdV9l dmVudHNfYXR0cnMsDQogfTsNCiANCitzdGF0aWMgY29uc3Qgc3RydWN0IGF0dHJpYnV0ZV9ncm91 cCBjY3BpMl9wbXVfZXZlbnRzX2F0dHJfZ3JvdXAgPSB7DQorCS5uYW1lID0gImV2ZW50cyIsDQor CS5hdHRycyA9IGNjcGkyX3BtdV9ldmVudHNfYXR0cnMsDQorfTsNCisNCiAvKg0KICAqIHN5c2Zz IGNwdW1hc2sgYXR0cmlidXRlcw0KICAqLw0KQEAgLTIxMyw2ICsyNzUsMTMgQEAgc3RhdGljIGNv bnN0IHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgKmRtY19wbXVfYXR0cl9ncm91cHNbXSA9IHsNCiAJ TlVMTA0KIH07DQogDQorc3RhdGljIGNvbnN0IHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgKmNjcGky X3BtdV9hdHRyX2dyb3Vwc1tdID0gew0KKwkmY2NwaTJfcG11X2Zvcm1hdF9hdHRyX2dyb3VwLA0K KwkmcG11X2NwdW1hc2tfYXR0cl9ncm91cCwNCisJJmNjcGkyX3BtdV9ldmVudHNfYXR0cl9ncm91 cCwNCisJTlVMTA0KK307DQorDQogc3RhdGljIGlubGluZSB1MzIgcmVnX3JlYWRsKHVuc2lnbmVk IGxvbmcgYWRkcikNCiB7DQogCXJldHVybiByZWFkbCgodm9pZCBfX2lvbWVtICopYWRkcik7DQpA QCAtMjY1LDYgKzMzNCwxNyBAQCBzdGF0aWMgdm9pZCBpbml0X2NudHJfYmFzZV9kbWMoc3RydWN0 IHBlcmZfZXZlbnQgKmV2ZW50LA0KIAkJKyBETUNfQ09VTlRFUl9EQVRBICsgKDB4YyAqIEdFVF9D T1VOVEVSSUQoZXZlbnQpKTsNCiB9DQogDQorc3RhdGljIHZvaWQgaW5pdF9jbnRyX2Jhc2VfY2Nw aTIoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50LA0KKwkJc3RydWN0IHR4Ml91bmNvcmVfcG11ICp0 eDJfcG11KQ0KK3sNCisNCisJc3RydWN0IGh3X3BlcmZfZXZlbnQgKmh3YyA9ICZldmVudC0+aHc7 DQorDQorCWh3Yy0+Y29uZmlnX2Jhc2UgPSAodW5zaWduZWQgbG9uZyl0eDJfcG11LT5iYXNlDQor CQkrIENDUEkyX0NPVU5URVJfQ1RMICsgKDQgKiBHRVRfQ09VTlRFUklEX0NDUEkyKGV2ZW50KSk7 DQorCWh3Yy0+ZXZlbnRfYmFzZSA9ICAodW5zaWduZWQgbG9uZyl0eDJfcG11LT5iYXNlOw0KK30N CisNCiBzdGF0aWMgdm9pZCB1bmNvcmVfc3RhcnRfZXZlbnRfbDNjKHN0cnVjdCBwZXJmX2V2ZW50 ICpldmVudCwgaW50IGZsYWdzKQ0KIHsNCiAJdTMyIHZhbDsNCkBAIC0zMTIsNiArMzkyLDI5IEBA IHN0YXRpYyB2b2lkIHVuY29yZV9zdG9wX2V2ZW50X2RtYyhzdHJ1Y3QgcGVyZl9ldmVudCAqZXZl bnQpDQogCXJlZ193cml0ZWwodmFsLCBod2MtPmNvbmZpZ19iYXNlKTsNCiB9DQogDQorc3RhdGlj IHZvaWQgdW5jb3JlX3N0YXJ0X2V2ZW50X2NjcGkyKHN0cnVjdCBwZXJmX2V2ZW50ICpldmVudCwg aW50IGZsYWdzKQ0KK3sNCisJdTMyIHZhbDsNCisJc3RydWN0IGh3X3BlcmZfZXZlbnQgKmh3YyA9 ICZldmVudC0+aHc7DQorDQorCS8qIEJpdCBbMDk6MDBdIHRvIHNldCBldmVudCBpZCwgc2V0IGxl dmVsIGFuZCB0eXBlIHRvIDEgKi8NCisJdmFsID0gcmVnX3JlYWRsKGh3Yy0+Y29uZmlnX2Jhc2Up Ow0KKwlyZWdfd3JpdGVsKCh2YWwgJiB+MHhGRkYpIHwgKDMgPDwgMTApIHwNCisJCQlHRVRfRVZF TlRJRF9DQ1BJMihldmVudCksIGh3Yy0+Y29uZmlnX2Jhc2UpOw0KKwkvKiByZXNldFs0XSwgZW5h YmxlWzBdIGFuZCBzdGFydFsxXSBjb3VudGVycyAqLw0KKwlyZWdfd3JpdGVsKDB4MTMsIGh3Yy0+ ZXZlbnRfYmFzZSArIENDUEkyX1BFUkZfQ1RMKTsNCisJbG9jYWw2NF9zZXQoJmV2ZW50LT5ody5w cmV2X2NvdW50LCAwVUxMKTsNCit9DQorDQorc3RhdGljIHZvaWQgdW5jb3JlX3N0b3BfZXZlbnRf Y2NwaTIoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50KQ0KK3sNCisJc3RydWN0IGh3X3BlcmZfZXZl bnQgKmh3YyA9ICZldmVudC0+aHc7DQorDQorCS8qIGRpc2FibGUgYW5kIHN0b3AgY291bnRlciAq Lw0KKwlyZWdfd3JpdGVsKDAsIGh3Yy0+ZXZlbnRfYmFzZSArIENDUEkyX1BFUkZfQ1RMKTsNCisJ cmVnX3dyaXRlbCgwLCBod2MtPmNvbmZpZ19iYXNlKTsNCit9DQorDQogc3RhdGljIHZvaWQgdHgy X3VuY29yZV9ldmVudF91cGRhdGUoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50KQ0KIHsNCiAJczY0 IHByZXYsIGRlbHRhLCBuZXcgPSAwOw0KQEAgLTMyMywxMiArNDI2LDIwIEBAIHN0YXRpYyB2b2lk IHR4Ml91bmNvcmVfZXZlbnRfdXBkYXRlKHN0cnVjdCBwZXJmX2V2ZW50ICpldmVudCkNCiAJdHgy X3BtdSA9IHBtdV90b190eDJfcG11KGV2ZW50LT5wbXUpOw0KIAl0eXBlID0gdHgyX3BtdS0+dHlw ZTsNCiAJcHJvcmF0ZV9mYWN0b3IgPSB0eDJfcG11LT5wcm9yYXRlX2ZhY3RvcjsNCi0NCi0JbmV3 ID0gcmVnX3JlYWRsKGh3Yy0+ZXZlbnRfYmFzZSk7DQotCXByZXYgPSBsb2NhbDY0X3hjaGcoJmh3 Yy0+cHJldl9jb3VudCwgbmV3KTsNCi0NCi0JLyogaGFuZGxlcyByb2xsb3ZlciBvZiAzMiBiaXQg Y291bnRlciAqLw0KLQlkZWx0YSA9ICh1MzIpKCgoMVVMIDw8IDMyKSAtIHByZXYpICsgbmV3KTsN CisJaWYgKHR5cGUgPT0gUE1VX1RZUEVfQ0NQSTIpIHsNCisJCXJlZ193cml0ZWwoQ0NQSTJfQ09V TlRFUl9PRkZTRVQgKyBHRVRfQ09VTlRFUklEX0NDUEkyKGV2ZW50KSwNCisJCQkJCWh3Yy0+ZXZl bnRfYmFzZSArIENDUEkyX0NPVU5URVJfU0VMKTsNCisJCW5ldyA9IHJlZ19yZWFkbChod2MtPmV2 ZW50X2Jhc2UgKyBDQ1BJMl9DT1VOVEVSX0RBVEFfTCk7DQorCQluZXcgfD0gKHU2NClyZWdfcmVh ZGwoaHdjLT5ldmVudF9iYXNlICsNCisJCQkJQ0NQSTJfQ09VTlRFUl9EQVRBX0gpIDw8IDMyOw0K KwkJcHJldiA9IGxvY2FsNjRfeGNoZygmaHdjLT5wcmV2X2NvdW50LCBuZXcpOw0KKwkJZGVsdGEg PSBuZXcgLSBwcmV2Ow0KKwl9IGVsc2Ugew0KKwkJbmV3ID0gcmVnX3JlYWRsKGh3Yy0+ZXZlbnRf YmFzZSk7DQorCQlwcmV2ID0gbG9jYWw2NF94Y2hnKCZod2MtPnByZXZfY291bnQsIG5ldyk7DQor CQkvKiBoYW5kbGVzIHJvbGxvdmVyIG9mIDMyIGJpdCBjb3VudGVyICovDQorCQlkZWx0YSA9ICh1 MzIpKCgoMVVMIDw8IDMyKSAtIHByZXYpICsgbmV3KTsNCisJfQ0KIA0KIAkvKiBETUMgZXZlbnQg ZGF0YV90cmFuc2ZlcnMgZ3JhbnVsYXJpdHkgaXMgMTYgQnl0ZXMsIGNvbnZlcnQgaXQgdG8gNjQg Ki8NCiAJaWYgKHR5cGUgPT0gUE1VX1RZUEVfRE1DICYmDQpAQCAtMzUxLDYgKzQ2Miw3IEBAIHN0 YXRpYyBlbnVtIHR4Ml91bmNvcmVfdHlwZSBnZXRfdHgyX3BtdV90eXBlKHN0cnVjdCBhY3BpX2Rl dmljZSAqYWRldikNCiAJfSBkZXZpY2VzW10gPSB7DQogCQl7IkNBVjkwMUQiLCBQTVVfVFlQRV9M M0N9LA0KIAkJeyJDQVY5MDFGIiwgUE1VX1RZUEVfRE1DfSwNCisJCXsiQ0FWOTAxRSIsIFBNVV9U WVBFX0NDUEkyfSwNCiAJCXsiIiwgUE1VX1RZUEVfSU5WQUxJRH0NCiAJfTsNCiANCkBAIC0zODAs NyArNDkyLDggQEAgc3RhdGljIGJvb2wgdHgyX3VuY29yZV92YWxpZGF0ZV9ldmVudChzdHJ1Y3Qg cG11ICpwbXUsDQogICogTWFrZSBzdXJlIHRoZSBncm91cCBvZiBldmVudHMgY2FuIGJlIHNjaGVk dWxlZCBhdCBvbmNlDQogICogb24gdGhlIFBNVS4NCiAgKi8NCi1zdGF0aWMgYm9vbCB0eDJfdW5j b3JlX3ZhbGlkYXRlX2V2ZW50X2dyb3VwKHN0cnVjdCBwZXJmX2V2ZW50ICpldmVudCkNCitzdGF0 aWMgYm9vbCB0eDJfdW5jb3JlX3ZhbGlkYXRlX2V2ZW50X2dyb3VwKHN0cnVjdCBwZXJmX2V2ZW50 ICpldmVudCwNCisJCWludCBtYXhfY291bnRlcnMpDQogew0KIAlzdHJ1Y3QgcGVyZl9ldmVudCAq c2libGluZywgKmxlYWRlciA9IGV2ZW50LT5ncm91cF9sZWFkZXI7DQogCWludCBjb3VudGVycyA9 IDA7DQpAQCAtNDAzLDcgKzUxNiw3IEBAIHN0YXRpYyBib29sIHR4Ml91bmNvcmVfdmFsaWRhdGVf ZXZlbnRfZ3JvdXAoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50KQ0KIAkgKiBJZiB0aGUgZ3JvdXAg cmVxdWlyZXMgbW9yZSBjb3VudGVycyB0aGFuIHRoZSBIVyBoYXMsDQogCSAqIGl0IGNhbm5vdCBl dmVyIGJlIHNjaGVkdWxlZC4NCiAJICovDQotCXJldHVybiBjb3VudGVycyA8PSBUWDJfUE1VX01B WF9DT1VOVEVSUzsNCisJcmV0dXJuIGNvdW50ZXJzIDw9IG1heF9jb3VudGVyczsNCiB9DQogDQog DQpAQCAtNDM5LDcgKzU1Miw3IEBAIHN0YXRpYyBpbnQgdHgyX3VuY29yZV9ldmVudF9pbml0KHN0 cnVjdCBwZXJmX2V2ZW50ICpldmVudCkNCiAJaHdjLT5jb25maWcgPSBldmVudC0+YXR0ci5jb25m aWc7DQogDQogCS8qIFZhbGlkYXRlIHRoZSBncm91cCAqLw0KLQlpZiAoIXR4Ml91bmNvcmVfdmFs aWRhdGVfZXZlbnRfZ3JvdXAoZXZlbnQpKQ0KKwlpZiAoIXR4Ml91bmNvcmVfdmFsaWRhdGVfZXZl bnRfZ3JvdXAoZXZlbnQsIHR4Ml9wbXUtPm1heF9jb3VudGVycykpDQogCQlyZXR1cm4gLUVJTlZB TDsNCiANCiAJcmV0dXJuIDA7DQpAQCAtNDU3LDcgKzU3MCw4IEBAIHN0YXRpYyB2b2lkIHR4Ml91 bmNvcmVfZXZlbnRfc3RhcnQoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50LCBpbnQgZmxhZ3MpDQog CXBlcmZfZXZlbnRfdXBkYXRlX3VzZXJwYWdlKGV2ZW50KTsNCiANCiAJLyogU3RhcnQgdGltZXIg Zm9yIGZpcnN0IGV2ZW50ICovDQotCWlmIChiaXRtYXBfd2VpZ2h0KHR4Ml9wbXUtPmFjdGl2ZV9j b3VudGVycywNCisJaWYgKHR4Ml9wbXUtPnR5cGUgIT0gUE1VX1RZUEVfQ0NQSTIgJiYNCisJCQli aXRtYXBfd2VpZ2h0KHR4Ml9wbXUtPmFjdGl2ZV9jb3VudGVycywNCiAJCQkJdHgyX3BtdS0+bWF4 X2NvdW50ZXJzKSA9PSAxKSB7DQogCQlocnRpbWVyX3N0YXJ0KCZ0eDJfcG11LT5ocnRpbWVyLA0K IAkJCW5zX3RvX2t0aW1lKHR4Ml9wbXUtPmhydGltZXJfaW50ZXJ2YWwpLA0KQEAgLTQ5NSw3ICs2 MDksOCBAQCBzdGF0aWMgaW50IHR4Ml91bmNvcmVfZXZlbnRfYWRkKHN0cnVjdCBwZXJmX2V2ZW50 ICpldmVudCwgaW50IGZsYWdzKQ0KIAlpZiAoaHdjLT5pZHggPCAwKQ0KIAkJcmV0dXJuIC1FQUdB SU47DQogDQotCXR4Ml9wbXUtPmV2ZW50c1tod2MtPmlkeF0gPSBldmVudDsNCisJaWYgKHR4Ml9w bXUtPnR5cGUgIT0gUE1VX1RZUEVfQ0NQSTIpDQorCQl0eDJfcG11LT5ldmVudHNbaHdjLT5pZHhd ID0gZXZlbnQ7DQogCS8qIHNldCBjb3VudGVyIGNvbnRyb2wgYW5kIGRhdGEgcmVnaXN0ZXJzIGJh c2UgYWRkcmVzcyAqLw0KIAl0eDJfcG11LT5pbml0X2NudHJfYmFzZShldmVudCwgdHgyX3BtdSk7 DQogDQpAQCAtNTE0LDEwICs2MjksMTQgQEAgc3RhdGljIHZvaWQgdHgyX3VuY29yZV9ldmVudF9k ZWwoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50LCBpbnQgZmxhZ3MpDQogCXR4Ml91bmNvcmVfZXZl bnRfc3RvcChldmVudCwgUEVSRl9FRl9VUERBVEUpOw0KIA0KIAkvKiBjbGVhciB0aGUgYXNzaWdu ZWQgY291bnRlciAqLw0KLQlmcmVlX2NvdW50ZXIodHgyX3BtdSwgR0VUX0NPVU5URVJJRChldmVu dCkpOw0KKwlpZiAodHgyX3BtdS0+dHlwZSA9PSBQTVVfVFlQRV9DQ1BJMikNCisJCWZyZWVfY291 bnRlcih0eDJfcG11LCBHRVRfQ09VTlRFUklEX0NDUEkyKGV2ZW50KSk7DQorCWVsc2UNCisJCWZy ZWVfY291bnRlcih0eDJfcG11LCBHRVRfQ09VTlRFUklEKGV2ZW50KSk7DQogDQogCXBlcmZfZXZl bnRfdXBkYXRlX3VzZXJwYWdlKGV2ZW50KTsNCi0JdHgyX3BtdS0+ZXZlbnRzW2h3Yy0+aWR4XSA9 IE5VTEw7DQorCWlmICh0eDJfcG11LT50eXBlICE9IFBNVV9UWVBFX0NDUEkyKQ0KKwkJdHgyX3Bt dS0+ZXZlbnRzW2h3Yy0+aWR4XSA9IE5VTEw7DQogCWh3Yy0+aWR4ID0gLTE7DQogfQ0KIA0KQEAg LTU4MCw4ICs2OTksMTIgQEAgc3RhdGljIGludCB0eDJfdW5jb3JlX3BtdV9hZGRfZGV2KHN0cnVj dCB0eDJfdW5jb3JlX3BtdSAqdHgyX3BtdSkNCiAJCQljcHVfb25saW5lX21hc2spOw0KIA0KIAl0 eDJfcG11LT5jcHUgPSBjcHU7DQotCWhydGltZXJfaW5pdCgmdHgyX3BtdS0+aHJ0aW1lciwgQ0xP Q0tfTU9OT1RPTklDLCBIUlRJTUVSX01PREVfUkVMKTsNCi0JdHgyX3BtdS0+aHJ0aW1lci5mdW5j dGlvbiA9IHR4Ml9ocnRpbWVyX2NhbGxiYWNrOw0KKwkvKiBDQ1BJMiBjb3VudGVycyBhcmUgNjQg Yml0IGNvdW50ZXJzLiAqLw0KKwlpZiAodHgyX3BtdS0+dHlwZSAhPSBQTVVfVFlQRV9DQ1BJMikg ew0KKwkJaHJ0aW1lcl9pbml0KCZ0eDJfcG11LT5ocnRpbWVyLA0KKwkJCQlDTE9DS19NT05PVE9O SUMsIEhSVElNRVJfTU9ERV9SRUwpOw0KKwkJdHgyX3BtdS0+aHJ0aW1lci5mdW5jdGlvbiA9IHR4 Ml9ocnRpbWVyX2NhbGxiYWNrOw0KKwl9DQogDQogCXJldCA9IHR4Ml91bmNvcmVfcG11X3JlZ2lz dGVyKHR4Ml9wbXUpOw0KIAlpZiAocmV0KSB7DQpAQCAtNjUzLDcgKzc3Niw3IEBAIHN0YXRpYyBz dHJ1Y3QgdHgyX3VuY29yZV9wbXUgKnR4Ml91bmNvcmVfcG11X2luaXRfZGV2KHN0cnVjdCBkZXZp Y2UgKmRldiwNCiANCiAJc3dpdGNoICh0eDJfcG11LT50eXBlKSB7DQogCWNhc2UgUE1VX1RZUEVf TDNDOg0KLQkJdHgyX3BtdS0+bWF4X2NvdW50ZXJzID0gVFgyX1BNVV9NQVhfQ09VTlRFUlM7DQor CQl0eDJfcG11LT5tYXhfY291bnRlcnMgPSBUWDJfUE1VX0RNQ19MM0NfTUFYX0NPVU5URVJTOw0K IAkJdHgyX3BtdS0+cHJvcmF0ZV9mYWN0b3IgPSBUWDJfUE1VX0wzX1RJTEVTOw0KIAkJdHgyX3Bt dS0+bWF4X2V2ZW50cyA9IEwzX0VWRU5UX01BWDsNCiAJCXR4Ml9wbXUtPmhydGltZXJfaW50ZXJ2 YWwgPSBUWDJfUE1VX0hSVElNRVJfSU5URVJWQUw7DQpAQCAtNjY1LDcgKzc4OCw3IEBAIHN0YXRp YyBzdHJ1Y3QgdHgyX3VuY29yZV9wbXUgKnR4Ml91bmNvcmVfcG11X2luaXRfZGV2KHN0cnVjdCBk ZXZpY2UgKmRldiwNCiAJCXR4Ml9wbXUtPnN0b3BfZXZlbnQgPSB1bmNvcmVfc3RvcF9ldmVudF9s M2M7DQogCQlicmVhazsNCiAJY2FzZSBQTVVfVFlQRV9ETUM6DQotCQl0eDJfcG11LT5tYXhfY291 bnRlcnMgPSBUWDJfUE1VX01BWF9DT1VOVEVSUzsNCisJCXR4Ml9wbXUtPm1heF9jb3VudGVycyA9 IFRYMl9QTVVfRE1DX0wzQ19NQVhfQ09VTlRFUlM7DQogCQl0eDJfcG11LT5wcm9yYXRlX2ZhY3Rv ciA9IFRYMl9QTVVfRE1DX0NIQU5ORUxTOw0KIAkJdHgyX3BtdS0+bWF4X2V2ZW50cyA9IERNQ19F VkVOVF9NQVg7DQogCQl0eDJfcG11LT5ocnRpbWVyX2ludGVydmFsID0gVFgyX1BNVV9IUlRJTUVS X0lOVEVSVkFMOw0KQEAgLTY3Niw2ICs3OTksMTcgQEAgc3RhdGljIHN0cnVjdCB0eDJfdW5jb3Jl X3BtdSAqdHgyX3VuY29yZV9wbXVfaW5pdF9kZXYoc3RydWN0IGRldmljZSAqZGV2LA0KIAkJdHgy X3BtdS0+c3RhcnRfZXZlbnQgPSB1bmNvcmVfc3RhcnRfZXZlbnRfZG1jOw0KIAkJdHgyX3BtdS0+ c3RvcF9ldmVudCA9IHVuY29yZV9zdG9wX2V2ZW50X2RtYzsNCiAJCWJyZWFrOw0KKwljYXNlIFBN VV9UWVBFX0NDUEkyOg0KKwkJdHgyX3BtdS0+bWF4X2NvdW50ZXJzID0gVFgyX1BNVV9DQ1BJMl9N QVhfQ09VTlRFUlM7DQorCQl0eDJfcG11LT5wcm9yYXRlX2ZhY3RvciA9IDE7DQorCQl0eDJfcG11 LT5tYXhfZXZlbnRzID0gQ0NQSTJfRVZFTlRfTUFYOw0KKwkJdHgyX3BtdS0+YXR0cl9ncm91cHMg PSBjY3BpMl9wbXVfYXR0cl9ncm91cHM7DQorCQl0eDJfcG11LT5uYW1lID0gZGV2bV9rYXNwcmlu dGYoZGV2LCBHRlBfS0VSTkVMLA0KKwkJCQkidW5jb3JlX2NjcGkyXyVkIiwgdHgyX3BtdS0+bm9k ZSk7DQorCQl0eDJfcG11LT5pbml0X2NudHJfYmFzZSA9IGluaXRfY250cl9iYXNlX2NjcGkyOw0K KwkJdHgyX3BtdS0+c3RhcnRfZXZlbnQgPSB1bmNvcmVfc3RhcnRfZXZlbnRfY2NwaTI7DQorCQl0 eDJfcG11LT5zdG9wX2V2ZW50ID0gdW5jb3JlX3N0b3BfZXZlbnRfY2NwaTI7DQorCQlicmVhazsN CiAJY2FzZSBQTVVfVFlQRV9JTlZBTElEOg0KIAkJZGV2bV9rZnJlZShkZXYsIHR4Ml9wbXUpOw0K IAkJcmV0dXJuIE5VTEw7DQpAQCAtNzQ0LDcgKzg3OCw4IEBAIHN0YXRpYyBpbnQgdHgyX3VuY29y ZV9wbXVfb2ZmbGluZV9jcHUodW5zaWduZWQgaW50IGNwdSwNCiAJaWYgKGNwdSAhPSB0eDJfcG11 LT5jcHUpDQogCQlyZXR1cm4gMDsNCiANCi0JaHJ0aW1lcl9jYW5jZWwoJnR4Ml9wbXUtPmhydGlt ZXIpOw0KKwlpZiAodHgyX3BtdS0+dHlwZSAhPSBQTVVfVFlQRV9DQ1BJMikNCisJCWhydGltZXJf Y2FuY2VsKCZ0eDJfcG11LT5ocnRpbWVyKTsNCiAJY3B1bWFza19jb3B5KCZjcHVfb25saW5lX21h c2tfdGVtcCwgY3B1X29ubGluZV9tYXNrKTsNCiAJY3B1bWFza19jbGVhcl9jcHUoY3B1LCAmY3B1 X29ubGluZV9tYXNrX3RlbXApOw0KIAluZXdfY3B1ID0gY3B1bWFza19hbnlfYW5kKA0KLS0gDQoy LjE3LjENCg0K