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=-10.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT 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 4C82CC433E0 for ; Thu, 25 Jun 2020 10:01:52 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id F059320702 for ; Thu, 25 Jun 2020 10:01:51 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="tYxgJSN3" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F059320702 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To:From: Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender :Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=ox4Quhbx+qhkR4lv8FhvsiXAtF/ceRI6zaOLtKB2ADk=; b=tYxgJSN38z87MgUCTgjy20Ttvf pcb2T+Yn62vtgabMM47O34Qa4Jv0Nxyl+e8ATuUw2wpNc5dWxNbB07o+2M3rh/lrZ9YnRWb7ATLW4 s2yTUidiqn/gnPFTG+X0UHl2e3FXgY3oRmw1+x4VEiZkkoFgX8EC4WTmVKCpo7L63CUtDJkCSWXgh cVGDoGxcszcBs60fOy5CtIeLgp9ufZreHMRt4XljE1ecOIM31M0fmr/hOoTe1zwd51PRXvGv3irsy hhlhT7P7ZeO9NP5G4YSCWuIP1AT2Z+a/7q0VztGWQ5G649jCFiIC5cLZBHGsk/o7z/ieEEDI/r2OE hW2Mm+cg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1joOfg-0001WF-Mr; Thu, 25 Jun 2020 09:59:52 +0000 Received: from foss.arm.com ([217.140.110.172]) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1joOfe-0001VD-33 for linux-arm-kernel@lists.infradead.org; Thu, 25 Jun 2020 09:59:51 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id F0E9D1F1; Thu, 25 Jun 2020 02:59:47 -0700 (PDT) Received: from usa.arm.com (e103737-lin.cambridge.arm.com [10.1.197.49]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id A0A9D3F73C; Thu, 25 Jun 2020 02:59:46 -0700 (PDT) From: Sudeep Holla To: linux-arm-kernel@lists.infradead.org, Arnd Bergmann Subject: [PATCH v3] firmware: smccc: Add ARCH_SOC_ID support Date: Thu, 25 Jun 2020 10:59:39 +0100 Message-Id: <20200625095939.50861-1-sudeep.holla@arm.com> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , Francois Ozog , Lorenzo Pieralisi , Etienne Carriere , Jose Marinho , linux-kernel@vger.kernel.org, harb@amperecomputing.com, Sudeep Holla Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org U01DQ0MgdjEuMiBhZGRzIGEgbmV3IG9wdGlvbmFsIGZ1bmN0aW9uIFNNQ0NDX0FSQ0hfU09DX0lE IHRvIG9idGFpbiBhClNpUCBkZWZpbmVkIFNvQyBpZGVudGlmaWNhdGlvbiB2YWx1ZS4gQWRkIHN1 cHBvcnQgZm9yIHRoZSBzYW1lLgoKQWxzbyB1c2luZyB0aGUgU29DIGJ1cyBpbmZyYXN0cnVjdHVy ZSwgbGV0IHVzIGV4cG9zZSB0aGUgcGxhdGZvcm0Kc3BlY2lmaWMgU29DIGF0cnJpYnV0ZXMgdW5k ZXIgc3lzZnMuCgpUaGVyZSBhcmUgdmFyaW91cyB3YXlzIGluIHdoaWNoIGl0IGNhbiBiZSByZXBy ZXNlbnRlZCBpbiBzaG9ydGVuZWQgZm9ybQpmb3IgZWZmaWNpZW5jeSBhbmQgZWFzZSBvZiBwYXJz aW5nIGZvciB1c2Vyc3BhY2UuIFRoZSBjaG9zZW4gZm9ybSBpcwpkZXNjcmliZWQgaW4gdGhlIEFC SSBkb2N1bWVudC4KCkNjOiBFdGllbm5lIENhcnJpZXJlIDxldGllbm5lLmNhcnJpZXJlQHN0LmNv bT4KUmV2aWV3ZWQtYnk6IFN0ZXZlbiBQcmljZSA8c3RldmVuLnByaWNlQGFybS5jb20+ClNpZ25l ZC1vZmYtYnk6IFN1ZGVlcCBIb2xsYSA8c3VkZWVwLmhvbGxhQGFybS5jb20+Ci0tLQogRG9jdW1l bnRhdGlvbi9BQkkvdGVzdGluZy9zeXNmcy1kZXZpY2VzLXNvYyB8ICAzMCArKysrKysKIGRyaXZl cnMvZmlybXdhcmUvc21jY2MvS2NvbmZpZyAgICAgICAgICAgICAgfCAgIDkgKysKIGRyaXZlcnMv ZmlybXdhcmUvc21jY2MvTWFrZWZpbGUgICAgICAgICAgICAgfCAgIDEgKwogZHJpdmVycy9maXJt d2FyZS9zbWNjYy9zb2NfaWQuYyAgICAgICAgICAgICB8IDExNCArKysrKysrKysrKysrKysrKysr KwogaW5jbHVkZS9saW51eC9hcm0tc21jY2MuaCAgICAgICAgICAgICAgICAgICB8ICAgNSArCiA1 IGZpbGVzIGNoYW5nZWQsIDE1OSBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJp dmVycy9maXJtd2FyZS9zbWNjYy9zb2NfaWQuYwoKCkNoYW5nZXMgZnJvbSB2MlsyXSAtPiB2MzoK CS0gQWRkcmVzc2VkIGNvbW1lbnRzIGZyb20gU3RldmVuIFByaWNlIGFuZCBhZGRlZCBoaXMgUmV2 aWV3ZWQtYnkKCkNoYW5nZXMgZnJvbSB2MVsxXSAtPiB2MlsyXToKCS0gRHJvcHBlZCBuZXcgamVw MTA2X2lkIGFkZGVkIHRvIFNvQyBpbmZyYXN0cnVjdHVyZQoJLSBEcm9wcGVkIGFsbCB0aGUgdGFn cyhhY2tzL3Jldmlld3MpIGFzIHRoZXJlIGlzIGNoYW5nZSBpbiB0aGUgZm9ybWF0CgktIFVwZGF0 ZWQgdGhlIGZvcm1hdCBmb3IgU29DIGlkIHRvIGVuc3VyZSB0aGVyZSB3aWxsIGJlIG5vCgkgIGNv bmZsaWN0IGluIHRoZSBuYW1lc3BhY2UKClsxXSBodHRwczovL2xvcmUua2VybmVsLm9yZy9sa21s LzIwMjAwNTIyMTI0OTUxLjM1Nzc2LTEtc3VkZWVwLmhvbGxhQGFybS5jb20vCgpkaWZmIC0tZ2l0 IGEvRG9jdW1lbnRhdGlvbi9BQkkvdGVzdGluZy9zeXNmcy1kZXZpY2VzLXNvYyBiL0RvY3VtZW50 YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtZGV2aWNlcy1zb2MKaW5kZXggYmEzYTNmYWMwZWUxLi5l YTk5OWUyOTJmMTEgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMt ZGV2aWNlcy1zb2MKKysrIGIvRG9jdW1lbnRhdGlvbi9BQkkvdGVzdGluZy9zeXNmcy1kZXZpY2Vz LXNvYwpAQCAtMjYsNiArMjYsMzAgQEAgY29udGFjdDoJTGVlIEpvbmVzIDxsZWUuam9uZXNAbGlu YXJvLm9yZz4KIAkJUmVhZC1vbmx5IGF0dHJpYnV0ZSBjb21tb24gdG8gYWxsIFNvQ3MuIENvbnRh aW5zIFNvQyBmYW1pbHkgbmFtZQogCQkoZS5nLiBEQjg1MDApLgoKKwkJT24gbWFueSBvZiBBUk0g YmFzZWQgc2lsaWNvbiB3aXRoIFNNQ0NDIHYxLjIrIGNvbXBsaWFudCBmaXJtd2FyZQorCQl0aGlz IHdpbGwgY29udGFpbiB0aGUgSkVERUMgSkVQMTA2IG1hbnVmYWN0dXJlcuKAmXMgaWRlbnRpZmlj YXRpb24KKwkJY29kZS4gVGhlIGZvcm1hdCBpcyAiamVwMTA2OlhYWVkiIHdoZXJlIFhYIGlzIGlk ZW50aXR5IGNvZGUgYW5kCisJCVlZIGlzIGNvbnRpbnVhdGlvbiBjb2RlLgorCisJCVRoaXMgbWFu dWZhY3R1cmVy4oCZcyBpZGVudGlmaWNhdGlvbiBjb2RlIGlzIGRlZmluZWQgYnkgb25lCisJCW9y IG1vcmUgZWlnaHQgKDgpIGJpdCBmaWVsZHMsIGVhY2ggY29uc2lzdGluZyBvZiBzZXZlbiAoNykK KwkJZGF0YSBiaXRzIHBsdXMgb25lICgxKSBvZGQgcGFyaXR5IGJpdC4gSXQgaXMgYSBzaW5nbGUg ZmllbGQsCisJCWxpbWl0aW5nIHRoZSBwb3NzaWJsZSBudW1iZXIgb2YgdmVuZG9ycyB0byAxMjYu IFRvIGV4cGFuZAorCQl0aGUgbWF4aW11bSBudW1iZXIgb2YgaWRlbnRpZmljYXRpb24gY29kZXMs IGEgY29udGludWF0aW9uCisJCXNjaGVtZSBoYXMgYmVlbiBkZWZpbmVkLgorCisJCVRoZSBzcGVj aWZpZWQgbWVjaGFuaXNtIGlzIHRoYXQgYW4gaWRlbnRpdHkgY29kZSBvZiAweDdGCisJCXJlcHJl c2VudHMgdGhlICJjb250aW51YXRpb24gY29kZSIgYW5kIGltcGxpZXMgdGhlIHByZXNlbmNlCisJ CW9mIGFuIGFkZGl0aW9uYWwgaWRlbnRpdHkgY29kZSBmaWVsZCwgYW5kIHRoaXMgbWVjaGFuaXNt CisJCW1heSBiZSBleHRlbmRlZCB0byBtdWx0aXBsZSBjb250aW51YXRpb24gY29kZXMgZm9sbG93 ZWQKKwkJYnkgdGhlIG1hbnVmYWN0dXJlcidzIGlkZW50aXR5IGNvZGUuCisKKwkJRm9yIGV4YW1w bGUsIEFSTSBoYXMgaWRlbnRpdHkgY29kZSAweDdGIDB4N0YgMHg3RiAweDdGIDB4M0IsCisJCXdo aWNoIGlzIGNvZGUgMHgzQiBvbiB0aGUgZmlmdGggJ3BhZ2UnLiBUaGlzIGlzIHNob3J0ZW5lZAor CQlhcyBKRVAxMDYgaWRlbnRpdHkgY29kZSBvZiAweDNCIGFuZCBhIGNvbnRpbnVhdGlvbiBjb2Rl IG9mCisJCTB4NCB0byByZXByZXNlbnQgdGhlIGZvdXIgY29udGludWF0aW9uIGNvZGVzIHByZWNl ZGluZyB0aGUKKwkJaWRlbnRpdHkgY29kZS4KKwogV2hhdDoJCS9zeXMvZGV2aWNlcy9zb2NYL3Nl cmlhbF9udW1iZXIKIERhdGU6CQlKYW51YXJ5IDIwMTkKIGNvbnRhY3Q6CUJqb3JuIEFuZGVyc3Nv biA8Ympvcm4uYW5kZXJzc29uQGxpbmFyby5vcmc+CkBAIC00MCw2ICs2NCwxMiBAQCBjb250YWN0 OglMZWUgSm9uZXMgPGxlZS5qb25lc0BsaW5hcm8ub3JnPgogCQlSZWFkLW9ubHkgYXR0cmlidXRl IHN1cHBvcnRlZCBieSBtb3N0IFNvQ3MuIEluIHRoZSBjYXNlIG9mCiAJCVNULUVyaWNzc29uJ3Mg Y2hpcHMgdGhpcyBjb250YWlucyB0aGUgU29DIHNlcmlhbCBudW1iZXIuCgorCQlPbiBtYW55IG9m IEFSTSBiYXNlZCBzaWxpY29uIHdpdGggU01DQ0MgdjEuMisgY29tcGxpYW50IGZpcm13YXJlCisJ CXRoaXMgd2lsbCBjb250YWluIHRoZSBTT0MgSUQgYXBwZW5kZWQgdG8gdGhlIGZhbWlseSBhdHRy aWJ1dGUKKwkJdG8gZW5zdXJlIHRoZXJlIGlzIG5vIGNvbmZsaWN0IGluIHRoaXMgbmFtZXNwYWNl IGFjcm9zcyB2YXJpb3VzCisJCXZlbmRvcnMuIFRoZSBmb3JtYXQgaXMgImplcDEwNjpYWFlZOlpa WloiIHdoZXJlIFhYIGlzIGlkZW50aXR5CisJCWNvZGUsIFlZIGlzIGNvbnRpbnVhdGlvbiBjb2Rl IGFuZCBaWlpaIGlzIHRoZSBTT0MgSUQuCisKIFdoYXQ6CQkvc3lzL2RldmljZXMvc29jWC9yZXZp c2lvbgogRGF0ZToJCUphbnVhcnkgMjAxMgogY29udGFjdDoJTGVlIEpvbmVzIDxsZWUuam9uZXNA bGluYXJvLm9yZz4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZmlybXdhcmUvc21jY2MvS2NvbmZpZyBi L2RyaXZlcnMvZmlybXdhcmUvc21jY2MvS2NvbmZpZwppbmRleCAyN2I2NzVkNzYyMzUuLjE1ZTc0 NjYxNzlhNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9maXJtd2FyZS9zbWNjYy9LY29uZmlnCisrKyBi L2RyaXZlcnMvZmlybXdhcmUvc21jY2MvS2NvbmZpZwpAQCAtMTQsMyArMTQsMTIgQEAgY29uZmln IEhBVkVfQVJNX1NNQ0NDX0RJU0NPVkVSWQogCSB0byBhZGQgU01DQ0MgZGlzY292ZXJ5IG1lY2hh bmlzbSB0aG91Z2ggdGhlIFBTQ0kgZmlybXdhcmUKIAkgaW1wbGVtZW50YXRpb24gb2YgUFNDSV9G RUFUVVJFUyhTTUNDQ19WRVJTSU9OKSB3aGljaCByZXR1cm5zCiAJIHN1Y2Nlc3Mgb24gZmlybXdh cmUgY29tcGxpYW50IHRvIFNNQ0NDIHYxLjEgYW5kIGFib3ZlLgorCitjb25maWcgQVJNX1NNQ0ND X1NPQ19JRAorCWJvb2wgIlNvQyBidXMgZGV2aWNlIGZvciB0aGUgQVJNIFNNQ0NDIFNPQ19JRCIK KwlkZXBlbmRzIG9uIEhBVkVfQVJNX1NNQ0NDX0RJU0NPVkVSWQorCWRlZmF1bHQgeQorCXNlbGVj dCBTT0NfQlVTCisJaGVscAorCSAgSW5jbHVkZSBzdXBwb3J0IGZvciB0aGUgU29DIGJ1cyBvbiB0 aGUgQVJNIFNNQ0NDIGZpcm13YXJlIGJhc2VkCisJICBwbGF0Zm9ybXMgcHJvdmlkaW5nIHNvbWUg c3lzZnMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIFNvQyB2YXJpYW50LgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9maXJtd2FyZS9zbWNjYy9NYWtlZmlsZSBiL2RyaXZlcnMvZmlybXdhcmUvc21jY2MvTWFr ZWZpbGUKaW5kZXggNmYzNjlmZTNmMGI5Li43MmFiODQwNDI4MzIgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZmlybXdhcmUvc21jY2MvTWFrZWZpbGUKKysrIGIvZHJpdmVycy9maXJtd2FyZS9zbWNjYy9N YWtlZmlsZQpAQCAtMSwzICsxLDQgQEAKICMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0y LjAKICMKIG9iai0kKENPTkZJR19IQVZFX0FSTV9TTUNDQ19ESVNDT1ZFUlkpCSs9IHNtY2NjLm8K K29iai0kKENPTkZJR19BUk1fU01DQ0NfU09DX0lEKQkrPSBzb2NfaWQubwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9maXJtd2FyZS9zbWNjYy9zb2NfaWQuYyBiL2RyaXZlcnMvZmlybXdhcmUvc21jY2Mv c29jX2lkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi41ODFhYTVl OWIwNzcKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2Zpcm13YXJlL3NtY2NjL3NvY19pZC5j CkBAIC0wLDAgKzEsMTE0IEBACisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAor LyoKKyAqIENvcHlyaWdodCAyMDIwIEFybSBMaW1pdGVkCisgKi8KKworI2RlZmluZSBwcl9mbXQo Zm10KSAiU01DQ0M6IFNPQ19JRDogIiBmbXQKKworI2luY2x1ZGUgPGxpbnV4L2FybS1zbWNjYy5o PgorI2luY2x1ZGUgPGxpbnV4L2JpdGZpZWxkLmg+CisjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+ CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+Cisj aW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3N5c19zb2MuaD4KKworI2Rl ZmluZSBTTUNDQ19TT0NfSURfSkVQMTA2X0JBTktfSURYX01BU0sJR0VOTUFTSygzMCwgMjQpCisv KgorICogQXMgcGVyIHRoZSBTTUMgQ2FsbGluZyBDb252ZW50aW9uIHNwZWNpZmljYXRpb24gdjEu MiAoQVJNIERFTiAwMDI4QykKKyAqIFNlY3Rpb24gNy40IFNNQ0NDX0FSQ0hfU09DX0lEIGJpdHNb MjM6MTZdIGFyZSBKRVAtMTA2IGlkZW50aWZpY2F0aW9uCisgKiBjb2RlIHdpdGggcGFyaXR5IGJp dCBmb3IgdGhlIFNpUC4gV2UgY2FuIGRyb3AgdGhlIHBhcml0eSBiaXQuCisgKi8KKyNkZWZpbmUg U01DQ0NfU09DX0lEX0pFUDEwNl9JRF9DT0RFX01BU0sJR0VOTUFTSygyMiwgMTYpCisjZGVmaW5l IFNNQ0NDX1NPQ19JRF9JTVBfREVGX1NPQ19JRF9NQVNLCUdFTk1BU0soMTUsIDApCisKKyNkZWZp bmUgSkVQMTA2X0JBTktfQ09OVF9DT0RFKHgpCVwKKwkodTgpKEZJRUxEX0dFVChTTUNDQ19TT0Nf SURfSkVQMTA2X0JBTktfSURYX01BU0ssICh4KSkpCisjZGVmaW5lIEpFUDEwNl9JRF9DT0RFKHgp CVwKKwkodTgpKEZJRUxEX0dFVChTTUNDQ19TT0NfSURfSkVQMTA2X0lEX0NPREVfTUFTSywgKHgp KSkKKyNkZWZpbmUgSU1QX0RFRl9TT0NfSUQoeCkJXAorCSh1MTYpKEZJRUxEX0dFVChTTUNDQ19T T0NfSURfSU1QX0RFRl9TT0NfSURfTUFTSywgKHgpKSkKKworc3RhdGljIHN0cnVjdCBzb2NfZGV2 aWNlICpzb2NfZGV2Oworc3RhdGljIHN0cnVjdCBzb2NfZGV2aWNlX2F0dHJpYnV0ZSAqc29jX2Rl dl9hdHRyOworCitzdGF0aWMgaW50IF9faW5pdCBzbWNjY19zb2NfaW5pdCh2b2lkKQoreworCXN0 cnVjdCBhcm1fc21jY2NfcmVzIHJlczsKKwlpbnQgc29jX2lkX3Jldiwgc29jX2lkX3ZlcnNpb247 CisJc3RhdGljIGNoYXIgc29jX2lkX3N0clsyMF0sIHNvY19pZF9yZXZfc3RyWzEyXTsKKwlzdGF0 aWMgY2hhciBzb2NfaWRfamVwMTA2X2lkX3N0clsxMl07CisKKwlpZiAoYXJtX3NtY2NjX2dldF92 ZXJzaW9uKCkgPCBBUk1fU01DQ0NfVkVSU0lPTl8xXzIpCisJCXJldHVybiAwOworCisJaWYgKGFy bV9zbWNjY18xXzFfZ2V0X2NvbmR1aXQoKSA9PSBTTUNDQ19DT05EVUlUX05PTkUpIHsKKwkJcHJf ZXJyKCIlczogaW52YWxpZCBTTUNDQyBjb25kdWl0XG4iLCBfX2Z1bmNfXyk7CisJCXJldHVybiAt RU9QTk9UU1VQUDsKKwl9CisKKwlhcm1fc21jY2NfMV8xX2ludm9rZShBUk1fU01DQ0NfQVJDSF9G RUFUVVJFU19GVU5DX0lELAorCQkJICAgICBBUk1fU01DQ0NfQVJDSF9TT0NfSUQsICZyZXMpOwor CisJaWYgKHJlcy5hMCA9PSBTTUNDQ19SRVRfTk9UX1NVUFBPUlRFRCkgeworCQlwcl9pbmZvKCJB UkNIX1NPQ19JRCBub3QgaW1wbGVtZW50ZWQsIHNraXBwaW5nIC4uLi5cbiIpOworCQlyZXR1cm4g MDsKKwl9CisKKwlpZiAoKGludClyZXMuYTAgPCAwKSB7CisJCXByX2luZm8oIkFSQ0hfRkVBVFVS RVMoQVJDSF9TT0NfSUQpIHJldHVybmVkIGVycm9yOiAlbHhcbiIsCisJCQlyZXMuYTApOworCQly ZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlhcm1fc21jY2NfMV8xX2ludm9rZShBUk1fU01DQ0NfQVJD SF9TT0NfSUQsIDAsICZyZXMpOworCWlmICgoaW50KXJlcy5hMCA8IDApIHsKKwkJcHJfZXJyKCJB UkNIX1NPQ19JRCgwKSByZXR1cm5lZCBlcnJvcjogJWx4XG4iLCByZXMuYTApOworCQlyZXR1cm4g LUVJTlZBTDsKKwl9CisKKwlzb2NfaWRfdmVyc2lvbiA9IHJlcy5hMDsKKworCWFybV9zbWNjY18x XzFfaW52b2tlKEFSTV9TTUNDQ19BUkNIX1NPQ19JRCwgMSwgJnJlcyk7CisJaWYgKChpbnQpcmVz LmEwIDwgMCkgeworCQlwcl9lcnIoIkFSQ0hfU09DX0lEKDEpIHJldHVybmVkIGVycm9yOiAlbHhc biIsIHJlcy5hMCk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCXNvY19pZF9yZXYgPSByZXMu YTA7CisKKwlzb2NfZGV2X2F0dHIgPSBremFsbG9jKHNpemVvZigqc29jX2Rldl9hdHRyKSwgR0ZQ X0tFUk5FTCk7CisJaWYgKCFzb2NfZGV2X2F0dHIpCisJCXJldHVybiAtRU5PTUVNOworCisJc3By aW50Zihzb2NfaWRfcmV2X3N0ciwgIjB4JTA4eCIsIHNvY19pZF9yZXYpOworCXNwcmludGYoc29j X2lkX2plcDEwNl9pZF9zdHIsICJqZXAxMDY6JTAyeCUwMngiLAorCQlKRVAxMDZfQkFOS19DT05U X0NPREUoc29jX2lkX3ZlcnNpb24pLAorCQlKRVAxMDZfSURfQ09ERShzb2NfaWRfdmVyc2lvbikp OworCXNwcmludGYoc29jX2lkX3N0ciwgIiVzOiUwNHgiLCBzb2NfaWRfamVwMTA2X2lkX3N0ciwK KwkJSU1QX0RFRl9TT0NfSUQoc29jX2lkX3ZlcnNpb24pKTsKKworCXNvY19kZXZfYXR0ci0+c29j X2lkID0gc29jX2lkX3N0cjsKKwlzb2NfZGV2X2F0dHItPnJldmlzaW9uID0gc29jX2lkX3Jldl9z dHI7CisJc29jX2Rldl9hdHRyLT5mYW1pbHkgPSBzb2NfaWRfamVwMTA2X2lkX3N0cjsKKworCXNv Y19kZXYgPSBzb2NfZGV2aWNlX3JlZ2lzdGVyKHNvY19kZXZfYXR0cik7CisJaWYgKElTX0VSUihz b2NfZGV2KSkgeworCQlrZnJlZShzb2NfZGV2X2F0dHIpOworCQlyZXR1cm4gUFRSX0VSUihzb2Nf ZGV2KTsKKwl9CisKKwlwcl9pbmZvKCJJRCA9ICVzIFJldmlzaW9uID0gJXNcbiIsIHNvY19kZXZf YXR0ci0+c29jX2lkLAorCQlzb2NfZGV2X2F0dHItPnJldmlzaW9uKTsKKworCXJldHVybiAwOwor fQorbW9kdWxlX2luaXQoc21jY2Nfc29jX2luaXQpOworCitzdGF0aWMgdm9pZCBfX2V4aXQgc21j Y2Nfc29jX2V4aXQodm9pZCkKK3sKKwlpZiAoc29jX2RldikKKwkJc29jX2RldmljZV91bnJlZ2lz dGVyKHNvY19kZXYpOworCWtmcmVlKHNvY19kZXZfYXR0cik7Cit9Cittb2R1bGVfZXhpdChzbWNj Y19zb2NfZXhpdCk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2FybS1zbWNjYy5oIGIvaW5j bHVkZS9saW51eC9hcm0tc21jY2MuaAppbmRleCA1NmQ2YTVjNmUzNTMuLjgyNTRlMTFlYTg1NyAx MDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9hcm0tc21jY2MuaAorKysgYi9pbmNsdWRlL2xpbnV4 L2FybS1zbWNjYy5oCkBAIC03MSw2ICs3MSwxMSBAQAogCQkJICAgQVJNX1NNQ0NDX1NNQ18zMiwJ CQkJXAogCQkJICAgMCwgMSkKCisjZGVmaW5lIEFSTV9TTUNDQ19BUkNIX1NPQ19JRAkJCQkJCVwK KwlBUk1fU01DQ0NfQ0FMTF9WQUwoQVJNX1NNQ0NDX0ZBU1RfQ0FMTCwJCQkJXAorCQkJICAgQVJN X1NNQ0NDX1NNQ18zMiwJCQkJXAorCQkJICAgMCwgMikKKwogI2RlZmluZSBBUk1fU01DQ0NfQVJD SF9XT1JLQVJPVU5EXzEJCQkJCVwKIAlBUk1fU01DQ0NfQ0FMTF9WQUwoQVJNX1NNQ0NDX0ZBU1Rf Q0FMTCwJCQkJXAogCQkJICAgQVJNX1NNQ0NDX1NNQ18zMiwJCQkJXAotLQoyLjE3LjEKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJu ZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRw Oi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK