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=-17.4 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,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 06AAAC433ED for ; Wed, 5 May 2021 09:42:14 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (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 7CC8E61106 for ; Wed, 5 May 2021 09:42:13 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7CC8E61106 Authentication-Results: mail.kernel.org; dmarc=fail (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=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-Id:Date: Subject:Cc:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=WEA+/3opGIitOD51IlwdoZfMvJIC+X/4K9p6xviN/z4=; b=XKlce/thRxY6Kz+8yn8Ip84Kq C0B7TsoZxoqxdIan/VEDeSRmLxnI242Qt4OB8nfyaw0aVP6g3ogrTsKkZ9uSWksA8GcUtogFbYZ7b z1eaomz4tW39/AbpFqQf4x2M1cHKsRLjqoP3Ws66+wdwbnSMVjqJBKJGlmzp52PmCNR7moN10iOMF we1V1DFdTpYj/m+ZRhzdb3fAbCTS0UHW0EtacuM6Zcu6bih9xTKSKGso/3zLGkxi9gQPf64hR6PMP /uEP9ilmzP3cZ3q83sgirVZYT85Betb55wUVO0QRK3oEK9AQ13dz2HxGbpEssZnesse+HCXYJ07Yl 6Bw2hNg5g==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1leE06-000k0Z-OF; Wed, 05 May 2021 09:39:27 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1leDzk-000jyV-Gp for linux-arm-kernel@desiato.infradead.org; Wed, 05 May 2021 09:39:05 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: Content-Type:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc: To:From:Sender:Reply-To:Content-ID:Content-Description; bh=9Lxou4VB97UcZ/5K7rWybGS7dTRrtrnAwsuQbWp41HI=; b=xMO1QJJzcKJ9Mpjtawi6eesg+J EyTnsZS7JA2MGkM6/e7X5z/DJaNUspp6Oi3c85FlU9zALpMjS5fzLAX+pLAdGzWmK18q61ViHlkps aZ32I7refRSdrF5q9Inh2Ay/XGmmbqVijTX0hQJ8ROzWp1WHNzyfAV2DM69ZQw97UVbmXwtPK4xwo 6pnPNwjo97Y0t2p1hkhOJ7W50pRoP6mThORQAzT+YIs45uP0Z1bFHjPQqMGLZfJBo86ciXTb7N2ic KqIw0PDmVBQB2Jd3X8nDkJkn2BmLcV2XNThrrcKLL2XU1pSnKcBuOi6oKsJvXD7CTxVCNQQFeNHHb LqSaaVjg==; Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1leDzh-004cQA-AA for linux-arm-kernel@lists.infradead.org; Wed, 05 May 2021 09:39:03 +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 5BD9E1063; Wed, 5 May 2021 02:38:57 -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 AF1E23F70D; Wed, 5 May 2021 02:38:55 -0700 (PDT) From: Sudeep Holla To: linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org Cc: Sudeep Holla , arve@google.com, Andrew Walbran , David Hartley , Achin Gupta , Jens Wiklander , Arunachalam Ganapathy , Marc Bonnici , Michael Kelley , Will Deacon , Mark Rutland Subject: [PATCH v6 1/6] arm64: smccc: Add support for SMCCCv1.2 extended input/output registers Date: Wed, 5 May 2021 10:38:38 +0100 Message-Id: <20210505093843.3308691-2-sudeep.holla@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210505093843.3308691-1-sudeep.holla@arm.com> References: <20210505093843.3308691-1-sudeep.holla@arm.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210505_023901_470261_9242E04A X-CRM114-Status: GOOD ( 15.89 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , 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 U01DQ0MgdjEuMiBhbGxvd3MgeDgteDE3IHRvIGJlIHVzZWQgYXMgcGFyYW1ldGVyIHJlZ2lzdGVy cyBhbmQgeDTigJR4MTcKdG8gYmUgdXNlZCBhcyByZXN1bHQgcmVnaXN0ZXJzIGluIFNNQzY0L0hW QzY0LiBBcm0gRmlybXdhcmUgRnJhbWV3b3JrCmZvciBBcm12OC1BIHNwZWNpZmljYXRpb24gbWFr ZXMgdXNlIG9mIHgwLXg3IGFzIHBhcmFtZXRlciBhbmQgcmVzdWx0CnJlZ2lzdGVycy4gVGhlcmUg YXJlIG90aGVyIHVzZXJzIGxpa2UgSHlwZXItViB3aG8gaW50ZW5kIHRvIHVzZSBiZXlvbmQKeDAt eDcgYXMgd2VsbC4KCkN1cnJlbnQgU01DQ0MgaW50ZXJmYWNlIGluIHRoZSBrZXJuZWwganVzdCB1 c2UgeDAteDcgYXMgcGFyYW1ldGVyIGFuZAp4MC14MyBhcyByZXN1bHQgcmVnaXN0ZXJzIGFzIHJl cXVpcmVkIGJ5IFNNQ0NDdjEuMC4gTGV0IHVzIGFkZCBuZXcKaW50ZXJmYWNlIHRvIHN1cHBvcnQg dGhpcyBleHRlbmRlZCBzZXQgb2YgaW5wdXQvb3V0cHV0IHJlZ2lzdGVycyBuYW1lbHkKeDAteDE3 IGFzIGJvdGggcGFyYW1ldGVyIGFuZCByZXN1bHQgcmVnaXN0ZXJzLgoKQ2M6IE1pY2hhZWwgS2Vs bGV5IDxtaWtlbGxleUBtaWNyb3NvZnQuY29tPgpDYzogV2lsbCBEZWFjb24gPHdpbGxAa2VybmVs Lm9yZz4KQ2M6IE1hcmsgUnV0bGFuZCA8bWFyay5ydXRsYW5kQGFybS5jb20+CkNjOkNhdGFsaW4g TWFyaW5hcyA8Y2F0YWxpbi5tYXJpbmFzQGFybS5jb20+ClNpZ25lZC1vZmYtYnk6IFN1ZGVlcCBI b2xsYSA8c3VkZWVwLmhvbGxhQGFybS5jb20+Ci0tLQogYXJjaC9hcm02NC9rZXJuZWwvYXNtLW9m ZnNldHMuYyB8ICA5ICsrKysrKwogYXJjaC9hcm02NC9rZXJuZWwvc21jY2MtY2FsbC5TICB8IDU3 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogaW5jbHVkZS9saW51eC9hcm0tc21j Y2MuaCAgICAgICB8IDU1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDMgZmlsZXMg Y2hhbmdlZCwgMTIxIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9hcmNoL2FybTY0L2tlcm5l bC9hc20tb2Zmc2V0cy5jIGIvYXJjaC9hcm02NC9rZXJuZWwvYXNtLW9mZnNldHMuYwppbmRleCAw Y2IzNGNjYjZlNzMuLjc0MzIxYmM5YTQ1OSAxMDA2NDQKLS0tIGEvYXJjaC9hcm02NC9rZXJuZWwv YXNtLW9mZnNldHMuYworKysgYi9hcmNoL2FybTY0L2tlcm5lbC9hc20tb2Zmc2V0cy5jCkBAIC0x MzgsNiArMTM4LDE1IEBAIGludCBtYWluKHZvaWQpCiAgIERFRklORShBUk1fU01DQ0NfUkVTX1gy X09GRlMsCQlvZmZzZXRvZihzdHJ1Y3QgYXJtX3NtY2NjX3JlcywgYTIpKTsKICAgREVGSU5FKEFS TV9TTUNDQ19RVUlSS19JRF9PRkZTLAlvZmZzZXRvZihzdHJ1Y3QgYXJtX3NtY2NjX3F1aXJrLCBp ZCkpOwogICBERUZJTkUoQVJNX1NNQ0NDX1FVSVJLX1NUQVRFX09GRlMsCW9mZnNldG9mKHN0cnVj dCBhcm1fc21jY2NfcXVpcmssIHN0YXRlKSk7CisgIERFRklORShBUk1fU01DQ0NfMV8yX1JFR1Nf WDBfT0ZGUywJb2Zmc2V0b2Yoc3RydWN0IGFybV9zbWNjY18xXzJfcmVncywgYTApKTsKKyAgREVG SU5FKEFSTV9TTUNDQ18xXzJfUkVHU19YMl9PRkZTLAlvZmZzZXRvZihzdHJ1Y3QgYXJtX3NtY2Nj XzFfMl9yZWdzLCBhMikpOworICBERUZJTkUoQVJNX1NNQ0NDXzFfMl9SRUdTX1g0X09GRlMsCW9m ZnNldG9mKHN0cnVjdCBhcm1fc21jY2NfMV8yX3JlZ3MsIGE0KSk7CisgIERFRklORShBUk1fU01D Q0NfMV8yX1JFR1NfWDZfT0ZGUywJb2Zmc2V0b2Yoc3RydWN0IGFybV9zbWNjY18xXzJfcmVncywg YTYpKTsKKyAgREVGSU5FKEFSTV9TTUNDQ18xXzJfUkVHU19YOF9PRkZTLAlvZmZzZXRvZihzdHJ1 Y3QgYXJtX3NtY2NjXzFfMl9yZWdzLCBhOCkpOworICBERUZJTkUoQVJNX1NNQ0NDXzFfMl9SRUdT X1gxMF9PRkZTLAlvZmZzZXRvZihzdHJ1Y3QgYXJtX3NtY2NjXzFfMl9yZWdzLCBhMTApKTsKKyAg REVGSU5FKEFSTV9TTUNDQ18xXzJfUkVHU19YMTJfT0ZGUywJb2Zmc2V0b2Yoc3RydWN0IGFybV9z bWNjY18xXzJfcmVncywgYTEyKSk7CisgIERFRklORShBUk1fU01DQ0NfMV8yX1JFR1NfWDE0X09G RlMsCW9mZnNldG9mKHN0cnVjdCBhcm1fc21jY2NfMV8yX3JlZ3MsIGExNCkpOworICBERUZJTkUo QVJNX1NNQ0NDXzFfMl9SRUdTX1gxNl9PRkZTLAlvZmZzZXRvZihzdHJ1Y3QgYXJtX3NtY2NjXzFf Ml9yZWdzLCBhMTYpKTsKICAgQkxBTksoKTsKICAgREVGSU5FKEhJQkVSTl9QQkVfT1JJRywJb2Zm c2V0b2Yoc3RydWN0IHBiZSwgb3JpZ19hZGRyZXNzKSk7CiAgIERFRklORShISUJFUk5fUEJFX0FE RFIsCW9mZnNldG9mKHN0cnVjdCBwYmUsIGFkZHJlc3MpKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJt NjQva2VybmVsL3NtY2NjLWNhbGwuUyBiL2FyY2gvYXJtNjQva2VybmVsL3NtY2NjLWNhbGwuUwpp bmRleCBkNjI0NDc5NjRlZDkuLjdkNzljNTA2MmM1ZCAxMDA2NDQKLS0tIGEvYXJjaC9hcm02NC9r ZXJuZWwvc21jY2MtY2FsbC5TCisrKyBiL2FyY2gvYXJtNjQva2VybmVsL3NtY2NjLWNhbGwuUwpA QCAtNDMsMyArNDMsNjAgQEAgU1lNX0ZVTkNfU1RBUlQoX19hcm1fc21jY2NfaHZjKQogCVNNQ0ND CWh2YwogU1lNX0ZVTkNfRU5EKF9fYXJtX3NtY2NjX2h2YykKIEVYUE9SVF9TWU1CT0woX19hcm1f c21jY2NfaHZjKQorCisJLm1hY3JvIFNNQ0NDXzFfMiBpbnN0cgorCS8qIFNhdmUgYHJlc2AgYW5k IGZyZWUgYSBHUFIgdGhhdCB3b24ndCBiZSBjbG9iYmVyZWQgKi8KKwlzdHAgICAgIHgxLCB4MTks IFtzcCwgIy0xNl0hCisKKwkvKiBFbnN1cmUgYGFyZ3NgIHdvbid0IGJlIGNsb2JiZXJlZCB3aGls ZSBsb2FkaW5nIHJlZ3MgaW4gbmV4dCBzdGVwICovCisJbW92CXgxOSwgeDAKKworCS8qIExvYWQg dGhlIHJlZ2lzdGVycyB4MCAtIHgxNyBmcm9tIHRoZSBzdHJ1Y3QgYXJtX3NtY2NjXzFfMl9yZWdz ICovCisJbGRwCXgwLCB4MSwgW3gxOSwgI0FSTV9TTUNDQ18xXzJfUkVHU19YMF9PRkZTXQorCWxk cAl4MiwgeDMsIFt4MTksICNBUk1fU01DQ0NfMV8yX1JFR1NfWDJfT0ZGU10KKwlsZHAJeDQsIHg1 LCBbeDE5LCAjQVJNX1NNQ0NDXzFfMl9SRUdTX1g0X09GRlNdCisJbGRwCXg2LCB4NywgW3gxOSwg I0FSTV9TTUNDQ18xXzJfUkVHU19YNl9PRkZTXQorCWxkcAl4OCwgeDksIFt4MTksICNBUk1fU01D Q0NfMV8yX1JFR1NfWDhfT0ZGU10KKwlsZHAJeDEwLCB4MTEsIFt4MTksICNBUk1fU01DQ0NfMV8y X1JFR1NfWDEwX09GRlNdCisJbGRwCXgxMiwgeDEzLCBbeDE5LCAjQVJNX1NNQ0NDXzFfMl9SRUdT X1gxMl9PRkZTXQorCWxkcAl4MTQsIHgxNSwgW3gxOSwgI0FSTV9TTUNDQ18xXzJfUkVHU19YMTRf T0ZGU10KKwlsZHAJeDE2LCB4MTcsIFt4MTksICNBUk1fU01DQ0NfMV8yX1JFR1NfWDE2X09GRlNd CisKKwlcaW5zdHIgIzAKKworCS8qIExvYWQgdGhlIGByZXNgIGZyb20gdGhlIHN0YWNrICovCisJ bGRyCXgxOSwgW3NwXQorCisJLyogU3RvcmUgdGhlIHJlZ2lzdGVycyB4MCAtIHgxNyBpbnRvIHRo ZSByZXN1bHQgc3RydWN0dXJlICovCisJc3RwCXgwLCB4MSwgW3gxOSwgI0FSTV9TTUNDQ18xXzJf UkVHU19YMF9PRkZTXQorCXN0cAl4MiwgeDMsIFt4MTksICNBUk1fU01DQ0NfMV8yX1JFR1NfWDJf T0ZGU10KKwlzdHAJeDQsIHg1LCBbeDE5LCAjQVJNX1NNQ0NDXzFfMl9SRUdTX1g0X09GRlNdCisJ c3RwCXg2LCB4NywgW3gxOSwgI0FSTV9TTUNDQ18xXzJfUkVHU19YNl9PRkZTXQorCXN0cAl4OCwg eDksIFt4MTksICNBUk1fU01DQ0NfMV8yX1JFR1NfWDhfT0ZGU10KKwlzdHAJeDEwLCB4MTEsIFt4 MTksICNBUk1fU01DQ0NfMV8yX1JFR1NfWDEwX09GRlNdCisJc3RwCXgxMiwgeDEzLCBbeDE5LCAj QVJNX1NNQ0NDXzFfMl9SRUdTX1gxMl9PRkZTXQorCXN0cAl4MTQsIHgxNSwgW3gxOSwgI0FSTV9T TUNDQ18xXzJfUkVHU19YMTRfT0ZGU10KKwlzdHAJeDE2LCB4MTcsIFt4MTksICNBUk1fU01DQ0Nf MV8yX1JFR1NfWDE2X09GRlNdCisKKwkvKiBSZXN0b3JlIG9yaWdpbmFsIHgxOSAqLworCWxkcCAg ICAgeHpyLCB4MTksIFtzcF0sICMxNgorCXJldAorLmVuZG0KKworLyoKKyAqIHZvaWQgYXJtX3Nt Y2NjXzFfMl9odmMoc3RydWN0IGFybV9zbWNjY18xXzJfcmVncyAqYXJncywKKyAqCQkJICBzdHJ1 Y3QgYXJtX3NtY2NjXzFfMl9yZWdzICpyZXMpOworICovCitTWU1fRlVOQ19TVEFSVChhcm1fc21j Y2NfMV8yX2h2YykKKwlTTUNDQ18xXzIgaHZjCitTWU1fRlVOQ19FTkQoYXJtX3NtY2NjXzFfMl9o dmMpCitFWFBPUlRfU1lNQk9MKGFybV9zbWNjY18xXzJfaHZjKQorCisvKgorICogdm9pZCBhcm1f c21jY2NfMV8yX3NtYyhzdHJ1Y3QgYXJtX3NtY2NjXzFfMl9yZWdzICphcmdzLAorICoJCQkgIHN0 cnVjdCBhcm1fc21jY2NfMV8yX3JlZ3MgKnJlcyk7CisgKi8KK1NZTV9GVU5DX1NUQVJUKGFybV9z bWNjY18xXzJfc21jKQorCVNNQ0NDXzFfMiBzbWMKK1NZTV9GVU5DX0VORChhcm1fc21jY2NfMV8y X3NtYykKK0VYUE9SVF9TWU1CT0woYXJtX3NtY2NjXzFfMl9zbWMpCmRpZmYgLS1naXQgYS9pbmNs dWRlL2xpbnV4L2FybS1zbWNjYy5oIGIvaW5jbHVkZS9saW51eC9hcm0tc21jY2MuaAppbmRleCA2 ODYxNDg5YTE4OTAuLmE5ZTBhNmQ2ODc1NCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9hcm0t c21jY2MuaAorKysgYi9pbmNsdWRlL2xpbnV4L2FybS1zbWNjYy5oCkBAIC0yMjcsNiArMjI3LDYx IEBAIHN0cnVjdCBhcm1fc21jY2NfcmVzIHsKIAl1bnNpZ25lZCBsb25nIGEzOwogfTsKIAorI2lm ZGVmIENPTkZJR19BUk02NAorLyoqCisgKiBzdHJ1Y3QgYXJtX3NtY2NjXzFfMl9yZWdzIC0gQXJn dW1lbnRzIGZvciBvciBSZXN1bHRzIGZyb20gU01DL0hWQyBjYWxsCisgKiBAYTAtYTE3IGFyZ3Vt ZW50IHZhbHVlcyBmcm9tIHJlZ2lzdGVycyAwIHRvIDE3CisgKi8KK3N0cnVjdCBhcm1fc21jY2Nf MV8yX3JlZ3MgeworCXVuc2lnbmVkIGxvbmcgYTA7CisJdW5zaWduZWQgbG9uZyBhMTsKKwl1bnNp Z25lZCBsb25nIGEyOworCXVuc2lnbmVkIGxvbmcgYTM7CisJdW5zaWduZWQgbG9uZyBhNDsKKwl1 bnNpZ25lZCBsb25nIGE1OworCXVuc2lnbmVkIGxvbmcgYTY7CisJdW5zaWduZWQgbG9uZyBhNzsK Kwl1bnNpZ25lZCBsb25nIGE4OworCXVuc2lnbmVkIGxvbmcgYTk7CisJdW5zaWduZWQgbG9uZyBh MTA7CisJdW5zaWduZWQgbG9uZyBhMTE7CisJdW5zaWduZWQgbG9uZyBhMTI7CisJdW5zaWduZWQg bG9uZyBhMTM7CisJdW5zaWduZWQgbG9uZyBhMTQ7CisJdW5zaWduZWQgbG9uZyBhMTU7CisJdW5z aWduZWQgbG9uZyBhMTY7CisJdW5zaWduZWQgbG9uZyBhMTc7Cit9OworCisvKioKKyAqIGFybV9z bWNjY18xXzJfaHZjKCkgLSBtYWtlIEhWQyBjYWxscworICogQGFyZ3M6IGFyZ3VtZW50cyBwYXNz ZWQgdmlhIHN0cnVjdCBhcm1fc21jY2NfMV8yX3JlZ3MKKyAqIEByZXM6IHJlc3VsdCB2YWx1ZXMg dmlhIHN0cnVjdCBhcm1fc21jY2NfMV8yX3JlZ3MKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIHVz ZWQgdG8gbWFrZSBIVkMgY2FsbHMgZm9sbG93aW5nIFNNQyBDYWxsaW5nIENvbnZlbnRpb24KKyAq IHYxLjIgb3IgYWJvdmUuIFRoZSBjb250ZW50IG9mIHRoZSBzdXBwbGllZCBwYXJhbSBhcmUgY29w aWVkIGZyb20gdGhlCisgKiBzdHJ1Y3R1cmUgdG8gcmVnaXN0ZXJzIHByaW9yIHRvIHRoZSBIVkMg aW5zdHJ1Y3Rpb24uIFRoZSByZXR1cm4gdmFsdWVzCisgKiBhcmUgdXBkYXRlZCB3aXRoIHRoZSBj b250ZW50IGZyb20gcmVnaXN0ZXJzIG9uIHJldHVybiBmcm9tIHRoZSBIVkMKKyAqIGluc3RydWN0 aW9uLgorICovCithc21saW5rYWdlIHZvaWQgYXJtX3NtY2NjXzFfMl9odmMoc3RydWN0IGFybV9z bWNjY18xXzJfcmVncyAqYXJncywKKwkJCQkgIHN0cnVjdCBhcm1fc21jY2NfMV8yX3JlZ3MgKnJl cyk7CisKKy8qKgorICogYXJtX3NtY2NjXzFfMl9zbWMoKSAtIG1ha2UgU01DIGNhbGxzCisgKiBA YXJnczogYXJndW1lbnRzIHBhc3NlZCB2aWEgc3RydWN0IGFybV9zbWNjY18xXzJfcmVncworICog QHJlczogcmVzdWx0IHZhbHVlcyB2aWEgc3RydWN0IGFybV9zbWNjY18xXzJfcmVncworICoKKyAq IFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBtYWtlIFNNQyBjYWxscyBmb2xsb3dpbmcgU01DIENh bGxpbmcgQ29udmVudGlvbgorICogdjEuMiBvciBhYm92ZS4gVGhlIGNvbnRlbnQgb2YgdGhlIHN1 cHBsaWVkIHBhcmFtIGFyZSBjb3BpZWQgZnJvbSB0aGUKKyAqIHN0cnVjdHVyZSB0byByZWdpc3Rl cnMgcHJpb3IgdG8gdGhlIFNNQyBpbnN0cnVjdGlvbi4gVGhlIHJldHVybiB2YWx1ZXMKKyAqIGFy ZSB1cGRhdGVkIHdpdGggdGhlIGNvbnRlbnQgZnJvbSByZWdpc3RlcnMgb24gcmV0dXJuIGZyb20g dGhlIFNNQworICogaW5zdHJ1Y3Rpb24uCisgKi8KK2FzbWxpbmthZ2Ugdm9pZCBhcm1fc21jY2Nf MV8yX3NtYyhzdHJ1Y3QgYXJtX3NtY2NjXzFfMl9yZWdzICphcmdzLAorCQkJCSAgc3RydWN0IGFy bV9zbWNjY18xXzJfcmVncyAqcmVzKTsKKyNlbmRpZgorCiAvKioKICAqIHN0cnVjdCBhcm1fc21j Y2NfcXVpcmsgLSBDb250YWlucyBxdWlyayBpbmZvcm1hdGlvbgogICogQGlkOiBxdWlyayBpZGVu dGlmaWNhdGlvbgotLSAKMi4yNS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtl cm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxt YW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=