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.1 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,SPF_PASS,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 A4944C433B4 for ; Tue, 18 May 2021 16:38:39 +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 247E2611AD for ; Tue, 18 May 2021 16:38:39 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 247E2611AD 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: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:In-Reply-To:References:List-Owner; bh=pPTYiCf5RUFwj5lOP3DuSYFqGqSjh9ydxZ3trPzpH38=; b=VohQUGErWtNRUbng8jNJWB3dV7 8WGgSH3vv2TI17vmy5bYu5C25Weeu1hLcqWqFcbG8qK3S5YJkbCYbiVP1jsM6c8HmUM10vpTIivO3 FY/7L2aoh5+9Jz02+Y6Bz24ZHqZIyzHFEdZu/si+px+e02CX4DHYSsuabi/+laPqp/t7ffeKThn8a W3GIuqjDcQ2gQ7pAPLaIOql+/RfNz3GsAibqWH2i2yxlIqbUKk6H7BsSoF9/y7jvQP/r+cXAknEf2 5IgSDlVyeUPsKp5GPIWuxOlROrmFASwWOeLiER3GvGlrMaBiM1M0xHiyMwBNK06x2XH2kW1ieOVLD GS+lkULQ==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lj2i0-001Lub-3b; Tue, 18 May 2021 16:36:40 +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 1lj2ht-001Ltm-Bw for linux-arm-kernel@desiato.infradead.org; Tue, 18 May 2021 16:36:33 +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:Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To: Content-ID:Content-Description:In-Reply-To:References; bh=cXp2gsI/BcRd1NJ5QmNALwf7DM6wywKwqKCfdT6F+f0=; b=xnkA1HmAfEkW/zV35lf1y5iHL5 z1/TpaI5Q0HgD83BB7hWPmXLJjunKsHpwB5rei/+VVE/oP8TZhea8VwpY19+vMjyud4XBjamyZNCt wZnndRDiqO90wqkXysJCIZ7K6neIYFbrcKFo4hk3/ga4yi4ur0UszeP6dtqLZ1cepGEut1Tn5SOpr oOZOvyXAIyC2NuT3OMRESr2gDE+riiI7q3IEHDmcb1IyZeQvkwwnnh5n+rrpkOYw27FhWsUpy3kaJ D+2odh3xDpPAh5AWH3XGoLppocdwi8pF4D1opTuVu3rcUANpMQKaTdr0AW+VyTCwOdbaoSx7Up183 m8cmCCEw==; Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lj2hp-00EoFd-SK for linux-arm-kernel@lists.infradead.org; Tue, 18 May 2021 16:36:31 +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 2C7D011B3; Tue, 18 May 2021 09:36:26 -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 0C04F3F73B; Tue, 18 May 2021 09:36:24 -0700 (PDT) From: Sudeep Holla To: linux-arm-kernel@lists.infradead.org Cc: Sudeep Holla , Marc Zyngier , Mark Brown , Mark Rutland , Michael Kelley , Will Deacon , Catalin Marinas Subject: [PATCH v2] arm64: smccc: Add support for SMCCCv1.2 extended input/output registers Date: Tue, 18 May 2021 17:36:18 +0100 Message-Id: <20210518163618.43950-1-sudeep.holla@arm.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210518_093630_038266_16BF3CC8 X-CRM114-Status: GOOD ( 17.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 IGFzIGJvdGggcGFyYW1ldGVyIGFuZCByZXN1bHQgcmVnaXN0ZXJzLgoKQWNrZWQtYnk6IE1hcmsg UnV0bGFuZCA8bWFyay5ydXRsYW5kQGFybS5jb20+ClRlc3RlZC1ieTogTWljaGFlbCBLZWxsZXkg PG1pa2VsbGV5QG1pY3Jvc29mdC5jb20+ClJldmlld2VkLWJ5OiBNaWNoYWVsIEtlbGxleSA8bWlr ZWxsZXlAbWljcm9zb2Z0LmNvbT4KQ2M6IFdpbGwgRGVhY29uIDx3aWxsQGtlcm5lbC5vcmc+CkNj OiBDYXRhbGluIE1hcmluYXMgPGNhdGFsaW4ubWFyaW5hc0Bhcm0uY29tPgpTaWduZWQtb2ZmLWJ5 OiBTdWRlZXAgSG9sbGEgPHN1ZGVlcC5ob2xsYUBhcm0uY29tPgotLS0KCkhpIFdpbGwsCgpBcyBt ZW50aW9uZWQgaW4gbXkgcHJldmlvdXMgZW1haWxbMV0sIEkgcG9zdGluZyB0aGlzIGluZGVwZW5k ZW50IG9mIEZGLUEKc2VyaWVzIHNvIHRoYXQgeW91IGNhbiBwaWNrIHRoaXMgdXAoaWYgeW91IGhh dmUgbm8gaXNzdWVzIHdpdGggdGhlIHBhdGNoCml0c2VsZikgYW5kIHNoYXJlIG1lIGEgYnJhbmNo IGJhc2VkIG9uIHY1LjEzLXJjMSBzbyB0aGF0IEkgY2FuIGdldCB0aGUgRkYtQQpkcml2ZXIgbWVy Z2VkIHZpYSBhcm0tc29jLgoKdjFbMF0tPnYyOgoJLSBBZGRlZCBjb25zdCBmb3IgcmVncyBhcmd1 bWVudHMgYXMgc3VnZ2VzdGVkIGJ5IE1hcmsKCS0gQWRkZWQgcmV2aWV3L2Fjay90ZXN0ZWQgdGFn cyBwcm92aWRlZCBzbyBmYXIKClJlZ2FyZHMsClN1ZGVlcAoKWzBdIGh0dHBzOi8vbG9yZS5rZXJu ZWwub3JnL3IvMjAyMTA1MDUwOTM4NDMuMzMwODY5MS0yLXN1ZGVlcC5ob2xsYUBhcm0uY29tClsx XSBodHRwczovL2xvcmUua2VybmVsLm9yZy9yLzIwMjEwNTEzMTMxNzA1LnV1YXozbW1wMnhhYWN4 dzNAYm9ndXMvCgogYXJjaC9hcm02NC9rZXJuZWwvYXNtLW9mZnNldHMuYyB8ICA5ICsrKysrKwog YXJjaC9hcm02NC9rZXJuZWwvc21jY2MtY2FsbC5TICB8IDU3ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKwogaW5jbHVkZS9saW51eC9hcm0tc21jY2MuaCAgICAgICB8IDU1ICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgMTIxIGluc2VydGlv bnMoKykKCmRpZmYgLS1naXQgYS9hcmNoL2FybTY0L2tlcm5lbC9hc20tb2Zmc2V0cy5jIGIvYXJj aC9hcm02NC9rZXJuZWwvYXNtLW9mZnNldHMuYwppbmRleCAwY2IzNGNjYjZlNzMuLjc0MzIxYmM5 YTQ1OSAxMDA2NDQKLS0tIGEvYXJjaC9hcm02NC9rZXJuZWwvYXNtLW9mZnNldHMuYworKysgYi9h cmNoL2FybTY0L2tlcm5lbC9hc20tb2Zmc2V0cy5jCkBAIC0xMzgsNiArMTM4LDE1IEBAIGludCBt YWluKHZvaWQpCiAgIERFRklORShBUk1fU01DQ0NfUkVTX1gyX09GRlMsCQlvZmZzZXRvZihzdHJ1 Y3QgYXJtX3NtY2NjX3JlcywgYTIpKTsKICAgREVGSU5FKEFSTV9TTUNDQ19RVUlSS19JRF9PRkZT LAlvZmZzZXRvZihzdHJ1Y3QgYXJtX3NtY2NjX3F1aXJrLCBpZCkpOwogICBERUZJTkUoQVJNX1NN Q0NDX1FVSVJLX1NUQVRFX09GRlMsCW9mZnNldG9mKHN0cnVjdCBhcm1fc21jY2NfcXVpcmssIHN0 YXRlKSk7CisgIERFRklORShBUk1fU01DQ0NfMV8yX1JFR1NfWDBfT0ZGUywJb2Zmc2V0b2Yoc3Ry dWN0IGFybV9zbWNjY18xXzJfcmVncywgYTApKTsKKyAgREVGSU5FKEFSTV9TTUNDQ18xXzJfUkVH U19YMl9PRkZTLAlvZmZzZXRvZihzdHJ1Y3QgYXJtX3NtY2NjXzFfMl9yZWdzLCBhMikpOworICBE RUZJTkUoQVJNX1NNQ0NDXzFfMl9SRUdTX1g0X09GRlMsCW9mZnNldG9mKHN0cnVjdCBhcm1fc21j Y2NfMV8yX3JlZ3MsIGE0KSk7CisgIERFRklORShBUk1fU01DQ0NfMV8yX1JFR1NfWDZfT0ZGUywJ b2Zmc2V0b2Yoc3RydWN0IGFybV9zbWNjY18xXzJfcmVncywgYTYpKTsKKyAgREVGSU5FKEFSTV9T TUNDQ18xXzJfUkVHU19YOF9PRkZTLAlvZmZzZXRvZihzdHJ1Y3QgYXJtX3NtY2NjXzFfMl9yZWdz LCBhOCkpOworICBERUZJTkUoQVJNX1NNQ0NDXzFfMl9SRUdTX1gxMF9PRkZTLAlvZmZzZXRvZihz dHJ1Y3QgYXJtX3NtY2NjXzFfMl9yZWdzLCBhMTApKTsKKyAgREVGSU5FKEFSTV9TTUNDQ18xXzJf UkVHU19YMTJfT0ZGUywJb2Zmc2V0b2Yoc3RydWN0IGFybV9zbWNjY18xXzJfcmVncywgYTEyKSk7 CisgIERFRklORShBUk1fU01DQ0NfMV8yX1JFR1NfWDE0X09GRlMsCW9mZnNldG9mKHN0cnVjdCBh cm1fc21jY2NfMV8yX3JlZ3MsIGExNCkpOworICBERUZJTkUoQVJNX1NNQ0NDXzFfMl9SRUdTX1gx Nl9PRkZTLAlvZmZzZXRvZihzdHJ1Y3QgYXJtX3NtY2NjXzFfMl9yZWdzLCBhMTYpKTsKICAgQkxB TksoKTsKICAgREVGSU5FKEhJQkVSTl9QQkVfT1JJRywJb2Zmc2V0b2Yoc3RydWN0IHBiZSwgb3Jp Z19hZGRyZXNzKSk7CiAgIERFRklORShISUJFUk5fUEJFX0FERFIsCW9mZnNldG9mKHN0cnVjdCBw YmUsIGFkZHJlc3MpKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQva2VybmVsL3NtY2NjLWNhbGwu UyBiL2FyY2gvYXJtNjQva2VybmVsL3NtY2NjLWNhbGwuUwppbmRleCBkNjI0NDc5NjRlZDkuLjJk ZWY5ZDBkZDNkZCAxMDA2NDQKLS0tIGEvYXJjaC9hcm02NC9rZXJuZWwvc21jY2MtY2FsbC5TCisr KyBiL2FyY2gvYXJtNjQva2VybmVsL3NtY2NjLWNhbGwuUwpAQCAtNDMsMyArNDMsNjAgQEAgU1lN X0ZVTkNfU1RBUlQoX19hcm1fc21jY2NfaHZjKQogCVNNQ0NDCWh2YwogU1lNX0ZVTkNfRU5EKF9f YXJtX3NtY2NjX2h2YykKIEVYUE9SVF9TWU1CT0woX19hcm1fc21jY2NfaHZjKQorCisJLm1hY3Jv IFNNQ0NDXzFfMiBpbnN0cgorCS8qIFNhdmUgYHJlc2AgYW5kIGZyZWUgYSBHUFIgdGhhdCB3b24n dCBiZSBjbG9iYmVyZWQgKi8KKwlzdHAgICAgIHgxLCB4MTksIFtzcCwgIy0xNl0hCisKKwkvKiBF bnN1cmUgYGFyZ3NgIHdvbid0IGJlIGNsb2JiZXJlZCB3aGlsZSBsb2FkaW5nIHJlZ3MgaW4gbmV4 dCBzdGVwICovCisJbW92CXgxOSwgeDAKKworCS8qIExvYWQgdGhlIHJlZ2lzdGVycyB4MCAtIHgx NyBmcm9tIHRoZSBzdHJ1Y3QgYXJtX3NtY2NjXzFfMl9yZWdzICovCisJbGRwCXgwLCB4MSwgW3gx OSwgI0FSTV9TTUNDQ18xXzJfUkVHU19YMF9PRkZTXQorCWxkcAl4MiwgeDMsIFt4MTksICNBUk1f U01DQ0NfMV8yX1JFR1NfWDJfT0ZGU10KKwlsZHAJeDQsIHg1LCBbeDE5LCAjQVJNX1NNQ0NDXzFf Ml9SRUdTX1g0X09GRlNdCisJbGRwCXg2LCB4NywgW3gxOSwgI0FSTV9TTUNDQ18xXzJfUkVHU19Y Nl9PRkZTXQorCWxkcAl4OCwgeDksIFt4MTksICNBUk1fU01DQ0NfMV8yX1JFR1NfWDhfT0ZGU10K KwlsZHAJeDEwLCB4MTEsIFt4MTksICNBUk1fU01DQ0NfMV8yX1JFR1NfWDEwX09GRlNdCisJbGRw CXgxMiwgeDEzLCBbeDE5LCAjQVJNX1NNQ0NDXzFfMl9SRUdTX1gxMl9PRkZTXQorCWxkcAl4MTQs IHgxNSwgW3gxOSwgI0FSTV9TTUNDQ18xXzJfUkVHU19YMTRfT0ZGU10KKwlsZHAJeDE2LCB4MTcs IFt4MTksICNBUk1fU01DQ0NfMV8yX1JFR1NfWDE2X09GRlNdCisKKwlcaW5zdHIgIzAKKworCS8q IExvYWQgdGhlIGByZXNgIGZyb20gdGhlIHN0YWNrICovCisJbGRyCXgxOSwgW3NwXQorCisJLyog U3RvcmUgdGhlIHJlZ2lzdGVycyB4MCAtIHgxNyBpbnRvIHRoZSByZXN1bHQgc3RydWN0dXJlICov CisJc3RwCXgwLCB4MSwgW3gxOSwgI0FSTV9TTUNDQ18xXzJfUkVHU19YMF9PRkZTXQorCXN0cAl4 MiwgeDMsIFt4MTksICNBUk1fU01DQ0NfMV8yX1JFR1NfWDJfT0ZGU10KKwlzdHAJeDQsIHg1LCBb eDE5LCAjQVJNX1NNQ0NDXzFfMl9SRUdTX1g0X09GRlNdCisJc3RwCXg2LCB4NywgW3gxOSwgI0FS TV9TTUNDQ18xXzJfUkVHU19YNl9PRkZTXQorCXN0cAl4OCwgeDksIFt4MTksICNBUk1fU01DQ0Nf MV8yX1JFR1NfWDhfT0ZGU10KKwlzdHAJeDEwLCB4MTEsIFt4MTksICNBUk1fU01DQ0NfMV8yX1JF R1NfWDEwX09GRlNdCisJc3RwCXgxMiwgeDEzLCBbeDE5LCAjQVJNX1NNQ0NDXzFfMl9SRUdTX1gx Ml9PRkZTXQorCXN0cAl4MTQsIHgxNSwgW3gxOSwgI0FSTV9TTUNDQ18xXzJfUkVHU19YMTRfT0ZG U10KKwlzdHAJeDE2LCB4MTcsIFt4MTksICNBUk1fU01DQ0NfMV8yX1JFR1NfWDE2X09GRlNdCisK KwkvKiBSZXN0b3JlIG9yaWdpbmFsIHgxOSAqLworCWxkcCAgICAgeHpyLCB4MTksIFtzcF0sICMx NgorCXJldAorLmVuZG0KKworLyoKKyAqIHZvaWQgYXJtX3NtY2NjXzFfMl9odmMoY29uc3Qgc3Ry dWN0IGFybV9zbWNjY18xXzJfcmVncyAqYXJncywKKyAqCQkJICBzdHJ1Y3QgYXJtX3NtY2NjXzFf Ml9yZWdzICpyZXMpOworICovCitTWU1fRlVOQ19TVEFSVChhcm1fc21jY2NfMV8yX2h2YykKKwlT TUNDQ18xXzIgaHZjCitTWU1fRlVOQ19FTkQoYXJtX3NtY2NjXzFfMl9odmMpCitFWFBPUlRfU1lN Qk9MKGFybV9zbWNjY18xXzJfaHZjKQorCisvKgorICogdm9pZCBhcm1fc21jY2NfMV8yX3NtYyhj b25zdCBzdHJ1Y3QgYXJtX3NtY2NjXzFfMl9yZWdzICphcmdzLAorICoJCQkgIHN0cnVjdCBhcm1f c21jY2NfMV8yX3JlZ3MgKnJlcyk7CisgKi8KK1NZTV9GVU5DX1NUQVJUKGFybV9zbWNjY18xXzJf c21jKQorCVNNQ0NDXzFfMiBzbWMKK1NZTV9GVU5DX0VORChhcm1fc21jY2NfMV8yX3NtYykKK0VY UE9SVF9TWU1CT0woYXJtX3NtY2NjXzFfMl9zbWMpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4 L2FybS1zbWNjYy5oIGIvaW5jbHVkZS9saW51eC9hcm0tc21jY2MuaAppbmRleCA2ODYxNDg5YTE4 OTAuLjVjZWYyYjhiMDQ3OSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9hcm0tc21jY2MuaAor KysgYi9pbmNsdWRlL2xpbnV4L2FybS1zbWNjYy5oCkBAIC0yMjcsNiArMjI3LDYxIEBAIHN0cnVj dCBhcm1fc21jY2NfcmVzIHsKIAl1bnNpZ25lZCBsb25nIGEzOwogfTsKIAorI2lmZGVmIENPTkZJ R19BUk02NAorLyoqCisgKiBzdHJ1Y3QgYXJtX3NtY2NjXzFfMl9yZWdzIC0gQXJndW1lbnRzIGZv ciBvciBSZXN1bHRzIGZyb20gU01DL0hWQyBjYWxsCisgKiBAYTAtYTE3IGFyZ3VtZW50IHZhbHVl cyBmcm9tIHJlZ2lzdGVycyAwIHRvIDE3CisgKi8KK3N0cnVjdCBhcm1fc21jY2NfMV8yX3JlZ3Mg eworCXVuc2lnbmVkIGxvbmcgYTA7CisJdW5zaWduZWQgbG9uZyBhMTsKKwl1bnNpZ25lZCBsb25n IGEyOworCXVuc2lnbmVkIGxvbmcgYTM7CisJdW5zaWduZWQgbG9uZyBhNDsKKwl1bnNpZ25lZCBs b25nIGE1OworCXVuc2lnbmVkIGxvbmcgYTY7CisJdW5zaWduZWQgbG9uZyBhNzsKKwl1bnNpZ25l ZCBsb25nIGE4OworCXVuc2lnbmVkIGxvbmcgYTk7CisJdW5zaWduZWQgbG9uZyBhMTA7CisJdW5z aWduZWQgbG9uZyBhMTE7CisJdW5zaWduZWQgbG9uZyBhMTI7CisJdW5zaWduZWQgbG9uZyBhMTM7 CisJdW5zaWduZWQgbG9uZyBhMTQ7CisJdW5zaWduZWQgbG9uZyBhMTU7CisJdW5zaWduZWQgbG9u ZyBhMTY7CisJdW5zaWduZWQgbG9uZyBhMTc7Cit9OworCisvKioKKyAqIGFybV9zbWNjY18xXzJf aHZjKCkgLSBtYWtlIEhWQyBjYWxscworICogQGFyZ3M6IGFyZ3VtZW50cyBwYXNzZWQgdmlhIHN0 cnVjdCBhcm1fc21jY2NfMV8yX3JlZ3MKKyAqIEByZXM6IHJlc3VsdCB2YWx1ZXMgdmlhIHN0cnVj dCBhcm1fc21jY2NfMV8yX3JlZ3MKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gbWFr ZSBIVkMgY2FsbHMgZm9sbG93aW5nIFNNQyBDYWxsaW5nIENvbnZlbnRpb24KKyAqIHYxLjIgb3Ig YWJvdmUuIFRoZSBjb250ZW50IG9mIHRoZSBzdXBwbGllZCBwYXJhbSBhcmUgY29waWVkIGZyb20g dGhlCisgKiBzdHJ1Y3R1cmUgdG8gcmVnaXN0ZXJzIHByaW9yIHRvIHRoZSBIVkMgaW5zdHJ1Y3Rp b24uIFRoZSByZXR1cm4gdmFsdWVzCisgKiBhcmUgdXBkYXRlZCB3aXRoIHRoZSBjb250ZW50IGZy b20gcmVnaXN0ZXJzIG9uIHJldHVybiBmcm9tIHRoZSBIVkMKKyAqIGluc3RydWN0aW9uLgorICov Cithc21saW5rYWdlIHZvaWQgYXJtX3NtY2NjXzFfMl9odmMoY29uc3Qgc3RydWN0IGFybV9zbWNj Y18xXzJfcmVncyAqYXJncywKKwkJCQkgIHN0cnVjdCBhcm1fc21jY2NfMV8yX3JlZ3MgKnJlcyk7 CisKKy8qKgorICogYXJtX3NtY2NjXzFfMl9zbWMoKSAtIG1ha2UgU01DIGNhbGxzCisgKiBAYXJn czogYXJndW1lbnRzIHBhc3NlZCB2aWEgc3RydWN0IGFybV9zbWNjY18xXzJfcmVncworICogQHJl czogcmVzdWx0IHZhbHVlcyB2aWEgc3RydWN0IGFybV9zbWNjY18xXzJfcmVncworICoKKyAqIFRo aXMgZnVuY3Rpb24gaXMgdXNlZCB0byBtYWtlIFNNQyBjYWxscyBmb2xsb3dpbmcgU01DIENhbGxp bmcgQ29udmVudGlvbgorICogdjEuMiBvciBhYm92ZS4gVGhlIGNvbnRlbnQgb2YgdGhlIHN1cHBs aWVkIHBhcmFtIGFyZSBjb3BpZWQgZnJvbSB0aGUKKyAqIHN0cnVjdHVyZSB0byByZWdpc3RlcnMg cHJpb3IgdG8gdGhlIFNNQyBpbnN0cnVjdGlvbi4gVGhlIHJldHVybiB2YWx1ZXMKKyAqIGFyZSB1 cGRhdGVkIHdpdGggdGhlIGNvbnRlbnQgZnJvbSByZWdpc3RlcnMgb24gcmV0dXJuIGZyb20gdGhl IFNNQworICogaW5zdHJ1Y3Rpb24uCisgKi8KK2FzbWxpbmthZ2Ugdm9pZCBhcm1fc21jY2NfMV8y X3NtYyhjb25zdCBzdHJ1Y3QgYXJtX3NtY2NjXzFfMl9yZWdzICphcmdzLAorCQkJCSAgc3RydWN0 IGFybV9zbWNjY18xXzJfcmVncyAqcmVzKTsKKyNlbmRpZgorCiAvKioKICAqIHN0cnVjdCBhcm1f c21jY2NfcXVpcmsgLSBDb250YWlucyBxdWlyayBpbmZvcm1hdGlvbgogICogQGlkOiBxdWlyayBp ZGVudGlmaWNhdGlvbgotLSAKMi4yNS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJt LWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21h aWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=